|
|
|
@ -10,14 +10,13 @@ import com.glxp.api.entity.collect.IoCollectOrder;
|
|
|
|
|
import com.glxp.api.entity.collect.IoCollectOrderOrigin;
|
|
|
|
|
import com.glxp.api.entity.inv.InvProductDetailEntity;
|
|
|
|
|
import com.glxp.api.exception.JsonException;
|
|
|
|
|
import com.glxp.api.req.collect.CollectOrderBizRequest;
|
|
|
|
|
import com.glxp.api.req.collect.CollectOrderRequest;
|
|
|
|
|
import com.glxp.api.res.collect.CollectOrderBizResponse;
|
|
|
|
|
import com.glxp.api.res.collect.IoCollectOrderResponse;
|
|
|
|
|
import com.glxp.api.res.inout.IoOrderDetailCodeResponse;
|
|
|
|
|
import com.glxp.api.res.inout.VailCodeResultResponse;
|
|
|
|
|
import com.glxp.api.service.collect.IoCollectCodeService;
|
|
|
|
|
import com.glxp.api.service.collect.IoCollectOrderBizBackupService;
|
|
|
|
|
import com.glxp.api.service.collect.IoCollectOrderService;
|
|
|
|
|
import com.glxp.api.service.collect.IoCollectOriginService;
|
|
|
|
|
import com.glxp.api.service.collect.*;
|
|
|
|
|
import com.glxp.api.service.inout.impl.IoCodeService;
|
|
|
|
|
import com.glxp.api.service.inv.impl.InvProductDetailService;
|
|
|
|
|
import org.aspectj.weaver.ast.Var;
|
|
|
|
@ -117,6 +116,9 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
@Resource
|
|
|
|
|
IoSplitFifoInvService ioSplitFifoInvService;
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
IoCollectOrderBackupService ioCollectOrderBackupService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* PDA-----单据上传
|
|
|
|
|
*/
|
|
|
|
@ -319,7 +321,7 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
|
|
|
|
|
UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
|
|
|
|
|
if (checkUdi == null) {
|
|
|
|
|
return ResultVOUtils.error(500, "产品字典不存在此产品!");
|
|
|
|
|
return ResultVOUtils.error(500, "耗材字典不存在此产品!");
|
|
|
|
|
}
|
|
|
|
|
boolean checkSuccess = true;
|
|
|
|
|
String lostMsg = "";
|
|
|
|
@ -682,6 +684,7 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String orderId = addOrderRequest.getBillNo();
|
|
|
|
|
|
|
|
|
|
//三期校验
|
|
|
|
@ -804,6 +807,24 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//校验码表是否已经存在追溯码 io_code_temp
|
|
|
|
|
IoCodeTempEntity codeTempEntity1 = codeTempService.selectByCode(code,udiEntity.getBatchNo(),bussinessTypeEntity.getAction());
|
|
|
|
|
if (codeTempEntity1 != null){
|
|
|
|
|
return ResultVOUtils.error(533,"扫码重复或当前追溯码已存在草稿单据中!");
|
|
|
|
|
}
|
|
|
|
|
//校验工位存量是否存在
|
|
|
|
|
if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) {
|
|
|
|
|
IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode());
|
|
|
|
|
if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) {
|
|
|
|
|
return ResultVOUtils.error(533, "当前追溯码已存在!");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode());
|
|
|
|
|
if (fifoCodeEntity == null) {
|
|
|
|
|
return ResultVOUtils.error(500, "当前追溯码未上货!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//校验预验收是否已存在
|
|
|
|
|
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
|
|
|
|
|
if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) {
|
|
|
|
@ -851,14 +872,6 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
addOrderRequest.setFromCorp(fromCorp);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//校验工位存量是否存在
|
|
|
|
|
if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) {
|
|
|
|
|
IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, null);
|
|
|
|
|
if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) {
|
|
|
|
|
return ResultVOUtils.error(500, "当前追溯码已存在!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//先生成扫码单据
|
|
|
|
|
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
|
|
|
|
@ -1291,14 +1304,13 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//校验码表是否已经存在追溯码 io_code_temp
|
|
|
|
|
IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo(),bussinessTypeEntity.getAction());
|
|
|
|
|
if (codeTempEntity != null){
|
|
|
|
|
return ResultVOUtils.error(533,"扫码重复或当前追溯码已存在草稿单据中!");
|
|
|
|
|
}
|
|
|
|
|
//校验工位存量是否存在
|
|
|
|
|
if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) {
|
|
|
|
|
//校验码表是否已经存在追溯码 io_code_temp
|
|
|
|
|
IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo());
|
|
|
|
|
if (codeTempEntity != null){
|
|
|
|
|
return ResultVOUtils.error(533,"当前追溯码已存在草稿单据中!");
|
|
|
|
|
}
|
|
|
|
|
IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode());
|
|
|
|
|
if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) {
|
|
|
|
|
return ResultVOUtils.error(533, "当前追溯码已存在!");
|
|
|
|
@ -1309,10 +1321,6 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
if (fifoCodeEntity == null) {
|
|
|
|
|
return ResultVOUtils.error(500, "当前追溯码未上货!");
|
|
|
|
|
}
|
|
|
|
|
IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo());
|
|
|
|
|
if (codeTempEntity != null){
|
|
|
|
|
return ResultVOUtils.error(533,"当前追溯码已存在草稿单据中!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2612,11 +2620,14 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String orderFinishBillNo = addOrderCodeRequest.getOrderFinishBillNo();
|
|
|
|
|
List<IoCollectCode> list = ioCollectCodeService.list(new LambdaUpdateWrapper<IoCollectCode>().eq(IoCollectCode::getBillNo, orderFinishBillNo));
|
|
|
|
|
if (CollUtil.isEmpty(list)) return ResultVOUtils.error(500, "未找到已完成单的码明细");
|
|
|
|
|
// List<IoCollectCode> list = ioCollectCodeService.list(new LambdaUpdateWrapper<IoCollectCode>().eq(IoCollectCode::getBillNo, orderFinishBillNo));
|
|
|
|
|
CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest();
|
|
|
|
|
collectOrderBizRequest.setOrderIdFk(orderFinishBillNo);
|
|
|
|
|
List<CollectOrderBizResponse> collectOrderBizResponses = ioCollectOrderBackupService.combieOrderDetail(collectOrderBizRequest);
|
|
|
|
|
if (CollUtil.isEmpty(collectOrderBizResponses)) return ResultVOUtils.error(500, "未找到已完成单的码明细");
|
|
|
|
|
List<String> codeList = new ArrayList<>();
|
|
|
|
|
list.forEach(item -> {
|
|
|
|
|
String code = item.getCode();
|
|
|
|
|
collectOrderBizResponses.forEach(item -> {
|
|
|
|
|
String code = item.getFinishUdiCode();
|
|
|
|
|
Integer reCountObj = item.getScanCount();
|
|
|
|
|
int reCount = reCountObj != null ? reCountObj : 0; // 如果reCountObj为null,则默认为0次迭代
|
|
|
|
|
for (int i = 0; i < reCount; i++) {
|
|
|
|
|