|
|
|
@ -2,14 +2,25 @@ package com.glxp.sale.admin.controller.inout;
|
|
|
|
|
|
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
import com.glxp.sale.admin.annotation.AuthRuleAnnotation;
|
|
|
|
|
import com.glxp.sale.admin.entity.basic.UdiInfoEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inout.OrderEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inout.WarehouseEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.udid.UdiEntity;
|
|
|
|
|
import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest;
|
|
|
|
|
import com.glxp.sale.admin.req.inout.WarehouseQueryRequest;
|
|
|
|
|
import com.glxp.sale.admin.req.inventory.FilterCodeTraceRequest;
|
|
|
|
|
import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest;
|
|
|
|
|
import com.glxp.sale.admin.res.PageSimpleResponse;
|
|
|
|
|
import com.glxp.sale.admin.res.basic.UdiRelevanceResponse;
|
|
|
|
|
import com.glxp.sale.admin.res.inout.UdiTraceResponse;
|
|
|
|
|
import com.glxp.sale.admin.res.inventory.InvProductPageRespnonse;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.UdiInfoService;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.UdiRelevanceService;
|
|
|
|
|
import com.glxp.sale.admin.service.inout.CodesService;
|
|
|
|
|
import com.glxp.sale.admin.service.inout.OrderService;
|
|
|
|
|
import com.glxp.sale.admin.service.inventory.InvProductDetailService;
|
|
|
|
|
import com.glxp.sale.admin.util.FilterUdiUtils;
|
|
|
|
|
import com.glxp.sale.common.res.BaseResponse;
|
|
|
|
|
import com.glxp.sale.common.util.ResultVOUtils;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
@ -17,7 +28,10 @@ import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@RestController
|
|
|
|
@ -27,10 +41,91 @@ public class UdiTraceController {
|
|
|
|
|
private CodesService warehouseService;
|
|
|
|
|
@Resource
|
|
|
|
|
UdiRelevanceService udiRelevanceService;
|
|
|
|
|
@Resource
|
|
|
|
|
private UdiInfoService udiInfoService;
|
|
|
|
|
@Resource
|
|
|
|
|
InvProductDetailService invProductDetailService;
|
|
|
|
|
@Resource
|
|
|
|
|
OrderService orderService;
|
|
|
|
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@GetMapping("udiwarehouse/trace/filter")
|
|
|
|
|
public BaseResponse list(WarehouseQueryRequest warehouseQueryRequest) {
|
|
|
|
|
public BaseResponse list(FilterCodeTraceRequest filterCodeTraceRequest) {
|
|
|
|
|
if (filterCodeTraceRequest.getCode() == null) {
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeTraceRequest.getCode());
|
|
|
|
|
if (udiEntity == null) {
|
|
|
|
|
return ResultVOUtils.error(500, "无效条码");
|
|
|
|
|
}
|
|
|
|
|
UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
|
|
|
|
|
if (udiInfoBean == null) {
|
|
|
|
|
return ResultVOUtils.error(500, "耗材字典不存在此产品!");
|
|
|
|
|
}
|
|
|
|
|
List<UdiInfoEntity> udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid());
|
|
|
|
|
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
|
|
|
|
|
if (udiInfoEntities != null && udiInfoEntities.size() > 1) {
|
|
|
|
|
filterInvProductDetailRequest.setProductIdFk(udiInfoBean.getId() + "");
|
|
|
|
|
filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo());
|
|
|
|
|
} else {
|
|
|
|
|
filterInvProductDetailRequest.setOriginCode(filterCodeTraceRequest.getCode());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId());
|
|
|
|
|
List<InvProductDetailEntity> invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductDetailRequest);
|
|
|
|
|
if (invProductDetailEntities.size() > 0) {
|
|
|
|
|
Map<String, String> filterMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
|
|
|
|
|
filterMap.put(invProductDetailEntity.getOrderIdFk(), invProductDetailEntity.getOrderIdFk());
|
|
|
|
|
}
|
|
|
|
|
List<String> orderIds = new ArrayList<>();
|
|
|
|
|
for (String key : filterMap.keySet()) {
|
|
|
|
|
orderIds.add(key);
|
|
|
|
|
}
|
|
|
|
|
List<OrderEntity> orderEntities = orderService.filterListByOrder(orderIds);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
|
|
|
|
|
filterUdiInfoRequest.setNameCode(udiEntity.getUdi());
|
|
|
|
|
List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
|
|
|
|
|
UdiRelevanceResponse udiRelevance = null;
|
|
|
|
|
if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) {
|
|
|
|
|
udiRelevance = udiRelevanceResponses.get(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UdiRelevanceResponse finalUdiRelevance = udiRelevance;
|
|
|
|
|
List<UdiTraceResponse> udiTraceResponseList = orderEntities.stream().map(item ->
|
|
|
|
|
{
|
|
|
|
|
UdiTraceResponse udiTraceResponse = new UdiTraceResponse();
|
|
|
|
|
BeanUtils.copyProperties(item, udiTraceResponse);
|
|
|
|
|
if (finalUdiRelevance != null) {
|
|
|
|
|
udiTraceResponse.setYlqxzcrbarmc(finalUdiRelevance.getYlqxzcrbarmc());
|
|
|
|
|
udiTraceResponse.setCpmctymc(finalUdiRelevance.getCpmctymc());
|
|
|
|
|
udiTraceResponse.setGgxh(finalUdiRelevance.getGgxh());
|
|
|
|
|
udiTraceResponse.setOrderId(item.getId());
|
|
|
|
|
}
|
|
|
|
|
return udiTraceResponse;
|
|
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PageInfo<UdiTraceResponse> pageInfo;
|
|
|
|
|
pageInfo = new PageInfo<>(udiTraceResponseList);
|
|
|
|
|
PageSimpleResponse<UdiTraceResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(udiTraceResponseList);
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
} else {
|
|
|
|
|
return ResultVOUtils.error(500, "未查询到数据!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@GetMapping("udiwarehouse/trace/filterOld")
|
|
|
|
|
public BaseResponse filterOld(WarehouseQueryRequest warehouseQueryRequest) {
|
|
|
|
|
List<WarehouseEntity> warehouseEntityList = warehouseService.findByOrderId(warehouseQueryRequest);
|
|
|
|
|
if (warehouseEntityList != null && warehouseEntityList.size() > 0) {
|
|
|
|
|
WarehouseEntity warehouseEntity = warehouseEntityList.get(0);
|
|
|
|
@ -48,7 +143,7 @@ public class UdiTraceController {
|
|
|
|
|
{
|
|
|
|
|
UdiTraceResponse udiTraceResponse = new UdiTraceResponse();
|
|
|
|
|
BeanUtils.copyProperties(item, udiTraceResponse);
|
|
|
|
|
if(finalUdiRelevance!=null){
|
|
|
|
|
if (finalUdiRelevance != null) {
|
|
|
|
|
udiTraceResponse.setYlqxzcrbarmc(finalUdiRelevance.getYlqxzcrbarmc());
|
|
|
|
|
udiTraceResponse.setCpmctymc(finalUdiRelevance.getCpmctymc());
|
|
|
|
|
udiTraceResponse.setGgxh(finalUdiRelevance.getGgxh());
|
|
|
|
@ -61,8 +156,8 @@ public class UdiTraceController {
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(udiTraceResponseList);
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
}else {
|
|
|
|
|
return ResultVOUtils.error(500,"未找到该条码!");
|
|
|
|
|
} else {
|
|
|
|
|
return ResultVOUtils.error(500, "未找到该条码!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|