|
|
|
@ -314,7 +314,7 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
|
|
|
|
|
//单据编辑条码减一
|
|
|
|
|
@Override
|
|
|
|
|
public int deleteInvCode(IoCodeEntity codeEntity) {
|
|
|
|
|
public int deleteInvCode(IoCodeEntity codeEntity, Boolean deleteAll) {
|
|
|
|
|
|
|
|
|
|
//查询条码
|
|
|
|
|
IoOrderEntity orderEntity = findByBillNo(codeEntity.getOrderId());
|
|
|
|
@ -322,31 +322,44 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
|| orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) {
|
|
|
|
|
//更新正式表
|
|
|
|
|
IoCodeEntity ioCodeEntity = codeService.getById(codeEntity.getId());
|
|
|
|
|
int remainCount = 0;
|
|
|
|
|
int remainScanCount = 0;
|
|
|
|
|
if (ioCodeEntity.getMyCount() > 1) {
|
|
|
|
|
//更新码表
|
|
|
|
|
ioCodeEntity.setCount(ioCodeEntity.getMyCount() - 1);
|
|
|
|
|
int reCount = udiCalCountUtil.getActCount(ioCodeEntity.getNameCode());
|
|
|
|
|
ioCodeEntity.setReCount(ioCodeEntity.getMyReCount() - reCount);
|
|
|
|
|
codeService.updateById(ioCodeEntity); //更新码详情
|
|
|
|
|
int reCount = 0;
|
|
|
|
|
if (deleteAll) {
|
|
|
|
|
reCount = udiCalCountUtil.getActCount(ioCodeEntity.getNameCode()) * ioCodeEntity.getMyCount();
|
|
|
|
|
remainCount = ioCodeEntity.getMyCount();
|
|
|
|
|
remainScanCount = reCount;
|
|
|
|
|
codeService.deleteById(ioCodeEntity.getId());
|
|
|
|
|
} else {
|
|
|
|
|
ioCodeEntity.setCount(ioCodeEntity.getMyCount() - 1);
|
|
|
|
|
reCount = udiCalCountUtil.getActCount(ioCodeEntity.getNameCode());
|
|
|
|
|
remainCount = 1;
|
|
|
|
|
remainScanCount = reCount;
|
|
|
|
|
ioCodeEntity.setReCount(ioCodeEntity.getMyReCount() - reCount);
|
|
|
|
|
codeService.updateById(ioCodeEntity); //更新码详情
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//更新业务详情
|
|
|
|
|
IoOrderDetailBizEntity orderDetailBizEntity = orderDetailBizService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo(), null, null);
|
|
|
|
|
if (orderDetailBizEntity != null) {
|
|
|
|
|
orderDetailBizEntity.setCount(IntUtil.value(orderDetailBizEntity.getCount()) - reCount);
|
|
|
|
|
orderDetailBizEntity.setCount(IntUtil.value(orderDetailBizEntity.getCount()) - remainScanCount);
|
|
|
|
|
orderDetailBizService.update(orderDetailBizEntity);
|
|
|
|
|
}
|
|
|
|
|
//更新扫码单据详情
|
|
|
|
|
IoOrderDetailCodeEntity ioOrderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo(), ioCodeEntity.getPrice());
|
|
|
|
|
if (ioOrderDetailCodeEntity != null) {
|
|
|
|
|
ioOrderDetailCodeEntity.setReCount(IntUtil.value(ioOrderDetailCodeEntity.getReCount()) - reCount);
|
|
|
|
|
ioOrderDetailCodeEntity.setCount(IntUtil.value(ioOrderDetailCodeEntity.getCount()) - reCount);
|
|
|
|
|
ioOrderDetailCodeEntity.setReCount(IntUtil.value(ioOrderDetailCodeEntity.getReCount()) - remainScanCount);
|
|
|
|
|
ioOrderDetailCodeEntity.setCount(IntUtil.value(ioOrderDetailCodeEntity.getCount()) - remainScanCount);
|
|
|
|
|
ioOrderDetailCodeService.update(ioOrderDetailCodeEntity);
|
|
|
|
|
}
|
|
|
|
|
//更新结果详情
|
|
|
|
|
IoOrderDetailResultEntity ioOrderDetailResultEntity = ioOrderDetailResultService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo());
|
|
|
|
|
if (ioOrderDetailResultEntity != null) {
|
|
|
|
|
ioOrderDetailResultEntity.setReCount(ioOrderDetailResultEntity.getReCount() - reCount);
|
|
|
|
|
ioOrderDetailResultEntity.setCount(ioOrderDetailResultEntity.getCount() - reCount);
|
|
|
|
|
ioOrderDetailResultEntity.setReCount(ioOrderDetailResultEntity.getReCount() - remainScanCount);
|
|
|
|
|
ioOrderDetailResultEntity.setCount(ioOrderDetailResultEntity.getCount() - remainScanCount);
|
|
|
|
|
ioOrderDetailResultService.update(ioOrderDetailResultEntity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -357,14 +370,14 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
//更新扫码单据详情
|
|
|
|
|
IoOrderDetailCodeEntity ioOrderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo(), ioCodeEntity.getPrice());
|
|
|
|
|
if (ioOrderDetailCodeEntity != null) {
|
|
|
|
|
ioOrderDetailCodeEntity.setReCount(ioOrderDetailCodeEntity.getReCount() - reCount);
|
|
|
|
|
ioOrderDetailCodeEntity.setReCount(ioOrderDetailCodeEntity.getReCount() - remainScanCount);
|
|
|
|
|
ioOrderDetailCodeService.update(ioOrderDetailCodeEntity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//更新结果详情
|
|
|
|
|
IoOrderDetailResultEntity ioOrderDetailResultEntity = ioOrderDetailResultService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo());
|
|
|
|
|
ioOrderDetailResultEntity.setReCount(ioOrderDetailResultEntity.getReCount() - reCount);
|
|
|
|
|
ioOrderDetailResultEntity.setReCount(ioOrderDetailResultEntity.getReCount() - remainScanCount);
|
|
|
|
|
ioOrderDetailResultService.update(ioOrderDetailResultEntity);
|
|
|
|
|
}
|
|
|
|
|
//已审核单据需扣减库存
|
|
|
|
@ -376,14 +389,13 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
|
|
|
|
|
InvPreInProductDetailEntity invProductDetailEntity = invPreinProductDetailService.selectByCode(codeEntity.getOrderId(), codeEntity.getCode(), codeEntity.getPrice());
|
|
|
|
|
if (invProductDetailEntity != null) {
|
|
|
|
|
int count = invProductDetailEntity.getCount() - 1;
|
|
|
|
|
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
|
|
|
|
|
int count = invProductDetailEntity.getCount() - remainCount;
|
|
|
|
|
if (count == 0) {
|
|
|
|
|
invPreinProductDetailService.deleteById(invProductDetailEntity.getId() + "");
|
|
|
|
|
} else {
|
|
|
|
|
//更新详情表
|
|
|
|
|
invProductDetailEntity.setCount(count);
|
|
|
|
|
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
|
|
|
|
|
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - remainScanCount);
|
|
|
|
|
invPreinProductDetailService.update(invProductDetailEntity);
|
|
|
|
|
}
|
|
|
|
|
//更新产品表
|
|
|
|
@ -391,10 +403,10 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode(), invProductDetailEntity.getPrice());
|
|
|
|
|
if (invProductEntity != null) {
|
|
|
|
|
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
|
|
|
|
|
int inCount = invProductEntity.getInCount() - reCount;
|
|
|
|
|
int inCount = invProductEntity.getInCount() - remainScanCount;
|
|
|
|
|
invProductEntity.setInCount(inCount);
|
|
|
|
|
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
|
|
|
|
|
int outCount = invProductEntity.getOutCount() - reCount;
|
|
|
|
|
int outCount = invProductEntity.getOutCount() - remainScanCount;
|
|
|
|
|
invProductEntity.setOutCount(outCount);
|
|
|
|
|
}
|
|
|
|
|
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
|
|
|
|
@ -406,14 +418,13 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
} else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { //寄售库存
|
|
|
|
|
InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(codeEntity.getOrderId(), codeEntity.getCode(), codeEntity.getPrice());
|
|
|
|
|
if (invProductDetailEntity != null) {
|
|
|
|
|
int count = invProductDetailEntity.getCount() - 1;
|
|
|
|
|
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
|
|
|
|
|
int count = invProductDetailEntity.getCount() - remainCount;
|
|
|
|
|
if (count == 0) {
|
|
|
|
|
invPreProductService.deleteById(invProductDetailEntity.getId());
|
|
|
|
|
} else {
|
|
|
|
|
//更新详情表
|
|
|
|
|
invProductDetailEntity.setCount(count);
|
|
|
|
|
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
|
|
|
|
|
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - remainScanCount);
|
|
|
|
|
invPreProductDetailService.update(invProductDetailEntity);
|
|
|
|
|
}
|
|
|
|
|
//更新产品表
|
|
|
|
@ -421,10 +432,10 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode(), invProductDetailEntity.getPrice());
|
|
|
|
|
if (invProductEntity != null) {
|
|
|
|
|
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
|
|
|
|
|
int inCount = invProductEntity.getInCount() - reCount;
|
|
|
|
|
int inCount = invProductEntity.getInCount() - remainScanCount;
|
|
|
|
|
invProductEntity.setInCount(inCount);
|
|
|
|
|
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
|
|
|
|
|
int outCount = invProductEntity.getOutCount() - reCount;
|
|
|
|
|
int outCount = invProductEntity.getOutCount() - remainScanCount;
|
|
|
|
|
invProductEntity.setOutCount(outCount);
|
|
|
|
|
}
|
|
|
|
|
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
|
|
|
|
@ -436,15 +447,13 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
InvProductDetailEntity invProductDetailEntity = invProductDetailService.selectByCode(codeEntity.getOrderId(), codeEntity.getCode(), codeEntity.getPrice());
|
|
|
|
|
|
|
|
|
|
if (invProductDetailEntity != null) {
|
|
|
|
|
int count = invProductDetailEntity.getCount() - 1;
|
|
|
|
|
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
|
|
|
|
|
int count = invProductDetailEntity.getCount() - remainCount;
|
|
|
|
|
if (count == 0) {
|
|
|
|
|
|
|
|
|
|
invProductDetailService.deleteById(invProductDetailEntity.getId());
|
|
|
|
|
} else {
|
|
|
|
|
//更新详情表
|
|
|
|
|
invProductDetailEntity.setCount(count);
|
|
|
|
|
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
|
|
|
|
|
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - remainScanCount);
|
|
|
|
|
invProductDetailService.update(invProductDetailEntity);
|
|
|
|
|
}
|
|
|
|
|
//更新产品表
|
|
|
|
@ -452,10 +461,10 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode(), invProductDetailEntity.getPrice());
|
|
|
|
|
if (invProductEntity != null) {
|
|
|
|
|
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
|
|
|
|
|
int inCount = invProductEntity.getInCount() - reCount;
|
|
|
|
|
int inCount = invProductEntity.getInCount() - remainScanCount;
|
|
|
|
|
invProductEntity.setInCount(inCount);
|
|
|
|
|
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
|
|
|
|
|
int outCount = invProductEntity.getOutCount() - reCount;
|
|
|
|
|
int outCount = invProductEntity.getOutCount() - remainScanCount;
|
|
|
|
|
invProductEntity.setOutCount(outCount);
|
|
|
|
|
}
|
|
|
|
|
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
|
|
|
|
@ -470,7 +479,7 @@ public class IoOrderServiceImpl implements IoOrderService {
|
|
|
|
|
} else {
|
|
|
|
|
//更新临时表
|
|
|
|
|
IoCodeTempEntity ioCodeEntity = codeTempService.selectById(codeEntity.getId());
|
|
|
|
|
if (ioCodeEntity.getCount() > 1) {
|
|
|
|
|
if (ioCodeEntity.getCount() > 1 && ! deleteAll) {
|
|
|
|
|
//删除一个条码
|
|
|
|
|
ioCodeEntity.setCount(ioCodeEntity.getCount() - 1);
|
|
|
|
|
int reCount = udiCalCountUtil.getActCount(ioCodeEntity.getNameCode());
|
|
|
|
|