sgj
2026-03-17 74a25082f68c00a797a7eca8672cde8edb0dc95f
fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
@@ -18,9 +18,9 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @Description 警告信息定时统计:还款提醒
@@ -67,7 +67,9 @@
        double backMoney = 0.0;
        for (PledgeContract pledgeContract : contractList) {
            log.info("-----开始处理质押合同:{}-----", pledgeContract.getName());
            List<PledgeReminders> remindersList = new ArrayList<>();
//            List<PledgeReminders> remindersList = new ArrayList<>();
            Map<String,PledgeReminders> remindersMap = new java.util.HashMap<>();
            //计算待还款金额
@@ -115,23 +117,39 @@
                }
                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);
                //按品种+单价生成key,来作为唯一标识,统计粮食品种的库存量以及粮食品种信息
                String key=depot.getFoodVariety()+foodPrice.getPrice();
                PledgeReminders pledgeReminders = remindersMap.get(key);
                if (null == pledgeReminders) {
                    pledgeReminders = new PledgeReminders();
                    pledgeReminders.setFoodVariety(depot.getFoodVariety());
                    pledgeReminders.setFoodVarietyName(depot.getFoodVarietyName());
                    pledgeReminders.setFoodPrice(foodPrice.getPrice());
                    pledgeReminders.setStorageReal(pledgeReminders.getStorageReal()+depot.getStorageReal());
                }else{
                    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());
            }
            per = sumMoney / backMoney;
            if (per < 1.1) {
            if (per > 1.1) {
                //货可以抵贷款
                log.error("-----当前合同={}下质押仓库={}库存未到待还款的110%,sumMoney={},backMoney={},不生成还款提醒工单-----", pledgeContract.getName(), pledgeContract.getDepotNames(), sumMoney, backMoney);
                continue;
            }
            //货不足以抵贷款 ,提醒企业补钱
            //执行流程
            conf = workService.getConfByDeptId(pledgeContract.getPledgeDept(), WorkBizType.TYPE_50);
@@ -141,7 +159,7 @@
                continue;
            }
            BaseResp resp = workService.startByBackMoney(pledgeContract, conf,remindersList);
            BaseResp resp = workService.startByBackMoney(pledgeContract, conf,remindersMap);
            log.info("---------当前合同={}启动还款提醒工单流程------{}", pledgeContract.getName(), resp);
        }
    }