From 850e732c3c8ca1adef684e9aebfdeaee317fb826 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Tue, 27 Jun 2023 22:41:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=BA=90=E5=A4=B4=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/trace/UdiTraceController.java | 26 ++++++++++++------- .../glxp/api/dao/basic/BasicUdiRelMapper.java | 3 ++- .../glxp/api/res/sup/UserCompanyResponse.java | 3 +++ .../api/service/basic/BasicUdiRelService.java | 26 ++++++++++++++++++- .../mapper/basic/BasicUdiRelMapper.xml | 5 ++-- 5 files changed, 48 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/trace/UdiTraceController.java b/src/main/java/com/glxp/api/controller/trace/UdiTraceController.java index b43b459..b7e7965 100644 --- a/src/main/java/com/glxp/api/controller/trace/UdiTraceController.java +++ b/src/main/java/com/glxp/api/controller/trace/UdiTraceController.java @@ -21,6 +21,7 @@ import com.glxp.api.req.trace.TraceManuOrderUploadRequest; import com.glxp.api.req.trace.TraceOrderUploadRequest; import com.glxp.api.req.trace.TraceRecordRequest; import com.glxp.api.res.basic.BasicUdiRelResponse; +import com.glxp.api.res.sup.UserCompanyResponse; import com.glxp.api.res.trace.TraceSearchReponse; import com.glxp.api.service.basic.BasicUdiRelService; import com.glxp.api.service.sup.UserCompanyService; @@ -110,7 +111,7 @@ public class UdiTraceController extends BaseController { TraceProductDetailEntity traceProductDetailEntity = null; BasicUdiRelResponse basicUdiRelResponse = null; UdiEntity udiEntity = null; - UserCompanyEntity userCompanyEntity = null; + List userCompanyResponses = null; if (StrUtil.isNotEmpty(traceRecordRequest.getUdiCode())) { traceRecordRequest.setTraceType(Constant.UDI_TRACE); @@ -123,10 +124,9 @@ public class UdiTraceController extends BaseController { } //2.查询源头企业 - System.out.println(udiEntity.getUdi()); - userCompanyEntity = basicUdiRelService.findByNameCode(udiEntity.getUdi()); - if (userCompanyEntity == null) { - return ResultVOUtils.error(500, "生产企业未关联该产品信息!"); + userCompanyResponses = basicUdiRelService.findSourceByNameCode(udiEntity.getUdi()); + if (CollUtil.isEmpty(userCompanyResponses)) { + return ResultVOUtils.error(500, "该产品信息未与企业关联!"); } //3.查询产品信息 @@ -144,7 +144,10 @@ public class UdiTraceController extends BaseController { traceProductDetailEntity = udiTraceService.createTracerProductByUdiCode(traceRecordRequest.getUdiCode(), 1, 1, basicUdiRelResponse, udiEntity); traceRecordLogEntity.setTraceProductIdFk(traceProductDetailEntity.getId()); traceRecordService.updateById(traceRecordLogEntity); - udiTraceService.createSourceTraceTask(traceProductDetailEntity, userCompanyEntity.getId()); + for (UserCompanyResponse userCompanyResponse : userCompanyResponses) { + udiTraceService.createSourceTraceTask(traceProductDetailEntity, userCompanyResponse.getId()); + } + } else { //1:校验参数是否正确 @@ -170,9 +173,9 @@ public class UdiTraceController extends BaseController { filterUdiRelRequest.setYlqxzcrbarmc(traceRecordRequest.getYlqxzcrbarmc()); filterUdiRelRequest.setCpmctymc(traceRecordRequest.getCpmctymc()); filterUdiRelRequest.setGgxh(traceRecordRequest.getGgxh()); - userCompanyEntity = basicUdiRelService.findByProduct(filterUdiRelRequest); - if (userCompanyEntity == null) { - return ResultVOUtils.error(500, "生产企业未关联该产品信息!"); + userCompanyResponses = basicUdiRelService.findSourceByNameCode(udiEntity.getUdi()); + if (CollUtil.isEmpty(userCompanyResponses)) { + return ResultVOUtils.error(500, "该产品信息未与企业关联!"); } //3.查询产品信息 @@ -189,7 +192,10 @@ public class UdiTraceController extends BaseController { traceProductDetailEntity = udiTraceService.createTracerProductByBatchNo(traceRecordRequest, 1, 2, basicUdiRelResponse); traceRecordLogEntity.setTraceProductIdFk(traceProductDetailEntity.getId()); traceRecordService.updateById(traceRecordLogEntity); - udiTraceService.createSourceTraceTask(traceProductDetailEntity, userCompanyEntity.getId()); + for (UserCompanyResponse userCompanyResponse : userCompanyResponses) { + udiTraceService.createSourceTraceTask(traceProductDetailEntity, userCompanyResponse.getId()); + } + } // List traceOrderEntities = traceOrderService.findByProductIdFk(traceRecordLogEntity.getTraceProductIdFk()); diff --git a/src/main/java/com/glxp/api/dao/basic/BasicUdiRelMapper.java b/src/main/java/com/glxp/api/dao/basic/BasicUdiRelMapper.java index af294da..588eeb4 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicUdiRelMapper.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicUdiRelMapper.java @@ -5,6 +5,7 @@ import com.glxp.api.entity.basic.BasicUdiRelEntity; import com.glxp.api.entity.sup.UserCompanyEntity; import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.res.basic.BasicUdiRelResponse; +import com.glxp.api.res.sup.UserCompanyResponse; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -17,7 +18,7 @@ public interface BasicUdiRelMapper extends BaseMapper { List filterList(FilterUdiRelRequest filterUdiRelRequest); - UserCompanyEntity findByNameCode(@Param("nameCode") String nameCode); + List findByNameCode(@Param("nameCode") String nameCode); UserCompanyEntity findByProduct(FilterUdiRelRequest filterUdiRelRequest); diff --git a/src/main/java/com/glxp/api/res/sup/UserCompanyResponse.java b/src/main/java/com/glxp/api/res/sup/UserCompanyResponse.java index e5509f9..77883f8 100644 --- a/src/main/java/com/glxp/api/res/sup/UserCompanyResponse.java +++ b/src/main/java/com/glxp/api/res/sup/UserCompanyResponse.java @@ -31,4 +31,7 @@ public class UserCompanyResponse extends UserCompanyEntity { @ApiModelProperty(value = "备注") private String remark; + + + private Integer companyType; } diff --git a/src/main/java/com/glxp/api/service/basic/BasicUdiRelService.java b/src/main/java/com/glxp/api/service/basic/BasicUdiRelService.java index 555defa..9ffcdc5 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicUdiRelService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicUdiRelService.java @@ -7,13 +7,17 @@ import com.github.pagehelper.PageHelper; import com.glxp.api.entity.sup.UserCompanyEntity; import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.res.basic.BasicUdiRelResponse; +import com.glxp.api.res.sup.UserCompanyResponse; +import com.glxp.api.util.IntUtil; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.basic.BasicUdiRelMapper; import com.glxp.api.entity.basic.BasicUdiRelEntity; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service public class BasicUdiRelService extends ServiceImpl { @@ -32,8 +36,28 @@ public class BasicUdiRelService extends ServiceImpl findSourceByNameCode(String nameCode) { + List userCompanyEntities = basicUdiRelMapper.findByNameCode(nameCode); + List manuCompanyList = new ArrayList<>(); + List agentCompanyList = new ArrayList<>(); + if (CollUtil.isNotEmpty(userCompanyEntities)) { + for (UserCompanyResponse userCompanyEntity : userCompanyEntities) { + if (IntUtil.value(userCompanyEntity.getCompanyType()) == 1) {//生产企业 + manuCompanyList.add(userCompanyEntity); + } else { + agentCompanyList.add(userCompanyEntity); + } + } + } + if (CollUtil.isNotEmpty(manuCompanyList)) { + return manuCompanyList.stream().distinct().collect(Collectors.toList()); + } else { + return agentCompanyList.stream().distinct().collect(Collectors.toList()); + } + } - public UserCompanyEntity findByNameCode(String nameCode) { + public List findByNameCode(String nameCode) { return basicUdiRelMapper.findByNameCode(nameCode); } diff --git a/src/main/resources/mybatis/mapper/basic/BasicUdiRelMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicUdiRelMapper.xml index db2c239..a7ba6e0 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicUdiRelMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicUdiRelMapper.xml @@ -98,13 +98,12 @@