diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectCodeBackupController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectCodeBackupController.java index 5dbecbe93..42f7b984f 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectCodeBackupController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectCodeBackupController.java @@ -3,6 +3,7 @@ package com.glxp.api.controller.collect; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -10,6 +11,7 @@ import com.glxp.api.controller.BaseController; import com.glxp.api.entity.collect.IoCollectCodeBackup; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.req.collect.IoCollectCodeRequest; +import com.glxp.api.req.inout.FilterCodeRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.collect.IoCollectCodeResponse; import com.glxp.api.service.collect.IoCollectCodeBackService; @@ -23,6 +25,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; @Slf4j @@ -99,4 +104,30 @@ public class IoCollectCodeBackupController extends BaseController { return ResultVOUtils.success("更新成功"); } + @GetMapping("/udiwms/basic/collect/ioCollectCode/endList") + public BaseResponse filterList(IoCollectCodeRequest request) { + List ioCollectCodeResponses = ioCollectCodeBackService.filterList(request); + PageInfo pageInfo = new PageInfo<>(ioCollectCodeResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(ioCollectCodeResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/basic/collect/ioCollectCode/checkCode") + public BaseResponse checkCode(@RequestBody IoCollectCodeRequest filterCodeRequest){ + ExecutorService executor = Executors.newSingleThreadExecutor(); + Future future = executor.submit(() -> ioCollectCodeBackService.CheckCode(filterCodeRequest)); + BaseResponse response = null; + try { + response = future.get(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + executor.shutdown(); + } + return response; + } + } diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeController.java index 8de8267bf..f3fac496c 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeController.java @@ -93,21 +93,7 @@ public class IoCodeController extends BaseController { return ResultVOUtils.page(pageInfo); } - @AuthRuleAnnotation("") - @PostMapping("warehouse/inout/checkCode") - public BaseResponse checkCode(@RequestBody FilterCodeRequest filterCodeRequest){ - ExecutorService executor = Executors.newSingleThreadExecutor(); - Future future = executor.submit(() -> ioCodeService.CheckCode(filterCodeRequest)); - BaseResponse response = null; - try { - response = future.get(); - } catch (Exception e) { - e.printStackTrace(); - } finally { - executor.shutdown(); - } - return response; - } + } diff --git a/src/main/java/com/glxp/api/req/collect/IoCollectCodeRequest.java b/src/main/java/com/glxp/api/req/collect/IoCollectCodeRequest.java index e3044916c..3170062d7 100644 --- a/src/main/java/com/glxp/api/req/collect/IoCollectCodeRequest.java +++ b/src/main/java/com/glxp/api/req/collect/IoCollectCodeRequest.java @@ -3,6 +3,8 @@ package com.glxp.api.req.collect; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; +import java.util.List; + /** * @author : zhangsan * @date : 2024/8/26 16:29 @@ -17,5 +19,6 @@ public class IoCollectCodeRequest extends ListPageRequest { private String billNo; private String fromType; private String fromCorp; + private List codeList; } diff --git a/src/main/java/com/glxp/api/res/collect/IoCollectCodeResponse.java b/src/main/java/com/glxp/api/res/collect/IoCollectCodeResponse.java index 3697044f7..e3689d33c 100644 --- a/src/main/java/com/glxp/api/res/collect/IoCollectCodeResponse.java +++ b/src/main/java/com/glxp/api/res/collect/IoCollectCodeResponse.java @@ -106,5 +106,8 @@ public class IoCollectCodeResponse { private String ylqxzcrbarmc; private String relId; private Date billTime; - + private String batchNo; + private String productDate; + private String expireDate; + private Integer scanActCount; } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectCodeBackService.java b/src/main/java/com/glxp/api/service/collect/IoCollectCodeBackService.java index 1a233a30a..4d44a4864 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectCodeBackService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectCodeBackService.java @@ -1,20 +1,43 @@ package com.glxp.api.service.collect; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.dao.collect.IoCollectCodeBackMapper; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.collect.*; +import com.glxp.api.entity.inout.IoCodeEntity; import com.glxp.api.req.collect.IoCollectCodeRequest; +import com.glxp.api.req.inout.FilterCodeRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.collect.IoCollectCodeResponse; +import com.glxp.api.res.inout.AddEnterCodeResponse; +import com.glxp.api.res.inout.VailCodeResultResponse; +import com.glxp.api.service.basic.UdiProductService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.util.udi.FilterUdiUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @Service public class IoCollectCodeBackService extends ServiceImpl { + @Resource + IoCollectCodeBackMapper ioCollectCodeBackMapper; + + @Resource + UdiRelevanceService udiRelevanceService; + /** * 追溯码查询 * @@ -31,4 +54,60 @@ public class IoCollectCodeBackService extends ServiceImpl() + .eq(IoCollectCodeBackup::getBillNo, filterCodeRequest.getBillNo()) + .eq(IoCollectCodeBackup::getCode, filterCodeRequest.getCode())); + if (ioCollectCodeBackup == null){ + BaseResponse response = new BaseResponse(); + response.setData(filterCodeRequest.getCode()); + response.setCode(500); + response.setMessage("追溯码不存在"); + return response; + } + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeRequest.getCode()); + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); + udiEntity.setCode(filterCodeRequest.getCode()); + + AddEnterCodeResponse addEnterCodeResponse = setAddEnterCodeResponse(udiEntity, udiRelevanceResponse); + return ResultVOUtils.success(addEnterCodeResponse); + }else { + List vailCodeResultResponses = new ArrayList<>(); + for (String code : filterCodeRequest.getCodeList()){ + IoCollectCodeBackup ioCollectCodeBackup = ioCollectCodeBackMapper.selectOne(new LambdaQueryWrapper() + .eq(IoCollectCodeBackup::getBillNo, filterCodeRequest.getBillNo()) + .eq(IoCollectCodeBackup::getCode, code)); + VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse(); + if (ioCollectCodeBackup != null){ + vailCodeResultResponse.setStatus(1); + vailCodeResultResponse.setCode(code); + vailCodeResultResponse.setSucMsg("校验成功"); + vailCodeResultResponses.add(vailCodeResultResponse); + }else { + vailCodeResultResponse.setStatus(2); + vailCodeResultResponse.setCode(code); + vailCodeResultResponse.setErrMsg("追溯码不存在"); + vailCodeResultResponses.add(vailCodeResultResponse); + } + } + return ResultVOUtils.success(vailCodeResultResponses); + } + + } + + public AddEnterCodeResponse setAddEnterCodeResponse(UdiEntity udiEntity, UdiRelevanceResponse checkUdi) { + AddEnterCodeResponse addEnterCodeResponse = new AddEnterCodeResponse(); + BeanUtils.copyProperties(udiEntity, addEnterCodeResponse); + addEnterCodeResponse.setBzgg(checkUdi.getBzgg()); + addEnterCodeResponse.setCpmctymc(checkUdi.getCpmctymc()); + addEnterCodeResponse.setPrepnSpec(checkUdi.getPrepnSpec()); + addEnterCodeResponse.setPrepnUnit(checkUdi.getPrepnUnit()); + addEnterCodeResponse.setPackUnit(checkUdi.getPackUnit()); + addEnterCodeResponse.setGgxh(checkUdi.getGgxh()); + return addEnterCodeResponse; + } } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeService.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeService.java index aefc8deed..d9106e4b3 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoCodeService.java @@ -163,44 +163,4 @@ public class IoCodeService extends ServiceImpl { return ioCodeResponses; } - - public BaseResponse CheckCode(FilterCodeRequest filterCodeRequest) { - //判断 - if (StrUtil.isNotEmpty(filterCodeRequest.getCode())){ - IoCodeEntity ioCodeEntity = ioCodeDao.selectOne(new LambdaQueryWrapper() - .eq(IoCodeEntity::getOrderId, filterCodeRequest.getOrderId()) - .eq(IoCodeEntity::getCode, filterCodeRequest.getCode())); - if (ioCodeEntity == null){ - BaseResponse response = new BaseResponse(); - response.setData(filterCodeRequest.getCode()); - response.setCode(500); - response.setMessage("追溯码不存在"); - return response; - } - UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeRequest.getCode()); - udiEntity.setCode(filterCodeRequest.getCode()); - return ResultVOUtils.success(udiEntity); - }else { - List vailCodeResultResponses = new ArrayList<>(); - for (String code : filterCodeRequest.getCodeList()){ - IoCodeEntity ioCodeEntity = ioCodeDao.selectOne(new LambdaQueryWrapper() - .eq(IoCodeEntity::getOrderId, filterCodeRequest.getOrderId()) - .eq(IoCodeEntity::getCode, code)); - VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse(); - if (ioCodeEntity != null){ - vailCodeResultResponse.setStatus(1); - vailCodeResultResponse.setCode(code); - vailCodeResultResponse.setSucMsg("校验成功"); - vailCodeResultResponses.add(vailCodeResultResponse); - }else { - vailCodeResultResponse.setStatus(2); - vailCodeResultResponse.setCode(code); - vailCodeResultResponse.setErrMsg("追溯码不存在"); - vailCodeResultResponses.add(vailCodeResultResponse); - } - } - return ResultVOUtils.success(vailCodeResultResponses); - } - - } } diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectCodeBackMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectCodeBackMapper.xml index 690a247c9..8131f1ee8 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectCodeBackMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectCodeBackMapper.xml @@ -10,13 +10,18 @@ COALESCE(bp.ggxh, bp.bzgg) AS ggxh, bp.zczbhhzbapzbh, bp.ylqxzcrbarmc, - bp.manufactory + bp.manufactory, + icobb.batchNo, + icobb.productDate, + icobb.expireDate, + icobb.scanActCount from io_collect_code_backup iccb left join sys_workplace sw on sw.workplaceId = iccb.workPlaceCode left join thr_bustype_origin on iccb.busType = thr_bustype_origin.action left join basic_bussiness_type on iccb.busType = basic_bussiness_type.action left join basic_udirel bu on iccb.relId = bu.id left join basic_products bp on bu.uuid = bp.uuid + left join io_collect_order_biz_backup icobb on icobb.orderIdFk = iccb.billNo AND iccb.workPlaceCode LIKE concat('%', #{workPlaceCode}, '%')