From 61c4c3f45e4257e2e7662f033e2719e62366c632 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 31 三月 2026 23:02:22 +0800
Subject: [PATCH] feat: 优化申请发票,还可以修改发票信息
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysInvoiceController.java | 78 +++++++++++++++++++++++++++++++++++++++
1 files changed, 78 insertions(+), 0 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysInvoiceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysInvoiceController.java
index 088027a..9db2197 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysInvoiceController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysInvoiceController.java
@@ -4,6 +4,10 @@
import java.util.Map;
import java.util.HashMap;
import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.utils.LongUtil;
+import com.ruoyi.system.domain.SysTaskEmergency;
+import com.ruoyi.system.service.ISysTaskEmergencyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
@@ -16,6 +20,8 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -38,11 +44,17 @@
@RequestMapping("/system/invoice")
public class SysInvoiceController extends BaseController
{
+ private static final Logger log = LoggerFactory.getLogger(SysInvoiceController.class);
+
@Autowired
private ISysInvoiceService sysInvoiceService;
@Autowired
private ISysDeptService sysDeptService;
+
+
+ @Autowired
+ private ISysTaskEmergencyService sysTaskEmergencyService;
/**
* 鏌ヨ鍙戠エ鐢宠鍒楄〃
@@ -182,6 +194,72 @@
}
/**
+ * App绔煡鐪嬫垜鐨勬煇鏉″彂绁ㄨ鎯咃紙鏃犻渶鍚庡彴鏉冮檺锛屼絾鍙兘鏌ョ湅鑷繁鐨勫彂绁級
+ */
+ @GetMapping("/myDetail/{invoiceId}")
+ public AjaxResult myDetail(@PathVariable("invoiceId") Long invoiceId)
+ {
+ Long currentUserId = SecurityUtils.getUserId();
+ SysInvoice invoice = sysInvoiceService.selectSysInvoiceByInvoiceId(invoiceId);
+ if (invoice == null) {
+ return AjaxResult.error("鍙戠エ涓嶅瓨鍦�");
+ }
+ if (!currentUserId.equals(invoice.getApplyUserId())) {
+ return AjaxResult.error("鏃犳潈闄愭煡鐪嬭鍙戠エ");
+ }
+ return AjaxResult.success(invoice);
+ }
+
+ /**
+ * App绔敤鎴风紪杈戣嚜宸辩殑鍙戠エ鐢宠锛堜粎寰呭鏍�/宸查┏鍥炲彲缂栬緫锛屼笉鍙洿鏀瑰叧鑱斾换鍔★級
+ */
+ @Log(title = "鍙戠エ鐢宠鑷姪淇敼", businessType = BusinessType.UPDATE)
+ @PutMapping("/myEdit")
+ public AjaxResult myEdit(@RequestBody SysInvoice sysInvoice)
+ {
+ Long currentUserId = SecurityUtils.getUserId();
+ if (sysInvoice.getInvoiceId() == null) {
+ return AjaxResult.error("鍙戠エID涓嶈兘涓虹┖");
+ }
+ SysInvoice exist = sysInvoiceService.selectSysInvoiceByInvoiceId(sysInvoice.getInvoiceId());
+ if (exist == null) {
+ return AjaxResult.error("鍙戠エ涓嶅瓨鍦�");
+ }
+ if (!currentUserId.equals(exist.getApplyUserId())) {
+ return AjaxResult.error("鏃犳潈闄愪慨鏀硅鍙戠エ");
+ }
+ if (exist.getStatus() != 0 && exist.getStatus() != 2) {
+ return AjaxResult.error("鍙湁寰呭鏍告垨宸查┏鍥炵殑鍙戠エ鍙互淇敼");
+ }
+ Long taskId = exist.getServiceOrderId();
+ Long legacyServiceOrdId = exist.getLegacyServiceOrderId();
+ if(LongUtil.isNotEmpty(taskId) && LongUtil.isEmpty(legacyServiceOrdId)){
+ SysTaskEmergency taskEmergency= sysTaskEmergencyService.selectSysTaskEmergencyByTaskId(taskId);
+ if(taskEmergency!=null){
+ legacyServiceOrdId=taskEmergency.getLegacyServiceOrdId();
+ }
+
+ }
+ // 淇濇寔鍏宠仈浠诲姟淇℃伅涓嶅彉锛屽彧鏇存柊鍙戠エ鍐呭瀛楁
+ sysInvoice.setServiceOrderId(exist.getServiceOrderId());
+ sysInvoice.setLegacyServiceOrderId(legacyServiceOrdId);
+ sysInvoice.setApplyUserId(exist.getApplyUserId());
+ sysInvoice.setApplyTime(exist.getApplyTime());
+ sysInvoice.setStatus(0); // 閲嶆柊缃负寰呭鏍�
+ int rows = sysInvoiceService.updateSysInvoice(sysInvoice);
+
+ if (rows > 0) {
+ // 寮傛鍚屾鍒版棫绯荤粺锛屽け璐ヤ笉褰卞搷涓绘祦绋�
+ try {
+ sysInvoiceService.syncUpdateToLegacySystem(sysInvoice.getInvoiceId());
+ } catch (Exception e) {
+ log.warn("鍙戠エ缂栬緫鍚屾鏃х郴缁熷け璐ワ紝涓嶅奖鍝嶄繚瀛樼粨鏋�: {}", e.getMessage());
+ }
+ }
+ return toAjax(rows);
+ }
+
+ /**
* 鑾峰彇鍙敵璇峰彂绁ㄧ殑浠诲姟鍒楄〃
* @param searchKeyword 鎼滅储鍏抽敭璇嶏紙鏀寔taskCode銆乻erviceCode銆乴egacyServiceOrdNo锛�
* @param serviceOrdClass 鍒嗗叕鍙镐唬鐮侊紙鍙�夛紝榛樿浣跨敤鐢ㄦ埛鎵�灞炲垎鍏徃锛�
--
Gitblit v1.9.1