Fixiaobai
2023-11-09 01d08428dd6cd9dc518a9a2ecbcb1f0e82788068
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/LocationServiceImpl.java
@@ -19,7 +19,6 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -30,13 +29,16 @@
import com.chinaztt.ifs.api.feign.IfsFeignClient;
import com.chinaztt.mes.basic.dto.LocationDTO;
import com.chinaztt.mes.basic.dto.LocationIfsMoveDTO;
import com.chinaztt.mes.basic.entity.Factory;
import com.chinaztt.mes.basic.entity.Location;
import com.chinaztt.mes.basic.entity.Warehouse;
import com.chinaztt.mes.basic.excel.LocationData;
import com.chinaztt.mes.basic.mapper.FactoryMapper;
import com.chinaztt.mes.basic.mapper.LocationMapper;
import com.chinaztt.mes.basic.mapper.WarehouseMapper;
import com.chinaztt.mes.basic.service.LocationService;
import com.chinaztt.mes.basic.service.WarehouseService;
import com.chinaztt.mes.basic.util.DictUtils;
import com.chinaztt.ztt.admin.api.entity.SysDictItem;
import com.chinaztt.ztt.admin.api.feign.RemoteParamService;
import com.chinaztt.ztt.common.core.constant.SecurityConstants;
import com.chinaztt.ztt.common.core.util.R;
@@ -47,8 +49,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.Objects;
/**
 * 库位基础数据
@@ -60,11 +61,12 @@
@AllArgsConstructor
public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> implements LocationService {
   private WarehouseMapper warehouseMapper;
   private FactoryMapper factoryMapper;
   private static final String LOCATION_QC_SEND_BACK = "LOCATION_QC_SEND_BACK";
   public static final String CONTRACT = "IFS_DOMAIN";
   private RemoteParamService remoteParamService;
   private IfsFeignClient ifsFeignClient;
   private DictUtils dictUtils;
   @Override
   public IPage<List<Location>> getLoc(Page page, QueryWrapper<LocationDTO> ew) {
      return baseMapper.getLoc(page, ew);
@@ -90,12 +92,50 @@
      if (CollectionUtil.isEmpty(list)) {
         return;
      }
      list.forEach(System.out::println);
      List<Factory> factories = factoryMapper.selectList(null);
      List<Warehouse> warehouses = warehouseMapper.selectList(null);
      List<SysDictItem> dict = dictUtils.getDict("warehouse_type");
      for (LocationData data : list) {
         QueryWrapper<Location>QueryWrapper = new QueryWrapper<>();
         QueryWrapper.lambda().eq(Location::getLocNo,data.getLocNo());
         Location location = baseMapper.selectOne(QueryWrapper);
         if(!Objects.isNull(location)){
            log.error("库位编号重复=====》"+data.getLocNo());
            continue;
         }
         Location newLocation = new Location();
         newLocation.setFactoryId(data.getFactoryId());
         newLocation.setLocGroup(data.getLocGroup());
         dict.forEach(a->{
            if (a.getLabel().equals(data.getLocType())){
               newLocation.setLocType(a.getValue());
            }
         });
         if("启用".equals(data.getLocState())){
            newLocation.setLocStatus(1);
         }else{
            newLocation.setLocStatus(0);
         }
         for (int i = 0; i <factories.size() ; i++) {
            if (factories.get(i).getFactoryName().equals(data.getFactoryName())){
               newLocation.setFactoryId(factories.get(i).getId());
            }
         }
         if (newLocation.getFactoryId()==null){
            log.error("工厂:" + data.getFactoryName() + "不存在");
            continue ;
         }
         for (int i = 0; i <warehouses.size() ; i++) {
            if (warehouses.get(i).getWarehouseName().equals(data.getWarehouseName())){
               newLocation.setLocGroup(warehouses.get(i).getId());
            }
         }
         if (newLocation.getLocGroup()==null){
            log.error("仓库:" + data.getWarehouseName() + "不存在");
            continue ;
         }
         newLocation.setLocName(data.getLocName());
         newLocation.setLocNo(data.getLocNo());
         newLocation.setIfsLocation(data.getIfsLocation());
         baseMapper.insert(newLocation);
      }
   }