|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package com.glxp.api.controller.inv;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
@ -7,10 +8,13 @@ import com.github.pagehelper.PageInfo;
|
|
|
|
|
import com.glxp.api.annotation.AuthRuleAnnotation;
|
|
|
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
|
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
|
|
|
import com.glxp.api.dao.inout.IoCodeDao;
|
|
|
|
|
import com.glxp.api.entity.basic.UdiEntity;
|
|
|
|
|
import com.glxp.api.entity.basic.UdiProductEntity;
|
|
|
|
|
import com.glxp.api.entity.inout.IoCodeEntity;
|
|
|
|
|
import com.glxp.api.entity.inv.InvProductEntity;
|
|
|
|
|
import com.glxp.api.req.basic.FilterUdiRelRequest;
|
|
|
|
|
import com.glxp.api.req.inout.FilterCodeRequest;
|
|
|
|
|
import com.glxp.api.req.inout.FilterOrderRequest;
|
|
|
|
|
import com.glxp.api.req.inv.FilterCodeTraceRequest;
|
|
|
|
|
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
|
|
|
|
@ -44,7 +48,8 @@ public class UdiTraceController {
|
|
|
|
|
IoOrderService orderService;
|
|
|
|
|
@Resource
|
|
|
|
|
InvProductServiceNew invProductServiceNew;
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
IoCodeDao ioCodeDao;
|
|
|
|
|
//TODO 20241017 先把这个接口注释了
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@GetMapping("udiwarehouse/trace/filter")
|
|
|
|
@ -61,21 +66,21 @@ public class UdiTraceController {
|
|
|
|
|
return ResultVOUtils.error(500, "耗材字典不存在此产品!");
|
|
|
|
|
}
|
|
|
|
|
List<UdiProductEntity> udiInfoEntities = udiProductService.findByUuids(udiInfoBean.getUuid());
|
|
|
|
|
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
|
|
|
|
|
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
|
|
|
|
|
if (udiInfoEntities != null && udiInfoEntities.size() > 1) {
|
|
|
|
|
filterInvProductDetailRequest.setRelId(udiInfoBean.getId() + "");
|
|
|
|
|
filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo());
|
|
|
|
|
filterCodeRequest.setRelId(udiInfoBean.getId() + "");
|
|
|
|
|
filterCodeRequest.setBatchNo(udiEntity.getBatchNo());
|
|
|
|
|
} else {
|
|
|
|
|
filterInvProductDetailRequest.setCode(filterCodeTraceRequest.getCode());
|
|
|
|
|
filterCodeRequest.setCode(filterCodeTraceRequest.getCode());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// IoCodeEntity;
|
|
|
|
|
filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId());
|
|
|
|
|
List<InvProductNewVo> invProductDetailEntities = invProductServiceNew.filterInvProductDetailList(filterInvProductDetailRequest);
|
|
|
|
|
filterCodeRequest.setSupId(filterCodeTraceRequest.getSupId());
|
|
|
|
|
List<IoCodeEntity> invProductDetailEntities = ioCodeDao.filterCodeList(filterCodeRequest);
|
|
|
|
|
if (invProductDetailEntities.size() > 0) {
|
|
|
|
|
Map<String, String> filterMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
for (InvProductNewVo invProductDetailEntity : invProductDetailEntities) {
|
|
|
|
|
for (IoCodeEntity invProductDetailEntity : invProductDetailEntities) {
|
|
|
|
|
filterMap.put(invProductDetailEntity.getOrderId(), invProductDetailEntity.getOrderId());
|
|
|
|
|
}
|
|
|
|
|
List<String> orderIds = new ArrayList<>();
|
|
|
|
@ -108,7 +113,7 @@ public class UdiTraceController {
|
|
|
|
|
udiTraceResponse.setYlqxzcrbarmc(finalUdiRelevance.getYlqxzcrbarmc());
|
|
|
|
|
udiTraceResponse.setCpmctymc(finalUdiRelevance.getCpmctymc());
|
|
|
|
|
udiTraceResponse.setGgxh(finalUdiRelevance.getGgxh());
|
|
|
|
|
InvProductNewVo invProductDetailEntity = invProductDetailEntities.get(0);
|
|
|
|
|
IoCodeEntity invProductDetailEntity = invProductDetailEntities.get(0);
|
|
|
|
|
udiTraceResponse.setBatchNo(invProductDetailEntity.getBatchNo());
|
|
|
|
|
udiTraceResponse.setProduceDate(invProductDetailEntity.getProduceDate());
|
|
|
|
|
udiTraceResponse.setExpireDate(invProductDetailEntity.getExpireDate());
|
|
|
|
@ -148,7 +153,7 @@ public class UdiTraceController {
|
|
|
|
|
if (udiInfoBean == null) {
|
|
|
|
|
return ResultVOUtils.error(500, "耗材字典不存在此产品!");
|
|
|
|
|
}
|
|
|
|
|
List<InvProductNewVo> mInvProductDetailEntities = new ArrayList<>();
|
|
|
|
|
List<IoCodeEntity> mInvProductDetailEntities = new ArrayList<>();
|
|
|
|
|
//判断是否多级包装
|
|
|
|
|
List<UdiProductEntity> udiInfoEntities = udiProductService.findByUuids(udiInfoBean.getUuid());
|
|
|
|
|
|
|
|
|
@ -161,28 +166,29 @@ public class UdiTraceController {
|
|
|
|
|
|
|
|
|
|
for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
|
|
|
|
|
//假设条码不完整
|
|
|
|
|
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
|
|
|
|
|
filterInvProductDetailRequest.setCode(filterCodeTraceRequest.getCode());
|
|
|
|
|
filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId());
|
|
|
|
|
List<InvProductNewVo> temps = invProductServiceNew.filterInvProductDetailList(filterInvProductDetailRequest);
|
|
|
|
|
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
|
|
|
|
|
filterCodeRequest.setCode(filterCodeTraceRequest.getCode());
|
|
|
|
|
filterCodeRequest.setSupId(filterCodeTraceRequest.getSupId());
|
|
|
|
|
List<IoCodeEntity> temps = ioCodeDao.filterCodeList(filterCodeRequest);
|
|
|
|
|
if (CollUtil.isNotEmpty(temps)) {
|
|
|
|
|
Map<String, List<InvProductNewVo>> filterMaps = temps.stream().collect(Collectors.groupingBy(InvProductNewVo::getBatchNo));
|
|
|
|
|
Map<String, List<IoCodeEntity>> filterMaps = temps.stream().collect(Collectors.groupingBy(IoCodeEntity::getBatchNo));
|
|
|
|
|
if (filterMaps.size() > 0) {
|
|
|
|
|
for (String bacthNo : filterMaps.keySet()) {
|
|
|
|
|
filterInvProductDetailRequest = new FilterInvProductDetailRequest();
|
|
|
|
|
filterInvProductDetailRequest.setRelId(udiRelevanceResponse.getId() + "");
|
|
|
|
|
filterInvProductDetailRequest.setBatchNo(bacthNo);
|
|
|
|
|
List<InvProductNewVo> invProductDetailEntities = invProductServiceNew.filterInvProductDetailList(filterInvProductDetailRequest);
|
|
|
|
|
filterCodeRequest = new FilterCodeRequest();
|
|
|
|
|
filterCodeRequest.setRelId(udiRelevanceResponse.getId() + "");
|
|
|
|
|
filterCodeRequest.setBatchNo(bacthNo);
|
|
|
|
|
List<IoCodeEntity> invProductDetailEntities = ioCodeDao.filterCodeList(filterCodeRequest);
|
|
|
|
|
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
|
|
|
|
|
mInvProductDetailEntities.addAll(invProductDetailEntities);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
filterInvProductDetailRequest = new FilterInvProductDetailRequest();
|
|
|
|
|
filterInvProductDetailRequest.setRelId(udiRelevanceResponse.getId() + "");
|
|
|
|
|
filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo());
|
|
|
|
|
List<InvProductEntity> invProductDetailEntities = invProductServiceNew.selectByUnique(udiRelevanceResponse.getId(), udiEntity.getBatchNo(), null, null, null);
|
|
|
|
|
filterCodeRequest = new FilterCodeRequest();
|
|
|
|
|
filterCodeRequest.setRelId(udiRelevanceResponse.getId() + "");
|
|
|
|
|
filterCodeRequest.setBatchNo(udiEntity.getBatchNo());
|
|
|
|
|
List<IoCodeEntity> invProductDetailEntities = ioCodeDao.filterCodeList(filterCodeRequest);
|
|
|
|
|
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
|
|
|
|
|
mInvProductDetailEntities.addAll(invProductDetailEntities);
|
|
|
|
|
}
|
|
|
|
@ -191,12 +197,12 @@ public class UdiTraceController {
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
//单级包装
|
|
|
|
|
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
|
|
|
|
|
filterInvProductDetailRequest.setCode(filterCodeTraceRequest.getCode());
|
|
|
|
|
filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId());
|
|
|
|
|
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
|
|
|
|
|
filterCodeRequest.setCode(filterCodeTraceRequest.getCode());
|
|
|
|
|
filterCodeRequest.setSupId(filterCodeTraceRequest.getSupId());
|
|
|
|
|
|
|
|
|
|
List<InvProductNewVo> invProductDetailEntities = invProductServiceNew.list(new QueryWrapper<InvProductNewVo>().likeRight("code", filterCodeTraceRequest.getCode()));
|
|
|
|
|
// List<InvProductNewVo> invProductDetailEntities = invProductServiceNew.filterInvProductDetailList(filterInvProductDetailRequest);
|
|
|
|
|
List<IoCodeEntity> invProductDetailEntities = ioCodeDao.selectList(new QueryWrapper<IoCodeEntity>().likeRight("code", filterCodeTraceRequest.getCode()).eq("supId",filterCodeRequest.getSupId()));
|
|
|
|
|
// List<IoCodeEntity> invProductDetailEntities = invProductServiceNew.filterInvProductDetailList(filterCodeRequest);
|
|
|
|
|
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
|
|
|
|
|
mInvProductDetailEntities.addAll(invProductDetailEntities);
|
|
|
|
|
}
|
|
|
|
@ -204,7 +210,7 @@ public class UdiTraceController {
|
|
|
|
|
if (mInvProductDetailEntities.size() > 0) {
|
|
|
|
|
Map<String, String> filterMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
for (InvProductNewVo invProductDetailEntity : mInvProductDetailEntities) {
|
|
|
|
|
for (IoCodeEntity invProductDetailEntity : mInvProductDetailEntities) {
|
|
|
|
|
filterMap.put(invProductDetailEntity.getOrderId(), invProductDetailEntity.getOrderId());
|
|
|
|
|
}
|
|
|
|
|
List<String> orderIds = new ArrayList<>();
|
|
|
|
|