| fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PledgeReminders.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FoodPriceService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PledgeReminders.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ package com.fzzy.igds.data; import lombok.Data; /** * è´¨æ¼ååæé * * @author sgj * @since 2026/03/12 */ @Data public class PledgeReminders { //ä»åºID private String depotId; //ä»åºåç§° private String depotName; //ç²®é£åç§ private String foodVariety; //åç§åç§° private String foodVarietyName; //ç²®é£åä»· private Double foodPrice; //å®é åºå private Double storageReal; } fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FoodPriceService.java
@@ -55,8 +55,10 @@ * @return */ public FoodPrice getDataByBankAndFood(String bankId, String foodVariety) { if(StringUtils.isBlank(bankId) || StringUtils.isBlank(foodVariety) ){ return null; } SysUser user = ContextUtil.getLoginUser(); QueryWrapper<FoodPrice> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("bank_id", bankId); queryWrapper.eq("food_variety", foodVariety); fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
@@ -2,6 +2,7 @@ import com.fzzy.igds.constant.Constant; import com.fzzy.igds.data.BaseResp; import com.fzzy.igds.data.PledgeReminders; import com.fzzy.igds.domain.Depot; import com.fzzy.igds.domain.FoodPrice; import com.fzzy.igds.domain.PledgeContract; @@ -17,6 +18,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -38,6 +40,7 @@ @Resource private BizWorkService workService; /** * æ¯å¤©ä¸¤ç¹æ§è¡ï¼è¿æ¬¾æé */ @@ -58,11 +61,14 @@ Depot depot; FoodPrice foodPrice; WorkOrderConf conf; double sumMoney = 0.0; double per = 0.0; double backMoney = 0.0; for (PledgeContract pledgeContract : contractList) { log.info("-----å¼å§å¤çè´¨æ¼ååï¼{}-----", pledgeContract.getName()); List<PledgeReminders> remindersList = new ArrayList<>(); //计ç®å¾ è¿æ¬¾éé¢ backMoney = pledgeContract.getContractAmount() - pledgeContract.getRepaidAmount(); @@ -109,6 +115,14 @@ } sumMoney += depot.getStorageReal() * foodPrice.getPrice(); PledgeReminders reminders = new PledgeReminders(); reminders.setDepotId(depot.getId()); reminders.setDepotName(depot.getName()); reminders.setFoodVariety(depot.getFoodVariety()); reminders.setFoodVarietyName(depot.getFoodVarietyName()); reminders.setFoodPrice(foodPrice.getPrice()); reminders.setStorageReal(depot.getStorageReal()); remindersList.add(reminders); log.info("-----å½ååå={}ä¸ä»åº={}ï¼å¯¹åºçå®é å¨é={}ï¼å¯¹åºç²®é£åä»·={}-----", pledgeContract.getName(), depot.getName(), depot.getStorageReal(), foodPrice.getPrice()); } @@ -127,7 +141,7 @@ continue; } BaseResp resp = workService.startByBackMoney(pledgeContract, conf); BaseResp resp = workService.startByBackMoney(pledgeContract, conf,remindersList); log.info("---------å½ååå={}å¯å¨è¿æ¬¾æé工念ç¨------{}", pledgeContract.getName(), resp); } } fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
@@ -2,6 +2,7 @@ import com.fzzy.igds.constant.Constant; import com.fzzy.igds.data.BaseResp; import com.fzzy.igds.data.PledgeReminders; import com.fzzy.igds.domain.InoutNoticeIn; import com.fzzy.igds.domain.InoutNoticeOut; import com.fzzy.igds.domain.PledgeContract; @@ -18,7 +19,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.DecimalFormat; import java.util.Date; import java.util.List; /** * @Desc: å·¥åä¸å¡æ¥å£ @@ -28,6 +31,7 @@ @Slf4j @Service public class BizWorkService { @Resource private WorkOrderConfService confService; @Resource @@ -38,6 +42,7 @@ /** * è·åæµç¨é ç½®ä¿¡æ¯ * * @param deptId åºåºID * @param type ä¸å¡ç±»å * @return é ç½®ä¿¡æ¯ @@ -49,6 +54,7 @@ /** * * æ ¹æ®åºå ¥åºéç¥åå¯å¨å®¡æ¹å·¥å * * @param data åºå ¥åºå·¥åæ°æ® * @return ååºç»æ */ @@ -95,6 +101,7 @@ /** * * æ ¹æ®åºåºåºéç¥åå¯å¨å®¡æ¹å·¥å * * @param data åºå ¥åºå·¥åæ°æ® * @return ååºç»æ */ @@ -139,6 +146,7 @@ /** * æ ¹æ®å½åèç¹è·åä¸ä¸ä¸ªèç¹ * * @param curNode * @param conf * @return @@ -168,16 +176,30 @@ /** * * æ ¹æ®åºå ¥åºéç¥åå¯å¨å®¡æ¹å·¥å * * @param data åºå ¥åºå·¥åæ°æ® * @return ååºç»æ */ public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf) { public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf, List<PledgeReminders> remindersList) { if (null == conf) conf = confService.getByDeptId(data.getPledgeDept(), WorkBizType.TYPE_10); if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("æµç¨æªå¯ç¨"); //å建工å StringBuilder description = new StringBuilder("å½ååå<" + data.getName() + ">ä¸"); if (!remindersList.isEmpty()) { Double sumMoneyNum = 0.0; DecimalFormat df = new DecimalFormat("0.00"); for (PledgeReminders reminders : remindersList) { description.append("ï¼ä»åº<").append(reminders.getDepotName()).append(">ï¼è´¨æ¼ç©<").append(reminders.getFoodVarietyName()).append(">åºåé为").append(df.format(reminders.getStorageReal())).append("kgï¼åä»·").append(reminders.getFoodPrice()).append("å ï¼"); sumMoneyNum += reminders.getStorageReal() * reminders.getFoodPrice(); } description.append("åºåéæ»éé¢ä¸º").append(df.format(sumMoneyNum)).append("å ï¼è¾¾å°ååå¾ è¿æ¬¾éé¢ç110%,请æéä¼ä¸è¿æ¬¾è¿æ¬¾"); } else { description.append("è´¨æ¼ä»åº<").append(data.getDepotNames()).append(">åºåééé¢é«äºå¾ è¿æ¬¾éé¢ï¼éè¦è¿è¡è¿æ¬¾"); } WorkOrder work = new WorkOrder(); work.setId(ContextUtil.generateOrderId("WARN")); work.setBizType(WorkBizType.TYPE_50.getCode()); @@ -192,9 +214,7 @@ work.setConfId(conf.getId()); work.setStatus(WorkStatus.STATUS_30.getCode()); work.setReceiveTime(new Date()); work.setDescription("å½ååå<" + data.getName() + ">ä¸è´¨æ¼ä»åº<" + data.getDepotNames() + ">åºåééé¢é«äºå¾ è¿æ¬¾éé¢ï¼éè¦è¿è¡è¿æ¬¾ï¼"); work.setDescription(description.toString()); work.setCreateBy("ç³»ç»çæ"); work.setCreateById("sys"); work.setUpdateBy("ç³»ç»çæ"); @@ -219,6 +239,7 @@ /** * è·åå¾ å¤çå·¥å * * @return å¤çç»æ */ public BaseResp todoByProcess(WorkOrderProcess process) { @@ -238,7 +259,6 @@ return BaseResp.error("å½åå·¥åå·²å¤çï¼è¯·å·æ°é¡µé¢éè¯ï¼ï¼"); } //夿æ¯ä¸æ¯æå®å¤ç人 SysUser user = ContextUtil.getLoginUser(); if (StringUtils.isNotEmpty(work.getAssigneeId())) { @@ -256,7 +276,6 @@ //è·åé ç½®ä¿¡æ¯ WorkOrderConf conf = confService.selectById(work.getConfId()); if (null == conf) return BaseResp.error("å½åå·¥åæªé ç½®æµç¨"); //æ·»å è®°å½ process.setId(ContextUtil.UUID()); @@ -314,7 +333,6 @@ // work.setAssigneeName(process.getAssigneeName()); // work.setAssigneeId(process.getAssigneeId()); orderService.complete(work);