sgj
2026-03-20 5b6529bd37a7191b674a64c760dcb5f21ab534f1
质押还款提醒逻辑调整
已修改2个文件
59 ■■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
@@ -2,12 +2,15 @@
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.BaseResp;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.data.PledgeReminders;
import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.FoodPrice;
import com.fzzy.igds.domain.PledgeContract;
import com.fzzy.igds.domain.PledgeContractDepot;
import com.fzzy.igds.service.DepotService;
import com.fzzy.igds.service.FoodPriceService;
import com.fzzy.igds.service.PledgeContractDepotService;
import com.fzzy.igds.service.PledgeContractService;
import com.fzzy.work.data.WorkBizType;
import com.fzzy.work.domain.WorkOrderConf;
@@ -18,9 +21,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * @Description 警告信息定时统计:还款提醒
@@ -33,6 +34,10 @@
    @Resource
    private PledgeContractService contractService;
    @Resource
    private PledgeContractDepotService pledgeContractDepotService;
    @Resource
    private DepotService depotService;
    @Resource
@@ -60,7 +65,7 @@
        }
        Depot depot;
        FoodPrice foodPrice;
        WorkOrderConf conf;
        WorkOrderConf conf = null;
        double sumMoney = 0.0;
        double per = 0.0;
@@ -69,8 +74,12 @@
            log.info("-----开始处理质押合同:{}-----", pledgeContract.getName());
//            List<PledgeReminders> remindersList = new ArrayList<>();
            Map<String,PledgeReminders> remindersMap = new java.util.HashMap<>();
            Map<String, PledgeReminders> remindersMap = new HashMap<>();
            //获取质押仓库信息
            IgdsBaseParam igdsBaseParam = new IgdsBaseParam();
            igdsBaseParam.setParentId(pledgeContract.getId());
            List<PledgeContractDepot> pledgeContractDepots = pledgeContractDepotService.listAll(igdsBaseParam);
            //计算待还款金额
            backMoney = pledgeContract.getContractAmount() - pledgeContract.getRepaidAmount();
@@ -86,20 +95,18 @@
                continue;
            }
            if (StringUtils.isBlank(pledgeContract.getDepotIds())) {
            if (pledgeContractDepots.isEmpty()) {
                //若质押仓库为空,则跳过当前合同
                log.error("-----当前合同={}没有设置质押仓库,不执行提醒核算-----", pledgeContract.getName());
                continue;
            }
            String[] depotIds = pledgeContract.getDepotIds().split(",");
            if (depotIds.length < 1) {
                //若质押仓库为空,则跳过当前合同
                log.error("-----当前合同={}没有设置质押仓库,不执行提醒核算-----", pledgeContract.getName());
                continue;
            }
            sumMoney = 0.0;
            for (String depotId : depotIds) {
            //获取质押库区
            List<String> deptIds = new ArrayList<>();
            for (PledgeContractDepot pledgeContractDepot : pledgeContractDepots) {
                String depotId = pledgeContractDepot.getPledgeDepot();
                deptIds.add(pledgeContractDepot.getPledgeDept());
                //查询仓库信息
                depot = depotService.getCacheDepot(pledgeContract.getCompanyId(), depotId);
                if (null == depot) {
@@ -131,14 +138,6 @@
                    pledgeReminders.setStorageReal(pledgeReminders.getStorageReal()+depot.getStorageReal());
                }
                remindersMap.put(key,pledgeReminders);
//                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());
            }
@@ -151,8 +150,14 @@
            }
            //货不足以抵贷款 ,提醒企业补钱
            //执行流程
            conf = workService.getConfByDeptId(pledgeContract.getPledgeDept(), WorkBizType.TYPE_50);
            //根据质押仓库的库区,找到其中一个库区配置的提醒工单流程
            for (String deptId : deptIds){
                WorkOrderConf confByDeptId = workService.getConfByDeptId(deptId, WorkBizType.TYPE_50);
                if(null!=confByDeptId && Constant.YN_Y.equals(confByDeptId.getValTag())){
                    conf=confByDeptId;
                    break;
                }
            }
            //流程不启用
            if (null == conf || Constant.YN_N.equals(conf.getValTag())) {
                log.error("-----当前合同={}质押库区={}未配置还款提醒审批流程,无法生成工单提醒-----", pledgeContract.getName(), pledgeContract.getPledgeDept());
fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
@@ -175,14 +175,16 @@
    /**
     *
     * 根据出入库通知单启动审批工单
     * 根据质押合同,启动还款提醒工单
     *
     * @param data 出入库工单数据
     * @return 响应结果
     */
    public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf, Map<String,PledgeReminders> remindersMap) {
        if (null == conf) conf = confService.getByDeptId(data.getPledgeDept(), WorkBizType.TYPE_10);
        if (null == conf) {
            return BaseResp.error("未找到工单配置");
        }
        if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("流程未启用");
//        Double sumMoneyNum = 0.0;
@@ -214,7 +216,7 @@
        work.setBankId(data.getPledgeBank());
        work.setBusinessUrl("com.fzzy.igds.PledgeContract-Detail.d");
        work.setCreateTime(new Date());
        work.setDeptId(data.getPledgeDept());
        work.setDeptId(conf.getDeptId());
        work.setCompanyId(data.getCompanyId());
        work.setUpdateTime(new Date());
        work.setTitle("质押合同还款提醒");