From 1574cc259ecec7217d210c58d2bbf7b44a106234 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 12 九月 2025 20:48:31 +0800 Subject: [PATCH] 通过生日算年龄 --- ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java | 105 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 69 insertions(+), 36 deletions(-) diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java index 4f24c58..6ad96bb 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java @@ -45,6 +45,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; import java.util.stream.Collectors; /** @@ -176,7 +177,7 @@ serviceFundSharedMapper.delfundsharedInfoById(null, serviceFund1.getId()); //杩欎釜娑堟伅鍙戦�侊紝灏变笉鍦ㄨ繖鍋氫簡锛屽湪瀹℃壒璁板綍鐨勬帴鍙i噷鍋氾紙鍗虫棩蹇楁帴鍙o級 - //sendMeg(serviceFund1.getApplytype(), sysUser.getPhonenumber()); +// sendMeg(serviceFund1.getApplytype(), sysUser.getPhonenumber()); } return true; @@ -421,7 +422,8 @@ SysUser user = loginUser.getUser(); if (serviceFund.getFlowlevel() == Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1) && serviceFund.getBackflowlevel() == 100) { log.info("璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�"); - serviceFund.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃"); +// serviceFund.setFinancechecher("瀹℃壒浜猴細" + user.getNickName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃"); + serviceFund.setFinancechecher(user.getNickName()); serviceFund.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); serviceFund.setRecordstatus(99); @@ -454,7 +456,8 @@ List<Integer> roleIds = sysUserRoleMapper.getUserRoleByUserId(user.getUserId()); if (roleIds != null && roleIds.contains(11)) { //11涓鸿储鍔� - serviceFund.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃"); +// serviceFund.setFinancechecher("瀹℃壒浜猴細" + user.getNickName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃"); + serviceFund.setFinancechecher(user.getNickName()); } //璁板綍涓�涓嬶紝涓嬩竴绾х殑瀹℃壒锛屼互渚夸簬涓嬩竴绾ч��鍥炲悗锛屽彂璧疯�呮彁浜ゆ椂锛岃兘鍐嶆彁鍒板綋鍓嶅鎵瑰眰绾� @@ -466,7 +469,6 @@ FlowLevel = 0; RecordStatus = -1; log.info("serviceFund杩涙潵浜嗗悧锛燂紵锛燂紵锛燂紵 :{},{}", RecordStatus, FlowLevel); - System.out.println("serviceFund杩涙潵浜嗗悧锛燂紵锛燂紵锛燂紵"); } else { RecordStatus = (FlowLevel + 1) * 2 - 1; FlowLevel = (FlowLevel - 1); @@ -528,8 +530,6 @@ } } System.out.println("serviceFund鐨勫�兼槸--------:" + serviceFund); - log.info("寮�濮嬫洿鏂扮殑鐨勫�兼槸--------"); - Boolean aBoolean1 = updateById(serviceFund); log.info("integer鏇存柊鐨勭殑鍊兼槸-------- :{}", aBoolean1); ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage(); @@ -608,7 +608,7 @@ // 涓昏〃瀛楁鏁版嵁 Map<String, Object> data2 = new HashMap<>(); - data2.put("formmain_0831", getformmain_0831(fundShareInfos.get(0))); + data2.put("formmain_0831", getformmain_0831(serviceFund)); // 鏄庣粏琛ㄥ瓧娈垫暟鎹紝涓庨檮浠剁殑澶勭悊 Map<String, List<Map<String, Object>>> map1 = formson_0832(serviceFunddetailShareds); data2.put("formson_0832", map1.get("formson_0832")); @@ -679,6 +679,8 @@ return true; } + private static final AtomicLong COUNTER = new AtomicLong(System.currentTimeMillis()); + private Map<String, List<Map<String, Object>>> formson_0832(List<ServiceFunddetailShared> serviceFunddetailSharedList) { Map<String, List<Map<String, Object>>> allMap = new HashMap<>(); @@ -694,12 +696,12 @@ map.put("鏀剁泭浜哄灞炴垨涓撳", serviceFunddetailShared.getBeneficiaryname()); map.put("绋庡悗閲戦", serviceFunddetailShared.getTaxamount()); map.put("浣滃簾鏈�缁堥噾棰�", null); - Long fpuuid = System.currentTimeMillis() + 5; + Long fpuuid = COUNTER.incrementAndGet(); map.put("鍙戠エ闄勪欢", fpuuid); map.put("鍙戠エ璇嗗埆", null); map.put("璇嗗埆浜�", null); map.put("绋庨", null); - long qtuuid = System.currentTimeMillis() + 20; + long qtuuid = COUNTER.incrementAndGet(); map.put("鍏朵粬闄勪欢", qtuuid); map.put("椤圭洰缂栫爜", serviceFunddetailShared.getItemcode()); map.put("棰勭畻椤圭洰", null); @@ -744,48 +746,79 @@ } - private Map<String, Object> getformmain_0831(ServiceFundShared serviceFundShared) { + private Map<String, Object> getformmain_0831(ServiceFund serviceFund) { + ServiceFundflow serviceFundflow = new ServiceFundflow(); + serviceFundflow.setFundid(serviceFund.getId()); + serviceFundflow.setFundtype(2); + List<ServiceFundflow> serviceFundflows = serviceFundflowService.queryList(serviceFundflow); + Map<String, Object> formmain_0831 = new HashMap<>(); - formmain_0831.put("鎹愮尞鑰呭鍚�", serviceFundShared.getDonorname()); - formmain_0831.put("鎶ラ攢浜哄憳", serviceFundShared.getUsername()); - formmain_0831.put("涓氬姟鍖哄煙", serviceFundShared.getDeptmentname()); - formmain_0831.put("缁忔墜浜�", serviceFundShared.getUsername()); - formmain_0831.put("濉〃鏃堕棿", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(serviceFundShared.getApplyTime())); - formmain_0831.put("鎶ラ攢閲戦鍚堣", serviceFundShared.getPretaxcost()); + formmain_0831.put("鎹愮尞鑰呭鍚�", serviceFund.getDonorname()); + formmain_0831.put("鎶ラ攢浜哄憳", serviceFund.getUsername()); + formmain_0831.put("涓氬姟鍖哄煙", serviceFund.getDeptmentname()); + formmain_0831.put("缁忔墜浜�", serviceFund.getUsername()); + formmain_0831.put("濉〃鏃堕棿", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(serviceFund.getApplyTime())); + formmain_0831.put("鎶ラ攢閲戦鍚堣", serviceFund.getPretaxcost()); formmain_0831.put("涓婁紶闄勪欢", null); formmain_0831.put("澶囨敞", null); - formmain_0831.put("璐㈠姟瀹℃壒", serviceFundShared.getFinancechecher()); - formmain_0831.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", serviceFundShared.getFinancedirector()); - formmain_0831.put("鍔炲叕瀹や富浠诲鎵�", serviceFundShared.getOfficedirector()); - formmain_0831.put("涓氬姟鍓櫌闀垮鎵�", serviceFundShared.getBusvicepresident()); - formmain_0831.put("璐㈠姟鍓櫌闀垮鎵�", serviceFundShared.getFinvicepresident()); - formmain_0831.put("涓績璐熻矗浜哄鎵�", serviceFundShared.getOpochecker()); - formmain_0831.put("鏀粯鏂瑰紡", serviceFundShared.getZffs()); - formmain_0831.put("缁勯暱", null); - formmain_0831.put("瀹℃壒浜哄憳", null); - formmain_0831.put("鏀粯鏃ユ湡", serviceFundShared.getRiqi()); + formmain_0831.put("璐㈠姟瀹℃壒", null); + formmain_0831.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", getLastApprovalInfo(serviceFundflows, serviceFund.getFinancedirector())); + formmain_0831.put("鍔炲叕瀹や富浠诲鎵�", getLastApprovalInfo(serviceFundflows, serviceFund.getOfficedirector())); + formmain_0831.put("涓氬姟鍓櫌闀垮鎵�", serviceFund.getBusvicepresident()); + formmain_0831.put("璐㈠姟鍓櫌闀垮鎵�", serviceFund.getFinvicepresident()); + formmain_0831.put("涓績璐熻矗浜哄鎵�", serviceFund.getOpochecker()); + formmain_0831.put("鏀粯鏂瑰紡", serviceFund.getZffs()); + formmain_0831.put("缁勯暱", getLastApprovalInfo(serviceFundflows, serviceFund.getManagername())); + formmain_0831.put("瀹℃壒浜哄憳", StringUtils.isEmpty(getLastApprovalInfo(serviceFundflows, serviceFund.getFinancechecher())) ? "闄堟厱鍗�" : getLastApprovalInfo(serviceFundflows, serviceFund.getFinancechecher())); + formmain_0831.put("鏀粯鏃ユ湡", serviceFund.getRiqi()); formmain_0831.put("璇嗗埆浜�-浣滃簾", null); - formmain_0831.put("璐㈠姟瀹℃壒绛惧瓧", serviceFundShared.getFinancedirector()); - formmain_0831.put("璐㈠姟閮ㄨ礋璐d汉绛惧瓧", serviceFundShared.getFinancedirector()); + formmain_0831.put("璐㈠姟瀹℃壒绛惧瓧", serviceFund.getFinancedirector()); + formmain_0831.put("璐㈠姟閮ㄨ礋璐d汉绛惧瓧", serviceFund.getFinancedirector()); formmain_0831.put("琛ㄨ揪绫诲瀷", null); - formmain_0831.put("绋庡墠閲戦鍚堣", serviceFundShared.getPretaxcost()); - formmain_0831.put("绋庨鍚堣", serviceFundShared.getPretaxcost() - serviceFundShared.getTaxedcost()); + formmain_0831.put("绋庡墠閲戦鍚堣", serviceFund.getPretaxcost()); + formmain_0831.put("绋庨鍚堣", serviceFund.getPretaxcost() - serviceFund.getTaxedcost()); formmain_0831.put("琛ㄥ崟缂栧彿1", null); formmain_0831.put("缂栫爜", null); formmain_0831.put("CIF璐﹀閰嶇疆1", null); formmain_0831.put(" 闄㈠尯", null); - formmain_0831.put("鏄惁鏀粯", serviceFundShared.getIsdistribute()); + formmain_0831.put("鏄惁鏀粯", serviceFund.getIsdistribute()); formmain_0831.put("鍑瘉鍙�", null); formmain_0831.put("閾惰鍥炲崟", null); formmain_0831.put("OFD", null); formmain_0831.put("琛ㄥ崟闄勪欢", null); formmain_0831.put("鐜伴噾娴侀噺鍒嗘瀽", null); formmain_0831.put("鍑瘉绫诲埆", null); - formmain_0831.put("绋庡悗閲戦鍚堣", serviceFundShared.getTaxedcost()); + formmain_0831.put("绋庡悗閲戦鍚堣", serviceFund.getTaxedcost()); formmain_0831.put("鍘嗗彶瀹℃壒璁板綍", null); - formmain_0831.put("琛ㄥ崟缂栧彿", serviceFundShared.getSerfunid()); + formmain_0831.put("琛ㄥ崟缂栧彿", serviceFund.getId()); formmain_0831.put("鍘嗗彶瀹℃壒鍗曟煡璇�", null); return formmain_0831; + } + + + public String getLastApprovalInfo(List<ServiceFundflow> serviceFundflows, String managerName) { + log.info("---------------serviceFundflows鐨勫叆鍙備负锛歿},managerName鐨勫�间负锛歿}", serviceFundflows, managerName); + if (StringUtils.isEmpty(managerName)) return ""; + if (CollectionUtils.isEmpty(serviceFundflows)) { + //濡傛灉鏄渶鍚庝竴涓汉瀹℃壒锛岃繖涓椂鍊欏彲鑳絝low閲岃繕娌℃湁鐢熸垚杩涘幓 + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return "瀹℃壒浜猴細" + managerName + " & 瀹℃壒鏃堕棿锛�" + sd.format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃"; + } + + Optional<ServiceFundflow> lastApproval = serviceFundflows.stream().filter(flow -> managerName.contains(flow.getCheckusername())).max(Comparator.comparing(ServiceFundflow::getCreateTime)); + + if (lastApproval.isPresent()) { + ServiceFundflow flow = lastApproval.get(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (flow.getCheckTime() == null) { + flow.setCheckTime(new Date()); + } + String formattedTime = sdf.format(flow.getCheckTime()); + + return "瀹℃壒浜猴細" + managerName + " & 瀹℃壒鏃堕棿锛�" + formattedTime + " & 瀹℃壒缁撴灉锛氶�氳繃"; + } + + return ""; } @Override @@ -1641,7 +1674,7 @@ Map<String, Object> map = new HashMap<String, Object>(); map.put("userName", "opo"); map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5"); - map.put("loginName", "demo"); + map.put("loginName", "OPO绯荤粺"); JSONObject jsonObj = new JSONObject(map); @@ -1771,8 +1804,8 @@ serviceFundflow.setUpdateTime(new Date()); serviceFundflow.setFlowcontent(serviceProcessVO.getFlowcontent()); serviceFundflow.setFlowconclusion(StringUtils.isNotEmpty(serviceProcessVO.getFlowconclusion()) ? Integer.valueOf(serviceProcessVO.getFlowconclusion()) : null); - if (serviceProcessVO.getApplytype() == "0") serviceFundflow.setFundtype(1); - if (serviceProcessVO.getApplytype() == "1") serviceFundflow.setFundtype(2); + if (serviceProcessVO.getApplytype().equals("0")) serviceFundflow.setFundtype(1); + if (serviceProcessVO.getApplytype().equals("1")) serviceFundflow.setFundtype(2); serviceFundflow.setFlowlevel(100); serviceFundflow.setApplytype(serviceProcessVO.getApplytype()); serviceFundflow.setFundid(StringUtils.isNotEmpty(serviceProcessVO.getBackCode()) ? Long.valueOf(serviceProcessVO.getBackCode()) : null); -- Gitblit v1.9.3