add:数据导入;
This commit is contained in:
@@ -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<MdMeMaterialbaseMap
|
||||
@Autowired
|
||||
private WmsToErpService wmsToErpService;
|
||||
|
||||
/**
|
||||
* 仓库
|
||||
*/
|
||||
@Autowired
|
||||
private IStructattrService iStructattrService;
|
||||
|
||||
/**
|
||||
* 点位
|
||||
*/
|
||||
@Autowired
|
||||
private ISchBasePointService iSchBasePointService;
|
||||
|
||||
/**
|
||||
* 载具
|
||||
*/
|
||||
@Autowired
|
||||
private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService;
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<MdMeMaterialbase> queryAll(Map whereJson, PageQuery page) {
|
||||
// 查询条件
|
||||
@@ -139,6 +164,261 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl<MdMeMaterialbaseMap
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 仓库导入
|
||||
*/
|
||||
//@Override
|
||||
@Transactional
|
||||
public void excelImport2(MultipartFile file, HttpServletRequest request, HttpServletResponse response) {
|
||||
try {
|
||||
InputStream inputStream = file.getInputStream();
|
||||
ExcelReader excelReader = ExcelUtil.getReader(inputStream);
|
||||
List<List<Object>> read = excelReader.read();
|
||||
if (read.size() > 1) {
|
||||
List<Structattr> insertList = new ArrayList<>();
|
||||
for (int i = 1; i < read.size(); i++) {
|
||||
List<Object> 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<Structattr>().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<List<Object>> read = excelReader.read();
|
||||
if (read.size() > 1) {
|
||||
List<Structattr> insertList = new ArrayList<>();
|
||||
for (int i = 1; i < read.size(); i++) {
|
||||
List<Object> list = read.get(i);
|
||||
//仓位
|
||||
String m1 = String.valueOf(list.get(0));
|
||||
Structattr structattr = iStructattrService.getOne(
|
||||
new QueryWrapper<Structattr>().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<List<Object>> read = excelReader.read();
|
||||
if (read.size() > 1) {
|
||||
List<SchBasePoint> insertList = new ArrayList<>();
|
||||
for (int i = 1; i < read.size(); i++) {
|
||||
List<Object> 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<MdPbStoragevehicleinfo> insertList = new ArrayList<>();
|
||||
InputStream inputStream = file.getInputStream();
|
||||
ExcelReader excelReader = ExcelUtil.getReader(inputStream);
|
||||
List<List<Object>> read = excelReader.read();
|
||||
if (read.size() > 1) {
|
||||
for (int i = 1; i < read.size(); i++) {
|
||||
List<Object> 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
|
||||
|
||||
@@ -1030,7 +1030,7 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
||||
List<SchBasePoint> 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<String, List<SchBasePoint>> pointMap = pointList.stream().collect(Collectors.groupingBy(SchBasePoint::getParent_point_code));
|
||||
if (ObjectUtils.isEmpty(pointMap)) {
|
||||
throw new RuntimeException("该暂存区已分配或放满了,请及时取走暂存区的物料!");
|
||||
|
||||
Reference in New Issue
Block a user