平板工位上货问题

panjc_field_management
yewj 8 months ago
parent 96f8d0f76d
commit 370a1c77a3

@ -2,9 +2,11 @@ package com.glxp.api.controller.inout;
import cn.hutool.core.thread.ThreadUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.glxp.api.annotation.CusRedissonAnnotation;
import com.glxp.api.constant.*;
import com.glxp.api.dao.inout.IoOrderDetailCodeDao;
import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.collect.IoCollectCode;
import com.glxp.api.entity.collect.IoCollectOrder;
@ -533,9 +535,14 @@ public class IoCodeTempController extends BaseController {
if (ioOrderEntity != null) {
addOrderRequest.setBillNo(ioOrderEntity.getBillNo());
}
if (IntUtil.value(udiEntity.getProductType()) == 2) {
try {
baseResponse = addDrugOrder(addOrderRequest, udiEntity, code);
} catch (JsonException e) {
if (e.getCode() == 507) {
baseResponse = ResultVOUtils.error(e.getCode(), e.getMessage());
}
}
} else {
baseResponse = addMaterOrder(addOrderRequest, udiEntity, code);
}
@ -631,6 +638,8 @@ public class IoCodeTempController extends BaseController {
IoSplitFifoCodeService fifoCodeService;
@Resource
IoSplitCodeService splitCodeService;
@Resource
private IoOrderDetailCodeDao orderDetailCodeDao;
@Transactional(rollbackFor = Exception.class)
public BaseResponse addMaterOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) {
@ -1263,7 +1272,13 @@ public class IoCodeTempController extends BaseController {
}
}
addCodeResult.setOrderId(orderId);
try {
transInoutService.genOrderDetailCode(orderEntity, genDetaiEntity);
} catch (JsonException e) {
if (e.getCode() == 507) {
return ResultVOUtils.error(e.getCode(), e.getMessage());
}
}
return ResultVOUtils.success(addCodeResult);
}
@ -1423,6 +1438,8 @@ public class IoCodeTempController extends BaseController {
IoCodeTempEntity exitLocalEntity = null;
IoCodeTempEntity genDetaiEntity = new IoCodeTempEntity();
List<UdiRelevanceResponse> udiRelevanceResponses = null;
if (codeEnttitys.size() > 0) {
exitLocalEntity = isExitLocal(code, codeEnttitys);
if (exitLocalEntity != null) {
@ -1430,7 +1447,6 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.error(500, "当前药品追溯码已存在,且存在异常未处理!");
}
udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(exitLocalEntity.getNameCode(), null);
BeanUtils.copyProperties(exitLocalEntity, genDetaiEntity);
genDetaiEntity.setCount(1);
@ -1549,6 +1565,20 @@ public class IoCodeTempController extends BaseController {
}
//产品是否禁用
udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false);
if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) {
if (orderEntity != null && StrUtil.isNotEmpty(orderEntity.getWorkPlaceQueueCode()) && CollUtil.isNotEmpty(codeEnttitys)) {
boolean isSame = false;
for (IoCodeTempEntity ioOrderDetailCodeEntity : codeEnttitys) {
if (ioOrderDetailCodeEntity.getRelId().equals(udiRelevanceResponse.getId())) {
isSame = true;
}
}
if (!isSame)
return ResultVOUtils.error(507, "上货产品不符!");
}
}
if (udiRelevanceResponses.size() >= 1) {
if (udiRelevanceResponse == null) {
return ResultVOUtils.error(500, "该产品信息未维护!");
@ -2650,7 +2680,14 @@ public class IoCodeTempController extends BaseController {
}
}
addCodeResult.setOrderId(orderId);
try {
transInoutService.genOrderDetailCode(orderEntity, genDetaiEntity);
} catch (JsonException e) {
if (e.getCode() == 507) {
return ResultVOUtils.error(e.getCode(), e.getMessage());
}
}
return ResultVOUtils.success(addCodeResult);
}
@ -2762,7 +2799,14 @@ public class IoCodeTempController extends BaseController {
BaseResponse baseResponse = null;
addOrderRequest.setCode(code);
if (IntUtil.value(udiEntity.getProductType()) == 2) {
try {
baseResponse = addDrugOrder(addOrderRequest, udiEntity, code);
} catch (JsonException e) {
if (e.getCode() == 507) {
baseResponse = ResultVOUtils.error(e.getCode(), e.getMessage());
}
}
} else {
baseResponse = addMaterOrder(addOrderRequest, udiEntity, code);
}

@ -449,17 +449,16 @@ public class IoAddInoutService {
List<IoOrderDetailCodeEntity> ioOrderDetailCodeEntities = orderDetailCodeDao.selectList(new QueryWrapper<IoOrderDetailCodeEntity>().select("id", "count", "reCount", "bindRlFk", "batchNo", "price").eq("orderIdFk", orderEntity.getBillNo()));
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(codeTempEntity.getRelId(), codeTempEntity.getSupId());
if (StrUtil.isNotEmpty(orderEntity.getWorkPlaceQueueCode()) && CollUtil.isNotEmpty(ioOrderDetailCodeEntities)) {
boolean isSame = false;
for (IoOrderDetailCodeEntity ioOrderDetailCodeEntity : ioOrderDetailCodeEntities) {
if (ioOrderDetailCodeEntity.getBindRlFk().equals(udiRelevanceResponse.getId())) {
isSame = true;
}
}
if (!isSame)
throw new JsonException(500, "上货产品不符!");
}
// if (StrUtil.isNotEmpty(orderEntity.getWorkPlaceQueueCode()) && CollUtil.isNotEmpty(ioOrderDetailCodeEntities)) {
// boolean isSame = false;
// for (IoOrderDetailCodeEntity ioOrderDetailCodeEntity : ioOrderDetailCodeEntities) {
// if (ioOrderDetailCodeEntity.getBindRlFk().equals(udiRelevanceResponse.getId())) {
// isSame = true;
// }
// }
// if (!isSame)
// throw new JsonException(507, "上货产品不符!");
// }
if (codeTempEntity.getPrice() == null && udiRelevanceResponse.getPrice() != null) {
codeTempService.updateById(IoCodeTempEntity.builder().id(codeTempEntity.getId()).price(udiRelevanceResponse.getPrice()).build());

Loading…
Cancel
Save