新增取货确认

dev_unify
yewj 8 months ago
parent 1a2a766a54
commit b97e374e66

@ -34,6 +34,7 @@ import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.service.basic.BasicCollectUserService;
import com.glxp.api.service.basic.SysWorkplaceDocumentService;
import com.glxp.api.service.collect.*;
import com.glxp.api.service.inout.IoSplitCodeService;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.MsDateUtil;
import org.springframework.beans.BeanUtils;
@ -407,23 +408,22 @@ public class IoCollectOrderController extends BaseController {
return ResultVOUtils.success();
}
@Resource
IoSplitCodeService splitCodeService;
/**
*
*
*
* @return
*/
@PostMapping("/udiwms/basic/collect/order/bizConfirm")
@Transactional(rollbackFor = Exception.class)
public BaseResponse bizConfirmOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
/**
*
*
*/
return ResultVOUtils.success();
splitCodeService.confirmBizAutiTagCode(collectOrderRequest);
return ResultVOUtils.success("确认成功!");
}

@ -274,5 +274,12 @@ public class IoCollectOrderBiz implements Serializable {
private String remark10;
/**
*
*/
@TableField(value = "getConfirm")
private Boolean getConfirm;
private static final long serialVersionUID = 1L;
}

@ -374,14 +374,72 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
ioCollectOrderBizBackups.add(ioCollectOrderBizBackup);
}
ioCollectOrderBizBackupService.saveBatch(ioCollectOrderBizBackups);
}
@Resource
IoCollectOrderService collectOrderService;
@Transactional(rollbackFor = Exception.class)
public void confirmBizAutiTagCode(CollectOrderRequest collectOrderRequest) {
IoCollectOrderBiz collectOrderBiz = collectOrderBizService.getById(collectOrderRequest.getId());
IoCollectOrder collectOrder = collectOrderService.getById(collectOrderRequest.getBillNo());
SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
Long putWorkPlaceCode = null;
if (sysWorkplacePutRel != null)
putWorkPlaceCode = sysWorkplacePutRel.getWorkPlaceCode();
IoCollectOrderBiz collectOrderBiz = collectOrderBizService.getById(collectOrderRequest.getId());
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setId(collectOrderBiz.getRelId());
filterUdiRelRequest.setPackLevel("1");
//todo 后面可以 没有搜索到层级为1的
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectOneUdi(filterUdiRelRequest);
//去除掉已经手动扫码的数据,找出需要自动扫码的明细,执行上述的拆零或整取
int unTagCount = collectOrderBiz.getCount() - IntUtil.value(collectOrderBiz.getScanActCount());
if (unTagCount > 0) {
collectOrderBiz.setUnTagCount(unTagCount);
}
int quotient = collectOrderBiz.getUnTagCount() / IntUtil.value(udiRelevanceResponse.getBhxjsl());
int remainder = collectOrderBiz.getUnTagCount() % IntUtil.value(udiRelevanceResponse.getBhxjsl());
//2.如果整盒,从工位队列扣除 默认最后一个追溯码拆零
if (quotient > 0) {
List<IoSplitFifoCodeEntity> ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo());
if (ioSplitFifoCodeEntities.size() < quotient) {
throw new JsonException(500, "确认失败,工位库存数量不足!");
}
for (int i = 0; i < quotient; i++) {
IoSplitFifoCodeEntity splitFifoCodeEntity = ioSplitFifoCodeEntities.get(i);
collectOrderBiz.setUnTagCount(IntUtil.value(collectOrderBiz.getUnTagCount()) - IntUtil.value(udiRelevanceResponse.getBhxjsl()));
collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder()
.codeIdFk(splitFifoCodeEntity.getId())
.udiCode(splitFifoCodeEntity.getCode())
.orderIdFk(collectOrder.getBillNo())
.batchNo(splitFifoCodeEntity.getBatchNo())
.productDate(splitFifoCodeEntity.getProduceDate())
.expireDate(splitFifoCodeEntity.getExpireDate())
.serialNo(splitFifoCodeEntity.getSerialNo())
.relId(collectOrderBiz.getRelId())
.bizIdFk(collectOrderBiz.getId())
.fifoSplit(splitFifoCodeEntity.getFifoSplit())
.createTime(new Date())
.updateTime(new Date())
.build());
splitFifoCodeService.removeById(splitFifoCodeEntity.getId());
IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity);
if (splitFifoInv != null) {
splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + IntUtil.value(splitFifoCodeEntity.getTotalCount()));
int lockCount = IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoCodeEntity.getTotalCount());
splitFifoInv.setLockCount(lockCount > 0 ? lockCount : 0);
splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount()));
splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoInv.getOutCount()));
splitFifoInvService.updateById(splitFifoInv);
}
}
}
//.如果拆零,拆零表扣除
if (remainder > 0) {
splitRemove(collectOrderBiz, collectOrder, putWorkPlaceCode);
}
}

@ -4605,7 +4605,8 @@ CALL Pro_Temp_ColumnWork('sys_workplace', 'queueStatus',
1);
CREATE TABLE IF NOT EXISTS `sys_workplace_freight` (
CREATE TABLE IF NOT EXISTS `sys_workplace_freight`
(
`id` int NOT NULL AUTO_INCREMENT,
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '货架编码',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '货架名称',
@ -4638,7 +4639,8 @@ CALL Pro_Temp_ColumnWork('io_collect_set', 'lastCodeSplit',
' tinyint NULL DEFAULT b''1''COMMENT ''是否最后追溯码拆零0:关闭 1:启用''',
1);
CREATE TABLE IF NOT EXISTS `sys_workplace_layer` (
CREATE TABLE IF NOT EXISTS `sys_workplace_layer`
(
`id` int NOT NULL AUTO_INCREMENT,
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '摆货层编码',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
@ -4665,4 +4667,10 @@ CALL Pro_Temp_ColumnWork('sys_workplace_freight', 'layerNum',
CALL Pro_Temp_ColumnWork('sys_workplace_queue', 'freightCode',
'varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''货架code''',
1)
1);
CALL Pro_Temp_ColumnWork('io_collect_order_biz', 'getConfirm',
' tinyint NULL DEFAULT b''1''COMMENT ''取货确认状态''',
1);

Loading…
Cancel
Save