sgj
2026-03-27 1eddf64a7104dcd06065e8ac309eebc42c24fb05
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
@@ -646,10 +646,57 @@
            }
        }
        // 数据库 ID 重复校验,确保新生成的 ID 在数据库中不存在
        while (this.checkIdExists(companyId, cacheId)) {
            String temp = cacheId.substring(cacheId.length() - 4);
            Integer i = Integer.valueOf(temp);
            i++;
            temp = String.valueOf(i);
            if (temp.length() == 1) {
                cacheId = timeKey + "000" + temp;
            }
            if (temp.length() == 2) {
                cacheId = timeKey + "00" + temp;
            }
            if (temp.length() == 3) {
                cacheId = timeKey + "0" + temp;
            }
            if (temp.length() == 4) {
                cacheId = timeKey + temp;
            }
        }
        // 更新缓存
        redisCache.setCacheObject(cacheKey, cacheId);
        return cacheId;
    }
    /**
     * 检查 ID 是否在数据库中已存在
     *
     * @param companyId
     * @param id
     * @return true-已存在,false-不存在
     */
    public boolean checkIdExists(String companyId, String id) {
        QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("company_id", companyId);
        queryWrapper.and(wrapper ->
                wrapper.eq("id", id)
                        .or()
                        .eq("id", "R_" + id)
                        .or()
                        .eq("id", "C_" + id)
                        .or()
                        .eq("id", "M_" + id)
        );
        List<InoutRecord> inoutRecords = inoutRecordMapper.selectList(queryWrapper);
        if( null != inoutRecords && inoutRecords.size() > 0){
            return true;
        }
        return false;
    }
    /**
@@ -668,8 +715,8 @@
        queryWrapper.eq("company_id", companyId);
        queryWrapper.like("id", timeKey);
        queryWrapper.orderByDesc("create_time");
        queryWrapper.orderByDesc("register_time");
        queryWrapper.orderByDesc("id");
        List<InoutRecord> inoutRecords = inoutRecordMapper.selectList(queryWrapper);
        if (null == inoutRecords || inoutRecords.isEmpty()) {
            return null;
@@ -687,10 +734,10 @@
    public String inWeightBill(InoutRecord data) {
        // 获取表单数据
        InoutPrintBill bill = this.createBillData(data, "-入库单");
        InoutPrintBill bill = this.createBillData(data, "入库单");
        // 调整模版数据并返回
        String htmlStr = InoutBill.IN_WEIGHT_DEFAULT;
        String htmlStr = InoutBill.IN_WEIGHT_DEFAULT_NEW;
        htmlStr = htmlStr.replace("billTitle", bill.getBillTitle());
@@ -748,7 +795,7 @@
        htmlStr = htmlStr.replace("handleEnd", "");
        htmlStr = htmlStr.replace("noticeId", bill.getNoticeId() == null ? "" : bill.getNoticeId());
        htmlStr = htmlStr.replace("phone", data.getUserContact() == null ? "" : data.getUserContact() + "");
        htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm"));
        htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
        htmlStr = htmlStr.replaceAll("weightUser",
                bill.getWeightUser() == null ? "" : bill.getWeightUser());
@@ -756,7 +803,7 @@
                bill.getHandleUser() == null ? "" : bill.getHandleUser());
        htmlStr = htmlStr.replaceAll("keeperName",
                bill.getKeeperUser() == null ? "" : bill.getKeeperUser());
        htmlStr = htmlStr.replaceAll("createUser",ContextUtil.getLoginUserName());
        return htmlStr;
    }
@@ -769,10 +816,10 @@
     */
    public String outWeightBill(InoutRecord data) {
        // 获取表单数据
        InoutPrintBill bill = this.createBillData(data, "-出库单");
        InoutPrintBill bill = this.createBillData(data, "出库单");
        //默认模版
        String htmlStr = InoutBill.OUT_WEIGHT_DEFAULT;
        String htmlStr = InoutBill.OUT_WEIGHT_DEFAULT_NEW;
        htmlStr = htmlStr.replace("billTitle", bill.getBillTitle());
@@ -821,11 +868,13 @@
        htmlStr = htmlStr.replace("handleEnd", "");
        htmlStr = htmlStr.replace("noticeId", bill.getNoticeId() == null ? "" : bill.getNoticeId());
        htmlStr = htmlStr.replace("phone", data.getUserContact() == null ? "" : data.getUserContact() + "");
        htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm"));
        htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
        htmlStr = htmlStr.replaceAll("weightUser", getValue(bill.getWeightUser()));
        htmlStr = htmlStr.replace("handleUser", getValue(bill.getHandleUser()));
        htmlStr = htmlStr.replaceAll("keeperName", getValue(bill.getKeeperUser()));
        htmlStr = htmlStr.replaceAll("createUser",ContextUtil.getLoginUserName());
        return htmlStr;
    }
@@ -861,13 +910,13 @@
            data.setRegisterTime(new Date());
        }
        bill.setRegisterTime(DateFormatUtils.format(data.getRegisterTime(),
                "yyyy-MM-dd HH:mm"));
                "yyyy-MM-dd HH:mm:ss"));
        if (null == data.getCompleteTime()) {
            data.setCompleteTime(new Date());
        }
        bill.setCompleteTime(DateFormatUtils.format(data.getCompleteTime(),
                "yyyy-MM-dd HH:mm"));
                "yyyy-MM-dd HH:mm:ss"));
        bill.setEmptyTime(DateFormatUtils.format(data.getEmptyWeightTime(),
                "yyyy-MM-dd HH:mm:ss"));
@@ -921,7 +970,7 @@
                data.setSettleMoney(NumberUtil.keepPrecision(data.getPrice() * data.getRecordWeight(), 2));
            }
        }
        bill.setSettleMoney(data.getSettleMoney() == null ? "" : data.getSettleMoney() + "");
        bill.setSettleMoney(data.getSettleMoney() == null ? "" : String.format("%.2f", data.getSettleMoney()));
        bill.setRemark(data.getRemarks() == null ? "" : data.getRemarks());
        if (Constant.TYPE_IN.equals(data.getType())) {