diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybill.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybill.java index ea1f5902e..8d316a266 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybill.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybill.java @@ -408,6 +408,10 @@ public class EmisWaybill extends BaseEntity private String takePieceEmployeeCode; /* 发件网点代码 */ private String sendSiteCode; + /* 始发网点代码 */ + private String startSiteCode; + /* 始发网点名称 */ + private String startSiteName; /* 发件财务中心代码 */ private String sendCenterCode; /* 发货时间 - 取本地时间 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillAjustApply.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillAjustApply.java index d4c33611a..e1ec1a602 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillAjustApply.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillAjustApply.java @@ -46,6 +46,8 @@ public class EmisWaybillAjustApply extends BaseEntity private String applyManCode; /* 申请站点代码 */ private String applySiteCode; + /* 始发网点代码 */ + private String startSiteCode; /* 申请财务中心编码 */ private String applyFinanceCenterCode; /* 申请时间 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java index ebb4a07c6..af6d05767 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java @@ -212,6 +212,10 @@ public class WaybillOrder implements Serializable { /* 发件网点代码 */ private String sendSiteCode; + /* 始发网点代码 */ + private String startSiteCode; + /* 始发网点名称 */ + private String startSiteName; /* 派件人代码 */ private String dispatchManCode; @@ -882,6 +886,8 @@ public class WaybillOrder implements Serializable { // dbWaybill.setRegisterManCode(this.getRegisterManCode()); dbWaybill.setTakePieceEmployeeCode(this.getTakePieceEmployeeCode()); dbWaybill.setSendSiteCode(this.getSendSiteCode()); + dbWaybill.setStartSiteCode(this.getStartSiteCode()); + dbWaybill.setStartSiteName(this.getStartSiteName()); dbWaybill.setSendDate(this.getSendDate()); dbWaybill.setSendSiteName(this.getSendSiteName()); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index c556ecbb0..b296bc070 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -193,9 +193,6 @@ public class EmisBaseService { @Autowired private EmisTmsSiteBatchMissRecordMapper emisTmsSiteBatchMissRecordMapper; - private int totalBatchStatusRecords = 0; - private int totalMissRecords = 0; - private static SysUser emptySysUser = new SysUser(); static { @@ -4235,9 +4232,11 @@ public class EmisBaseService { } emisTmsSiteBatchMissMapper.deleteByBillCodes(billCodes); long startTime = System.currentTimeMillis(); - int totalProcessed = 0; + int totalProcessed = emisWaybills.size(); int successCount = 0; int failCount = 0; + int totalBatchStatusRecords = 0; + int totalMissRecords = 0; List failedBillCodes = new ArrayList<>(); // 获取所有线路规划 @@ -4259,7 +4258,7 @@ public class EmisBaseService { // 批量插入运单组批次状态记录 if (!result.getBatchStatusList().isEmpty()) { -// emisWaybillBatchStatusMapper.batchInsertEmisWaybillBatchStatus(result.getBatchStatusList()); + emisWaybillBatchStatusMapper.batchInsertEmisWaybillBatchStatus(result.getBatchStatusList()); totalBatchStatusRecords += result.getBatchStatusList().size(); } @@ -4280,7 +4279,7 @@ public class EmisBaseService { long processTime = endTime - startTime; // 保存扫描记录 - saveRecord(totalProcessed, successCount, failCount, processTime, failedBillCodes); + saveRecord(totalProcessed, successCount, failCount, processTime, failedBillCodes,totalBatchStatusRecords,totalMissRecords); log.info( "Auto scan completed. Total processed: {}, Success: {}, Failed: {}, Time taken: {}ms, Batch status records: {}, Miss records: {}", @@ -4295,7 +4294,7 @@ public class EmisBaseService { } private void saveRecord(int totalProcessed, int successCount, int failCount, long processTime, - List failedBillCodes) { + List failedBillCodes, int totalBatchStatusRecords, int totalMissRecords) { EmisTmsSiteBatchMissRecord record = new EmisTmsSiteBatchMissRecord(); record.setTotalProcessed(totalProcessed); record.setSuccessCount(successCount); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java index 262c6ae57..0e7364525 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java @@ -359,6 +359,9 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements throw new EmisBizError(EmisBizErrorType.FAIL,"单号不存在!"); } + // 处理虚拟件逻辑 + handleVirtualForUpdate(emisWaybillSave, emisWaybillOld); + recordWaybillOperLog( emisWaybillAjustApply.getBillCode(), WaybillOperLogType.SITE_MODIFY_APPLY, @@ -385,9 +388,6 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements emisCommissionDtlMapper.deleteEmisCommissionDtlByBillCode(emisWaybillSave.getBillCode()); } - // 处理虚拟件逻辑 - handleVirtualForUpdate(emisWaybillSave, emisWaybillOld); - // 审核通过 emisWaybillAjustApplyMapper.auditCenterPass(emisWaybillAjustApply); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index e73691faa..d9ff0287f 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -871,6 +871,16 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "货值必填"); } + // 始发网点 + if(StringUtil.isBlank(emisWaybillSave.getStartSiteName())){ + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "始发网点不能为空"); + } + EmisSite site = getSiteByName(emisWaybillSave.getStartSiteName()); + if(site==null){ + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "始发网点不正确"); + } + emisWaybillSave.setStartSiteCode(site.getSiteCode()); + // 线路转换 EmisTransLine transLine=getTransLineByName(emisWaybillSave.getTransLineType()); if(transLine==null){ @@ -3224,8 +3234,10 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb e.printStackTrace(); } - // 处理虚拟件逻辑 - scanProblemInfo(emisWaybillSave); + // 问题件逻辑 + if ("1".equals(emisWaybillSave.getBlVirtual())) { + scanProblemInfo(emisWaybillSave); + } // 运单立即重新出账 try { diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index d71892e5f..ae26f01b5 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -12,6 +12,8 @@ + + @@ -292,7 +294,7 @@ a.id,a.order_sn, a.cust_order_id, a.bill_code, a.order_status, a.waybill_status, a.order_type, a.order_date, a.user_id, a.customer_code, a.customer_name, a.open_id, a.receive_name, a.receive_company, a.receive_mobile, a.receive_tel, a.receive_country, a.receive_province, a.receive_city, - a.receive_county, a.receive_town, a.receive_address, a.receive_postcode, a.receive_pcd, a.send_name, a.send_company, + a.receive_county, a.receive_town, a.receive_address, a.receive_postcode, a.receive_pcd, a.send_name, a.send_company,a.start_site_code, a.send_mobile, a.send_tel, a.send_country, a.send_province, a.send_city, a.send_county, a.send_town, a.send_address, a.send_postcode, a.send_pcd, a.payment_type, a.calc_fee_type, a.cust_no, a.cust_name, a.trans_line_type, a.product_type, a.time_type, a.meter_type, a.carry_type, a.customs_clear, a.customs_eclaration, a.estimate_date, a.pack_type, a.dispatch_method, @@ -341,6 +343,7 @@ w.site_name as current_site_name, x.site_name as next_site_name, y.site_name as last_site_name, + start.site_name as start_site_name, z.type_name as problem_type_name, k.trans_type as trans_type @@ -378,6 +381,7 @@ left join emis_site a1 on a.send_center_code=a1.site_code and a1.del_flag='0' left join emis_site a2 on a.destination_center_code=a2.site_code and a2.del_flag='0' + left join emis_site start on a.start_site_code=start.site_code and start.del_flag='0' left join emis_customer_user a3 on a.customer_code=a3.customer_code and a3.del_flag='0' left join emis_site seaway1 on a.departure_port=seaway1.site_code and seaway1.del_flag='0' left join emis_site seaway2 on a.destination_port=seaway2.site_code and seaway2.del_flag='0' @@ -2702,6 +2706,7 @@ bill_code_sub, order_status, waybill_status, + start_site_code, order_type, order_date, user_id, @@ -2887,6 +2892,7 @@ #{billCodeSub}, #{orderStatus}, #{waybillStatus}, + #{startSiteCode}, #{orderType}, #{orderDate}, #{userId}, @@ -3074,6 +3080,7 @@ bill_code_sub = #{billCodeSub}, order_status = #{orderStatus}, waybill_status = #{waybillStatus}, + start_site_code = #{startSiteCode}, order_type = #{orderType}, order_date = #{orderDate}, user_id = #{userId},