package com.gkhy.safePlatform.equipment.rpc.provider; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.equipment.entity.MaterialReceiveRecordsBO; import com.gkhy.safePlatform.equipment.entity.MaterialReceiveRecordsDO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyDO; import com.gkhy.safePlatform.equipment.excepiton.EquipmentException; import com.gkhy.safePlatform.equipment.model.dto.req.MaterialSpwDeliveryReq; import com.gkhy.safePlatform.equipment.model.dto.req.MaterialSpwReq; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialClassifyDto; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialClassifyStockDto; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeRfidMaterialDetailDto; import com.gkhy.safePlatform.equipment.rpc.api.EquipmentRpcAPi; import com.gkhy.safePlatform.equipment.rpc.api.model.dto.req.MaterialReceiveRecordsRPCReq; import com.gkhy.safePlatform.equipment.rpc.api.model.dto.req.MaterialSpwDeliveryRPCReq; import com.gkhy.safePlatform.equipment.rpc.api.model.dto.req.MaterialSpwRPCReq; import com.gkhy.safePlatform.equipment.rpc.api.model.dto.resp.*; import com.gkhy.safePlatform.equipment.service.MaterialClassifyService; import com.gkhy.safePlatform.equipment.service.MaterialReceiveRecordsService; import com.gkhy.safePlatform.equipment.service.SafeMaterialDetailService; import com.gkhy.safePlatform.equipment.service.impl.MaterialReceiveRecordsServiceImpl; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @DubboService public class EquipmentRpcProvider implements EquipmentRpcAPi { @Autowired private MaterialClassifyService materialClassifyService; @Autowired private SafeMaterialDetailService safeMaterialDetailService; @Autowired private MaterialReceiveRecordsService materialReceiveRecordsService; public ResultVO> getMaterialClassifyList(){ ResultVO> resultVO = new ResultVO(ResultCodes.OK); List list = materialClassifyService.list(); List rpcRespList = new ArrayList<>(); for (SafeMaterialClassifyDto classifyDto:list) { SafeMaterialClassifyRPCRespDto classifyRPCRespDto = new SafeMaterialClassifyRPCRespDto(); classifyRPCRespDto.setId(classifyDto.getId()); classifyRPCRespDto.setParentId(classifyDto.getParentId()); classifyRPCRespDto.setMaterialClassifyName(classifyDto.getMaterialClassifyName()); List childList = classifyDto.getChildList(); List childRPCList = new ArrayList<>(); for(SafeMaterialClassifyDto child:childList){ //临时限制一下 if(child.getConsumable() == 1){ SafeMaterialClassifyRPCRespDto childRPCRespDto = new SafeMaterialClassifyRPCRespDto(); childRPCRespDto.setId(child.getId()); childRPCRespDto.setParentId(child.getParentId()); childRPCRespDto.setMaterialClassifyName(child.getMaterialClassifyName()); childRPCRespDto.setConsumable(child.getConsumable()); childRPCRespDto.setConsumableName(child.getConsumableName()); childRPCList.add(childRPCRespDto); } } classifyRPCRespDto.setChildList(childRPCList); rpcRespList.add(classifyRPCRespDto); } resultVO.setData(rpcRespList); return resultVO; } @Override public ResultVO> getTraceabilityClassifyList(List smallClassifyIds) { ResultVO> resultVO = new ResultVO<>(ResultCodes.OK); try { List list = materialClassifyService.getTraceabilityClassifyList(smallClassifyIds); List classifyRPCRespDtoList= new ArrayList<>(); for(SafeMaterialClassifyDO classifyDO:list){ SafeMaterialBsClassifyRPCRespDto bsClassifyRPCRespDto = new SafeMaterialBsClassifyRPCRespDto(); BeanUtils.copyProperties(classifyDO,bsClassifyRPCRespDto); classifyRPCRespDtoList.add(bsClassifyRPCRespDto); } resultVO.setData(classifyRPCRespDtoList); }catch (EquipmentException e){ resultVO.setCode(e.getCode()); resultVO.setMsg(e.getMessage()); }catch (Exception e){ resultVO.setCode(ResultCodes.SERVER_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_ERROR.getDesc()); } return resultVO; } public ResultVO getBigAndSmallClassifyInfo(Long smallClassifyId){ ResultVO resultVO = new ResultVO<>(ResultCodes.OK); try { SafeMaterialClassifyDO safeMaterialClassifyDO = materialClassifyService.getBigAndSmallClassifyInfo(smallClassifyId); SafeMaterialBsClassifyRPCRespDto bsClassifyRPCRespDto = new SafeMaterialBsClassifyRPCRespDto(); if(null != safeMaterialClassifyDO){ BeanUtils.copyProperties(safeMaterialClassifyDO,bsClassifyRPCRespDto); } resultVO.setData(bsClassifyRPCRespDto); }catch (EquipmentException e){ resultVO.setCode(e.getCode()); resultVO.setMsg(e.getMessage()); }catch (Exception e){ resultVO.setCode(ResultCodes.SERVER_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_ERROR.getDesc()); } return resultVO; } @Override public ResultVO> getClassifyListByIds(List ids) { ResultVO> resultVO = new ResultVO<>(ResultCodes.OK); try { List listBySmallClassify = materialClassifyService.getClassifyListByIds(ids); List classifyRPCRespDtoList = new ArrayList<>(); for(SafeMaterialClassifyDto classifyDto:listBySmallClassify){ SafeMaterialClassifyRPCRespDto classifyRPCRespDto = new SafeMaterialClassifyRPCRespDto(); BeanUtils.copyProperties(classifyDto,classifyRPCRespDto); classifyRPCRespDtoList.add(classifyRPCRespDto); } resultVO.setData(classifyRPCRespDtoList); }catch (EquipmentException e){ resultVO.setCode(e.getCode()); resultVO.setMsg(e.getMessage()); }catch (Exception e){ resultVO.setCode(ResultCodes.SERVER_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_ERROR.getDesc()); } return resultVO; } @Override public ResultVO> getSmallClassifyStockByIds(List smallClassifyIds) { ResultVO> resultVO = new ResultVO<>(ResultCodes.OK); try { List smallClassifyStockList = safeMaterialDetailService.getSmallClassifyStockByIds(smallClassifyIds); List classifyRPCRespDtoList = new ArrayList<>(); for(SafeMaterialClassifyStockDto classifyStockDto:smallClassifyStockList){ SafeMaterialClassifyStockRPCRespDto classifyRPCRespDto = new SafeMaterialClassifyStockRPCRespDto(); BeanUtils.copyProperties(classifyStockDto,classifyRPCRespDto); classifyRPCRespDtoList.add(classifyRPCRespDto); } resultVO.setData(classifyRPCRespDtoList); }catch (EquipmentException e){ resultVO.setCode(e.getCode()); resultVO.setMsg(e.getMessage()); }catch (Exception e){ resultVO.setCode(ResultCodes.SERVER_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_ERROR.getDesc()); } return resultVO; } @Override public ResultVO deliveryBatchSpw(MaterialSpwRPCReq req) { ResultVO resultVO = new ResultVO<>(ResultCodes.OK); MaterialSpwReq materialSpwReq = new MaterialSpwReq(); List list = new ArrayList<>(); List deliveryRPCReqList = req.getDeliveryReqList(); if(!CollectionUtils.isEmpty(deliveryRPCReqList)){ for (MaterialSpwDeliveryRPCReq deliveryRPCReq:deliveryRPCReqList) { MaterialSpwDeliveryReq deliveryReq = new MaterialSpwDeliveryReq(); BeanUtils.copyProperties(deliveryRPCReq,deliveryReq); list.add(deliveryReq); } } materialSpwReq.setClaimantId(req.getClaimantId()); materialSpwReq.setDeliveryReqList(list); try { safeMaterialDetailService.deliveryBatchSpw(materialSpwReq); }catch (EquipmentException e){ resultVO.setCode(e.getCode()); resultVO.setMsg(e.getMessage()); }catch (Exception e){ resultVO.setCode(ResultCodes.SERVER_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_ERROR.getDesc()); } return resultVO; } @Override public ResultVO> getListByRfid(List rfids) { ResultVO resultVO = new ResultVO<>(ResultCodes.OK); try { List listByRfids = safeMaterialDetailService.getListByRfids(rfids); if(listByRfids.size()>0){ List safeRfidMaterialDetailRPCRespDtos = BeanCopyUtils.copyBeanList(listByRfids, SafeRfidMaterialDetailRPCRespDto.class); resultVO.setData(safeRfidMaterialDetailRPCRespDtos); } }catch (EquipmentException e){ resultVO.setCode(e.getCode()); resultVO.setMsg(e.getMessage()); }catch (Exception e){ resultVO.setCode(ResultCodes.SERVER_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_ERROR.getDesc()); } return resultVO; } @Override public ResultVO> getMaterialReceiveRecords(MaterialReceiveRecordsRPCReq req) { ResultVO resultVO = new ResultVO<>(ResultCodes.OK); MaterialReceiveRecordsBO materialReceiveRecordsBO = new MaterialReceiveRecordsBO(); if(null != req){ BeanUtils.copyProperties(req,materialReceiveRecordsBO); } try { List list = materialReceiveRecordsService.getReceiveRecordsByReceiveUids(materialReceiveRecordsBO); List materialReceiveRecordsRPCRespDtos = new ArrayList<>(); if(list.size()>0){ for(MaterialReceiveRecordsDO recordsDO:list){ MaterialReceiveRecordsRPCRespDto receiveRecordsRPCRespDto = new MaterialReceiveRecordsRPCRespDto(); BeanUtils.copyProperties(recordsDO,receiveRecordsRPCRespDto); materialReceiveRecordsRPCRespDtos.add(receiveRecordsRPCRespDto); } resultVO.setData(materialReceiveRecordsRPCRespDtos); } }catch (EquipmentException e){ e.printStackTrace(); resultVO.setCode(e.getCode()); resultVO.setMsg(e.getMessage()); }catch (Exception e){ e.printStackTrace(); resultVO.setCode(ResultCodes.SERVER_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_ERROR.getDesc()); } return resultVO; } }