From b7cd70a1dc48f2cd2f5ed36d09f92c8ebcc62c8b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 03 十一月 2023 15:20:45 +0800
Subject: [PATCH] 修改审批流程

---
 ruoyi-admin/src/main/resources/template/绩效费用申请单.ftl                                            |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java |   33 +++++-
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceOrganallocation.java               |    6 +
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                                   |    7 +
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateorgan.java                   |    5 +
 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java              |    2 
 ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java                |   14 ++
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java          |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java          |  118 ++++++++++++++++-------
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java   |   14 ++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java  |   41 ++++++++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java   |   20 +++
 12 files changed, 213 insertions(+), 51 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java
index 8444488..599750a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonateorganController.java
@@ -128,6 +128,20 @@
         return toAjax(serviceDonateorganService.save(serviceDonateorgan));
     }
 
+
+    /**
+     * 鏂板鎹愮尞鍣ㄥ畼绠$悊
+     */
+    @ApiOperation("鏂板鎹愮尞鍣ㄥ畼淇℃伅")
+    //@PreAuthorize("@ss.hasPermi('project:donateorgan:add')")
+    @Log(title = "鎹愮尞鍣ㄥ畼绠$悊", businessType = BusinessType.INSERT)
+    @PostMapping("/addData")
+    @RepeatSubmit
+    public TableDataInfo addData(@RequestBody List<ServiceDonateorgan> serviceDonateorgans) {
+        List<ServiceDonateorgan> serviceDonateorgans1 = serviceDonateorganService.saveData(serviceDonateorgans);
+        return saveDataTable(serviceDonateorgans1);
+    }
+
     /**
      * 淇敼鎹愮尞鍣ㄥ畼绠$悊
      */
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
index b14a7c4..163df46 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -42,6 +42,7 @@
 import java.io.*;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -522,6 +523,16 @@
                     }
                 }
                 FlowLevel = FlowLevel + 1;
+
+                if (serviceFund.getFlowlevel() == 1 && serviceFund.getBackflowlevel() == 100) {
+                    log.info("璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�");
+                    //璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板
+                    serviceFundService.addFundSharedInfo(serviceFund.getId());
+                    serviceFund.setFlowlevel(100L);
+                    serviceFund.setRecordstatus(99);
+                    serviceFundService.updateById(serviceFund);
+                    return AjaxResult.success();
+                }
                 //璁板綍涓�涓嬶紝涓嬩竴绾х殑瀹℃壒锛屼互渚夸簬涓嬩竴绾ч��鍥炲悗锛屽彂璧疯�呮彁浜ゆ椂锛岃兘鍐嶆彁鍒板綋鍓嶅鎵瑰眰绾�
                 serviceFund.setBackflowlevel(FlowLevel);
             } else {
@@ -626,12 +637,27 @@
             if (sf.getBackflowlevel() != null && sf.getBackflowlevel() == 199) {
                 //灏唂und琛ㄧ殑瀹℃牳鐘舵�佹敼鎴�100
                 sf.setBackflowlevel(100);
+
+                //閫�鍥炲啀鎻愪氦锛岄渶瑕佸啀鍒板嚭绾抽偅閲�
+                sf.setFlowlevel(1L);
+                sf.setRecordstatus(0);
                 serviceFundService.updateById(sf);
 
-                //寰�鍒嗕韩琛ㄩ噷鏂板
-                serviceFundService.addFundSharedInfo(serviceFund.getId());
+//                //寰�鍒嗕韩琛ㄩ噷鏂板
+//                serviceFundService.addFundSharedInfo(serviceFund.getId());
 
                 return success();
+            } else if (sf.getBackflowlevel() != null && sf.getBackflowlevel() == 100) {
+                //璐㈠姟閫�鍥炵殑鏁版嵁鍐嶆彁浜わ紝鍒板嚭绾抽偅閲屾病鏈夎繃锛屽啀閫�鍥烇紝瀵艰嚧backflowlevel鏄�100,
+                //閫�鍥炲啀鎻愪氦锛岄渶瑕佸啀鍒板嚭绾抽偅閲�
+                sf.setFlowlevel(1L);
+                sf.setRecordstatus(2);
+                serviceFundService.updateById(sf);
+            } else if (sf.getBackflowlevel() != null && sf.getBackflowlevel() == 2) {
+                //鑱傜閫�鍥炵殑锛屼篃闇�瑕佸厛鍒板嚭绾抽偅閲�
+                sf.setFlowlevel(1L);
+                sf.setRecordstatus(2);
+                serviceFundService.updateById(sf);
             } else {
 
                 Integer TotalLevel = 0;
@@ -1140,51 +1166,67 @@
         dataMap.put("YWZ", serviceFund.getDeptmentname() == null ? "" : serviceFund.getDeptmentname());
         dataMap.put("ZHUZANG", serviceFund.getManagername() == null ? "" : serviceFund.getManagername());
 
+        dataMap.put("FYMC", LocalDate.now().getYear() + "骞�" + LocalDate.now().getMonthValue() + "鏈堜汉浣撳櫒瀹樿幏鍙栨湇鍔$鐞嗕腑蹇冨伐浣滀汉鍛樼哗鏁�");
+
         String bz = "";
         int i = 0;
-        for (ServiceFunddetail f : fd) {
-            seqno++;
+        if (!serviceFund.getApplytype().equals("5")) {
+            for (ServiceFunddetail f : fd) {
+                seqno++;
+                Map<String, Object> map = new HashMap<String, Object>();
+                map.put("seqno", seqno);
+
+                //濡傛灉鏄尰鐤楁垚鏈紝鍒欐妸閾惰鍗″姞涓婃瘡鏉℃槑缁嗙殑鍚庨潰
+                if (serviceFund.getApplytype().equals("3")) {
+                    i = i + 1;
+                    bz += f.getBeneficiaryname() == null ? "(" + i + ")" : "(" + i + ")" + f.getBeneficiaryname() + "锛�";
+                    bz += "閲戦 : " + f.getAmount() + "鍏�" + "锛�";
+                    bz += f.getDepositbank() == null ? "" : f.getDepositbank() + ": ";
+                    bz += f.getBankcardno() == null ? "" : f.getBankcardno();
+                    bz += "<w:br/>";
+                }
+                if (serviceFund.getApplytype().equals("4")) {
+                    i = i + 1;
+                    bz += f.getBeneficiaryname() == null ? "(" + i + ")" : "(" + i + ")" + f.getBeneficiaryname() + "锛�";
+                    bz += "閲戦 : " + f.getAmount() + "鍏�" + "锛�";
+                    bz += f.getDepositbank() == null ? "" : f.getDepositbank() + ": ";
+                    bz += f.getBankcardno() == null ? "" : f.getBankcardno();
+                    bz += "<w:br/>";
+                }
+
+
+                String fyxm = "";
+                fyxm += f.getItemname() == null ? "" : f.getItemname();
+                fyxm += f.getAmount() + "鍏�";
+                if (f.getItemname() == null && f.getAmount() == 0.0) {
+                    fyxm = "";
+                }
+                map.put("FYXM", fyxm);
+                newList.add(map);
+            }
+        } else {
             Map<String, Object> map = new HashMap<String, Object>();
-            map.put("seqno", seqno);
-//            String fyxm = "";
-//            fyxm += f.getItemname() == null ? "" : f.getItemname();
-//            fyxm += f.getAmount() + "鍏�";
-//            //濡傛灉鏄尰鐤楁垚鏈紝鍒欐妸閾惰鍗″姞涓婃瘡鏉℃槑缁嗙殑鍚庨潰
-//            if (serviceFund.getApplytype().equals("3")) {
-//                fyxm += "(";
-//                fyxm += f.getUnitname() == null ? "" : f.getUnitname() + ";";
-//                fyxm += f.getDepositbank() == null ? "" : f.getDepositbank() + ": ";
-//                fyxm += f.getBankcardno() == null ? "" : f.getBankcardno();
-//                fyxm += ")";
-//            }
-
-            //濡傛灉鏄尰鐤楁垚鏈紝鍒欐妸閾惰鍗″姞涓婃瘡鏉℃槑缁嗙殑鍚庨潰
-            if (serviceFund.getApplytype().equals("3")) {
-                i = i + 1;
-                bz += f.getBeneficiaryname() == null ? "(" + i + ")" : "(" + i + ")" + f.getBeneficiaryname() + "锛�";
-                bz += "閲戦 : " + f.getAmount() + "鍏�" + "锛�";
-                bz += f.getDepositbank() == null ? "" : f.getDepositbank() + ": ";
-                bz += f.getBankcardno() == null ? "" : f.getBankcardno();
-                bz += "<w:br/>";
-            }
-            if (serviceFund.getApplytype().equals("4")) {
-                i = i + 1;
-                bz += f.getBeneficiaryname() == null ? "(" + i + ")" : "(" + i + ")" + f.getBeneficiaryname() + "锛�";
-                bz += "閲戦 : " + f.getAmount() + "鍏�" + "锛�";
-                bz += f.getDepositbank() == null ? "" : f.getDepositbank() + ": ";
-                bz += f.getBankcardno() == null ? "" : f.getBankcardno();
-                bz += "<w:br/>";
-            }
-
+            map.put("seqno", 1);
             String fyxm = "";
-            fyxm += f.getItemname() == null ? "" : f.getItemname();
-            fyxm += f.getAmount() + "鍏�";
-            if (f.getItemname() == null && f.getAmount() == 0.0) {
+            fyxm += LocalDate.now().getYear() + "骞�" + LocalDate.now().getMonthValue() + "鏈堜汉浣撳櫒瀹樿幏鍙栨湇鍔$鐞嗕腑蹇冨伐浣滀汉鍛樼哗鏁�,鍏辫";
+            fyxm += serviceFund.getPretaxcost() + "鍏�";
+            if (serviceFund.getPretaxcost() == null && serviceFund.getPretaxcost() == 0.0) {
                 fyxm = "";
             }
             map.put("FYXM", fyxm);
             newList.add(map);
+            Map<String, Object> objectObjectHashMap = new HashMap<>();
+            objectObjectHashMap.put("seqno", 2);
+            objectObjectHashMap.put("FYXM", "");
+            newList.add(objectObjectHashMap);
+
+            Map<String, Object> objectObjectHashMap2 = new HashMap<>();
+            objectObjectHashMap2.put("seqno", 3);
+            objectObjectHashMap2.put("FYXM", "");
+            newList.add(objectObjectHashMap2);
         }
+
+
         //鍚堝苟鍗曞厓鏍�
         checkList(newList);
         dataMap.put("items", newList);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
index 1a1ff24..e8634d5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -160,7 +160,7 @@
             APPLICATIONENDTIME = "";
         }
         //startPage();
-        List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE,checkstatus,donorname);
+        List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE, checkstatus, donorname);
         //鏍规嵁缁忓姙浜虹瓫閫�
         if (StringUtils.isNotBlank(spFinancialExpensesIn.getUsername())) {
             list = list.stream().filter(reimbursementOut -> reimbursementOut.getUsername().contains(spFinancialExpensesIn.getUsername())).collect(Collectors.toList()); // 鎸塶ame瀛楁杩囨护
@@ -467,17 +467,24 @@
         ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
         //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�;
         if (!Objects.isNull(serviceReimbursement) && serviceReimbursement.getBackflowlevel() != null) {
-//            if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) {
-            if (serviceReimbursement.getBackflowlevel() == 199) {
+            if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) {
+//            if (serviceReimbursement.getBackflowlevel() == 199) {
                 //灏嗛��鍥為樁娈佃缃垚100
                 serviceReimbursement.setBackflowlevel(100L);
-                serviceReimbursement.setFlowlevel(100L);
-                serviceReimbursement.setRecordstatus(0);
+                //閫�鍥炲啀鎻愪氦锛岄渶瑕佸啀鍒板嚭绾抽偅閲�
+                serviceReimbursement.setFlowlevel(1L);
+                serviceReimbursement.setRecordstatus(2);
                 serviceReimbursementService.updateById(serviceReimbursement);
 
                 //灏嗕慨鏀圭殑涓婃姤鏁版嵁 鏂板涓�鏉�
-                serviceReimbursementService.addSharedData(checkFundVO.getFundid());
+//                serviceReimbursementService.addSharedData(checkFundVO.getFundid());
 
+                return success();
+            } else if (serviceReimbursement.getBackflowlevel() == 2) {
+                //鑱傜閫�鍥炵殑锛屼篃闇�瑕佽蛋鍑虹撼閭i噷
+                serviceReimbursement.setFlowlevel(1L);
+                serviceReimbursement.setRecordstatus(2);
+                serviceReimbursementService.updateById(serviceReimbursement);
                 return success();
             }
         }
@@ -573,12 +580,24 @@
                     //99 鍙栨秷
                     RecordStatus = 99;
                 } else {
+
                     if (totalLevel == FlowLevel + 1) {
                         RecordStatus = 99;
                     } else {
                         RecordStatus = (FlowLevel + 1) * 2;
                     }
                 }
+
+                if (serviceReimbursement.getFlowlevel() == 1 && serviceReimbursement.getBackflowlevel() == 100) {
+                    log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�");
+                    //璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板
+                    serviceReimbursementService.addSharedData(serviceReimbursement.getId());
+                    serviceReimbursement.setFlowlevel(100L);
+                    serviceReimbursement.setRecordstatus(99);
+                    serviceReimbursementService.updateById(serviceReimbursement);
+                    return AjaxResult.success();
+                }
+
                 FlowLevel = FlowLevel + 1;
                 serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel));
             } else {
@@ -596,6 +615,8 @@
                         FlowLevel = 0;
                     }
                 }
+
+
             }
 
             serviceReimbursement.setRecordstatus(RecordStatus);
diff --git "a/ruoyi-admin/src/main/resources/template/\347\273\251\346\225\210\350\264\271\347\224\250\347\224\263\350\257\267\345\215\225.ftl" "b/ruoyi-admin/src/main/resources/template/\347\273\251\346\225\210\350\264\271\347\224\250\347\224\263\350\257\267\345\215\225.ftl"
index 5b32c64..3befcc6 100644
--- "a/ruoyi-admin/src/main/resources/template/\347\273\251\346\225\210\350\264\271\347\224\250\347\224\263\350\257\267\345\215\225.ftl"
+++ "b/ruoyi-admin/src/main/resources/template/\347\273\251\346\225\210\350\264\271\347\224\250\347\224\263\350\257\267\345\215\225.ftl"
@@ -457,7 +457,7 @@
                                             <w:sz w:val="24"/>
                                             <w:szCs w:val="24"/>
                                         </w:rPr>
-                                        <w:t>${JSR}</w:t>
+                                        <w:t>${FYMC}</w:t>
                                     </w:r>
                                 </w:p>
                             </w:tc>
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
index 5f2cd9c..fa43c44 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
@@ -90,6 +90,20 @@
         return rspData;
     }
 
+    /**
+     * 鍝嶅簲鎵归噺淇濆瓨鏁版嵁
+     */
+    @SuppressWarnings({ "rawtypes", "unchecked" })
+    protected TableDataInfo saveDataTable(List<?> list)
+    {
+        TableDataInfo rspData = new TableDataInfo();
+        rspData.setCode(HttpStatus.SUCCESS);
+        rspData.setMsg("淇濆瓨鎴愬姛");
+        rspData.setRows(list);
+        rspData.setTotal(new PageInfo(list).getTotal());
+        return rspData;
+    }
+
 
     /**
      * 鍝嶅簲璇锋眰鍒嗛〉鏁版嵁
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateorgan.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateorgan.java
index 13acc49..41b15b6 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateorgan.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateorgan.java
@@ -9,7 +9,9 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.apache.poi.hpsf.Decimal;
+import org.springframework.format.annotation.DateTimeFormat;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
@@ -196,6 +198,8 @@
     private String applicantusername;
 
     @ApiModelProperty("鐢宠鏃堕棿")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
     private Date applicanttime;
 
     @ApiModelProperty("瀹℃牳浜虹紪鍙�")
@@ -278,6 +282,7 @@
     private String organchargeoperator;
 
     @ApiModelProperty("鍣ㄥ畼瀹為檯鏀跺埌璐圭敤鏃堕棿")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date organchargedate;
 
     @ApiModelProperty("鍣ㄥ畼瀹為檯鏀跺埌璐圭敤")
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java
index 2c05e42..64f6c0b 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java
@@ -3,6 +3,7 @@
 import java.math.BigDecimal;
 import java.util.Date;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -394,6 +395,7 @@
      */
     @ApiModelProperty("璁$畻绋庤垂鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(exist = false)
     private Date taxTime;
 
     /**
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceOrganallocation.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceOrganallocation.java
index 73c26e8..e0de834 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceOrganallocation.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceOrganallocation.java
@@ -1,5 +1,8 @@
 package com.ruoyi.project.domain;
 
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -63,7 +66,8 @@
      * 鐢宠鏃堕棿
      */
     @ApiModelProperty("鐢宠鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMH+08:00")
     @Excel(name = "鐢宠鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date applicanttime;
 
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java
index f60a6f6..64e550f 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java
@@ -71,5 +71,7 @@
 
     List<organInfoVO> getOrganCount(TimeVO timeVO);
 
+    List<ServiceDonateorgan> saveData(List<ServiceDonateorgan> serviceDonateorgans);
+
 
 }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java
index 355eb56..ec0acea 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java
@@ -4,20 +4,25 @@
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.vo.*;
 import com.ruoyi.project.mapper.*;
 import com.ruoyi.project.service.*;
 import com.ruoyi.system.mapper.SysDictDataMapper;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.logging.Logger;
 
 /**
  * 鎹愮尞鍣ㄥ畼绠$悊Service涓氬姟灞傚鐞�
@@ -25,6 +30,7 @@
  * @author ruoyi
  * @date 2021-11-10
  */
+@Slf4j
 @Service
 public class ServiceDonateorganServiceImpl extends ServiceImpl<ServiceDonateorganMapper, ServiceDonateorgan> implements IServiceDonateorganService {
 
@@ -61,6 +67,8 @@
     @Autowired
     private SysDictDataMapper dictDataMapper;
 
+    @Autowired
+    IServiceOrganallocationService serviceOrganallocationService;
 
 
     /**
@@ -736,6 +744,39 @@
         return l;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public List<ServiceDonateorgan> saveData(List<ServiceDonateorgan> serviceDonateorgans) {
+        for (ServiceDonateorgan serviceDonateorgan : serviceDonateorgans) {
+            String organNumber = serviceDonateorgan.getDonorno() + "." + serviceDonateorgan.getOrganno();
+            if (StringUtils.isEmpty(serviceDonateorgan.getDonorno()) || StringUtils.isEmpty(serviceDonateorgan.getOrganno())) {
+                throw new BaseException("鏂板鏃剁敓鎴愮殑缂栧彿涓虹┖,鍒涘缓澶辫触(璇锋鏌ユ崘鐚�呯紪鍙峰拰鍣ㄥ畼绫诲埆)! 锛�" + serviceDonateorgan.toString());
+            } else {
+                ServiceDonateorgan serviceDonateorgan1 = new ServiceDonateorgan();
+                serviceDonateorgan1.setOrgannumber(organNumber);
+                List<ServiceDonateorgan> listrecord = this.queryList(serviceDonateorgan);
+                if (listrecord.size() > 0) {
+                    continue;
+                }
+            }
+            serviceDonateorgan.setOrgannumber(organNumber);
+            log.info("serviceDonateorgan鐨勬暟鎹负: {}", serviceDonateorgan);
+            boolean save = this.save(serviceDonateorgan);
+
+
+            //淇濆瓨service_organallocation
+            ServiceOrganallocation serviceOrganallocation = new ServiceOrganallocation();
+            serviceOrganallocation.setAgeunit(serviceDonateorgan.getAgeunit());
+            serviceOrganallocation.setApplicanttime(serviceDonateorgan.getApplicanttime());
+            serviceOrganallocation.setIdcardno(serviceDonateorgan.getIdcardno());
+            serviceOrganallocation.setIdcardtype(Long.valueOf(serviceDonateorgan.getIdcardtype()));
+            serviceOrganallocation.setOrganid(serviceDonateorgan.getId());
+            serviceOrganallocation.setOrgannumber(serviceDonateorgan.getOrgannumber());
+            log.info("serviceOrganallocation鐨勬暟鎹负: {}", serviceOrganallocation);
+            serviceOrganallocationService.save(serviceOrganallocation);
+        }
+        return serviceDonateorgans;
+    }
 
 
 //    @Override
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
index 0518aba..bf6a358 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -267,13 +267,18 @@
         BigDecimal pretaxcost = BigDecimal.valueOf(0.00);
         for (ServiceFunddetail serviceFunddetail : serviceFunddetails) {
             if (StringUtils.isEmpty(serviceFunddetail.getIdcardno())) {
+                logger.info("serviceFunddetail鏁版嵁鍏ュ弬 锛� {}", serviceFunddetail);
                 //濡傛灉韬唤璇佸彿涓虹┖锛屽氨涓嶇敤鏌ヤ簡锛屽彲鑳芥槸鍖婚櫌鐨勮褰�
                 if (StringUtils.isEmpty(serviceFunddetail.getServicesscopename()) || !serviceFunddetail.getServicesscopename().contains("绋庡悗")) {
                     serviceFunddetail.setTaxedamount(serviceFunddetail.getAmount());
                 } else {
                     serviceFunddetail.setAmount(serviceFunddetail.getTaxedamount());
                 }
-                this.updateById(serviceFunddetail);
+                serviceFunddetail.setTaxamount(0.0);
+                logger.info("serviceFunddetail鏇存柊鍚庣殑鏁版嵁 锛� {}", serviceFunddetail);
+                boolean b = this.updateById(serviceFunddetail);
+                logger.info("serviceFunddetail淇敼缁撴灉 锛� {}", b);
+                continue;
             }
 
             //鑾峰彇褰撴湀鐨勭涓�澶�
@@ -290,6 +295,7 @@
             taxMoneyVO.setIDCard(serviceFunddetail.getIdcardno());
             //鏌ュ嚭绋庡墠銆佺◣銆佺◣鍚庣殑鎬婚锛堜笉鍖呭惈鏈锛�
             TaxMoneySumEO taxSum = serviceFunddetailMapper.getTaxSum(taxMoneyVO);
+            logger.info("鏌ヨ鐨則axSum鐨勫�� 锛� {}", taxSum);
             if (ObjectUtils.isEmpty(taxSum)) {
                 taxSum = new TaxMoneySumEO();
             }
@@ -312,8 +318,10 @@
                     continue;
                 }
             }
-            logger.info("taxSum鍏ュ弬鏁版嵁锛歿}", taxSum);
+
             if (StringUtils.isEmpty(serviceFunddetail.getServicesscopename()) || !serviceFunddetail.getServicesscopename().contains("绋庡悗")) {
+                logger.info("璁$畻绋庡墠淇℃伅寮�濮嬶細{}", serviceFunddetail);
+                logger.info("taxSum鍏ュ弬鏁版嵁锛歿}", taxSum);
                 // 濡備綍绋庡墠閲戦涓嶄负绌猴紝鐢ㄤ箣鍓嶇殑鈥濇�荤◣鍓嶉噾棰濃�滐紝鍔犱笂褰撳墠鈥濈◣鍓嶉噾棰濃��
                 BigDecimal newAmounts = BigDecimal.valueOf(taxSum.getAmounts()).add(BigDecimal.valueOf(serviceFunddetail.getAmount()));
 
@@ -324,19 +332,23 @@
 
                 //璁$畻鏈鐨勭◣鍚庨噾棰�(鏈鐨勭◣鍓嶉噾棰� - 绋庨噾)
                 BigDecimal texdAfterNow = BigDecimal.valueOf(serviceFunddetail.getAmount()).subtract(taxAmountNow);
+                logger.info("鎵撳嵃newAmounts锛歿},taxation:{},taxAmountNow:{},texdAfterNow:{}", newAmounts, taxation, taxAmountNow, texdAfterNow);
 
                 //灏嗗惊鐜殑鏁版嵁閲嶆柊鏀惧埌涓�涓柊瀵硅薄涓�
                 ServiceFunddetail serviceFunddetail3 = DtoConversionUtils.sourceToTarget(serviceFunddetail, ServiceFunddetail.class);
                 serviceFunddetail3.setTaxamount(taxAmountNow.doubleValue());
                 serviceFunddetail3.setTaxedamount(texdAfterNow.doubleValue());
                 serviceFunddetail3.setTaxTime(new Date());
+                logger.info("鎵撳嵃绋庡墠serviceFunddetail3鏁版嵁 :{}", serviceFunddetail3);
+
                 // 灏嗚鏉℃暟鎹洿鏂�
                 boolean b = this.updateById(serviceFunddetail3);
-                logger.info("鏄惁鏇存柊鎴愬姛锛歿}鍏ュ弬鏁版嵁锛歿}", b, serviceFunddetail3);
                 pretaxcost = pretaxcost.add(BigDecimal.valueOf(serviceFunddetail.getAmount()));
                 // 鎶婅鏁版嵁锛屾斁鍒颁复鏃剁殑闆嗗悎涓�
                 temporarySave.add(serviceFunddetail3);
             } else if (serviceFunddetail.getServicesscopename().contains("绋庡悗")) {
+                logger.info("璁$畻绋庡悗淇℃伅寮�濮嬶細{}", serviceFunddetail);
+                logger.info("taxSum鍏ュ弬鏁版嵁锛歿}", taxSum);
                 //绋庡悗涓嶄负绌�, 鐢ㄤ箣鍓嶇殑鈥濇�荤◣鍚庨噾棰濃�滐紝鍔犱笂褰撳墠鈥濈◣鍚庨噾棰濃��
                 BigDecimal newTaxedAmounts = BigDecimal.valueOf(taxSum.getTaxedAmounts()).add(BigDecimal.valueOf(serviceFunddetail.getTaxedamount()));
 
@@ -347,12 +359,14 @@
 
                 //绠楀嚭鏈绋庨噾(鏈绋庡墠 - 鏈绋庡悗)
                 BigDecimal tax = amountNow.subtract(BigDecimal.valueOf(serviceFunddetail.getTaxedamount()));
+                logger.info("鎵撳嵃newTaxedAmounts锛歿},taxationBefore:{},amountNow:{},tax:{}", newTaxedAmounts, taxationBefore, amountNow, tax);
 
                 //灏嗗惊鐜殑鏁版嵁閲嶆柊鏀惧埌涓�涓柊瀵硅薄涓�
                 ServiceFunddetail serviceFunddetail3 = DtoConversionUtils.sourceToTarget(serviceFunddetail, ServiceFunddetail.class);
                 serviceFunddetail3.setAmount(amountNow.doubleValue());
                 serviceFunddetail3.setTaxamount(tax.doubleValue());
                 serviceFunddetail3.setTaxTime(new Date());
+                logger.info("鎵撳嵃serviceFunddetail3:{}", serviceFunddetail3);
                 // 灏嗚鏉℃暟鎹洿鏂�
                 updateById(serviceFunddetail3);
                 pretaxcost = pretaxcost.add(BigDecimal.valueOf(serviceFunddetail3.getAmount()));
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 6bf644f..3661bc7 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -182,9 +182,12 @@
         //鏌ュ嚭鎵�鏈夎鍖婚櫌閫�鍥炵殑Fund鏁版嵁
         List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryFundShareList();
         for (ServiceFundShared serviceFundShared : serviceFundShareds) {
-                if (StringUtils.isNotBlank(serviceFundShared.getOabdzt()) && serviceFundShared.getOabdzt().equals("宸叉挙閿�")) {
+            if (StringUtils.isNotBlank(serviceFundShared.getOabdzt()) && serviceFundShared.getOabdzt().equals("宸叉挙閿�")) {
                 //濡傛灉鏈夎储鍔¢┏鍥炰俊鎭鏄庢槸閫�鍥炵殑
-                String[] split = serviceFundShared.getCxrjyj().split("&");
+                String[] split = null;
+                if (StringUtils.isNotEmpty(serviceFundShared.getCxrjyj())) {
+                    split = serviceFundShared.getCxrjyj().split("&");
+                }
                 String phone = serviceFundShared.getPhone();
                 //灏嗗垎浜噷鐨勮鏁版嵁鍒犻櫎
                 serviceFundSharedService.delfundsharedInfoById(serviceFundShared.getId());

--
Gitblit v1.9.3