修改源头查询方式

cert
anthonywj 2 years ago
parent 0747be568f
commit 850e732c3c

@ -21,6 +21,7 @@ import com.glxp.api.req.trace.TraceManuOrderUploadRequest;
import com.glxp.api.req.trace.TraceOrderUploadRequest; import com.glxp.api.req.trace.TraceOrderUploadRequest;
import com.glxp.api.req.trace.TraceRecordRequest; import com.glxp.api.req.trace.TraceRecordRequest;
import com.glxp.api.res.basic.BasicUdiRelResponse; 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.res.trace.TraceSearchReponse;
import com.glxp.api.service.basic.BasicUdiRelService; import com.glxp.api.service.basic.BasicUdiRelService;
import com.glxp.api.service.sup.UserCompanyService; import com.glxp.api.service.sup.UserCompanyService;
@ -110,7 +111,7 @@ public class UdiTraceController extends BaseController {
TraceProductDetailEntity traceProductDetailEntity = null; TraceProductDetailEntity traceProductDetailEntity = null;
BasicUdiRelResponse basicUdiRelResponse = null; BasicUdiRelResponse basicUdiRelResponse = null;
UdiEntity udiEntity = null; UdiEntity udiEntity = null;
UserCompanyEntity userCompanyEntity = null; List<UserCompanyResponse> userCompanyResponses = null;
if (StrUtil.isNotEmpty(traceRecordRequest.getUdiCode())) { if (StrUtil.isNotEmpty(traceRecordRequest.getUdiCode())) {
traceRecordRequest.setTraceType(Constant.UDI_TRACE); traceRecordRequest.setTraceType(Constant.UDI_TRACE);
@ -123,10 +124,9 @@ public class UdiTraceController extends BaseController {
} }
//2.查询源头企业 //2.查询源头企业
System.out.println(udiEntity.getUdi()); userCompanyResponses = basicUdiRelService.findSourceByNameCode(udiEntity.getUdi());
userCompanyEntity = basicUdiRelService.findByNameCode(udiEntity.getUdi()); if (CollUtil.isEmpty(userCompanyResponses)) {
if (userCompanyEntity == null) { return ResultVOUtils.error(500, "该产品信息未与企业关联!");
return ResultVOUtils.error(500, "生产企业未关联该产品信息!");
} }
//3.查询产品信息 //3.查询产品信息
@ -144,7 +144,10 @@ public class UdiTraceController extends BaseController {
traceProductDetailEntity = udiTraceService.createTracerProductByUdiCode(traceRecordRequest.getUdiCode(), 1, 1, basicUdiRelResponse, udiEntity); traceProductDetailEntity = udiTraceService.createTracerProductByUdiCode(traceRecordRequest.getUdiCode(), 1, 1, basicUdiRelResponse, udiEntity);
traceRecordLogEntity.setTraceProductIdFk(traceProductDetailEntity.getId()); traceRecordLogEntity.setTraceProductIdFk(traceProductDetailEntity.getId());
traceRecordService.updateById(traceRecordLogEntity); traceRecordService.updateById(traceRecordLogEntity);
udiTraceService.createSourceTraceTask(traceProductDetailEntity, userCompanyEntity.getId()); for (UserCompanyResponse userCompanyResponse : userCompanyResponses) {
udiTraceService.createSourceTraceTask(traceProductDetailEntity, userCompanyResponse.getId());
}
} else { } else {
//1:校验参数是否正确 //1:校验参数是否正确
@ -170,9 +173,9 @@ public class UdiTraceController extends BaseController {
filterUdiRelRequest.setYlqxzcrbarmc(traceRecordRequest.getYlqxzcrbarmc()); filterUdiRelRequest.setYlqxzcrbarmc(traceRecordRequest.getYlqxzcrbarmc());
filterUdiRelRequest.setCpmctymc(traceRecordRequest.getCpmctymc()); filterUdiRelRequest.setCpmctymc(traceRecordRequest.getCpmctymc());
filterUdiRelRequest.setGgxh(traceRecordRequest.getGgxh()); filterUdiRelRequest.setGgxh(traceRecordRequest.getGgxh());
userCompanyEntity = basicUdiRelService.findByProduct(filterUdiRelRequest); userCompanyResponses = basicUdiRelService.findSourceByNameCode(udiEntity.getUdi());
if (userCompanyEntity == null) { if (CollUtil.isEmpty(userCompanyResponses)) {
return ResultVOUtils.error(500, "生产企业未关联该产品信息"); return ResultVOUtils.error(500, "该产品信息未与企业关联");
} }
//3.查询产品信息 //3.查询产品信息
@ -189,7 +192,10 @@ public class UdiTraceController extends BaseController {
traceProductDetailEntity = udiTraceService.createTracerProductByBatchNo(traceRecordRequest, 1, 2, basicUdiRelResponse); traceProductDetailEntity = udiTraceService.createTracerProductByBatchNo(traceRecordRequest, 1, 2, basicUdiRelResponse);
traceRecordLogEntity.setTraceProductIdFk(traceProductDetailEntity.getId()); traceRecordLogEntity.setTraceProductIdFk(traceProductDetailEntity.getId());
traceRecordService.updateById(traceRecordLogEntity); traceRecordService.updateById(traceRecordLogEntity);
udiTraceService.createSourceTraceTask(traceProductDetailEntity, userCompanyEntity.getId()); for (UserCompanyResponse userCompanyResponse : userCompanyResponses) {
udiTraceService.createSourceTraceTask(traceProductDetailEntity, userCompanyResponse.getId());
}
} }
// List<TraceOrderEntity> traceOrderEntities = traceOrderService.findByProductIdFk(traceRecordLogEntity.getTraceProductIdFk()); // List<TraceOrderEntity> traceOrderEntities = traceOrderService.findByProductIdFk(traceRecordLogEntity.getTraceProductIdFk());

@ -5,6 +5,7 @@ import com.glxp.api.entity.basic.BasicUdiRelEntity;
import com.glxp.api.entity.sup.UserCompanyEntity; import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.BasicUdiRelResponse; 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.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -17,7 +18,7 @@ public interface BasicUdiRelMapper extends BaseMapper<BasicUdiRelEntity> {
List<BasicUdiRelResponse> filterList(FilterUdiRelRequest filterUdiRelRequest); List<BasicUdiRelResponse> filterList(FilterUdiRelRequest filterUdiRelRequest);
UserCompanyEntity findByNameCode(@Param("nameCode") String nameCode); List<UserCompanyResponse> findByNameCode(@Param("nameCode") String nameCode);
UserCompanyEntity findByProduct(FilterUdiRelRequest filterUdiRelRequest); UserCompanyEntity findByProduct(FilterUdiRelRequest filterUdiRelRequest);

@ -31,4 +31,7 @@ public class UserCompanyResponse extends UserCompanyEntity {
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
private Integer companyType;
} }

@ -7,13 +7,17 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.sup.UserCompanyEntity; import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.BasicUdiRelResponse; 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 org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.basic.BasicUdiRelMapper; import com.glxp.api.dao.basic.BasicUdiRelMapper;
import com.glxp.api.entity.basic.BasicUdiRelEntity; import com.glxp.api.entity.basic.BasicUdiRelEntity;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
@Service @Service
public class BasicUdiRelService extends ServiceImpl<BasicUdiRelMapper, BasicUdiRelEntity> { public class BasicUdiRelService extends ServiceImpl<BasicUdiRelMapper, BasicUdiRelEntity> {
@ -32,8 +36,28 @@ public class BasicUdiRelService extends ServiceImpl<BasicUdiRelMapper, BasicUdiR
return basicUdiRelMapper.filterList(filterUdiRelRequest); return basicUdiRelMapper.filterList(filterUdiRelRequest);
} }
//查找源头企业1.先找出生产企业2.找出代理商与购买方
public List<UserCompanyResponse> findSourceByNameCode(String nameCode) {
List<UserCompanyResponse> userCompanyEntities = basicUdiRelMapper.findByNameCode(nameCode);
List<UserCompanyResponse> manuCompanyList = new ArrayList<>();
List<UserCompanyResponse> 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<UserCompanyResponse> findByNameCode(String nameCode) {
return basicUdiRelMapper.findByNameCode(nameCode); return basicUdiRelMapper.findByNameCode(nameCode);
} }

@ -98,13 +98,12 @@
<select id="findByNameCode" parameterType="java.lang.String" <select id="findByNameCode" parameterType="java.lang.String"
resultType="com.glxp.api.entity.sup.UserCompanyEntity"> resultType="com.glxp.api.res.sup.UserCompanyResponse">
select user_company.* select user_company.*, basic_udi_rel.companyType
from basic_udi_rel from basic_udi_rel
INNER JOIN basic_udi_product on basic_udi_rel.uuid = basic_udi_product.uuid INNER JOIN basic_udi_product on basic_udi_rel.uuid = basic_udi_product.uuid
INNER JOIN user_company on basic_udi_rel.companyIdFk = user_company.id INNER JOIN user_company on basic_udi_rel.companyIdFk = user_company.id
where basic_udi_product.nameCode = #{nameCode} where basic_udi_product.nameCode = #{nameCode}
limit 1
</select> </select>

Loading…
Cancel
Save