diff --git a/src/main/java/com/glxp/api/controller/inout/ioCodeRelController.java b/src/main/java/com/glxp/api/controller/inout/ioCodeRelController.java new file mode 100644 index 00000000..60b59803 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inout/ioCodeRelController.java @@ -0,0 +1,142 @@ +package com.glxp.api.controller.inout; + + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.basic.UdiProductEntity; +import com.glxp.api.entity.inout.IoCodeRelEntity; +import com.glxp.api.req.inout.IoOrderRelRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inout.IoCodeRelResponse; +import com.glxp.api.service.basic.UdiProductService; +import com.glxp.api.service.inout.IoCodeRelService; +import com.glxp.api.util.udi.FilterUdiUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RestController +public class ioCodeRelController { + + @Resource + IoCodeRelService ioCodeRelServicec; + @Resource + UdiProductService udiProductService; + + + @GetMapping("/udi/ioCode/Rel/list") + public BaseResponse list(IoOrderRelRequest ioOrderRelRequest) { + + List list = ioCodeRelServicec.selectIoCodeRelList(ioOrderRelRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udi/ioCode/Rel/checkUpProduct") + public BaseResponse checkUpProduct(String code) { + + + //判断码有没有重复 + List list=ioCodeRelServicec.selectIoCodeRelByCode("",code); + if(list.size()>0){ + return ResultVOUtils.error(999,"此码已做关联!"); + } + + if(StrUtil.isNotEmpty(code)){ + UdiEntity udiEntity=FilterUdiUtils.getGS1Udi(code); + UdiProductEntity udiProductEntity=udiProductService.findByNameCode(udiEntity.getUdi()); + if(udiProductEntity.getPackLevel()!=null){ + if(Integer.valueOf(udiProductEntity.getPackLevel())>1){ + return ResultVOUtils.success(udiProductEntity.getBhxjcpbm()); + } + } + } + return ResultVOUtils.error(999,"扫码错误!"); + } + + @GetMapping("/udi/ioCode/Rel/checkLowProduct") + public BaseResponse checkLowProduct(String upCode,String lowCode) { + + UdiProductEntity udiProductEntity=new UdiProductEntity(); + //查询上级产品信息 + if(StrUtil.isNotEmpty(upCode)){ + UdiEntity udiEntity=FilterUdiUtils.getGS1Udi(upCode); + udiProductEntity=udiProductService.findByNameCode(udiEntity.getUdi()); + } + + //判断码有没有重复 + List list=ioCodeRelServicec.selectIoCodeRelByCode(lowCode,upCode); + if(list.size()>0){ + return ResultVOUtils.error(999,"此码已做关联!"); + } + + //判断条数是否超出 + Long count=ioCodeRelServicec.selectIoCodeRelCount(upCode); + if(count>=udiProductEntity.getBhxjsl()){ + return ResultVOUtils.error(999,"数量超出!"); + } + + //查询下级产品信息 + if(StrUtil.isNotEmpty(lowCode)){ + UdiEntity udiEntity=FilterUdiUtils.getGS1Udi(lowCode); + UdiProductEntity udiProductEntity1=udiProductService.findByNameCode(udiEntity.getUdi()); + if(udiProductEntity!=null){ + if(udiProductEntity1.getNameCode().equals(udiProductEntity.getBhxjcpbm())){ + IoCodeRelEntity ioCodeRelEntity=new IoCodeRelEntity(); + ioCodeRelEntity.setCode(lowCode); + ioCodeRelEntity.setParentCode(upCode); + ioCodeRelEntity.setNameCode(udiProductEntity1.getNameCode()); + ioCodeRelEntity.setDiType(udiProductEntity1.getDiType()); + ioCodeRelEntity.setLevel(udiProductEntity1.getPackLevel()); + ioCodeRelEntity.setProduceDate(udiProductEntity1.getProduceDate()); + ioCodeRelEntity.setExpireDate(udiProductEntity1.getExpireDate()); + ioCodeRelEntity.setSerialNo(udiProductEntity1.getSerialNo()); + ioCodeRelEntity.setCreateTime(new Date()); + ioCodeRelEntity.setUpdateTime(new Date()); + ioCodeRelServicec.insert(ioCodeRelEntity); + return ResultVOUtils.success(); + }else{ + return ResultVOUtils.error(999,"该条码不属于下级产品!"); + } + } + } + return ResultVOUtils.error(999,""); + } + + @GetMapping("/udi/ioCode/Rel/delectList") + public BaseResponse delectList(IoOrderRelRequest ioOrderRelRequest) { + + List list = ioCodeRelServicec.selectIoCodeRelDetailList(ioOrderRelRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @GetMapping("/udi/ioCode/Rel/del") + public BaseResponse del(String code,String parentCode) { + + int count=ioCodeRelServicec.delIoCodeRel(code,parentCode); + if(count>0){ + return ResultVOUtils.success("删除成功"); + }else{ + return ResultVOUtils.error(999,"删除失败"); + } + + } + + +} diff --git a/src/main/java/com/glxp/api/dao/inout/IoCodeRelMapper.java b/src/main/java/com/glxp/api/dao/inout/IoCodeRelMapper.java index 8a585be2..6e25c869 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoCodeRelMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoCodeRelMapper.java @@ -2,8 +2,16 @@ package com.glxp.api.dao.inout; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.inout.IoCodeRelEntity; +import com.glxp.api.req.inout.IoOrderRelRequest; +import com.glxp.api.res.inout.IoCodeRelResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface IoCodeRelMapper extends BaseMapper { + + List selectIoCodeRelList(IoOrderRelRequest ioOrderRelRequest); + + List selectIoCodeRelDetailList(IoOrderRelRequest ioOrderRelRequest); } diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeRelEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeRelEntity.java index c28402c8..d3911862 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeRelEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeRelEntity.java @@ -4,9 +4,10 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.util.Date; import lombok.Data; +import java.util.Date; + /** * 多级包装关联关系表 */ @@ -38,7 +39,7 @@ public class IoCodeRelEntity { * DI类型 */ @TableField(value = "diType") - private Byte diType; + private Integer diType; /** * 主产品DI标识 diff --git a/src/main/java/com/glxp/api/req/inout/IoOrderRelRequest.java b/src/main/java/com/glxp/api/req/inout/IoOrderRelRequest.java new file mode 100644 index 00000000..d5bc7ebb --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/IoOrderRelRequest.java @@ -0,0 +1,19 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + + +@Data +public class IoOrderRelRequest extends ListPageRequest { + + private String code; + private String cpmctymc; + private String nameCode; + private String ggxh; + private String serialNo; + private String startTime; + private String endTime; + private String upCode; + private String parentCode; +} diff --git a/src/main/java/com/glxp/api/res/inout/IoCodeRelResponse.java b/src/main/java/com/glxp/api/res/inout/IoCodeRelResponse.java new file mode 100644 index 00000000..866573d3 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoCodeRelResponse.java @@ -0,0 +1,28 @@ +package com.glxp.api.res.inout; + +import lombok.Data; + +import java.util.Date; + +@Data +public class IoCodeRelResponse { + + + private Integer id; + private String code; + private String parentCode; + private String nameCode; + private Byte diType; + private String mainNameCode; + private String level; + private String produceDate; + private String expireDate; + private String serialNo; + private Date createTime; + private Date updateTime; + private String cpmctymc; + private String ggxh; + private String measname; + private String manufactory; + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoCodeRelService.java b/src/main/java/com/glxp/api/service/inout/IoCodeRelService.java index 421ecf3e..9c04993f 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCodeRelService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCodeRelService.java @@ -1,9 +1,24 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoCodeRelEntity; -import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.req.inout.IoOrderRelRequest; +import com.glxp.api.res.inout.IoCodeRelResponse; + +import java.util.List; public interface IoCodeRelService { + List selectIoCodeRelList(IoOrderRelRequest ioOrderRelRequest); + + int insert(IoCodeRelEntity ioCodeRelEntity); + + List selectIoCodeRelByCode(String code,String parentCode); + + Long selectIoCodeRelCount(String parentCode); + + int delIoCodeRel(String code,String parentCode); + + List selectIoCodeRelDetailList(IoOrderRelRequest ioOrderRelRequest); + } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeRelServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeRelServiceImpl.java index debdb843..a7178316 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeRelServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoCodeRelServiceImpl.java @@ -1,9 +1,90 @@ package com.glxp.api.service.inout.impl; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.inout.IoCodeRelMapper; +import com.glxp.api.entity.inout.IoCodeRelEntity; +import com.glxp.api.req.inout.IoOrderRelRequest; +import com.glxp.api.res.inout.IoCodeRelResponse; import com.glxp.api.service.inout.IoCodeRelService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + @Service public class IoCodeRelServiceImpl implements IoCodeRelService { + @Resource + IoCodeRelMapper ioCodeRelMapper; + + @Override + public List selectIoCodeRelList(IoOrderRelRequest ioOrderRelRequest) { + if (ioOrderRelRequest == null) { + return Collections.emptyList(); + } + if (ioOrderRelRequest.getPage() != null) { + int offset = (ioOrderRelRequest.getPage() - 1) * ioOrderRelRequest.getLimit(); + PageHelper.offsetPage(offset, ioOrderRelRequest.getLimit()); + } + return ioCodeRelMapper.selectIoCodeRelList(ioOrderRelRequest); + } + + @Override + public int insert(IoCodeRelEntity ioCodeRelEntity) { + return ioCodeRelMapper.insert(ioCodeRelEntity); + } + + @Override + public List selectIoCodeRelByCode(String code, String parentCode) { + + QueryWrapper ew=new QueryWrapper<>(); + if(StrUtil.isNotEmpty(code)){ + ew.eq("code",code); + } + if(StrUtil.isNotEmpty(parentCode)){ + ew.eq("parentCode",parentCode); + } + List list=ioCodeRelMapper.selectList(ew); + return list; + } + + @Override + public Long selectIoCodeRelCount(String parentCode) { + + QueryWrapper ew=new QueryWrapper<>(); + if(StrUtil.isNotEmpty(parentCode)){ + ew.eq("parentCode",parentCode); + } + Long count=ioCodeRelMapper.selectCount(ew); + return count; + } + + @Override + public int delIoCodeRel(String code, String parentCode) { + + QueryWrapper ew=new QueryWrapper<>(); + if(StrUtil.isNotEmpty(code)){ + ew.eq("code",code); + } + if(StrUtil.isNotEmpty(parentCode)){ + ew.eq("parentCode",parentCode); + } + int count=ioCodeRelMapper.delete(ew); + return count; + } + @Override + public List selectIoCodeRelDetailList(IoOrderRelRequest ioOrderRelRequest) { + if (ioOrderRelRequest == null) { + return Collections.emptyList(); + } + if (ioOrderRelRequest.getPage() != null) { + int offset = (ioOrderRelRequest.getPage() - 1) * ioOrderRelRequest.getLimit(); + PageHelper.offsetPage(offset, ioOrderRelRequest.getLimit()); + } + return ioCodeRelMapper.selectIoCodeRelDetailList(ioOrderRelRequest); + } + } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index eb401e13..4da96933 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_spms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_spms_wmd?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: 123456 + password: Glxp@6066 hikari: connection-timeout: 60000 maximum-pool-size: 20 diff --git a/src/main/resources/mybatis/mapper/inout/IoCodeRelMapper.xml b/src/main/resources/mybatis/mapper/inout/IoCodeRelMapper.xml index f4970eb4..9fde655b 100644 --- a/src/main/resources/mybatis/mapper/inout/IoCodeRelMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoCodeRelMapper.xml @@ -1,4 +1,68 @@ + + + + +