自动拆零查询详情

workplace
anthonywj 11 months ago
parent e9b939e99d
commit 5e7af56b93

@ -1,23 +1,31 @@
package com.glxp.api.controller.collect;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.collect.IoCollectOrderBiz;
import com.glxp.api.entity.collect.IoCollectOrderCodeAuto;
import com.glxp.api.entity.inout.IoSplitCodeEntity;
import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderCodeAutoRequest;
import com.glxp.api.req.inout.IoSplitCodeRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.CollectOrderCodeAutoResponse;
import com.glxp.api.service.collect.IoCollectOrderBizService;
import com.glxp.api.service.collect.IoCollectOrderCodeAutoService;
import com.glxp.api.service.inout.IoSplitCodeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@ -72,6 +80,45 @@ public class IoCollectOrderCodeAutoController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse);
}
@Resource
IoCollectOrderBizService collectOrderBizService;
/**
*
*
* @return
*/
@GetMapping("/udiwms/ioSplit/collect/auto/order/result")
public BaseResponse filterResultByBillNo(CollectOrderBizRequest collectOrderBizRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<CollectOrderBizResponse> collectOrderBizs = collectOrderBizService.filterList(collectOrderBizRequest);
List<IoCollectOrderCodeAuto> collectOrderCodeAutos = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), collectOrderBizRequest.getFifoSplit());
List<CollectOrderBizResponse> collectOrderBizResponses = new ArrayList<>();
for (CollectOrderBizResponse collectOrderBiz : collectOrderBizs) {
CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse();
BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse);
for (IoCollectOrderCodeAuto collectOrderCodeAuto : collectOrderCodeAutos) {
if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderBiz.getBatchNo()) && collectOrderBiz.getBatchNo().equals(collectOrderCodeAuto.getBatchNo()))) {
collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
}
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getUdiCode())) {
collectOrderBizResponse.setUdiCode(collectOrderBizResponse.getUdiCode().substring(1));
}
collectOrderBizResponses.add(collectOrderBizResponse);
}
PageInfo<CollectOrderBizResponse> pageInfo = new PageInfo<>(collectOrderBizResponses);
PageSimpleResponse<CollectOrderBizResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(collectOrderBizResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*

@ -101,6 +101,8 @@ public class IoCollectOrderCodeManController extends BaseController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
SysWorkplace workPlace = sysWorkPlaceService.getWorkplace(addTagCodeReqeust.getWorkPlaceCode());
if (workPlace == null)
return ResultVOUtils.error(500, "请先选择工位");
IoCollectOrderBiz collectOrderBiz = null;
IoCollectOrder collectOrder = null;
@ -150,10 +152,10 @@ public class IoCollectOrderCodeManController extends BaseController {
if (collectOrder == null)
return ResultVOUtils.error(500, "单据不存在!");
//3.校验该UDI码是否已经出库是否在预出库队列
Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
if (!b1) {
return ResultVOUtils.error(500, "该追溯码未上货,无法使用!");
}
// Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
// if (!b1) {
// return ResultVOUtils.error(500, "该追溯码未上货,无法使用!");
// }
collectOrderBiz = vailByBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity);
@ -188,10 +190,10 @@ public class IoCollectOrderCodeManController extends BaseController {
if (collectOrder == null)
return ResultVOUtils.error(500, "单据不存在!");
//3.校验该UDI码是否已经出库是否在预出库队列
Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
if (!b1) {
return ResultVOUtils.error(500, "该追溯码未上货,无法使用!");
}
// Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
// if (!b1) {
// return ResultVOUtils.error(500, "该追溯码未上货,无法使用!");
// }
//按单不校验三期
collectOrderBiz = vailNoBatchNo(udiRelevanceResponses, collectOrderBizs);

@ -184,5 +184,6 @@ public class IoCollectOrderBiz implements Serializable {
private Integer unTagCount;
private static final long serialVersionUID = 1L;
}

@ -114,4 +114,6 @@ public class CollectOrderBizRequest extends ListPageRequest {
private Date updateTime;
private Long relId;
private Integer fifoSplit;
}

@ -110,4 +110,11 @@ public class CollectOrderBizResponse {
*/
private Date updateTime;
/**
* UDI
*/
private String udiCode;
private Long relId;
private Integer unTagCount;
}

@ -1,5 +1,6 @@
package com.glxp.api.service.collect;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.req.collect.CollectOrderCodeAutoRequest;
import com.glxp.api.res.collect.CollectOrderCodeAutoResponse;
@ -19,6 +20,13 @@ public class IoCollectOrderCodeAutoService extends ServiceImpl<IoCollectOrderCod
@Resource
IoCollectOrderCodeAutoMapper collectOrderCodeAutoMapper;
public List<IoCollectOrderCodeAuto> listByBillNo(String billNo, Integer fifo) {
return collectOrderCodeAutoMapper.selectList(new LambdaQueryWrapper<IoCollectOrderCodeAuto>()
.eq(IoCollectOrderCodeAuto::getOrderIdFk, billNo)
.eq(fifo != null, IoCollectOrderCodeAuto::getFifoSplit, fifo));
}
public List<CollectOrderCodeAutoResponse> filterList(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest) {
if (collectOrderCodeAutoRequest == null) {
return Collections.emptyList();

@ -174,8 +174,9 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
.batchNo(ioSplitCodeEntity.getBatchNo())
.productDate(ioSplitCodeEntity.getProduceDate())
.expireDate(ioSplitCodeEntity.getExpireDate())
.serialNo(ioSplitCodeEntity.getExpireDate())
.serialNo(ioSplitCodeEntity.getSerialNo())
.relId(collectOrderBiz.getRelId())
.fifoSplit(ioSplitCodeEntity.getFifoSplit())
.createTime(new Date())
.updateTime(new Date())
.build());
@ -210,8 +211,12 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
.codeIdFk(ioSplitCodeEntity.getId())
.udiCode(ioSplitCodeEntity.getCode())
.orderIdFk(collectOrder.getBillNo())
.batchNo(collectOrderBiz.getBatchNo())
.batchNo(ioSplitCodeEntity.getBatchNo())
.productDate(ioSplitCodeEntity.getProduceDate())
.expireDate(ioSplitCodeEntity.getExpireDate())
.serialNo(ioSplitCodeEntity.getSerialNo())
.relId(collectOrderBiz.getRelId())
.fifoSplit(ioSplitCodeEntity.getFifoSplit())
.createTime(new Date())
.updateTime(new Date())
.build());
@ -234,6 +239,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
}
}
}
collectOrderBiz.setUnTagCount(unCount);
collectOrderBizService.updateById(collectOrderBiz);
}
collectOrder.setSplitStatus(checkStatus(collectOrderBizs));
@ -256,11 +262,19 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
List<IoSplitCodeEntity> addSplitCodeEntities = new ArrayList<>();
List<Integer> removeIds = new ArrayList<>();
for (IoSplitFifoCodeEntity splitFifoCodeEntity : splitFifoCodeEntities) {
count = IntUtil.value(splitFifoCodeEntity.getTotalCount()) + count;
IoSplitCodeEntity splitCodeEntity = new IoSplitCodeEntity();
BeanUtils.copyProperties(splitFifoCodeEntity, splitCodeEntity);
splitCodeEntity.setRemainCount(splitCodeEntity.getTotalCount());
if (IntUtil.value(splitFifoCodeEntity.getFifoSplit()) == 1) {
//拆零
count = IntUtil.value(splitFifoCodeEntity.getTotalCount()) + count;
splitCodeEntity.setRemainCount(splitCodeEntity.getTotalCount());
} else {
//整取
count = IntUtil.value(splitFifoCodeEntity.getScanCount()) + count;
splitCodeEntity.setRemainCount(splitCodeEntity.getScanCount());
}
splitCodeEntity.setStatus(1);
splitCodeEntity.setFifoSplit(splitFifoCodeEntity.getFifoSplit());
splitCodeEntity.setId(null);
addSplitCodeEntities.add(splitCodeEntity);
removeIds.add(splitFifoCodeEntity.getId());

Loading…
Cancel
Save