From c20c99f256e2f47bd45f0b48fb6b1bcc83960f1e Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 21 三月 2024 14:22:13 +0800 Subject: [PATCH] 代码提交 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 238 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 198 insertions(+), 40 deletions(-) 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 b7f39b1..68ffcff 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 @@ -1,21 +1,25 @@ package com.ruoyi.quartz.task; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.vo.DingTalkReqVo; import com.ruoyi.project.service.*; -import com.ruoyi.project.service.impl.DingTalkServiceImpl; +import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.system.service.ISysUserService; +import com.taobao.api.ApiException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import com.ruoyi.common.utils.StringUtils; import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; -import java.lang.reflect.Array; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.locks.ReentrantLock; /** * 瀹氭椂浠诲姟璋冨害娴嬭瘯 @@ -29,20 +33,26 @@ private DingTalkService dingTalkService; @Autowired + private IServiceReimbursementService serviceReimbursementService; + + @Autowired + private IServiceTasknumService ServiceTasknumService; + + @Autowired private IServiceReimbursementSharedService serviceReimbursementSharedService; @Autowired private IServiceFundSharedService serviceFundSharedService; @Autowired - private IServiceFunddetailSharedService serviceFunddetailSharedService; - + private IServiceFundflowruleService iServiceFundflowruleService; @Autowired private IServiceFundService serviceFundService; @Autowired - private IServiceReimbursementService serviceReimbursementService; + private ISysUserService sysUserService; + @Autowired private IServiceFundflowService fundflowService; @@ -59,32 +69,39 @@ System.out.println("鎵ц鏃犲弬鏂规硶"); } - public void checkReportInfo() { + public void checkReportInfo() throws ApiException { //鏌ュ嚭鎵�鏈夎鍖婚櫌閫�鍥炵殑Fund鏁版嵁 List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryFundShareList(); for (ServiceFundShared serviceFundShared : serviceFundShareds) { 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()); ServiceFund serviceFund = new ServiceFund(); serviceFund.setId(serviceFundShared.getSerfunid()); - List<ServiceFund> serviceFunds = serviceFundService.queryList(serviceFund); + List<ServiceFund> serviceFunds = serviceFundService.queryInfoById(serviceFund); ServiceFund serviceFund1 = serviceFunds.get(0); - serviceFund1.setFlowlevel(100); + serviceFund1.setFlowlevel(100L); serviceFund1.setDel_flag(0); serviceFund1.setRecordstatus(-1); serviceFund1.setBackflowlevel(199); serviceFundService.updateById(serviceFund1); - sendMeg(split, phone, serviceFundShared.getApplytype(), 2, serviceFundShared.getSerfunid()); + + SysUser sysUser = sysUserService.selectUserByUserName(serviceFund1.getUserno()); + sendMeg(split, sysUser.getPhonenumber(), serviceFundShared.getApplytype(), 2, serviceFundShared.getSerfunid()); } else { //涓嶆槸閫�鍥炵殑鎿嶄綔 if (StringUtils.isNotBlank(serviceFundShared.getZffs()) && serviceFundShared.getSpjg() == 0) { + String bh = myMethod(); //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�0锛岃鏄庡鎵圭粨鏉燂紝浣嗘暟鎹繕娌℃湁鍚屾鍒癴und琛ㄥ拰fundflow琛�;瀵筬und琛ㄥ拰fundflow琛ㄨ繘琛屾洿鏂帮紝骞跺皢0鏀规垚1 ServiceFund serviceFund = new ServiceFund(); + serviceFund.setBh(serviceFundShared.getBh()); serviceFund.setId(serviceFundShared.getSerfunid()); serviceFund.setZffs(serviceFundShared.getZffs()); if (StringUtils.isNotBlank(serviceFundShared.getPresident())) { @@ -156,10 +173,10 @@ } serviceFundflow.setFlowcontent(spname + "瀹℃壒閫氳繃"); serviceFundflow.setFlowconclusion(1); - serviceFundflow.setFundtype(1); + serviceFundflow.setFundtype(2); // 999 閫氳繃 serviceFundflow.setFlowlevel(999); - serviceFundflow.setApplytype(null); + serviceFundflow.setApplytype(serviceFundShared.getApplytype()); serviceFundflow.setFundid(serviceFundShared.getSerfunid()); serviceFundShared.setSpjg(1); fundflowService.save(serviceFundflow); @@ -203,9 +220,9 @@ serviceFundflow.setCheckusername(serviceFundShared.getPresident().substring(0, serviceFundShared.getPresident().indexOf(" "))); serviceFundflow.setFlowcontent(serviceFundShared.getPresident().substring(0, serviceFundShared.getPresident().indexOf(" ")) + "瀹℃壒閫氳繃"); serviceFundflow.setFlowconclusion(1); - serviceFundflow.setFundtype(1); + serviceFundflow.setFundtype(2); serviceFundflow.setFlowlevel(999); - serviceFundflow.setApplytype(null); + serviceFundflow.setApplytype(serviceFundShared.getApplytype()); serviceFundflow.setFundid(serviceFundShared.getSerfunid()); serviceFundflow.setCheckTime(parse); fundflowService.save(serviceFundflow); @@ -234,9 +251,9 @@ serviceFundflow.setCheckusername(serviceFundShared.getFinvicepresident().substring(0, serviceFundShared.getFinvicepresident().indexOf(" "))); serviceFundflow.setFlowcontent(serviceFundShared.getFinvicepresident().substring(0, serviceFundShared.getFinvicepresident().indexOf(" ")) + "瀹℃壒閫氳繃"); serviceFundflow.setFlowconclusion(1); - serviceFundflow.setFundtype(1); + serviceFundflow.setFundtype(2); serviceFundflow.setFlowlevel(999); - serviceFundflow.setApplytype(null); + serviceFundflow.setApplytype(serviceFundShared.getApplytype()); serviceFundflow.setFundid(serviceFundShared.getSerfunid()); serviceFundflow.setCheckTime(parse); fundflowService.save(serviceFundflow); @@ -264,9 +281,9 @@ serviceFundflow.setCheckusername(serviceFundShared.getBusvicepresident().substring(0, serviceFundShared.getBusvicepresident().indexOf(" "))); serviceFundflow.setFlowcontent(serviceFundShared.getBusvicepresident().substring(0, serviceFundShared.getBusvicepresident().indexOf(" ")) + "閫氳繃"); serviceFundflow.setFlowconclusion(1); - serviceFundflow.setFundtype(1); + serviceFundflow.setFundtype(2); serviceFundflow.setFlowlevel(999); - serviceFundflow.setApplytype(null); + serviceFundflow.setApplytype(serviceFundShared.getApplytype()); serviceFundflow.setFundid(serviceFundShared.getSerfunid()); serviceFundflow.setCheckTime(parse); fundflowService.save(serviceFundflow); @@ -300,20 +317,24 @@ ServiceReimbursement serviceReimbursement1 = serviceReimbursementList.get(0); serviceReimbursement1.setFlowlevel(100L); serviceReimbursement1.setDelFlag(0); + serviceReimbursement1.setUploadStates(0); serviceReimbursement1.setBackflowlevel(199L); serviceReimbursement1.setRecordstatus(-1); serviceReimbursementService.updateById(serviceReimbursement1); - sendMeg(split, phone, "0", 1, serviceReimbursementShared.getReimid()); + + SysUser sysUser = sysUserService.selectUserByUserName(serviceReimbursement1.getUserno()); + sendMeg(split, sysUser.getPhonenumber(), "0", 1, serviceReimbursementShared.getReimid()); } else { //涓嶆槸閫�鍥炵殑鎿嶄綔 if (StringUtils.isNotBlank(serviceReimbursementShared.getZffs()) && serviceReimbursementShared.getSpjg() == 0) { - //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�0锛岃鏄庡鎵圭粨鏉燂紝浣嗘暟鎹繕娌℃湁鍚屾鍒癴und琛ㄥ拰fundflow琛�;瀵筬und琛ㄥ拰fundflow琛ㄨ繘琛屾洿鏂帮紝骞跺皢0鏀规垚1 + String bh = myMethod(); + //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�0(0涓哄鎵逛腑)锛岃鏄庡鎵圭粨鏉燂紝浣嗘暟鎹繕娌℃湁鍚屾鍒癴und琛ㄥ拰fundflow琛�;瀵筬und琛ㄥ拰fundflow琛ㄨ繘琛屾洿鏂帮紝骞跺皢0鏀规垚1锛�1瀹℃壒缁撴潫锛� ServiceReimbursement serviceReimbursement = new ServiceReimbursement(); serviceReimbursement.setId(serviceReimbursementShared.getReimid()); serviceReimbursement.setZffs(serviceReimbursementShared.getZffs()); serviceReimbursement.setRiqi(serviceReimbursementShared.getRiqi()); - + serviceReimbursement.setBh(serviceReimbursementShared.getBh()); if (StringUtils.isNotBlank(serviceReimbursementShared.getPresident())) { serviceReimbursement.setPresident(serviceReimbursementShared.getPresident()); } @@ -386,7 +407,7 @@ serviceFundflow.setFundtype(1); // 999 閫氳繃 serviceFundflow.setFlowlevel(999); - serviceFundflow.setApplytype(null); + serviceFundflow.setApplytype("0"); serviceFundflow.setFundid(serviceReimbursementShared.getReimid()); serviceReimbursementShared.setSpjg(1); @@ -431,7 +452,7 @@ serviceFundflow.setFlowconclusion(1); serviceFundflow.setFundtype(1); serviceFundflow.setFlowlevel(999); - serviceFundflow.setApplytype(null); + serviceFundflow.setApplytype("0"); serviceFundflow.setFundid(serviceReimbursementShared.getReimid()); serviceFundflow.setCheckTime(parse); fundflowService.save(serviceFundflow); @@ -462,7 +483,7 @@ serviceFundflow.setFlowconclusion(1); serviceFundflow.setFundtype(1); serviceFundflow.setFlowlevel(999); - serviceFundflow.setApplytype(null); + serviceFundflow.setApplytype("0"); serviceFundflow.setCheckTime(parse); serviceFundflow.setFundid(serviceReimbursementShared.getReimid()); fundflowService.save(serviceFundflow); @@ -492,7 +513,7 @@ serviceFundflow.setFlowconclusion(1); serviceFundflow.setFundtype(1); serviceFundflow.setFlowlevel(999); - serviceFundflow.setApplytype(null); + serviceFundflow.setApplytype("0"); serviceFundflow.setCheckTime(parse); serviceFundflow.setFundid(serviceReimbursementShared.getReimid()); @@ -508,12 +529,12 @@ } - public void sendMeg(String[] split, String phone, String applyType, Integer fundType, Long fundId) { + public void sendMeg(String[] split, String phone, String applyType, Integer fundType, Long fundId) throws ApiException { //璁板綍鎿嶄綔璁板綍 ServiceFundflow serviceFundflow = new ServiceFundflow(); - serviceFundflow.setCreateBy("admin"); + serviceFundflow.setCreateBy(split[0]); serviceFundflow.setCreateTime(new Date()); - serviceFundflow.setUpdateBy("admin"); + serviceFundflow.setUpdateBy(split[0]); serviceFundflow.setUpdateTime(new Date()); serviceFundflow.setCheckusername(split[0]); serviceFundflow.setFlowcontent(split[2]); @@ -524,17 +545,154 @@ serviceFundflow.setFundid(fundId); fundflowService.save(serviceFundflow); -// ArrayList<ConcurrentHashMap<String, String>> contentList = new ArrayList<>(); -// ConcurrentHashMap map = new ConcurrentHashMap(); -// map.put("瀹℃壒浜�", split[0]); -// map.put("瀹℃壒鏃堕棿", split[1]); -// map.put("鎰忚", split[2]); -// contentList.add(map); -// DingTalkReqVo dingTalkReqVo = new DingTalkReqVo(); -// dingTalkReqVo.setTitle("璐㈠姟绯荤粺椹冲洖淇℃伅"); -// dingTalkReqVo.setNumber(phone); -// dingTalkReqVo.setContents(contentList); -// dingTalkService.sendNotification(dingTalkReqVo); + ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>(); + ConcurrentHashMap map = new ConcurrentHashMap(); + map.put("瀹℃壒浜猴細", split[0]); + map.put("瀹℃壒鏃堕棿锛�", split[1]); + map.put("鎰忚锛�", split[2]); + contentList.add(map); + DingTalkReqVo dingTalkReqVo = new DingTalkReqVo(); + dingTalkReqVo.setTitle("璐㈠姟绯荤粺椹冲洖淇℃伅"); + dingTalkReqVo.setNumber(phone); + dingTalkReqVo.setContents(contentList); + dingTalkService.sendNotification(dingTalkReqVo); + } + + private ReentrantLock lock = new ReentrantLock(); + + public String myMethod() { + lock.lock(); + String bh = null; + try { + // 浠g爜鍧� + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM"); + String format = simpleDateFormat.format(new Date()); + ServiceTasknum serviceTasknum = new ServiceTasknum(); + serviceTasknum.setYearmonth(format); + //CW 璐㈠姟 + serviceTasknum.setApptype("CW"); + List<ServiceTasknum> serviceTasknums = ServiceTasknumService.queryList(serviceTasknum); + long nums = 1; + if (CollectionUtils.isEmpty(serviceTasknums)) { + //杩涜鎻掑叆鎿嶄綔 + serviceTasknum.setSerialnumber(nums); + ServiceTasknumService.save(serviceTasknum); + bh = serviceTasknum.getYearmonth() + "0" + nums; + } else { + //鑾峰彇鍞竴鍊肩殑鏈�澶у�� + nums = serviceTasknums.stream().mapToLong(ServiceTasknum::getSerialnumber).max().getAsLong() + 1; + + ServiceTasknum serviceTasknum1 = serviceTasknums.get(0); + serviceTasknum1.setSerialnumber(nums); + //瀵硅鏉℃暟鎹殑鍞竴鍊煎姞1 + ServiceTasknumService.updateById(serviceTasknum1); + //灏嗙敓鎴愮殑缂栧彿杩斿洖 + if (nums < 10) { + bh = serviceTasknums.get(0).getYearmonth() + "0" + nums; + } else { + bh = serviceTasknums.get(0).getYearmonth() + nums; + } + } + } catch (Exception e) { + log.error("鑾峰彇缂栧彿澶辫触浜唟}", e.getStackTrace()); + } finally { + lock.unlock(); + } + return bh; + } + + + /** + * 灏嗘暟鎹瓨鍒板垎浜〃涓� + */ + public void addDataShared() { + ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule(); + //澶勭悊宸梾鎶ラ攢 + serviceFundflowrule.setApplytype("0"); + List<ServiceFundflowrule> serviceFundflowrules = iServiceFundflowruleService.queryList(serviceFundflowrule); + log.info("宸梾鐨勬渶楂樼瓑绾�:{}", serviceFundflowrules.get(0).getTotallevel()); + ServiceReimbursement serviceReimbursement = new ServiceReimbursement(); + serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); + serviceReimbursement.setUploadStates(1); + serviceReimbursement.setDelFlag(0); + List<ServiceReimbursement> serviceReimbursementList = serviceReimbursementService.queryList(serviceReimbursement); + for (ServiceReimbursement serviceReimbursement1 : serviceReimbursementList) { + try { + log.info("鎻掑叆鍒嗕韩琛ㄧ殑ID涓猴細{}", serviceReimbursement1.getId()); + Boolean aBoolean = serviceReimbursementService.addSharedData(serviceReimbursement1.getId()); + if (aBoolean) { + ServiceReimbursement serviceReimbursement3 = new ServiceReimbursement(); + serviceReimbursement3.setId(serviceReimbursement1.getId()); + serviceReimbursement3.setUploadStates(2); + boolean b = serviceReimbursementService.updateById(serviceReimbursement3); + log.info("serviceReimbursement鏄惁鎻掑叆鎴愬姛{},{}", aBoolean, b); + } + } catch (Exception e) { + ServiceReimbursement serviceReimbursement2 = new ServiceReimbursement(); + serviceReimbursement2.setId(serviceReimbursement1.getId()); + serviceReimbursement2.setNotes("鎻掑叆鍒嗕韩琛ㄥけ璐�"); + serviceReimbursementService.updateById(serviceReimbursement2); + } + } + + //涓撳鍔冲姟璐圭敵璇� + serviceFundflowrule.setApplytype("1"); + List<ServiceFundflowrule> serviceFundflowrules2 = iServiceFundflowruleService.queryList(serviceFundflowrule); + log.info("涓撳鍔冲姟鐨勬渶楂樼瓑绾�:{}", serviceFundflowrules2.get(0).getTotallevel()); + addFunfShared(serviceFundflowrules2.get(0).getTotallevel().longValue(), "1"); + + //浼︾悊涓撳鍔冲姟璐圭敵璇� + serviceFundflowrule.setApplytype("2"); + List<ServiceFundflowrule> serviceFundflowrules3 = iServiceFundflowruleService.queryList(serviceFundflowrule); + log.info("浼︾悊涓撳鍔冲姟璐圭敵璇�:{}", serviceFundflowrules3.get(0).getTotallevel()); + addFunfShared(serviceFundflowrules3.get(0).getTotallevel().longValue(), "2"); + + //鍖诲鎴愭湰鎶ラ攢 + serviceFundflowrule.setApplytype("3"); + List<ServiceFundflowrule> serviceFundflowrules4 = iServiceFundflowruleService.queryList(serviceFundflowrule); + log.info("鍖诲鎴愭湰鎶ラ攢:{}", serviceFundflowrules4.get(0).getTotallevel()); + addFunfShared(serviceFundflowrules4.get(0).getTotallevel().longValue(), "3"); + + //鍔炲叕璐圭敤鎶ラ攢 + serviceFundflowrule.setApplytype("4"); + List<ServiceFundflowrule> serviceFundflowrules5 = iServiceFundflowruleService.queryList(serviceFundflowrule); + log.info("鍔炲叕璐圭敤鎶ラ攢:{}", serviceFundflowrules5.get(0).getTotallevel()); + addFunfShared(serviceFundflowrules5.get(0).getTotallevel().longValue(), "4"); + + //缁╂晥瀹℃壒鎶ラ攢 + serviceFundflowrule.setApplytype("5"); + List<ServiceFundflowrule> serviceFundflowrules6 = iServiceFundflowruleService.queryList(serviceFundflowrule); + log.info("鍔炲叕璐圭敤鎶ラ攢:{}", serviceFundflowrules6.get(0).getTotallevel()); + addFunfShared(serviceFundflowrules6.get(0).getTotallevel().longValue(), "5"); + + } + + private void addFunfShared(Long totallevel, String applyType) { + ServiceFund serviceFund = new ServiceFund(); + serviceFund.setFlowlevel(totallevel); + serviceFund.setUploadStates(1); + serviceFund.setDel_flag(0); + serviceFund.setApplytype(applyType); + List<ServiceFund> serviceFundList = serviceFundService.queryList(serviceFund); + for (ServiceFund serviceFund1 : serviceFundList) { + try { + log.info("鎻掑叆鍒嗕韩琛ㄧ殑FundID涓猴細{}", serviceFund1.getId()); + Boolean aBoolean = serviceFundService.addFundSharedInfo(serviceFund1.getId()); + if (aBoolean) { + ServiceFund serviceFund2 = new ServiceFund(); + serviceFund2.setId(serviceFund1.getId()); + serviceFund2.setUploadStates(2); + boolean b = serviceFundService.updateById(serviceFund2); + log.info("serviceReimbursement鏄惁鎻掑叆鎴愬姛{},{}", aBoolean, b); + } + } catch (Exception e) { + ServiceFund serviceFund2 = new ServiceFund(); + serviceFund2.setId(serviceFund1.getId()); + serviceFund2.setUploadStates(1); + serviceFund2.setNotes("鎻掑叆fund鍒嗕韩琛ㄥけ璐�"); + serviceFundService.updateById(serviceFund2); + } + } } } -- Gitblit v1.9.3