单据撤回相关

master
anthonywj 2 years ago
parent 913dca5ebc
commit 6fb648ea84

@ -581,7 +581,7 @@ public class IoCodeTempController extends BaseController {
orderEntity.setAction(bussinessTypeEntity.getAction()); orderEntity.setAction(bussinessTypeEntity.getAction());
orderEntity.setFromCorp(addOrderRequest.getFromCorp()); orderEntity.setFromCorp(addOrderRequest.getFromCorp());
if (StrUtil.isNotEmpty(addOrderRequest.getFromInvCode())) { if (StrUtil.isNotEmpty(addOrderRequest.getFromInvCode())) {
InvWarehouseEntity invWarehouseEntity1 = invWarehouseService.findByInvSubByCode(addOrderRequest.getInvCode()); InvWarehouseEntity invWarehouseEntity1 = invWarehouseService.findByInvSubByCode(addOrderRequest.getFromInvCode());
orderEntity.setFromDeptCode(invWarehouseEntity1.getParentId()); orderEntity.setFromDeptCode(invWarehouseEntity1.getParentId());
} }
orderEntity.setFromInvCode(addOrderRequest.getFromInvCode()); orderEntity.setFromInvCode(addOrderRequest.getFromInvCode());

@ -261,11 +261,43 @@ public class IoOrderController extends BaseController {
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("udiwms/inout/code/finish/delete") @PostMapping("udiwms/inout/code/finish/delete")
public BaseResponse deleteCodeById(@RequestBody IoCodeEntity codeEntity) { public BaseResponse deleteCodeById(@RequestBody IoCodeEntity codeEntity) {
orderService.deleteInvCode(codeEntity.getOrderId(), codeEntity.getCode()); orderService.deleteInvCode(codeEntity.getOrderId(), codeEntity.getCode());
return ResultVOUtils.success("删除成功!"); return ResultVOUtils.success("删除成功!");
} }
//已验收单据撤回
@AuthRuleAnnotation("")
@GetMapping("/udiwms/stock/order/received/rollback")
public BaseResponse rollbackOrder(String billNo, Integer contrastStatus) {
if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
IoOrderEntity orderEntity = orderService.findByBillNo(billNo);
if (StrUtil.isNotEmpty(orderEntity.getSupplementNo()) || StrUtil.isNotEmpty(orderEntity.getUllageSupNo())) {
return ResultVOUtils.error(500, "单据已补单,无法撤回!");
}
boolean result = orderService.rollbackOrder(billNo);
if (result) {
return ResultVOUtils.success();
}
return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败");
}
//已校验单据撤回到等待处理
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/order/unReceive/rollback")
public BaseResponse rollUnReceivebackOrder(String billNo, Integer contrastStatus) {
if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
boolean result = orderService.rollbackUnReOrder(billNo);
if (result) {
return ResultVOUtils.success("撤回成功!");
}
return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败");
}
//手持终端获取未处理业务单据进行校验 //手持终端获取未处理业务单据进行校验
@AuthRuleAnnotation("") @AuthRuleAnnotation("")

@ -37,6 +37,9 @@ public interface IoOrderService {
int deleteInvCode(String billNo, String code); int deleteInvCode(String billNo, String code);
boolean rollbackOrder(String billNo);
boolean rollbackUnReOrder(String billNo);
/** /**
* *
@ -91,4 +94,6 @@ public interface IoOrderService {
* @param orderEditRequest * @param orderEditRequest
*/ */
void updateOrderInfo(OrderEditRequest orderEditRequest); void updateOrderInfo(OrderEditRequest orderEditRequest);
} }

@ -31,6 +31,7 @@ import com.glxp.api.service.inv.*;
import com.glxp.api.util.DateUtil; import com.glxp.api.util.DateUtil;
import com.glxp.api.util.udi.UdiCalCountUtil; import com.glxp.api.util.udi.UdiCalCountUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -73,6 +74,10 @@ public class IoOrderServiceImpl implements IoOrderService {
IoCodeService codeService; IoCodeService codeService;
@Resource @Resource
IoCodeTempService codeTempService; IoCodeTempService codeTempService;
@Resource
IoOrderDetailCodeService ioOrderDetailCodeService;
@Resource
IoOrderDetailResultService ioOrderDetailResultService;
@Override @Override
public List<IoOrderEntity> selectAll() { public List<IoOrderEntity> selectAll() {
@ -210,12 +215,6 @@ public class IoOrderServiceImpl implements IoOrderService {
return 0; return 0;
} }
@Resource
IoOrderDetailCodeService ioOrderDetailCodeService;
@Resource
IoOrderDetailResultService ioOrderDetailResultService;
//单据编辑条码减一 //单据编辑条码减一
@Override @Override
public int deleteInvCode(String billNo, String code) { public int deleteInvCode(String billNo, String code) {
@ -337,6 +336,73 @@ public class IoOrderServiceImpl implements IoOrderService {
return 0; return 0;
} }
@Resource
InvPreinOrderService invPreinOrderService;
@Resource
InvPreinDetailService invPreinDetailService;
//已验收单据撤回
@Override
public boolean rollbackOrder(String billNo) {
IoOrderEntity orderEntity = findByBillNo(billNo);
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//预验收撤回---直接删除预验收库存
if (bussinessTypeEntity.isPreIn()) {
invPreinOrderService.deleteByOrderId(billNo);
invPreinDetailService.deleteByOrderId(billNo);
return true;
}
List<InvProductDetailEntity> invProductDetailEntities = invProductDetailService.selectByOrderIdFk(billNo);
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(),
invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
invProductEntity.setInCount(count);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
invProductEntity.setOutCount(count);
}
invProductService.update(invProductEntity);
}
invProductDetailService.deleteByOrderId(billNo);
}
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS);
orderEntity.setUpdateTime(new Date());
update(orderEntity);
return false;
}
@Override
public boolean rollbackUnReOrder(String billNo) {
IoOrderEntity orderEntity = findByBillNo(billNo);
List<IoCodeEntity> codeEntityList = codeService.findByOrderId(billNo);
List<IoCodeTempEntity> codeTempEntities = new ArrayList<>();
for (IoCodeEntity codeEntity : codeEntityList) {
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
BeanUtils.copyProperties(codeEntity, codeTempEntity);
codeTempEntity.setId(null);
codeTempEntities.add(codeTempEntity);
}
codeTempService.insertBatch(codeTempEntities);
codeService.deleteCodeByOrderId(billNo);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setUpdateTime(new Date());
update(orderEntity);
return true;
}
@Override @Override
public List<IoOrderResponse> filterList(FilterOrderRequest filterOrderRequest) { public List<IoOrderResponse> filterList(FilterOrderRequest filterOrderRequest) {
if (null == filterOrderRequest) { if (null == filterOrderRequest) {
@ -476,6 +542,7 @@ public class IoOrderServiceImpl implements IoOrderService {
orderDao.update(order, new QueryWrapper<IoOrderEntity>().in("billNo", orderEditRequest.getOrderIds())); orderDao.update(order, new QueryWrapper<IoOrderEntity>().in("billNo", orderEditRequest.getOrderIds()));
} }
/** /**
* *
* *

Loading…
Cancel
Save