533c9a4e44b06c90df7434a38e0da26e10cdac46..74a25082f68c00a797a7eca8672cde8edb0dc95f
2026-03-17 sgj
修改,gis建模监管页,数据不一致问题
74a250 对比 | 目录
2026-03-17 sgj
质押还款提醒文案更改
e2eb65 对比 | 目录
已修改5个文件
143 ■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PledgeReminders.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/group/GroupController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PledgeReminders.java
@@ -26,10 +26,10 @@
    private String foodVarietyName;
    //粮食单价
    private Double foodPrice;
    private Double foodPrice=0.0;
    //实际库存
    private Double storageReal;
    private Double storageReal=0.0;
}
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);
        }
    }
fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
@@ -21,7 +21,7 @@
import javax.annotation.Resource;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @Desc: 工单业务接口
@@ -180,26 +180,33 @@
     * @param data 出入库工单数据
     * @return 响应结果
     */
    public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf, List<PledgeReminders> remindersList) {
    public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf, Map<String,PledgeReminders> remindersMap) {
        if (null == conf) conf = confService.getByDeptId(data.getPledgeDept(), WorkBizType.TYPE_10);
        if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("流程未启用");
//        Double sumMoneyNum = 0.0;
        DecimalFormat df = new DecimalFormat("0.00");
        double backMoney = data.getContractAmount() - data.getRepaidAmount();
        //创建工单
        StringBuilder description = new StringBuilder("当前合同<" + data.getName() + ">下");
        if (!remindersList.isEmpty()) {
            Double sumMoneyNum = 0.0;
            DecimalFormat df = new DecimalFormat("0.00");
        StringBuilder description = new StringBuilder("合同<" + data.getName() + ">贷款余额:"+df.format(backMoney)+"元,");
        if (!remindersMap.isEmpty()){
            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();
            for (PledgeReminders reminders : remindersMap.values()) {
                description.append("当前<").append(reminders.getFoodVarietyName())
                        .append(">单价:").append(reminders.getFoodPrice()).append("元/KG,")
                        .append("剩余<").append(reminders.getFoodVarietyName())
                        .append(">库存:").append(df.format(reminders.getStorageReal())).append("KG,");
//                sumMoneyNum += reminders.getStorageReal() * reminders.getFoodPrice();
            }
            description.append("库存量总金额为").append(df.format(sumMoneyNum)).append("元,达到合同待还款金额的110%,请提醒企业进款还款");
        } else {
            description.append("质押仓库<").append(data.getDepotNames()).append(">库存量金额高于待还款金额,需要进行还款");
            description.append("押品价值≤贷款余额的110%,请尽快提醒企业还款!");
        }else{
            description.append("质押仓库<").append(data.getDepotNames()).append(">押品价值≤贷款余额的110%,请尽快提醒企业还款!");
        }
        WorkOrder work = new WorkOrder();
        work.setId(ContextUtil.generateOrderId("WARN"));
        work.setBizType(WorkBizType.TYPE_50.getCode());
fzzy-igdss-web/src/main/java/com/fzzy/group/GroupController.java
@@ -164,7 +164,7 @@
        view.put("depotList", depotList);
        //统计信息
        GroupGisData groupGisData = groupManager.getGisData();
        GroupGisData groupGisData = groupManager.getGisDataByCompanyId();
        view.put("gisData", groupGisData);
        return prefix + "/gis_modeling";
fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
@@ -587,6 +587,70 @@
        return groupGisData;
    }
    public GroupGisData getGisDataByCompanyId() {
        GroupGisData groupGisData = new GroupGisData();
        //查询伊犁下属区县
        //区县
        List<DicArea> dicAreaList = dicAreaService.listData("654000", null, null);
        //统计区县下库区数
        LinkedHashMap<String, Integer> valuePieChart = new LinkedHashMap<>();
        LinkedHashMap<String, String> namePieChart = new LinkedHashMap<>();
        if (null != dicAreaList && !dicAreaList.isEmpty()) {
            for (DicArea dicArea : dicAreaList) {
                valuePieChart.put(dicArea.getCode(), 0);
                namePieChart.put(dicArea.getCode(), dicArea.getName());
            }
        }
        List<Dept> deptList = deptService.getDeptByUserType(null);
        if (null != deptList && !deptList.isEmpty()) {
            //库区总数
            groupGisData.setDeptNum(deptList.size());
            for (Dept dept : deptList) {
                if (StringUtils.isBlank(dept.getXzqhdm()) || null == valuePieChart.get(dept.getXzqhdm())) {
                    if (null == valuePieChart.get("999999")) {
                        valuePieChart.put("999999", 0);
                        namePieChart.put("999999", "其他区县");
                    }
                    dept.setXzqhdm("999999");
                }
                valuePieChart.put(dept.getXzqhdm(), valuePieChart.get(dept.getXzqhdm()) + 1);
            }
        }
        if (groupGisData.getDeptNum() > 0) {
            for (String mapKey : valuePieChart.keySet()) {
                groupGisData.getDeptList().add(new ChartPie(valuePieChart.get(mapKey) + "", namePieChart.get(mapKey), new DecimalFormat("0.0").format((double) valuePieChart.get(mapKey) / groupGisData.getDeptNum() * 100)));
            }
        }
        //统计重量
        List<Depot> depotList = depotService.getCacheDepotList(ContextUtil.getCompanyId());
        if (null != depotList && !depotList.isEmpty()) {
            for (Depot depot : depotList) {
                if (null == depot.getStorageReal()) {
                    depot.setStorageReal(0.0);
                }
                groupGisData.setSum(groupGisData.getSum() + depot.getStorageReal());
                if (StringUtils.isNotBlank(depot.getPledgeBank())) {
                    groupGisData.setBankSum(groupGisData.getBankSum() + depot.getStorageReal());
                } else {
                    groupGisData.setNormalSum(groupGisData.getNormalSum() + depot.getStorageReal());
                }
            }
        }
        if (groupGisData.getSum() > 0) {
            groupGisData.setSumPer(new DecimalFormat("0.00").format(groupGisData.getSum() / groupGisData.getSum() * 100L));
            groupGisData.setBankSumPer(new DecimalFormat("0.00").format(groupGisData.getBankSum() / groupGisData.getSum() * 100L));
            groupGisData.setNormalSumPer(new DecimalFormat("0.00").format(groupGisData.getNormalSum() / groupGisData.getSum() * 100L));
        }
        return groupGisData;
    }
    /**
     * 大屏首页-抓拍跟踪信息
     *