单据删除

lh_dev_fifo
anthonywj 11 months ago
parent 3f0bffd21a
commit 6cde6e6fee

@ -763,16 +763,25 @@ public class IoOrderController extends BaseController {
}
//单据编辑,条码减一
@AuthRuleAnnotation("")
@PostMapping("udiwms/inout/code/finish/delete")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse deleteCodeById(@RequestBody IoCodeEntity codeEntity) {
orderService.deleteInvCode(codeEntity);
orderService.deleteInvCode(codeEntity, false);
return ResultVOUtils.success("删除成功!");
}
//单据编辑,条码减一
@AuthRuleAnnotation("")
@PostMapping("udiwms/inout/code/finish/deleteAll")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse deleteCodeAllById(@RequestBody IoCodeEntity codeEntity) {
orderService.deleteInvCode(codeEntity, true);
return ResultVOUtils.success("删除成功!");
}
//已验收单据撤回
@RepeatSubmit()
@AuthRuleAnnotation("")

@ -48,7 +48,7 @@ public interface IoOrderService {
int deleteInvByBillNo(List<String> billNo);
int deleteInvCode(IoCodeEntity codeEntity);
int deleteInvCode(IoCodeEntity codeEntity, Boolean deleteAll);
boolean rollUnCheckOrder(String billNo);

@ -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());

@ -4,7 +4,7 @@ server:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_pt2?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: 123456
hikari:

Loading…
Cancel
Save