|
|
|
|
package com.glxp.api.controller.basic;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
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;
|
|
|
|
|
import com.glxp.api.entity.auth.AuthAdmin;
|
|
|
|
|
import com.glxp.api.entity.basic.BasicCorpEntity;
|
|
|
|
|
import com.glxp.api.entity.basic.UdiEntity;
|
|
|
|
|
import com.glxp.api.entity.purchase.PurApplyDetailEntity;
|
|
|
|
|
import com.glxp.api.entity.thrsys.ThrProductsEntity;
|
|
|
|
|
import com.glxp.api.exception.JsonException;
|
|
|
|
|
import com.glxp.api.req.basic.BasicDestinyRelRequest;
|
|
|
|
|
import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest;
|
|
|
|
|
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
|
|
|
|
|
import com.glxp.api.req.basic.FilterUdiRelRequest;
|
|
|
|
|
import com.glxp.api.req.thrsys.FilterThrProductsRequest;
|
|
|
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
|
|
|
import com.glxp.api.res.basic.UdiRelevanceResponse;
|
|
|
|
|
import com.glxp.api.service.auth.AuthAdminService;
|
|
|
|
|
import com.glxp.api.service.auth.CustomerService;
|
|
|
|
|
import com.glxp.api.service.basic.BasicDestinyRelService;
|
|
|
|
|
import com.glxp.api.service.basic.UdiRelevanceService;
|
|
|
|
|
import com.glxp.api.service.thrsys.ThrProductsService;
|
|
|
|
|
import com.glxp.api.util.BeanCopyUtils;
|
|
|
|
|
import com.glxp.api.util.udi.FilterUdiUtils;
|
|
|
|
|
import org.springframework.validation.BindingResult;
|
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
|
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@RestController
|
|
|
|
|
public class BasicDestinyRelController {
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private ThrProductsService thrProductsService;
|
|
|
|
|
@Resource
|
|
|
|
|
private CustomerService customerService;
|
|
|
|
|
@Resource
|
|
|
|
|
private UdiRelevanceService udiRelevanceService;
|
|
|
|
|
@Resource
|
|
|
|
|
private AuthAdminService authAdminService;
|
|
|
|
|
@Resource
|
|
|
|
|
private BasicDestinyRelService basicDestinyRelService;
|
|
|
|
|
|
|
|
|
|
@GetMapping("/udiwms/basic/destiny/model/filter")
|
|
|
|
|
public BaseResponse filterModeldestiny(FilterThrProductsRequest filterThrProductsRequest, BindingResult bindingResult) {
|
|
|
|
|
|
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
|
}
|
|
|
|
|
List<ThrProductsEntity> thrProductsEntities = thrProductsService.filterThrProducts(filterThrProductsRequest);
|
|
|
|
|
PageInfo<ThrProductsEntity> pageInfo = new PageInfo<>(thrProductsEntities);
|
|
|
|
|
PageSimpleResponse<ThrProductsEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(thrProductsEntities);
|
|
|
|
|
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("/udiwms/basic/destiny/model/addModeldestiny")
|
|
|
|
|
public BaseResponse addModeldestiny(@RequestBody ThrProductsEntity thrProductsEntity) {
|
|
|
|
|
|
|
|
|
|
//判断名字和编号不能重复
|
|
|
|
|
QueryWrapper<ThrProductsEntity> ew = new QueryWrapper<>();
|
|
|
|
|
ew.eq("name", thrProductsEntity.getName());
|
|
|
|
|
ew.eq("type", 2);
|
|
|
|
|
long count = thrProductsService.count(ew);
|
|
|
|
|
if (count > 0) {
|
|
|
|
|
return ResultVOUtils.error(999, "名称已存在!");
|
|
|
|
|
}
|
|
|
|
|
ew.clear();
|
|
|
|
|
ew.eq("code", thrProductsEntity.getCode());
|
|
|
|
|
ew.eq("type", 2);
|
|
|
|
|
count = thrProductsService.count(ew);
|
|
|
|
|
if (count > 0) {
|
|
|
|
|
return ResultVOUtils.error(999, "编号已存在!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AuthAdmin authAdmin = customerService.getUserBean();
|
|
|
|
|
thrProductsEntity.setId(IdUtil.getSnowflakeNextId());
|
|
|
|
|
thrProductsEntity.setType(2);
|
|
|
|
|
thrProductsEntity.setCreateTime(new Date());
|
|
|
|
|
thrProductsEntity.setUpdateTime(new Date());
|
|
|
|
|
thrProductsEntity.setCreateUser(authAdmin.getId() + "");
|
|
|
|
|
thrProductsEntity.setUpdateUser(authAdmin.getId() + "");
|
|
|
|
|
|
|
|
|
|
Boolean falg = thrProductsService.insertThrProducts(thrProductsEntity);
|
|
|
|
|
if (!falg) {
|
|
|
|
|
return ResultVOUtils.error(999, "新增失败!");
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("/udiwms/basic/destiny/model/editModeldestiny")
|
|
|
|
|
public BaseResponse editModeldestiny(@RequestBody ThrProductsEntity thrProductsEntity) {
|
|
|
|
|
|
|
|
|
|
//判断名字和编号不能重复
|
|
|
|
|
QueryWrapper<ThrProductsEntity> ew = new QueryWrapper<>();
|
|
|
|
|
ew.eq("name", thrProductsEntity.getName());
|
|
|
|
|
ew.eq("type", 2);
|
|
|
|
|
ThrProductsEntity thrProductsEntity1 = thrProductsService.getOne(ew);
|
|
|
|
|
if (thrProductsEntity1 != null && !thrProductsEntity1.getId().equals(thrProductsEntity.getId())) {
|
|
|
|
|
return ResultVOUtils.error(999, "名称已存在!");
|
|
|
|
|
}
|
|
|
|
|
ew.clear();
|
|
|
|
|
ew.eq("code", thrProductsEntity.getCode());
|
|
|
|
|
ew.eq("type", 2);
|
|
|
|
|
thrProductsEntity1 = thrProductsService.getOne(ew);
|
|
|
|
|
if (thrProductsEntity1 != null && !thrProductsEntity1.getId().equals(thrProductsEntity.getId())) {
|
|
|
|
|
return ResultVOUtils.error(999, "编号已存在!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AuthAdmin authAdmin = customerService.getUserBean();
|
|
|
|
|
thrProductsEntity.setUpdateTime(new Date());
|
|
|
|
|
thrProductsEntity.setUpdateUser(authAdmin.getId() + "");
|
|
|
|
|
|
|
|
|
|
Boolean falg = thrProductsService.updateById(thrProductsEntity);
|
|
|
|
|
if (!falg) {
|
|
|
|
|
return ResultVOUtils.error(999, "编辑失败!");
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("/udiwms/basic/destiny/model/delectModeldestiny")
|
|
|
|
|
public BaseResponse delectModeldestiny(@RequestBody ThrProductsEntity thrProductsEntity) {
|
|
|
|
|
|
|
|
|
|
Boolean falg = thrProductsService.deleteById(thrProductsEntity.getId() + "");
|
|
|
|
|
if (!falg) {
|
|
|
|
|
return ResultVOUtils.error(999, "删除失败!");
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查询产品信息
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@GetMapping("/udiwms/basic/destiny/model/product/filter")
|
|
|
|
|
public BaseResponse filterDestinyProduct(CompanyProductRelevanceRequest companyProductRelevanceRequest, BindingResult bindingResult) {
|
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
|
}
|
|
|
|
|
if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getCustomerId())) {
|
|
|
|
|
String customerId = getCustomerId();
|
|
|
|
|
if (customerId.equals("110")) {
|
|
|
|
|
companyProductRelevanceRequest.setCustomerId(null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
companyProductRelevanceRequest.setIsDisable(false);
|
|
|
|
|
if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUdiCode())) {
|
|
|
|
|
UdiEntity udiEntity = FilterUdiUtils.getUdi(companyProductRelevanceRequest.getUdiCode());
|
|
|
|
|
if (udiEntity != null) {
|
|
|
|
|
companyProductRelevanceRequest.setNameCode(udiEntity.getUdi());
|
|
|
|
|
companyProductRelevanceRequest.setUnionCode(udiEntity.getUdi());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//如果输入DI标识,精确找到不同层级对应的产品信息
|
|
|
|
|
if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUnionCode())) {
|
|
|
|
|
FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest();
|
|
|
|
|
filterUdiInfoRequest.setNameCode(companyProductRelevanceRequest.getUnionCode());
|
|
|
|
|
List<UdiRelevanceResponse> temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
|
|
|
|
|
if (temps != null && temps.size() > 0) {
|
|
|
|
|
companyProductRelevanceRequest.setOriginUuid(temps.get(0).getOriginUuid());
|
|
|
|
|
companyProductRelevanceRequest.setNameCode(filterUdiInfoRequest.getNameCode());
|
|
|
|
|
companyProductRelevanceRequest.setUnionCode(null);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
//只查找主标识产品信息
|
|
|
|
|
companyProductRelevanceRequest.setDiType(1);
|
|
|
|
|
}
|
|
|
|
|
//查询详情id过滤
|
|
|
|
|
List<Long> idList = basicDestinyRelService.filterDestinyRelIds(Long.valueOf(companyProductRelevanceRequest.getId()));
|
|
|
|
|
|
|
|
|
|
List<UdiRelevanceResponse> basicInstrumentMaintainRelevanceResponses = null;
|
|
|
|
|
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
|
|
|
|
|
BeanCopyUtils.copy(companyProductRelevanceRequest, filterUdiRelRequest);
|
|
|
|
|
if (idList.size() > 0) {
|
|
|
|
|
filterUdiRelRequest.setIds(idList);
|
|
|
|
|
}
|
|
|
|
|
basicInstrumentMaintainRelevanceResponses = basicDestinyRelService.filterUdiJoinSup(filterUdiRelRequest);
|
|
|
|
|
PageInfo<UdiRelevanceResponse> pageInfo;
|
|
|
|
|
pageInfo = new PageInfo<>(basicInstrumentMaintainRelevanceResponses);
|
|
|
|
|
PageSimpleResponse<UdiRelevanceResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(basicInstrumentMaintainRelevanceResponses);
|
|
|
|
|
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String getCustomerId() {
|
|
|
|
|
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
|
|
|
|
if (attributes == null) {
|
|
|
|
|
throw new JsonException(ResultEnum.NOT_NETWORK);
|
|
|
|
|
}
|
|
|
|
|
HttpServletRequest request = attributes.getRequest();
|
|
|
|
|
String userId = request.getHeader("ADMIN_ID");
|
|
|
|
|
AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId));
|
|
|
|
|
return authAdmin.getCustomerId() + "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("/udiwms/basic/destiny/model/addModeldestinyProduct")
|
|
|
|
|
public BaseResponse addModeldestinyProduct(@RequestBody BasicDestinyRelRequest basicDestinyRelRequest) {
|
|
|
|
|
|
|
|
|
|
Boolean falg = basicDestinyRelService.addModeldestinyProduct(basicDestinyRelRequest);
|
|
|
|
|
|
|
|
|
|
if (!falg) {
|
|
|
|
|
return ResultVOUtils.error(999, "选入失败!");
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/udiwms/basic/destiny/model/filterDestinyDelect")
|
|
|
|
|
public BaseResponse filterDestinyDelect(FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) {
|
|
|
|
|
|
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
|
}
|
|
|
|
|
List<UdiRelevanceResponse> thrProductsEntities = new ArrayList<>();
|
|
|
|
|
//查询详情id过滤
|
|
|
|
|
List<Long> idList = basicDestinyRelService.filterDestinyRelIds(Long.valueOf(filterUdiRelRequest.getId()));
|
|
|
|
|
if (idList != null && idList.size() > 0) {
|
|
|
|
|
filterUdiRelRequest.setDestinyId(filterUdiRelRequest.getId()+"");
|
|
|
|
|
filterUdiRelRequest.setIds(idList);
|
|
|
|
|
filterUdiRelRequest.setDiType(1);
|
|
|
|
|
thrProductsEntities = basicDestinyRelService.filterDestinyProducts(filterUdiRelRequest);
|
|
|
|
|
int i=0;
|
|
|
|
|
for (UdiRelevanceResponse thrProductsEntity : thrProductsEntities) {
|
|
|
|
|
thrProductsEntity.setIndex(i);
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
PageInfo<UdiRelevanceResponse> pageInfo = new PageInfo<>(thrProductsEntities);
|
|
|
|
|
PageSimpleResponse<UdiRelevanceResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(thrProductsEntities);
|
|
|
|
|
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/udiwms/basic/destiny/model/delectModeldestinyProduct")
|
|
|
|
|
public BaseResponse delectModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) {
|
|
|
|
|
|
|
|
|
|
Boolean falg = basicDestinyRelService.delectModeldestinyProduct(basicDestinyRelRequest);
|
|
|
|
|
|
|
|
|
|
if (!falg) {
|
|
|
|
|
return ResultVOUtils.error(999, "删除失败!");
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("/udiwms/basic/destiny/model/uploadModeldestinyProduct")
|
|
|
|
|
public BaseResponse uploadModeldestinyProduct(@RequestBody BasicDestinyRelRequest basicDestinyRelRequest) {
|
|
|
|
|
|
|
|
|
|
Boolean falg = basicDestinyRelService.uploadModeldestinyProduct(basicDestinyRelRequest);
|
|
|
|
|
|
|
|
|
|
if (!falg) {
|
|
|
|
|
return ResultVOUtils.error(999, "更新失败!");
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|