代码备份

workplace
yewj 10 months ago
parent 0ffa77d1e0
commit b3a9d01651

@ -1,5 +1,6 @@
package com.glxp.api.controller.collect;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
@ -11,6 +12,8 @@ import com.glxp.api.req.inout.AddTagCodeReqeust;
import com.glxp.api.req.inout.DeleteTageCodeRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.collect.CollectOrderCodeManResponse;
import com.glxp.api.res.inout.VailCodeResultResponse;
import com.glxp.api.res.inout.VailTagResultResponse;
import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.collect.IoCollectOrderBizService;
@ -18,6 +21,7 @@ import com.glxp.api.service.collect.IoCollectOrderCodeManService;
import com.glxp.api.service.collect.IoCollectOrderService;
import com.glxp.api.util.GennerOrderUtils;
import lombok.extern.slf4j.Slf4j;
import org.json.JSONException;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -26,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@ -37,15 +42,6 @@ public class IoCollectOrderCodeManController extends BaseController {
IoCollectOrderService collectOrderService;
@Resource
IoCollectOrderCodeManService collectOrderCodeManService;
@Resource
IoCollectOrderBizService collectOrderBizService;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
SysWorkplaceService sysWorkPlaceService;
/**
*
@ -82,6 +78,38 @@ public class IoCollectOrderCodeManController extends BaseController {
return ResultVOUtils.success(collectOrder);
}
/**
* )
*
* @return
*/
@PostMapping("/udiwms/ioSplit/collect/order/batchAddCode")
public BaseResponse batchAddCode(@RequestBody @Valid AddTagCodeReqeust addTagCodeReqeust,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
IoCollectOrder collectOrder = null;
VailTagResultResponse vailTagResultResponse = new VailTagResultResponse();
List<VailCodeResultResponse> vailCodeResultResponses = new ArrayList<>();
if (CollUtil.isNotEmpty(addTagCodeReqeust.getCodeList())) {
for (String code : addTagCodeReqeust.getCodeList()) {
VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse();
addTagCodeReqeust.setCode(code);
vailCodeResultResponse.setCode(code);
try {
collectOrder = collectOrderCodeManService.prescribeTagCode(addTagCodeReqeust);
} catch (JSONException e) {
vailCodeResultResponse.setErrMsg(e.getMessage());
vailCodeResultResponse.setStatus(2);
}
}
}
vailTagResultResponse.setCollectOrder(collectOrder);
vailTagResultResponse.setVailCodeResultResponses(vailCodeResultResponses);
return ResultVOUtils.success(vailCodeResultResponses);
}
@PostMapping("/udiwms/ioSplit/collect/code/remove")
public BaseResponse removeCode(@RequestBody @Valid DeleteTageCodeRequest deleteTageCodeRequest,

@ -8,6 +8,7 @@ import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.res.inout.IoOrderDetailCodeResponse;
import com.glxp.api.res.inout.VailCodeResultResponse;
import com.glxp.api.service.collect.IoCollectOrderService;
import com.glxp.api.service.collect.IoCollectOriginService;
import com.glxp.api.service.inout.impl.IoCodeService;
@ -44,6 +45,7 @@ import com.glxp.api.util.*;
import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiCalCountUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
@ -91,8 +93,6 @@ public class IoCodeTempController extends BaseController {
@Resource
IoCodeService codeService;
@Resource
InvPreProductDetailService invPreProductDetailService;
@Resource
IoAddInoutService ioAddInoutService;
@Resource
IoOrderDetailCodeService ioOrderDetailCodeService;
@ -282,7 +282,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 = "";
@ -338,6 +338,100 @@ public class IoCodeTempController extends BaseController {
}
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/batchVailCode")
public BaseResponse batchVailCode(@RequestBody AddEnterCodeRequest addEnterCodeRequest) {
List<String> codeList = addEnterCodeRequest.getCodeList();
if (CollUtil.isEmpty(codeList))
return ResultVOUtils.error(500, "追溯码不能为空");
codeList = codeList.stream().distinct().collect(Collectors.toList());
List<VailCodeResultResponse> vailCodeResultResponses = new ArrayList<>();
for (String code : codeList) {
VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse();
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
vailCodeResultResponse.setCode(code);
vailCodeResultResponse.setStatus(1);
vailCodeResultResponse.setErrMsg("解析正确");
vailCodeResultResponses.add(vailCodeResultResponse);
if (udiEntity == null) {
vailCodeResultResponse.setStatus(2);
vailCodeResultResponse.setErrMsg("追溯码格式错误");
continue;
}
UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
if (checkUdi == null) {
vailCodeResultResponse.setStatus(2);
vailCodeResultResponse.setErrMsg("产品字典不存在此产品");
continue;
}
}
return ResultVOUtils.success(vailCodeResultResponses);
}
@RepeatSubmit()
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/batchAddCode")
@CusRedissonAnnotation(cacheName = RedissonCacheKey.WEB_ADD_CODE, key = {"#addOrderCodeRequest.corpOrderId", "#addOrderCodeRequest.codeList"}, timeOutMsg = "系统正在处理,请勿重复提交")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse batchAddCode(@RequestBody AddOrderCodeRequest addOrderCodeRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
AddCodeResult addCodeResult = new AddCodeResult();
List<String> codeList = addOrderCodeRequest.getCodeList();
if (CollUtil.isEmpty(codeList))
return ResultVOUtils.error(500, "追溯码不能为空");
List<VailCodeResultResponse> vailCodeResultResponses = new ArrayList<>();
for (String code : codeList) {
AddOrderRequest addOrderRequest = new AddOrderRequest();
BeanUtils.copyProperties(addOrderCodeRequest, addOrderRequest);
if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR);
if (code.endsWith("\u001D")) {
code = code.replace("\u001D", "");
}
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
if (udiEntity == null)
return ResultVOUtils.error(500, "无效条码!");
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());
}
BaseResponse baseResponse = null;
if (IntUtil.value(udiEntity.getProductType()) == 2) {
baseResponse = adddGrugOrder(addOrderRequest, udiEntity, code);
} else {
baseResponse = addMaterOrder(addOrderRequest, udiEntity, code);
}
VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse();
if (baseResponse.getCode() == 20000) {
vailCodeResultResponse.setCode(code);
vailCodeResultResponse.setStatus(1);
vailCodeResultResponse.setErrMsg("正确");
AddCodeResult temp = (AddCodeResult) baseResponse.getData();
addCodeResult.setOrderId(temp.getOrderId());
} else {
vailCodeResultResponse.setCode(code);
vailCodeResultResponse.setStatus(2);
vailCodeResultResponse.setErrMsg(baseResponse.getMessage());
}
vailCodeResultResponses.add(vailCodeResultResponse);
}
addCodeResult.setVailCodeResultResponses(vailCodeResultResponses);
return ResultVOUtils.success();
}
public String checkNewCode(UdiEntity originEnity, String newCode) {
UdiEntity newEntity = FilterUdiUtils.getUdi(originEnity.getUdi() + newCode);
if (newEntity == null || originEnity == null) {
@ -396,10 +490,9 @@ public class IoCodeTempController extends BaseController {
} else {
return addMaterOrder(addOrderRequest, udiEntity, code);
}
}
@Transactional(rollbackFor = Exception.class)
public BaseResponse addMaterOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) {
AddCodeResult addCodeResult = new AddCodeResult();
@ -981,12 +1074,12 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.success(addCodeResult);
}
@Transactional(rollbackFor = Exception.class)
public BaseResponse adddGrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) {
AddCodeResult addCodeResult = new AddCodeResult();
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(addOrderRequest.getInvCode());
//批次号校验
//判断此产品是否开启允许无批次号
UdiProductEntity udiInfoEntity = udiProductService.findByNameCode(udiEntity.getUdi());

@ -2,10 +2,14 @@ package com.glxp.api.req.inout;
import lombok.Data;
import java.util.List;
@Data
public class AddEnterCodeRequest {
private String originCode;
private String workPlaceCode;
private String busType;
private String code;
private List<String> codeList;
private String viewType;
}

@ -0,0 +1,41 @@
package com.glxp.api.req.inout;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class AddOrderCodeRequest {
/**
*
*/
@NotNull(message = "工位编码不能为空")
private Long workPlaceCode;
/**
*
*/
@NotNull(message = "业务类型不能为空")
private String splitBusType;
/**
*
*/
@NotNull(message = "本地单号不能为空")
private String corpOrderId;
/**
*
*/
private String code;
/**
*
*/
@NotNull(message = "溯码不能为空")
private List<String> codeList;
/**
* 1:2退
*/
@NotNull(message = "上货方式不能为空")
private Integer inoutType;
}

@ -3,6 +3,7 @@ package com.glxp.api.req.inout;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class AddTagCodeReqeust {
@ -15,9 +16,11 @@ public class AddTagCodeReqeust {
/**
* udi/
*/
@NotNull(message = "追溯码不能为空")
private String code;
private List<String> codeList;
private String billNo;
private Long workPlaceCode;

@ -2,8 +2,11 @@ package com.glxp.api.res.inout;
import lombok.Data;
import java.util.List;
@Data
public class AddCodeResult {
private String orderId;
private String errMsg;
List<VailCodeResultResponse> vailCodeResultResponses;
}

@ -0,0 +1,14 @@
package com.glxp.api.res.inout;
import lombok.Data;
@Data
public class VailCodeResultResponse {
private String code;
/**
* 1:2
*/
private Integer status;
private String errMsg;
}

@ -0,0 +1,13 @@
package com.glxp.api.res.inout;
import com.glxp.api.entity.collect.IoCollectOrder;
import lombok.Data;
import java.util.List;
@Data
public class VailTagResultResponse {
IoCollectOrder collectOrder;
private List<VailCodeResultResponse> vailCodeResultResponses;
}
Loading…
Cancel
Save