package com.ld.igds.three.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.common.CoreThreeService; import com.ld.igds.constant.DepotStatus; import com.ld.igds.constant.DepotType; import com.ld.igds.constant.FoodType; import com.ld.igds.constant.FoodVariety; import com.ld.igds.models.Depot; import com.ld.igds.models.ThreeConf; import com.ld.igds.three.ThreeCodeEnum; import com.ld.igds.three.ThreeConstant; import com.ld.igds.three.data.Data1001; import com.ld.igds.three.data.ThreeResponse; import com.ld.igds.three.mapper.ThreeMapper; import com.ld.igds.three.param.ThreeCommonParam; import com.ld.igds.three.param.ThreeRequest; import com.ld.igds.three.service.ThreeService; import com.ld.igds.three.util.ThreeRespUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * 1001-仓库卡片列表接口实现 * * @author chen */ @Service public class ThreeServiceImpl1001 implements ThreeService { @Autowired private CoreThreeService commonService; @Autowired private ThreeMapper threeMapper; @Override public String getInterfaceId() { return ThreeConstant.API_THREE_1001; } @SuppressWarnings("unchecked") @Override public ThreeResponse execute(ThreeRequest req){ //转化请求参数 ThreeCommonParam param = JSONObject.parseObject(req.getData().toString(), ThreeCommonParam.class); //判断uid if(StringUtils.isEmpty(param.getUid())){ return ThreeRespUtil.error(ThreeCodeEnum.CODE_1005, req); } List list = new ArrayList<>(); Data1001 data1001; //根据uid判断查询所有仓库还是单个仓库 if(ThreeConstant.REQUEST_UID.equals(param.getUid())){ //获取三维配置信息 List threeList = commonService.getCacheThreeAll(req.getCompanyId()); if(threeList == null || threeList.isEmpty()){ return ThreeRespUtil.error(ThreeCodeEnum.CODE_1111, "未查询相关三维配置信息,请联系管理员!", req); } //获取所有仓库信息 List depotList = threeMapper.getDepotList(req.getCompanyId(), req.getDeptId(), null); if(depotList == null || depotList.isEmpty()){ return ThreeRespUtil.success(list, req); } //返回数据处理 for (ThreeConf threeConf : threeList) { if(StringUtils.isEmpty(threeConf.getDeviceId()) && StringUtils.isNotEmpty(threeConf.getDepotId())){ for (Depot depot : depotList) { if(depot.getId().equals(threeConf.getDepotId())){ data1001 = new Data1001(); data1001.setUid(threeConf.getUid()); data1001.setDepotName(depot.getName()); data1001.setStoreKeeper(depot.getStoreKeeperName()); data1001.setFoodType(FoodType.getMsg(depot.getFoodType())); data1001.setFoodVariety(FoodVariety.getMsg(depot.getFoodVariety())); data1001.setProYear(depot.getFoodYear()); data1001.setAmount(depot.getStorageMax() == null?"0.0":depot.getStorageMax() + ""); data1001.setRealAmount(depot.getStorageReal() == null?"0.0":depot.getStorageReal() + ""); data1001.setType(DepotType.getMsg(DepotType.getMsg(depot.getDepotType()))); data1001.setStatus(DepotStatus.getMsg(DepotStatus.getMsg(depot.getDepotStatus()))); list.add(data1001); } } } } }else { //查询单个仓库 ThreeConf threeConf = commonService.getCacheThreeConfById(req.getCompanyId(), param.getUid()); if(threeConf == null){ return ThreeRespUtil.error(ThreeCodeEnum.CODE_1111, "未查询到此uid的配置信息,请联系管理员!", req); } List depotList = threeMapper.getDepotList(req.getCompanyId(), req.getDeptId(), threeConf.getDepotId()); if(null != depotList && depotList.size() > 0){ data1001 = new Data1001(); data1001.setUid(threeConf.getUid()); data1001.setDepotName(depotList.get(0).getName()); data1001.setStoreKeeper(depotList.get(0).getStoreKeeperName()); data1001.setFoodType(FoodType.getMsg(depotList.get(0).getFoodType())); data1001.setFoodVariety(FoodVariety.getMsg(depotList.get(0).getFoodVariety())); data1001.setProYear(depotList.get(0).getFoodYear()); data1001.setAmount(depotList.get(0).getStorageMax() == null?"0.0":depotList.get(0).getStorageMax() + ""); data1001.setRealAmount(depotList.get(0).getStorageReal() == null?"0.0":depotList.get(0).getStorageReal() + ""); data1001.setType(DepotType.getMsg(DepotType.getMsg(depotList.get(0).getDepotType()))); data1001.setStatus(DepotStatus.getMsg(DepotStatus.getMsg(depotList.get(0).getDepotStatus()))); list.add(data1001); } } return ThreeRespUtil.success(list, req); } }