处方按照队列取货

dev_unify
yewj 7 months ago
parent 6add29cf82
commit 62dec41a67

@ -422,7 +422,7 @@ public class IoCollectOrderController extends BaseController {
/**
*
*/
splitCodeService.confirmBizAutiTagCode(confirmOrderBiz);
splitCodeService.confirmBizAutiTagCode(confirmOrderBiz, confirmOrderBiz.getQueueCode());
return ResultVOUtils.success("确认成功!");
}

@ -1597,6 +1597,7 @@ public class IoCodeTempController extends BaseController {
codeEnttity.setPreInSpaceCode(addOrderRequest.getCheckPreInSpaceCode());
codeEnttity.setRelId(addOrderRequest.getRelId());
codeEnttity.setFifoSplit(addOrderRequest.getFifoSplit());
codeEnttity.setPrice(udiRelevanceResponse.getPrice());
codeEnttity.setProductType(2);
codeEnttity.setCount(1);
RelCodeDetailResponse codeRelEntity = relCodeDetailService.findByCode(code);
@ -1721,13 +1722,13 @@ public class IoCodeTempController extends BaseController {
}
} else {
//判断产品是否已经绑定其他槽位
SysWorkplaceQueue workplaceQueue1 = sysWorkplaceQueueService.getOne(new LambdaQueryWrapper<SysWorkplaceQueue>().eq(SysWorkplaceQueue::getRelId, udiRelevanceResponse.getId()));
if (workplaceQueue1 != null) {
if (!orderEntity.getWorkPlaceQueueCode().equals(workplaceQueue1.getCode())) {
// orderService.deleteByBillNo(orderId);
return ResultVOUtils.error(507, "当前产品已绑定在" + workplaceQueue1.getCode() + "取货槽");
}
}
// SysWorkplaceQueue workplaceQueue1 = sysWorkplaceQueueService.getOne(new LambdaQueryWrapper<SysWorkplaceQueue>().eq(SysWorkplaceQueue::getRelId, udiRelevanceResponse.getId()));
// if (workplaceQueue1 != null) {
// if (!orderEntity.getWorkPlaceQueueCode().equals(workplaceQueue1.getCode())) {
//// orderService.deleteByBillNo(orderId);
// return ResultVOUtils.error(507, "当前产品已绑定在" + workplaceQueue1.getCode() + "取货槽");
// }
// }
}
} else {
return ResultVOUtils.error(500, "取货槽位不存在!");
@ -1765,7 +1766,6 @@ public class IoCodeTempController extends BaseController {
}
}
BaseResponse baseResponse = checkDrugRelId(codeEnttity, unitFk);
if (baseResponse != null) {
deleteEmptyBillNo(orderEntity);

@ -142,7 +142,8 @@ public class IoSplitController extends BaseController {
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByWorkplaceCode(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
if (IntUtil.value(sysWorkplaceDocumentEntity.getAutoTag()) == 1) {
collectOrder.setWorkPlaceCode(addTagCodeReqeust.getWorkPlaceCode());
splitCodeService.preAutoTagCode(collectOrder);
//todo 后面改
splitCodeService.preAutoTagCode(collectOrder,null);
collectOrderService.updateById(collectOrder);
return ResultVOUtils.success("后台已开始赋码,请稍后刷新查看");
} else {

@ -301,6 +301,7 @@ public class IoCollectOrderBiz implements Serializable {
@TableField(exist = false)
private Integer addScanActCount;
@TableField(exist = false)
private String queueCode;
private static final long serialVersionUID = 1L;
}

@ -154,6 +154,9 @@ public class CollectOrderRequest extends ListPageRequest {
*/
private Long bizId;
private String queueCode;
private List<Integer> uploadStatusList;

@ -863,7 +863,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
ioCollectOrderBizBackupService.saveBatch(ioCollectOrderBizBackups);
} else {
splitCodeService.finishAutoTagCode(collectOrder, isAuto);
splitCodeService.finishAutoTagCode(collectOrder, isAuto, collectOrderRequest.getQueueCode());
}
//插入备用表

@ -213,7 +213,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
IoCollectOrderBizBackupService ioCollectOrderBizBackupService;
@Transactional(rollbackFor = Exception.class)
public void finishAutoTagCode(IoCollectOrder collectOrder, Boolean isAuto) {
public void finishAutoTagCode(IoCollectOrder collectOrder, Boolean isAuto, String queueCode) {
SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
Long putWorkPlaceCode = null;
@ -334,7 +334,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
int remainder = collectOrderBiz.getUnTagCount() % IntUtil.value(udiRelevanceResponse.getBhxjsl());
//2.如果整盒,从工位队列扣除 默认最后一个追溯码拆零
if (quotient > 0) {
List<IoSplitFifoCodeEntity> ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo());
List<IoSplitFifoCodeEntity> ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(),queueCode );
if (ioSplitFifoCodeEntities.size() < quotient) {
if (isAuto)
throw new JsonException(500, "提交失败,工位库存数量不足!");
@ -388,7 +388,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
IoCollectOrderService collectOrderService;
@Transactional(rollbackFor = Exception.class)
public void confirmBizAutiTagCode(IoCollectOrderBiz collectOrderBiz) {
public void confirmBizAutiTagCode(IoCollectOrderBiz collectOrderBiz, String queueCode) {
IoCollectOrder collectOrder = collectOrderService.getByBillNo(collectOrderBiz.getOrderIdFk());
SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
@ -410,7 +410,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
int remainder = collectOrderBiz.getUnTagCount() % IntUtil.value(udiRelevanceResponse.getBhxjsl());
//2.如果整盒,从工位队列扣除 默认最后一个追溯码拆零
if (quotient > 0) {
List<IoSplitFifoCodeEntity> ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo());
List<IoSplitFifoCodeEntity> ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), queueCode);
if (ioSplitFifoCodeEntities.size() < quotient) {
throw new JsonException(500, "确认失败,工位库存数量不足!");
}
@ -516,7 +516,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
*
* @param collectOrder
*/
public void preAutoTagCode(IoCollectOrder collectOrder) {
public void preAutoTagCode(IoCollectOrder collectOrder, String queueCode) {
Long putWorkPlaceCode = null;
//获取上货工位
SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
@ -527,7 +527,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
List<IoSplitFifoCodeEntity> splitFifoCodeEntities =
splitFifoCodeService.findByRelId(putWorkPlaceCode,
collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo());
collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), queueCode);
int total = splitFifoCodeEntities.stream()
.mapToInt(IoSplitFifoCodeEntity::getTotalCount)
.sum();

@ -50,12 +50,13 @@ public class IoSplitFifoCodeService extends ServiceImpl<IoSplitFifoCodeMapper, I
@Resource
IoCollectOrderBizMapper collectOrderBizMapper;
public List<IoSplitFifoCodeEntity> findByRelId(Long workPlaceCode, Long relId, String batchNo) {
public List<IoSplitFifoCodeEntity> findByRelId(Long workPlaceCode, Long relId, String batchNo, String queueCode) {
List<IoSplitFifoCodeEntity> splitFifoCodeEntities =
list(new LambdaQueryWrapper<IoSplitFifoCodeEntity>()
.eq(IoSplitFifoCodeEntity::getWorkPlaceCode, workPlaceCode)
.eq(IoSplitFifoCodeEntity::getRelId, relId)
.eq(StrUtil.isNotEmpty(batchNo), IoSplitFifoCodeEntity::getBatchNo, batchNo)
.eq(StrUtil.isNotEmpty(queueCode), IoSplitFifoCodeEntity::getWorkPlaceQueueCode, queueCode)
.orderByAsc(IoSplitFifoCodeEntity::getInBactchNo)
);

Loading…
Cancel
Save