package com.glxp.api.controller.inout; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.Log; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; 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.getUdi(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") @Log(title = "单据管理", businessType = BusinessType.INSERT) 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") @Log(title = "单据管理", businessType = BusinessType.DELETE) public BaseResponse del(String code, String parentCode) { int count = ioCodeRelServicec.delIoCodeRel(code, parentCode); if (count > 0) { return ResultVOUtils.success("删除成功"); } else { return ResultVOUtils.error(999, "删除失败"); } } }