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