diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 68b8f256..7f2921a2 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -348,7 +348,7 @@ public class IoOrderController extends BaseController { if (checkInoutService.checkManual(addOrderRequest.getBillNo())) { if (CollUtil.isNotEmpty(orderDetailBizEntities)) { - if (IntUtil.value(bussinessTypeEntity.getCheckWebNewType()) == 3) { + if (IntUtil.value(bussinessTypeEntity.getCheckWebNew()) == 3 && IntUtil.value(bussinessTypeEntity.getCheckWebNewType()) == 3) { String errMsg = checkInoutService.bizOrderCheckPass(orderDetailBizEntities, orderDetailCodeEntities); if (StrUtil.isNotEmpty(errMsg)) { return ResultVOUtils.error(500, errMsg); diff --git a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java index d57bc1ac..d5c19182 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java @@ -492,6 +492,7 @@ public class BasicBussinessTypeEntity { /** * 有三期业务单校验 0:按扫码结果提交,1:按比对结果提交;3,按业务单提交 */ + @TableField(value = "checkWebNewType") private int checkWebNewType; } diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 514c8dc9..f424050b 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -506,66 +506,69 @@ public class IoCheckInoutService { } String errMsg = ""; - //正向校验 - for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { - String msg = ""; - for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { - if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null - && checkBatchNo(bizEntity, codeEntity) == null - && checkProductDate(bizEntity, codeEntity) == null - && checkExpireDate(bizEntity, codeEntity) == null - ) { - - if (checkCount(bizEntity, codeEntity) == null) { - bizEntity.setCheckSuccess(true); - bizEntity.setScanCount(codeEntity.getReCount()); - codeEntity.setCheckSuccess(true); - codeEntity.setPrice(bizEntity.getPrice()); - } else { - bizEntity.setScanCount(codeEntity.getReCount()); - bizEntity.setCheckSuccess(false); - msg = "数量不匹配"; + BasicBussinessTypeEntity businessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); + if (IntUtil.value(businessTypeEntity.getCheckWebNew()) != 3 || IntUtil.value(businessTypeEntity.getCheckWebNewType()) != 3) { + //正向校验 + for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { + String msg = ""; + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null + && checkBatchNo(bizEntity, codeEntity) == null + && checkProductDate(bizEntity, codeEntity) == null + && checkExpireDate(bizEntity, codeEntity) == null + ) { + + if (checkCount(bizEntity, codeEntity) == null) { + bizEntity.setCheckSuccess(true); + bizEntity.setScanCount(codeEntity.getReCount()); + codeEntity.setCheckSuccess(true); + codeEntity.setPrice(bizEntity.getPrice()); + } else { + bizEntity.setScanCount(codeEntity.getReCount()); + bizEntity.setCheckSuccess(false); + msg = "数量不匹配"; + } + break; } - break; } + if (StrUtil.isEmpty(msg) && !bizEntity.isCheckSuccess()) { + msg = "三期不匹配"; + } + bizEntity.setErrMsg(msg); } - if (StrUtil.isEmpty(msg) && !bizEntity.isCheckSuccess()) { - msg = "三期不匹配"; - } - bizEntity.setErrMsg(msg); - } - - for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { - if (!bizEntity.isCheckSuccess()) { - errMsg = errMsg + bizEntity.getCoName() + bizEntity.getErrMsg() + ";"; - } - } - //反向校验 - for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { - if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null - && checkBatchNo(bizEntity, codeEntity) == null - && checkProductDate(bizEntity, codeEntity) == null - && checkExpireDate(bizEntity, codeEntity) == null - ) { + if (!bizEntity.isCheckSuccess()) { + errMsg = errMsg + bizEntity.getCoName() + bizEntity.getErrMsg() + ";"; + } + } - if (checkCount(bizEntity, codeEntity) == null) { - bizEntity.setCheckSuccess(true); - codeEntity.setCheckSuccess(true); - codeEntity.setPrice(bizEntity.getPrice()); + //反向校验 + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { + if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null + && checkBatchNo(bizEntity, codeEntity) == null + && checkProductDate(bizEntity, codeEntity) == null + && checkExpireDate(bizEntity, codeEntity) == null + ) { + + if (checkCount(bizEntity, codeEntity) == null) { + bizEntity.setCheckSuccess(true); + codeEntity.setCheckSuccess(true); + codeEntity.setPrice(bizEntity.getPrice()); + } + break; } - break; } } - } - - for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { - if (!codeEntity.isCheckSuccess()) { - errMsg = errMsg + codeEntity.getCoName() + ";"; + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + if (!codeEntity.isCheckSuccess()) { + errMsg = errMsg + codeEntity.getCoName() + ";"; + } } } + if (StrUtil.isNotEmpty(errMsg)) { orderEntity.setErrMsg(errMsg + "校验失败"); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_FAIL); @@ -726,7 +729,7 @@ public class IoCheckInoutService { codeEntity.setCheckSuccess(false); } for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { - bizEntity.setCheckSuccess(false); + bizEntity.setCheckSuccess(true); } for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { String msg = ""; diff --git a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java index 6259d970..523c316f 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -53,7 +53,7 @@ public class IoGenInvService { public void genNorInv(String orderId) { IoOrderEntity orderEntity = orderService.findByBillNo(orderId); List orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId); - List codeEnttities = codeService.findByOrderId(orderId); +// List codeEnttities = codeService.findByOrderId(orderId); //补齐单据信息 BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); @@ -84,9 +84,9 @@ public class IoGenInvService { } if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { - invProductEntity.setOutCount(invProductEntity.getOutCount() + orderDetailResultEntity.getReCount()); + invProductEntity.setOutCount(invProductEntity.getOutCount() + orderDetailResultEntity.getCount()); } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { - invProductEntity.setInCount(invProductEntity.getInCount() + orderDetailResultEntity.getReCount()); + invProductEntity.setInCount(invProductEntity.getInCount() + orderDetailResultEntity.getCount()); } invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); invProductEntity.setUpdateTime(new Date()); diff --git a/src/main/resources/mybatis/mapper/inv/invProductDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDao.xml index 706861c0..6068966b 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDao.xml @@ -10,34 +10,33 @@ bp.cpmctymc, bp.measname, ip.relIdFk, - COALESCE(bp.ggxh,bp.bzgg) as ggxh, + COALESCE(bp.ggxh, bp.bzgg) as ggxh, ip.batchNo, ip.productionDate, ip.expireDate, - COALESCE(bp.ylqxzcrbarmc,bp.manufactory) as ylqxzcrbarmc, + COALESCE(bp.ylqxzcrbarmc, bp.manufactory) as ylqxzcrbarmc, bp.zczbhhzbapzbh, bp.packUnit, bp.prepnUnit, bp.prepnSpec, - sum(ip.inCount) as inCount, - sum(ip.outCount) as outCount, - sum(ip.reCount) as reCount, + inCount, + outCount, + reCount, ip.customerId, - basic_corp.name supName, + basic_corp.name supName, ip.supId, - auth_dept.name deptName, - auth_warehouse.name invName, + auth_dept.name deptName, + auth_warehouse.name invName, ip.deptCode, ip.invCode, - s.name spaceName, + s.name spaceName, ip.price from inv_product ip - inner join basic_udirel on ip.relIdFk = basic_udirel.id - inner join basic_products bp on basic_udirel.uuid = bp.uuid - left join basic_corp on ip.supId = basic_corp.erpId - left join auth_dept on auth_dept.code = ip.deptCode - left join auth_warehouse on auth_warehouse.code = ip.invCode - left join auth_space s on ip.invSpaceCode = s.code + INNER JOIN basic_products bp ON ip.relIdFk = (SELECT id FROM basic_udirel WHERE uuid = bp.uuid) + LEFT JOIN basic_corp ON ip.supId = basic_corp.erpId + LEFT JOIN auth_dept ON auth_dept.CODE = ip.deptCode + LEFT JOIN auth_warehouse ON auth_warehouse.CODE = ip.invCode + LEFT JOIN auth_space s ON ip.invSpaceCode = s.CODE bp.diType = 1 @@ -54,8 +53,8 @@ AND ( - bp.ggxh like concat('%', #{ggxh}, '%') - or bp.bzgg like concat('%', #{ggxh}, '%')) + bp.ggxh like concat('%', #{ggxh}, '%') + or bp.bzgg like concat('%', #{ggxh}, '%')) AND ip.batchNo like concat('%', #{batchNo}, '%') @@ -68,8 +67,8 @@ AND ( - bp.ylqxzcrbarmc like concat('%', #{ylqxzcrbarmc}, '%') - or bp.manufactory like concat('%', #{ylqxzcrbarmc}, '%')) + bp.ylqxzcrbarmc like concat('%', #{ylqxzcrbarmc}, '%') + or bp.manufactory like concat('%', #{ylqxzcrbarmc}, '%')) AND bp.zczbhhzbapzbh like concat('%', #{zczbhhzbapzbh}, '%') @@ -109,14 +108,14 @@ AND ( - bp.nameCode like concat('%', #{keyWords}, '%') - or bp.cpmctymc like concat('%', #{keyWords}, '%') - or bp.bzgg like concat('%', #{keyWords}, '%') - or bp.ggxh like concat('%', #{keyWords}, '%') - or ip.batchNo like concat('%', #{keyWords}, '%') - or bp.prepnSpec like concat('%', #{keyWords}, '%') - or bp.ylqxzcrbarmc like concat('%', #{keyWords}, '%') - or bp.manufactory LIKE concat('%', #{keyWords}, '%')) + bp.nameCode like concat('%', #{keyWords}, '%') + or bp.cpmctymc like concat('%', #{keyWords}, '%') + or bp.bzgg like concat('%', #{keyWords}, '%') + or bp.ggxh like concat('%', #{keyWords}, '%') + or ip.batchNo like concat('%', #{keyWords}, '%') + or bp.prepnSpec like concat('%', #{keyWords}, '%') + or bp.ylqxzcrbarmc like concat('%', #{keyWords}, '%') + or bp.manufactory LIKE concat('%', #{keyWords}, '%')) GROUP BY ip.relIdFk, ip.batchNo, ip.supId, ip.price @@ -141,10 +140,10 @@ sum(ip.outCount) outCount, sum(ip.reCount) reCount from inv_product ip - inner join basic_udirel bu on ip.relIdFk = bu.id - inner join basic_products bp on bu.uuid = bp.uuid - left join basic_corp bc on ip.supId = bc.erpId - left join auth_warehouse aw on aw.code = ip.invCode + inner join basic_udirel bu on ip.relIdFk = bu.id + inner join basic_products bp on bu.uuid = bp.uuid + left join basic_corp bc on ip.supId = bc.erpId + left join auth_warehouse aw on aw.code = ip.invCode bp.diType = 1 @@ -184,11 +183,11 @@ select ip.* from inv_product ip - left join inv_product_detail ipd on ip.relIdFk = ipd.relId - and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') - and ip.deptCode = ipd.deptCode - and ip.invCode = ipd.invCode + left join inv_product_detail ipd on ip.relIdFk = ipd.relId + and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') + and ip.deptCode = ipd.deptCode + and ip.invCode = ipd.invCode AND ip.relIdFk = #{relId} @@ -252,11 +251,11 @@ sum(inv_product.inCount - inv_product.outCount) reCount, basic_products.cpmctymc from inv_product_detail - left join inv_product on inv_product_detail.relId = inv_product.relIdFk - and inv_product.invCode = inv_product_detail.invCode - AND IFNULL(inv_product.batchNo, 'empty') = IFNULL(inv_product_detail.batchNo, 'empty') - left join basic_udirel on inv_product_detail.relId = basic_udirel.id - left join basic_products on basic_products.uuid = basic_udirel.uuid + left join inv_product on inv_product_detail.relId = inv_product.relIdFk + and inv_product.invCode = inv_product_detail.invCode + AND IFNULL(inv_product.batchNo, 'empty') = IFNULL(inv_product_detail.batchNo, 'empty') + left join basic_udirel on inv_product_detail.relId = basic_udirel.id + left join basic_products on basic_products.uuid = basic_udirel.uuid AND inv_product_detail.invCode = #{invCode} @@ -290,8 +289,8 @@ ip.outCount, ip.reCount from inv_product ip - left join inv_product_detail ipd - on ip.relIdFk = ipd.relId and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') + left join inv_product_detail ipd + on ip.relIdFk = ipd.relId and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') AND ip.invCode = #{invCode} @@ -309,10 +308,10 @@