Merge remote-tracking branch 'origin/dev_fifo_z' into dev_fifo_z

dev_unify
wangwei 7 months ago
commit 74501c23ce

@ -401,6 +401,7 @@ public class IoOrderController extends BaseController {
BaseResponse tempResponse = checkSubmitEnable(orderEntity); BaseResponse tempResponse = checkSubmitEnable(orderEntity);
if (tempResponse != null) if (tempResponse != null)
return tempResponse; return tempResponse;
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//校验单据是否已完成 //校验单据是否已完成
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo()); List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo());
@ -412,7 +413,6 @@ public class IoOrderController extends BaseController {
} }
//单据提交后再次校验库存是否足够 //单据提交后再次校验库存是否足够
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
BaseResponse baseResponse = ioAddInoutService.checkInv(bussinessTypeEntity, orderDetailBizEntities, orderEntity, codeTempEntities); BaseResponse baseResponse = ioAddInoutService.checkInv(bussinessTypeEntity, orderDetailBizEntities, orderEntity, codeTempEntities);
if (baseResponse != null) if (baseResponse != null)
return baseResponse; return baseResponse;
@ -464,11 +464,18 @@ public class IoOrderController extends BaseController {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderService.update(orderEntity); orderService.update(orderEntity);
checkInoutService.check(addOrderRequest.getBillNo()); checkInoutService.check(addOrderRequest.getBillNo());
} else {
if (IntUtil.value(bussinessTypeEntity.getCheckWebNewType()) == 3) {
String errMsg = checkInoutService.bizOrderCheckPass(orderDetailBizEntities, orderDetailCodeEntities);
if (StrUtil.isNotEmpty(errMsg)) {
return ResultVOUtils.error(500, errMsg);
}
} else { } else {
String errMsg = checkInoutService.bizNoPiCheck(orderDetailBizEntities, orderEntity); String errMsg = checkInoutService.bizNoPiCheck(orderDetailBizEntities, orderEntity);
if (StrUtil.isNotEmpty(errMsg)) { if (StrUtil.isNotEmpty(errMsg)) {
return ResultVOUtils.error(500, errMsg); return ResultVOUtils.error(500, errMsg);
} }
}
orderDetailBizService.deleteByOrderId(addOrderRequest.getBillNo()); orderDetailBizService.deleteByOrderId(addOrderRequest.getBillNo());
for (IoOrderDetailCodeEntity orderDetailCodeEntity : orderDetailCodeEntities) { for (IoOrderDetailCodeEntity orderDetailCodeEntity : orderDetailCodeEntities) {
IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity();

@ -449,7 +449,7 @@ public class BasicBussinessTypeEntity {
private int spaceOut; private int spaceOut;
/** /**
* 0:1 * 0:1;3,
*/ */
@TableField(value = "checkWebNewType") @TableField(value = "checkWebNewType")
private int checkWebNewType; private int checkWebNewType;

@ -177,7 +177,7 @@ public class BasicBussinessTypeResponse {
private boolean thrCheckReview; private boolean thrCheckReview;
/** /**
* 0:1 * 0:1;3,
*/ */
private int checkWebNewType; private int checkWebNewType;

@ -628,7 +628,11 @@ public class IoCheckInoutService {
return; return;
} }
String errMsg = ""; String errMsg = "";
BasicBussinessTypeEntity businessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
if (IntUtil.value(businessTypeEntity.getCheckWebNew()) != 3 || IntUtil.value(businessTypeEntity.getCheckWebNewType()) != 3) {
//正向校验 //正向校验
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
String msg = ""; String msg = "";
@ -672,7 +676,6 @@ public class IoCheckInoutService {
&& checkProductDate(bizEntity, codeEntity) == null && checkProductDate(bizEntity, codeEntity) == null
&& checkExpireDate(bizEntity, codeEntity) == null && checkExpireDate(bizEntity, codeEntity) == null
) { ) {
if (checkCount(bizEntity, codeEntity) == null) { if (checkCount(bizEntity, codeEntity) == null) {
bizEntity.setCheckSuccess(true); bizEntity.setCheckSuccess(true);
codeEntity.setCheckSuccess(true); codeEntity.setCheckSuccess(true);
@ -681,12 +684,13 @@ public class IoCheckInoutService {
} }
} }
} }
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
if (!codeEntity.isCheckSuccess()) { if (!codeEntity.isCheckSuccess()) {
errMsg = errMsg + codeEntity.getCoName() + ";"; errMsg = errMsg + codeEntity.getCoName() + ";";
} }
} }
}
if (StrUtil.isNotEmpty(errMsg)) { if (StrUtil.isNotEmpty(errMsg)) {
orderEntity.setErrMsg(errMsg + "校验失败"); orderEntity.setErrMsg(errMsg + "校验失败");
@ -735,6 +739,49 @@ public class IoCheckInoutService {
} }
} }
public String bizOrderCheckPass(List<IoOrderDetailBizEntity> orderDetailBizEntities, List<IoOrderDetailCodeEntity> orderDetailCodeEntities) {
String errMsg = "";
//初始化默认值
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
codeEntity.setCheckSuccess(false);
}
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
bizEntity.setCheckSuccess(false);
}
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 (checkBizCount(bizEntity, codeEntity) == null) {
bizEntity.setCheckSuccess(true);
codeEntity.setCheckSuccess(true);
bizEntity.setScanCount(codeEntity.getReCount());
} else {
msg = "扫码数量超出";
bizEntity.setCheckSuccess(false);
}
break;
}
}
if (StrUtil.isEmpty(msg) && !bizEntity.isCheckSuccess()) {
msg = "三期不匹配";
}
bizEntity.setErrMsg(msg);
}
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
if (!bizEntity.isCheckSuccess()) {
errMsg = errMsg + bizEntity.getCoName() + bizEntity.getErrMsg() + ";";
}
}
return errMsg;
}
//业务单正向校验 //业务单正向校验
public String bizNoPiCheck(List<IoOrderDetailBizEntity> orderDetailBizEntities, IoOrderEntity orderEntity) { public String bizNoPiCheck(List<IoOrderDetailBizEntity> orderDetailBizEntities, IoOrderEntity orderEntity) {
@ -1409,4 +1456,12 @@ public class IoCheckInoutService {
} }
} }
public String checkBizCount(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) {
if (bizEntity.getCount() > codeEntity.getReCount()) {
return null;
}
return bizEntity.getCoName() + "数量不匹配!";
}
} }

@ -58,7 +58,7 @@ public class IoGenInvService {
public void genNorInv(String orderId) { public void genNorInv(String orderId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId); IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
List<IoOrderDetailResultEntity> orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId); List<IoOrderDetailResultEntity> orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId);
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderId);
//补齐单据信息 //补齐单据信息
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
@ -91,9 +91,9 @@ public class IoGenInvService {
} }
if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { 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)) { } 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.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
invProductEntity.setUpdateTime(new Date()); invProductEntity.setUpdateTime(new Date());
@ -110,6 +110,7 @@ public class IoGenInvService {
&& bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT) //入库 && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT) //入库
&& bussinessTypeEntity.getDevInType().equals(1) && bussinessTypeEntity.getDevInType().equals(1)
) { ) {
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderId);
deviceChangeOrderService.generateDeviceInfo(orderEntity, codeEnttities); deviceChangeOrderService.generateDeviceInfo(orderEntity, codeEnttities);
} }

@ -172,8 +172,16 @@ public class FilterUdiUtils {
public static UdiEntity getDrugInfo(String data) { public static UdiEntity getDrugInfo(String data) {
UdiEntity udiEntity = new UdiEntity(); UdiEntity udiEntity = new UdiEntity();
String prefix = data.substring(0, 7); String prefix;
String serialNo = data.substring(7, 16); String serialNo;
if (data.startsWith("89")) {
prefix = data.substring(0, 8);
serialNo = data.substring(8, 16);
} else {
prefix = data.substring(0, 7);
serialNo = data.substring(7, 16);
}
udiEntity.setBatchNo(null); udiEntity.setBatchNo(null);
udiEntity.setExpireDate(null); udiEntity.setExpireDate(null);
udiEntity.setProduceDate(null); udiEntity.setProduceDate(null);

@ -9,13 +9,13 @@
ip.nameCode, ip.nameCode,
bp.cpmctymc, bp.cpmctymc,
bp.measname, bp.measname,
bp.bzgg, COALESCE(bp.ggxh, bp.bzgg) as ggxh,
ip.relIdFk, ip.relIdFk,
bp.ggxh, bp.ggxh,
ip.batchNo, ip.batchNo,
ip.productionDate, ip.productionDate,
ip.expireDate, ip.expireDate,
bp.ylqxzcrbarmc, COALESCE(bp.ylqxzcrbarmc, bp.manufactory) as ylqxzcrbarmc,
bp.zczbhhzbapzbh, bp.zczbhhzbapzbh,
ip.inCount, ip.inCount,
ip.outCount, ip.outCount,
@ -54,12 +54,11 @@
bp.packUnit, bp.packUnit,
ip.price ip.price
from inv_product ip from inv_product ip
inner join basic_udirel on ip.relIdFk = basic_udirel.id INNER JOIN basic_products bp ON ip.relIdFk = (SELECT id FROM basic_udirel WHERE uuid = bp.uuid)
inner join basic_products bp on basic_udirel.uuid = bp.uuid LEFT JOIN basic_corp ON ip.supId = basic_corp.erpId
left join basic_corp on ip.supId = basic_corp.erpId LEFT JOIN auth_dept ON auth_dept.CODE = ip.deptCode
left join auth_dept on auth_dept.code = ip.deptCode LEFT JOIN auth_warehouse ON auth_warehouse.CODE = ip.invCode
left join auth_warehouse on auth_warehouse.code = ip.invCode LEFT JOIN auth_space s ON ip.invSpaceCode = s.CODE
left join auth_space `as` on ip.invSpaceCode = `as`.code
<where> <where>
<if test="productsType != null"> <if test="productsType != null">
AND bp.productsType = #{productsType} AND bp.productsType = #{productsType}

Loading…
Cancel
Save