From 412628e222180fafab1c5d53e5a6711d75b682b3 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期一, 31 七月 2023 09:08:22 +0800 Subject: [PATCH] 代码修改,给字段判空 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 136 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 108 insertions(+), 28 deletions(-) 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 af24cf9..6fb031b 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 @@ -1,7 +1,5 @@ package com.ruoyi.web.controller.project; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.config.RuoYiConfig; @@ -13,8 +11,8 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.utils.HttpClientKit; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.dto.ServiceReimbursementDto; @@ -32,14 +30,13 @@ import org.apache.commons.lang.StringUtils; import org.apache.ibatis.annotations.Options; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.io.*; import java.math.BigDecimal; -import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; +import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -57,10 +54,10 @@ private IServiceReimbursementService serviceReimbursementService; @Autowired - private IServiceReimbursementpayeeService reimbursementpayeeService; + private IServiceReimbursementSharedService serviceReimbursementSharedService; @Autowired - private IServiceReimbursementSharedService serviceReimbursementServiceShare; + private IServiceReimbursementpayeeService reimbursementpayeeService; @Autowired private IServiceReimbursementdetailService serviceReimbursementdetailService; @@ -70,6 +67,9 @@ @Autowired private IServiceFundflowService serviceFundflowService; + + @Autowired + private IServiceFundService serviceFundService; @Autowired private ISysPostService postService; @@ -437,6 +437,7 @@ // return 0; // } + /** * 宸梾璐逛笂鎶� */ @@ -445,6 +446,25 @@ @PostMapping("/travelexpensereport") public AjaxResult travelexpensereport(@RequestBody CheckFundVO checkFundVO) { ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid()); + //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�; + if (!Objects.isNull(serviceReimbursement) && serviceReimbursement.getBackflowlevel() != null) { + if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199){ + + //灏嗕慨鏀圭殑涓婃姤鏁版嵁 鏂板涓�鏉� + ServiceReimbursementShared serviceReimbursementShared = DtoConversionUtils.sourceToTarget(serviceReimbursement, ServiceReimbursementShared.class); + serviceReimbursementShared.setId(null); + serviceReimbursementShared.setDelFlag(0L); + serviceReimbursementShared.setReimid(serviceReimbursement.getId()); + serviceReimbursementSharedService.save(serviceReimbursementShared); + + //灏嗛��鍥為樁娈佃缃垚100 + serviceReimbursement.setBackflowlevel(100L); + serviceReimbursement.setFlowlevel(100L); + serviceReimbursement.setRecordstatus(0); + serviceReimbursementService.updateById(serviceReimbursement); + return success(); + } + } if (serviceReimbursement != null) { Integer TotalLevel = 0; LoginUser loginUser = getLoginUser(); @@ -453,10 +473,12 @@ if (!postids.contains(2)) { serviceReimbursement.setFlowlevel(1L); + serviceReimbursement.setBackflowlevel(1L); serviceReimbursement.setRecordstatus(2); } else { serviceReimbursement.setFlowlevel(0L); serviceReimbursement.setRecordstatus(0); + serviceReimbursement.setBackflowlevel(0L); } if (!postids.contains(2)) { @@ -489,6 +511,7 @@ @PostMapping("/checkfund") public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid()); + if (serviceReimbursement != null) { Integer totalLevel = 0; LoginUser loginUser = getLoginUser(); @@ -514,6 +537,9 @@ Integer CheckFlag = 0; Integer RecordStatus = serviceReimbursement.getRecordstatus(); Integer FlowLevel = Integer.valueOf(serviceReimbursement.getFlowlevel().toString()); + if (Objects.isNull(serviceReimbursement.getBackflowlevel()) && !Objects.isNull(serviceReimbursement.getFlowlevel())) { + serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel.toString())); + } Integer OriginalFlowLevel = FlowLevel; if (checkFundVO.getFlowconclusion() == 1) { CheckFlag = 1; @@ -530,16 +556,22 @@ FlowLevel = FlowLevel + 1; } else { CheckFlag = 2; - RecordStatus = (FlowLevel + 1) * 2 - 1; - FlowLevel = (FlowLevel - 1); - if (FlowLevel < 0) { + + if (CheckFlag == 2) { + //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯�� FlowLevel = 0; + } else { + //涓嬮潰鏄師鏉ョ殑鍐欐硶锛屼竴绾т竴绾х殑寰�涓嬮��锛屽尰闄㈢幇鍦ㄤ笉瑕佽繖鏍锋悶浜嗭紝涓嬮潰杩欐浠g爜鍏堜繚鐣欙紝绛夊尰闄㈠洖蹇冭浆鎰忥紝鍐嶇粰鏀惧紑 + RecordStatus = (FlowLevel + 1) * 2 - 1; + FlowLevel = (FlowLevel - 1); + if (FlowLevel < 0) { + FlowLevel = 0; + } } } serviceReimbursement.setRecordstatus(RecordStatus); serviceReimbursement.setFlowlevel(Long.valueOf(FlowLevel.toString())); - ServiceFundflow serviceFundflow = new ServiceFundflow(); SysUser user = loginUser.getUser(); serviceFundflow.setFundid(serviceReimbursement.getId()); @@ -734,24 +766,72 @@ } map.put(key, otherMoney); list.add(map); - // 涓嶄负涓撳鎴栧灞� - if (!key.equals("3") && !key.equals("4")) { - //灏嗕笂涓�娆$殑娓呯┖ - FYXM1.delete(0, FYXM1.length()); - //鍐嶆柊澧� - otherMoneyall = otherMoneyall.add(otherMoney); - FYXM1.append("OPO宸ヤ綔浜哄憳" + ":" + otherMoneyall + " "); - } else { - if (flag == 0) { - key1 = key; - flag = 1; - } - if (key1 == key) { - FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney); - allMoney = allMoney.add(otherMoney); + // 涓嶄负涓撳鎴栧灞烇紝key鏈夊彲鑳芥槸鏁板瓧锛屾湁鍙兘鏄眽瀛� + Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); + boolean matches = pattern.matcher(key).matches(); + if (matches) { + if (!key.equals("3") && !key.equals("4")) { + //灏嗕笂涓�娆$殑娓呯┖ + FYXM1.delete(0, FYXM1.length()); + //鍐嶆柊澧� + otherMoneyall = otherMoneyall.add(otherMoney); + FYXM1.append("OP0 宸ヤ綔浜哄憳鎶ラ攢宸梾璐�" + ":" + otherMoneyall + " "); } else { - FYXM3.append(PersonType.getInfoByCode(key) + ":" + otherMoney); - allMoney = allMoney.add(otherMoney); + if (flag == 0) { + key1 = key; + flag = 1; + } + if (key1 == key) { + if (key.equals("3")) { +// FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney); + FYXM2.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney); + allMoney = allMoney.add(otherMoney); + } else { + FYXM2.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney); + allMoney = allMoney.add(otherMoney); + } + } else { + if (key.equals("3")) { +// FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney); + FYXM3.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney); + allMoney = allMoney.add(otherMoney); + } else { + FYXM3.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney); + allMoney = allMoney.add(otherMoney); + } + } + } + } else { + if (!key.equals("涓撳") && !key.equals("瀹跺睘")) { + //灏嗕笂涓�娆$殑娓呯┖ + FYXM1.delete(0, FYXM1.length()); + //鍐嶆柊澧� + otherMoneyall = otherMoneyall.add(otherMoney); + FYXM1.append("OP0 宸ヤ綔浜哄憳鎶ラ攢宸梾璐�" + ":" + otherMoneyall + " "); + } else { + if (flag == 0) { + key1 = key; + flag = 1; + } + if (key1 == key) { + if (key.equals("涓撳")) { +// FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney); + FYXM2.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney); + allMoney = allMoney.add(otherMoney); + } else { + FYXM2.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney); + allMoney = allMoney.add(otherMoney); + } + } else { + if (key.equals("涓撳")) { +// FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney); + FYXM3.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney); + allMoney = allMoney.add(otherMoney); + } else { + FYXM3.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney); + allMoney = allMoney.add(otherMoney); + } + } } } } -- Gitblit v1.9.3