|
|
|
@ -1,8 +1,10 @@
|
|
|
|
|
package com.glxp.api.controller.inout;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
|
import com.glxp.api.annotation.CusRedissonAnnotation;
|
|
|
|
|
import com.glxp.api.constant.*;
|
|
|
|
|
import com.glxp.api.entity.basic.*;
|
|
|
|
|
import com.glxp.api.entity.collect.IoCollectCode;
|
|
|
|
|
import com.glxp.api.entity.collect.IoCollectOrder;
|
|
|
|
|
import com.glxp.api.entity.inv.InvProductDetailEntity;
|
|
|
|
|
import com.glxp.api.exception.JsonException;
|
|
|
|
@ -10,6 +12,8 @@ import com.glxp.api.req.collect.CollectOrderRequest;
|
|
|
|
|
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.inout.impl.IoCodeService;
|
|
|
|
@ -105,6 +109,8 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
IoCollectOriginService collectOriginService;
|
|
|
|
|
@Resource
|
|
|
|
|
IoCollectOrderService collectOrderService;
|
|
|
|
|
@Resource
|
|
|
|
|
IoCollectCodeService ioCollectCodeService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* PDA-----单据上传
|
|
|
|
@ -2515,4 +2521,101 @@ public class IoCodeTempController extends BaseController {
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 工位上货选入完成单据
|
|
|
|
|
*/
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@PostMapping("warehouse/inout/batchAddCodeByOrderFinish")
|
|
|
|
|
@Log(title = "单据管理", businessType = BusinessType.INSERT)
|
|
|
|
|
public BaseResponse batchAddCodeByOrderFinish(@RequestBody AddOrderCodeRequest addOrderCodeRequest, BindingResult bindingResult) {
|
|
|
|
|
|
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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<String> codeList = new ArrayList<>();
|
|
|
|
|
list.forEach(item -> {
|
|
|
|
|
String code = item.getCode();
|
|
|
|
|
Integer reCountObj = item.getScanCount();
|
|
|
|
|
int reCount = reCountObj != null ? reCountObj : 0; // 如果reCountObj为null,则默认为0次迭代
|
|
|
|
|
for (int i = 0; i < reCount; i++) {
|
|
|
|
|
codeList.add(code);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
addOrderCodeRequest.setCodeList(codeList);
|
|
|
|
|
addOrderCodeRequest.setCorpOrderId(orderFinishBillNo);
|
|
|
|
|
|
|
|
|
|
AddCodeResult addCodeResult = new AddCodeResult();
|
|
|
|
|
if (CollUtil.isEmpty(codeList))
|
|
|
|
|
return ResultVOUtils.error(500, "追溯码不能为空");
|
|
|
|
|
List<VailCodeResultResponse> vailCodeResultResponses = new ArrayList<>();
|
|
|
|
|
for (String code : codeList) {
|
|
|
|
|
VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse();
|
|
|
|
|
AddOrderRequest addOrderRequest = new AddOrderRequest();
|
|
|
|
|
BeanUtils.copyProperties(addOrderCodeRequest, addOrderRequest);
|
|
|
|
|
addOrderRequest.setBillNo(addCodeResult.getOrderId());
|
|
|
|
|
if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR);
|
|
|
|
|
code = code.trim();
|
|
|
|
|
if (code.endsWith("\u001D")) {
|
|
|
|
|
code = code.replace("\u001D", "");
|
|
|
|
|
}
|
|
|
|
|
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
|
|
|
|
|
if (udiEntity == null) {
|
|
|
|
|
vailCodeResultResponse.setCode(code);
|
|
|
|
|
vailCodeResultResponse.setStatus(2);
|
|
|
|
|
vailCodeResultResponse.setErrMsg("无效条码");
|
|
|
|
|
}
|
|
|
|
|
if (StrUtil.isNotEmpty(addOrderRequest.getBatchNo())) {
|
|
|
|
|
udiEntity.setBatchNo(addOrderRequest.getBatchNo());
|
|
|
|
|
}
|
|
|
|
|
if (StrUtil.isNotEmpty(addOrderRequest.getProduceDate())) {
|
|
|
|
|
udiEntity.setProduceDate(addOrderRequest.getProduceDate());
|
|
|
|
|
}
|
|
|
|
|
if (StrUtil.isNotEmpty(addOrderRequest.getExpireDate())) {
|
|
|
|
|
udiEntity.setExpireDate(addOrderRequest.getExpireDate());
|
|
|
|
|
}
|
|
|
|
|
if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) {
|
|
|
|
|
udiEntity.setSerialNo(addOrderRequest.getSerialNo());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AuthAdmin authAdmin = getUser();
|
|
|
|
|
addOrderRequest.setInvCode(authAdmin.getLocInvCode());
|
|
|
|
|
if (IntUtil.value(addOrderCodeRequest.getInoutType()) == 2) {
|
|
|
|
|
addOrderRequest.setAction(ConstantType.SPLIT_RETURN);
|
|
|
|
|
} else {
|
|
|
|
|
addOrderRequest.setAction(ConstantType.SPLIT_OUT);
|
|
|
|
|
}
|
|
|
|
|
addOrderRequest.setFromCorp(ConstantType.SPLIT_CORP);
|
|
|
|
|
|
|
|
|
|
BaseResponse baseResponse = null;
|
|
|
|
|
addOrderRequest.setCode(code);
|
|
|
|
|
if (IntUtil.value(udiEntity.getProductType()) == 2) {
|
|
|
|
|
baseResponse = adddGrugOrder(addOrderRequest, udiEntity, code);
|
|
|
|
|
} else {
|
|
|
|
|
baseResponse = addMaterOrder(addOrderRequest, udiEntity, code);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (baseResponse.getCode() == 20000) {
|
|
|
|
|
vailCodeResultResponse.setCode(code);
|
|
|
|
|
vailCodeResultResponse.setStatus(1);
|
|
|
|
|
vailCodeResultResponse.setErrMsg("正确");
|
|
|
|
|
AddCodeResult temp = (AddCodeResult) baseResponse.getData();
|
|
|
|
|
addCodeResult.setOrderId(temp.getOrderId());
|
|
|
|
|
addOrderRequest.setBillNo(temp.getOrderId());
|
|
|
|
|
} else {
|
|
|
|
|
vailCodeResultResponse.setCode(code);
|
|
|
|
|
vailCodeResultResponse.setStatus(2);
|
|
|
|
|
vailCodeResultResponse.setErrMsg(baseResponse.getMessage());
|
|
|
|
|
}
|
|
|
|
|
vailCodeResultResponses.add(vailCodeResultResponse);
|
|
|
|
|
}
|
|
|
|
|
addCodeResult.setVailCodeResultResponses(vailCodeResultResponses);
|
|
|
|
|
return ResultVOUtils.success(addCodeResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|