liujie
3 天以前 09892cb8b391914c7c78a61c79503456d9958137
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java
@@ -394,7 +394,7 @@
            List<AddProcurementDto> value = entry.getValue();
            TErpProcurement tErpProcurement = new TErpProcurement();
            tErpProcurement.setClinicId(clinicSupplierId);
            tErpProcurement.setProcurementCode("C" + DateUtils.dateTimeNow());
            tErpProcurement.setSupplierId(supplierClinicId);
            tErpProcurement.setTermNo(supplier.getTermNo());
@@ -456,7 +456,37 @@
                throw new RuntimeException("金额设置错误,请联系平台管理员");
            }
            tErpProcurement.setSupplierMoney(supplierCommissionPrice);
            this.save(tErpProcurement);
            // 获取上一条最新的数据
            TErpProcurement tErpProcurement1 = this.baseMapper.selectOne(new QueryWrapper<TErpProcurement>().orderByDesc("create_time").last("limit 1"));
            if(tErpProcurement1==null){
                tErpProcurement.setProcurementCode("C" + DateUtils.dateTimeNow()+"00001");
            }else {
                String lastProcurementCode = tErpProcurement1.getProcurementCode();
                String datePart = "C" + DateUtils.dateTimeNow();
                // 直接获取后五位数字并+1,不考虑是否同一天
                String numberPart = lastProcurementCode.substring(Math.max(0, lastProcurementCode.length() - 5));
                try {
                    int number = Integer.parseInt(numberPart);
                    if (number < 99999) {
                        number++;
                    } else {
                        number = 2; // 达到99999后重置为00002
                    }
                    tErpProcurement.setProcurementCode(datePart + String.format("%05d", number));
                } catch (NumberFormatException e) {
                    // 如果解析失败,默认从00001开始
                    tErpProcurement.setProcurementCode(datePart + "00001");
                }
            }
            try {
                this.save(tErpProcurement);
            }catch (Exception e){
                throw new RuntimeException("网络繁忙,请重试");
            }
            tErpProcurementGoods1.forEach(e -> e.setProcurementId(tErpProcurement.getId()));
            erpProcurementGoodsService.saveBatch(tErpProcurementGoods1);
        }
@@ -469,7 +499,7 @@
        TErpProcurement tErpProcurement = this.getById(id);
        if (tErpProcurement.getWarehousingUserId()!=null && !tErpProcurement.getWarehousingUserId().isEmpty()) {
            SysUser sysUser = sysUserMapper.selectUserById(Long.valueOf(tErpProcurement.getWarehousingUserId()));
            detailProcurementVO.setWarehousingUserName(sysUser.getUserName());
            detailProcurementVO.setWarehousingUserName(sysUser.getNickName());
        }
        detailProcurementVO.setWarehousingTime(tErpProcurement.getWarehousingTime());
@@ -479,7 +509,7 @@
        detailProcurementVO.setSendTime(tErpProcurement.getSendTime());
        TCrmSupplier supplier = crmSupplierMapper.selectById(tErpProcurement.getSupplierId());
        detailProcurementVO.setSupplierName(supplier.getSupplierName());
        detailProcurementVO.setUserName(sysUserMapper.selectUserById(Long.valueOf(tErpProcurement.getCreateId())).getUserName());
        detailProcurementVO.setUserName(sysUserMapper.selectUserById(Long.valueOf(tErpProcurement.getCreateId())).getNickName());
        TCrmClinic tCrmClinic = crmClinicMapper.selectById(tErpProcurement.getClinicId());
        detailProcurementVO.setClinicName(tCrmClinic.getClinicName());
        detailProcurementVO.setClinicAddress(tCrmClinic.getClinicAddress());