You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-wms-java/src/main/java/com/glxp/api/controller/inout/ioCodeRelController.java

147 lines
5.9 KiB
Java

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<IoCodeRelResponse> list = ioCodeRelServicec.selectIoCodeRelList(ioOrderRelRequest);
PageInfo<IoCodeRelResponse> pageInfo;
pageInfo = new PageInfo<>(list);
PageSimpleResponse<IoCodeRelResponse> 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<IoCodeRelEntity> 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<IoCodeRelEntity> 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<IoCodeRelResponse> list = ioCodeRelServicec.selectIoCodeRelDetailList(ioOrderRelRequest);
PageInfo<IoCodeRelResponse> pageInfo;
pageInfo = new PageInfo<>(list);
PageSimpleResponse<IoCodeRelResponse> 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, "删除失败");
}
}
}