|
|
|
@ -868,15 +868,22 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
if (codeTempEntity1 != null) {
|
|
|
|
|
return ResultVOUtils.error(533, "扫码重复或当前追溯码已存在草稿单据中!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
//校验工位库存
|
|
|
|
|
// List<IoCodeTempEntity> codeTempEntities = codeTempService.findByOrderId(addOrderRequest.getBillNo());
|
|
|
|
|
// for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
|
|
|
|
|
// //校验工位库存
|
|
|
|
|
// if (fifoCodeEntity.getTotalCount() < codeTempEntity.getReCount()){
|
|
|
|
|
// return ResultVOUtils.error(500, "当前码库存不足!");
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
List<IoCodeTempEntity> codeTempEntities = codeTempService.findByOrderId(addOrderRequest.getBillNo());
|
|
|
|
|
for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
|
|
|
|
|
//校验工位库存
|
|
|
|
|
if (bussinessTypeEntity.isUse()) {
|
|
|
|
|
codeTempEntity.setReCount(IntUtil.value(codeTempEntity.getMyReCount()) + udiCalCountUtil.getUseActCount(udiRelevanceResponse));
|
|
|
|
|
} else {
|
|
|
|
|
codeTempEntity.setReCount(IntUtil.value(codeTempEntity.getMyReCount()) + udiCalCountUtil.getCirActCount(udiRelevanceResponse));
|
|
|
|
|
}
|
|
|
|
|
if (fifoCodeEntity.getTotalCount() < codeTempEntity.getReCount()) {
|
|
|
|
|
return ResultVOUtils.error(500, "当前码库存不足!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//校验预验收是否已存在
|
|
|
|
|
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
|
|
|
|
@ -2070,7 +2077,6 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
@GetMapping("warehouse/inout/deleteCodesTempById")
|
|
|
|
|
@Log(title = "单据管理", businessType = BusinessType.DELETE)
|
|
|
|
|
public BaseResponse deleteCodesTempById(@RequestParam("id") Integer id) {
|
|
|
|
|
|
|
|
|
|
IoCodeTempEntity codeTempEntity = codeTempService.selectById(id);
|
|
|
|
|
if (codeTempEntity == null) {
|
|
|
|
|
return ResultVOUtils.error(506, "UDI码异常,未录入!");
|
|
|
|
@ -2828,5 +2834,75 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
return ResultVOUtils.success(addCodeResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@PostMapping("warehouse/inout/deleteCodesTempBycodes")
|
|
|
|
|
@Log(title = "单据管理", businessType = BusinessType.DELETE)
|
|
|
|
|
public BaseResponse deleteCodesTempByCodes(@RequestBody AddEnterCodeRequest addEnterCodeRequest) {
|
|
|
|
|
List<String> codeList = addEnterCodeRequest.getCodeList();
|
|
|
|
|
String orderId = addEnterCodeRequest.getOrderId();
|
|
|
|
|
IoOrderEntity order = orderService.findByBillNo(orderId);
|
|
|
|
|
if (order == null)
|
|
|
|
|
return ResultVOUtils.error(500, "单据不存在");
|
|
|
|
|
if (CollUtil.isEmpty(codeList))
|
|
|
|
|
return ResultVOUtils.error(500, "追溯码不能为空");
|
|
|
|
|
//器械的码 可能会是一样的
|
|
|
|
|
List<IoCodeTempEntity> ioCodeTempEntities = codeTempService.selectByCodes(codeList,orderId);
|
|
|
|
|
if (CollUtil.isEmpty(ioCodeTempEntities))
|
|
|
|
|
return ResultVOUtils.error(500, "当前追溯码不存在");
|
|
|
|
|
for (IoCodeTempEntity codeTempEntity : ioCodeTempEntities) {
|
|
|
|
|
IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId());
|
|
|
|
|
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
|
|
|
|
|
UdiRelevanceResponse udiRelevanceResponses = udiRelevanceService.selectByNameCode(codeTempEntity.getNameCode());
|
|
|
|
|
|
|
|
|
|
if (codeTempEntity.getMyCount() > 1) {
|
|
|
|
|
codeTempEntity.setCount(codeTempEntity.getMyCount() - 1);
|
|
|
|
|
if (bussinessTypeEntity.isUse()) {
|
|
|
|
|
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
|
|
|
|
|
} else {
|
|
|
|
|
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
|
|
|
|
|
}
|
|
|
|
|
codeTempService.updateById(codeTempEntity);
|
|
|
|
|
} else {
|
|
|
|
|
codeTempService.deleteById(codeTempEntity.getId());
|
|
|
|
|
}
|
|
|
|
|
//更新扫码详情
|
|
|
|
|
IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getPrice());
|
|
|
|
|
if (orderDetailCodeEntity != null) {
|
|
|
|
|
//扫码数量-1
|
|
|
|
|
int orderCount = IntUtil.value(orderDetailCodeEntity.getCount());
|
|
|
|
|
int orderReCount = IntUtil.value(orderDetailCodeEntity.getReCount());
|
|
|
|
|
if (orderCount > 1) {
|
|
|
|
|
orderDetailCodeEntity.setCount(orderCount - 1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (bussinessTypeEntity.isUse()) {
|
|
|
|
|
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
|
|
|
|
|
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses);
|
|
|
|
|
} else {
|
|
|
|
|
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
|
|
|
|
|
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ioOrderDetailCodeService.update(orderDetailCodeEntity);
|
|
|
|
|
} else {
|
|
|
|
|
ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo());
|
|
|
|
|
boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo());
|
|
|
|
|
if (!r1 && !r2) {
|
|
|
|
|
if (StrUtil.isNotEmpty(orderDetailCodeEntity.getOrderIdFk()))
|
|
|
|
|
orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
orderEntity.setUpdateUser(getUserId() + "");
|
|
|
|
|
orderEntity.setUpdateTime(new Date());
|
|
|
|
|
orderService.update(orderEntity);
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success("删除成功!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|