From cebf2d266614d5dd6d44f451768d9c60e3989d16 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Thu, 10 Jul 2025 18:27:10 +0800 Subject: [PATCH] =?UTF-8?q?add:=E6=95=B0=E6=8D=AE=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MdMeMaterialbaseServiceImpl.java | 282 +++++++++++++++++- .../service/impl/OutBillServiceImpl.java | 2 +- 2 files changed, 282 insertions(+), 2 deletions(-) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java index e8574d5..9cf3a24 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java @@ -11,15 +11,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService; +import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; +import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; +import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo; +import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.basedata_manage.service.dao.mapper.MdMeMaterialbaseMapper; import org.nl.wms.ext.service.WmsToErpService; +import org.nl.wms.sch_manage.service.ISchBasePointService; +import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,6 +33,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -51,6 +57,25 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page) { // 查询条件 @@ -139,6 +164,261 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl> read = excelReader.read(); + if (read.size() > 1) { + List insertList = new ArrayList<>(); + for (int i = 1; i < read.size(); i++) { + List list = read.get(i); + //仓位 + String m1 = String.valueOf(list.get(0)); + //RCS节点 + String m2 = String.valueOf(list.get(1)); + //长度 + Integer m3 = 1000; + //宽度 + Integer m4 = 1400; + //层 + Integer m5 = ObjectUtil.isEmpty(list.get(4)) ? null : Integer.parseInt(String.valueOf(list.get(4))); + Structattr structattr = iStructattrService.getOne( + new QueryWrapper().lambda() + .eq(Structattr::getStruct_code, m1) + ); + if (ObjectUtil.isNotEmpty(structattr)) { + continue; + } + String a = m1.substring(1); + String[] parts = a.split("-"); + if (parts.length != 3) { + throw new BadRequestException("格式错误,如 A1-2-3"); + } + Integer row_num = Integer.valueOf(parts[0]); + Integer col_num = Integer.valueOf(parts[1]); + Integer layer_num = Integer.valueOf(parts[2]); + String struct_name = row_num + "排" + col_num + "列" + layer_num + "层"; + Structattr dao = new Structattr(); + dao.setStruct_id(IdUtil.getStringId()); + dao.setStruct_code(m1); + dao.setStruct_name(struct_name); + dao.setSimple_name(struct_name); + dao.setSect_id("1582991348217286656"); + dao.setSect_code("GW01"); + dao.setSect_name("高位库区01"); + dao.setStor_id("1582991156504039424"); + dao.setStor_code("GW"); + dao.setStor_name("高位库"); + dao.setStor_type("Normal"); + dao.setWidth(m4); + dao.setHeight(m3); + dao.setFont_direction_scode(m2); + dao.setIs_tempstruct("0"); + dao.setRow_num(row_num); + dao.setCol_num(col_num); + dao.setLayer_num(layer_num); + dao.setBlock_num(m5); + dao.setPlacement_type("01"); + dao.setCreate_id("1"); + dao.setCreate_name("admin"); + dao.setCreate_time(DateUtil.now()); + dao.setUpdate_optid("1"); + dao.setUpdate_optname("admin"); + dao.setUpdate_time(DateUtil.now()); + dao.setIs_delete("0"); + dao.setIs_used("1"); + dao.setLock_type("0"); + dao.setTaskdtl_type("TDT01"); + insertList.add(dao); + } + iStructattrService.saveBatch(insertList); + } + } catch (Exception ex) { + throw new BadRequestException("导入失败" + ex.getMessage()); + } + } + + + /** + * 线边库导入 + */ + // @Override + @Transactional + public void excelImport3(MultipartFile file, HttpServletRequest request, HttpServletResponse response) { + try { + InputStream inputStream = file.getInputStream(); + ExcelReader excelReader = ExcelUtil.getReader(inputStream); + List> read = excelReader.read(); + if (read.size() > 1) { + List insertList = new ArrayList<>(); + for (int i = 1; i < read.size(); i++) { + List list = read.get(i); + //仓位 + String m1 = String.valueOf(list.get(0)); + Structattr structattr = iStructattrService.getOne( + new QueryWrapper().lambda() + .eq(Structattr::getStruct_code, m1) + ); + if (ObjectUtil.isNotEmpty(structattr)) { + continue; + } + Integer row_num = 100; + Integer col_num = i; + Integer layer_num = 1; + String struct_name = row_num + "排" + col_num + "列" + layer_num + "层"; + Structattr dao = new Structattr(); + dao.setStruct_id(IdUtil.getStringId()); + dao.setStruct_code(m1); + dao.setStruct_name(struct_name); + dao.setSimple_name(struct_name); + dao.setSect_id("1940612379800899584"); + dao.setSect_code("XB01"); + dao.setSect_name("线边库区01"); + dao.setStor_id("1940342890681208832"); + dao.setStor_code("XB"); + dao.setStor_name("料架线边库"); + dao.setStor_type("Normal"); + dao.setIs_tempstruct("0"); + dao.setRow_num(row_num); + dao.setCol_num(col_num); + dao.setLayer_num(layer_num); + dao.setPlacement_type("01"); + dao.setCreate_id("1"); + dao.setCreate_name("admin"); + dao.setCreate_time(DateUtil.now()); + dao.setUpdate_optid("1"); + dao.setUpdate_optname("admin"); + dao.setUpdate_time(DateUtil.now()); + dao.setIs_delete("0"); + dao.setIs_used("1"); + dao.setLock_type("0"); + insertList.add(dao); + } + iStructattrService.saveBatch(insertList); + } + } catch (Exception ex) { + throw new BadRequestException("导入失败" + ex.getMessage()); + } + } + + /** + * 点位 + */ + // @Override + @Transactional + public void excelImport4(MultipartFile file, HttpServletRequest request, HttpServletResponse response) { + try { + InputStream inputStream = file.getInputStream(); + ExcelReader excelReader = ExcelUtil.getReader(inputStream); + List> read = excelReader.read(); + if (read.size() > 1) { + List insertList = new ArrayList<>(); + for (int i = 1; i < read.size(); i++) { + List list = read.get(i); + //仓位 + String m1 = String.valueOf(list.get(0)); + String m2 = String.valueOf(list.get(1)); + String m3 = String.valueOf(list.get(2)); + String m4 = String.valueOf(list.get(3)); + String m5 = String.valueOf(list.get(4)); + SchBasePoint dao = new SchBasePoint(); + dao.setPoint_code(m1); + dao.setPoint_name(m2); + dao.setRegion_code(m3); + dao.setRegion_name(m4); + dao.setPoint_type("1"); + dao.setPoint_status("0"); + dao.setVehicle_type(m5); + dao.setVehicle_max_qty(1); + dao.setIs_has_workder(false); + dao.setIs_used(true); + dao.setIs_auto(false); + dao.setBlock_num(0); + dao.setRow_num(0); + dao.setCol_num(0); + dao.setLayer_num(0); + dao.setIn_order_seq(0); + dao.setOut_order_seq(0); + dao.setIn_empty_seq(0); + dao.setOut_empty_seq(0); + dao.setParent_point_code("0"); + dao.setCreate_id("1"); + dao.setCreate_name("admin"); + dao.setCreate_time(DateUtil.now()); + dao.setUpdate_id("1"); + dao.setUpdate_name("admin"); + dao.setUpdate_time(DateUtil.now()); + insertList.add(dao); + } + iSchBasePointService.saveBatch(insertList); + } + } catch (Exception ex) { + throw new BadRequestException("导入失败" + ex.getMessage()); + } + } + + //@Override + @Transactional + public void excelImport6(MultipartFile file, HttpServletRequest request, HttpServletResponse response) { + try { + List insertList = new ArrayList<>(); + InputStream inputStream = file.getInputStream(); + ExcelReader excelReader = ExcelUtil.getReader(inputStream); + List> read = excelReader.read(); + if (read.size() > 1) { + for (int i = 1; i < read.size(); i++) { + List list = read.get(i); + String m1 = String.valueOf(list.get(0)); + MdPbStoragevehicleinfo dao = new MdPbStoragevehicleinfo(); + dao.setStoragevehicle_id(IdUtil.getStringId()); + dao.setStoragevehicle_code(m1); + dao.setStoragevehicle_name("货架"); + dao.setCreate_id("1"); + dao.setCreate_name("admin"); + dao.setCreate_time(DateUtil.now()); + dao.setUpdate_optid("1"); + dao.setUpdate_optname("admin"); + dao.setOccupystruct_qty(BigDecimal.valueOf(1L)); + dao.setOverstruct_type("00"); + dao.setUpdate_time(DateUtil.now()); + dao.setIs_delete("0"); + dao.setIs_used("1"); + dao.setStoragevehicle_type("01"); + insertList.add(dao); + } + iMdPbStoragevehicleinfoService.saveBatch(insertList); + } + //生成托盘 + // for (int i = 1; i <= 1000; i++) { + // MdPbStoragevehicleinfo dao = new MdPbStoragevehicleinfo(); + // dao.setStoragevehicle_id(IdUtil.getStringId()); + // dao.setStoragevehicle_code(String.format("T%06d", i)); + // dao.setStoragevehicle_name("托盘"); + // dao.setCreate_id("1"); + // dao.setCreate_name("admin"); + // dao.setCreate_time(DateUtil.now()); + // dao.setUpdate_optid("1"); + // dao.setUpdate_optname("admin"); + // dao.setOccupystruct_qty(BigDecimal.valueOf(1L)); + // dao.setOverstruct_type("00"); + // dao.setUpdate_time(DateUtil.now()); + // dao.setIs_delete("0"); + // dao.setIs_used("1"); + // dao.setStoragevehicle_type("00"); + // insertList.add(dao); + // } + // iMdPbStoragevehicleinfoService.saveBatch(insertList); + } catch (Exception ex) { + throw new BadRequestException("导入失败" + ex.getMessage()); + } + } + @Override @Transactional diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java index f15d660..a5c3022 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java @@ -1030,7 +1030,7 @@ public class OutBillServiceImpl extends ServiceImpl i List pointList = schBasePointMapper.selectList(new LambdaQueryWrapper<>(SchBasePoint.class) .eq(SchBasePoint::getRegion_code, regionCode) .eq(SchBasePoint::getIs_used, BaseDataEnum.IS_YES_NOT.code("是"))); - if (regionCode.contains("Y01")) { + if (regionCode.contains("YZZC01")) { Map> pointMap = pointList.stream().collect(Collectors.groupingBy(SchBasePoint::getParent_point_code)); if (ObjectUtils.isEmpty(pointMap)) { throw new RuntimeException("该暂存区已分配或放满了,请及时取走暂存区的物料!");