|
|
|
@ -2,6 +2,7 @@ package com.dsic.gj_erp.service.jhgk.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
import cn.hutool.core.bean.copier.CopyOptions;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
@ -25,7 +26,10 @@ import com.dsic.gj_erp.handler.dto.RealCapacity;
|
|
|
|
|
import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper;
|
|
|
|
|
import com.dsic.gj_erp.service.jcsj.DmBomService;
|
|
|
|
|
import com.dsic.gj_erp.service.jcsj.EmSbcnpService;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.*;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.DmSygdMxService;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.DmSygdService;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.DmTzjhService;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.DmXbjhService;
|
|
|
|
|
import com.dsic.gj_erp.util.MyString;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
@ -996,41 +1000,48 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
|
|
|
|
|
//二跨数控开始
|
|
|
|
|
val.stream().filter(item -> "9".equals(item.getKw()))
|
|
|
|
|
.filter(item->StrUtil.isNotEmpty(item.getQgrq()))
|
|
|
|
|
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setEkskks(item.getQgrq()));
|
|
|
|
|
|
|
|
|
|
//二跨数控2
|
|
|
|
|
dmYdjhxf.setEksk2(eksk2.get()+"");
|
|
|
|
|
//二跨数控2开始
|
|
|
|
|
val.stream().filter(item -> "5".equals(item.getKw()))
|
|
|
|
|
.filter(item->StrUtil.isNotEmpty(item.getQgrq()))
|
|
|
|
|
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setEkskks(item.getQgrq()));
|
|
|
|
|
|
|
|
|
|
dmYdjhxf.setSksk(sksk.get()+"");
|
|
|
|
|
val.stream().filter(item->"14".equals(item.getKw()))
|
|
|
|
|
.filter(item->StrUtil.isNotEmpty(item.getQgrq()))
|
|
|
|
|
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkskqgks(item.getQgrq()));
|
|
|
|
|
|
|
|
|
|
dmYdjhxf.setSkpt(skpt.get()+"");
|
|
|
|
|
val.stream().filter(item->"6".equals(item.getKw()))
|
|
|
|
|
val.stream().filter(item -> "6".equals(item.getKw()))
|
|
|
|
|
.filter(item->StrUtil.isNotEmpty(item.getQgrq()))
|
|
|
|
|
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setPtks(item.getQgrq()));
|
|
|
|
|
|
|
|
|
|
val.stream().filter(item->"6".equals(item.getKw()))
|
|
|
|
|
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setPtjs(item.getQjgrq()));
|
|
|
|
|
val.stream().filter(item -> "6".equals(item.getKw()))
|
|
|
|
|
.filter(item->StrUtil.isNotEmpty(item.getQjgrq()))
|
|
|
|
|
.min(Comparator.comparing(DmSygdMx::getQjgrq)).ifPresent(item -> dmYdjhxf.setPtjs(item.getQjgrq()));
|
|
|
|
|
|
|
|
|
|
dmYdjhxf.setSkbs(skbs.get()+"");
|
|
|
|
|
val.stream().filter(item->"15".equals(item.getKw()))
|
|
|
|
|
.filter(item->StrUtil.isNotEmpty(item.getQgrq()))
|
|
|
|
|
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkqgks(item.getQgrq()));
|
|
|
|
|
|
|
|
|
|
dmYdjhxf.setSkbs2(skbs2.get()+"");
|
|
|
|
|
val.stream().filter(item->"11".equals(item.getKw()))
|
|
|
|
|
.filter(item->StrUtil.isNotEmpty(item.getQgrq()))
|
|
|
|
|
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkbs2(item.getQgrq()));
|
|
|
|
|
|
|
|
|
|
val.stream().filter(item->"7".equals(item.getKw()))
|
|
|
|
|
.filter(item->StrUtil.isNotEmpty(item.getQgrq()))
|
|
|
|
|
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setYkpkjs(item.getQgrq()));
|
|
|
|
|
|
|
|
|
|
dmYdjhxf.setFdxq(val.get(0).getJssj());
|
|
|
|
|
list2.add(dmYdjhxf);
|
|
|
|
|
});
|
|
|
|
|
// return list2.stream().sorted(Comparator.comparing(item -> item.getDcCh() +"_"+ item.getDcPl()+"_"+item.getSl())).collect(Collectors.toList());
|
|
|
|
|
return list2.stream().sorted(Comparator.comparing(DmYdjhxf::getSl)).collect(Collectors.toList());
|
|
|
|
|
return list2.stream().sorted(Comparator.comparing(item->item.getDcCh()+item.getDcPl())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Transactional
|
|
|
|
@ -1077,6 +1088,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public void ydjhImport(List<JhxfExcel> objList) {
|
|
|
|
|
// 1,同产品与批量视为一条记录 dcch dcpl
|
|
|
|
|
// 2,板数是否为空 不为空循环板数增加记录(还有一个其他集合) bs1=7
|
|
|
|
@ -1098,7 +1110,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
dcch=jhxfExcel.getDcCh();
|
|
|
|
|
//}
|
|
|
|
|
// if(StringUtils.isBlank(dcpl)){
|
|
|
|
|
dcpl=jhxfExcel.getDcPl();
|
|
|
|
|
dcpl=StrUtil.padPre(jhxfExcel.getDcPl(),3,"0");
|
|
|
|
|
num=0;
|
|
|
|
|
zsl=0;
|
|
|
|
|
zz=0;
|
|
|
|
@ -1116,7 +1128,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
// 生成数据
|
|
|
|
|
DmSygdMx sygdMx= new DmSygdMx();
|
|
|
|
|
sygdMx.setDcCh(jhxfExcel.getDcCh());
|
|
|
|
|
sygdMx.setDcPl(jhxfExcel.getDcPl());
|
|
|
|
|
sygdMx.setDcPl(dcpl);
|
|
|
|
|
sygdMx.setDcFd(jhxfExcel.getDcFd());
|
|
|
|
|
sygdMx.setSlrq(jhxfExcel.getSl());
|
|
|
|
|
sygdMx.setPwrq(jhxfExcel.getPw());
|
|
|
|
@ -1149,6 +1161,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
insertsOne.add(sygdMx);
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
dcch="";
|
|
|
|
|
dcpl="";
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
int yklm=0;
|
|
|
|
@ -1157,16 +1171,14 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
}
|
|
|
|
|
if(yklm>0){
|
|
|
|
|
zz=yklm;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < yklm; j++) {
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(j).setKw("7");
|
|
|
|
|
insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs());
|
|
|
|
|
zsl++;
|
|
|
|
|
if(zsl>num){
|
|
|
|
|
continue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(j).setKw("7");
|
|
|
|
|
insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1176,13 +1188,13 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
}
|
|
|
|
|
if(yksk>0){
|
|
|
|
|
for (int j = 0; j < yksk; j++) {
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("8");
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getYkpkjs());
|
|
|
|
|
zsl++;
|
|
|
|
|
if(zsl>num){
|
|
|
|
|
continue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("8");
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getYkpkjs());
|
|
|
|
|
}
|
|
|
|
|
zz=zz+yksk;
|
|
|
|
|
}
|
|
|
|
@ -1191,77 +1203,81 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
eklmbs= MyString.convertStringToNumber(jhxfExcel.getEksk());
|
|
|
|
|
}
|
|
|
|
|
if(eklmbs>0){
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < eklmbs; j++) {
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("5");
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getLmqgks());
|
|
|
|
|
zsl++;
|
|
|
|
|
if(zsl>num){
|
|
|
|
|
continue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("5");
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getLmqgks());
|
|
|
|
|
}
|
|
|
|
|
zz=zz+eklmbs;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int eksk=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getEksk())){
|
|
|
|
|
try {
|
|
|
|
|
eksk= MyString.convertStringToNumber(jhxfExcel.getEksk());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(eksk>0){
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < eksk; j++) {
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("9");/// 2跨超长超宽曲板 // 2跨T型材腹板 //2跨超长超宽板
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getEkskks());
|
|
|
|
|
zsl++;
|
|
|
|
|
if(zsl>num){
|
|
|
|
|
continue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("9");/// 2跨超长超宽曲板 // 2跨T型材腹板 //2跨超长超宽板
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getEkskks());
|
|
|
|
|
}
|
|
|
|
|
zz=zz+eksk;
|
|
|
|
|
}
|
|
|
|
|
int sksk=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getSksk())){
|
|
|
|
|
try {
|
|
|
|
|
sksk= MyString.convertStringToNumber(jhxfExcel.getSksk());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(sksk>0){
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < sksk; j++) {
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("14");///3跨曲板 // 3跨厚板
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkskqgks());
|
|
|
|
|
|
|
|
|
|
zsl++;
|
|
|
|
|
if(zsl>num){
|
|
|
|
|
continue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("14");///3跨曲板 // 3跨厚板
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkskqgks());
|
|
|
|
|
}
|
|
|
|
|
zz=zz+sksk;
|
|
|
|
|
}
|
|
|
|
|
int skpt=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getSkpt())){
|
|
|
|
|
try {
|
|
|
|
|
skpt= MyString.convertStringToNumber(jhxfExcel.getSkpt());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(skpt>0){
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < skpt; j++) {
|
|
|
|
|
zsl++;
|
|
|
|
|
if(zsl>num){
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("6");///3跨曲板 // 3跨厚板
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getPtks());
|
|
|
|
|
insertsOne.get(zz+j).setQjgrq(jhxfExcel.getQptjs());
|
|
|
|
|
|
|
|
|
|
zsl++;
|
|
|
|
|
if(zsl>num){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
zz=zz+skpt;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int skbs=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getSkbs())){
|
|
|
|
|
try {
|
|
|
|
|
skbs= MyString.convertStringToNumber(jhxfExcel.getSkbs());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(skbs>0){
|
|
|
|
|
|
|
|
|
@ -1280,18 +1296,18 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
}
|
|
|
|
|
map.put(dcch+"_"+dcpl,insertsOne);
|
|
|
|
|
|
|
|
|
|
}{
|
|
|
|
|
}else{
|
|
|
|
|
List<DmSygdMx> insertsOne = map.get(dcch +"_"+ dcpl);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int yklm=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getYklm())){
|
|
|
|
|
try {
|
|
|
|
|
yklm= MyString.convertStringToNumber(jhxfExcel.getYklm());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(yklm>0){
|
|
|
|
|
zz=yklm;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < yklm; j++) {
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(j).setKw("7");
|
|
|
|
@ -1305,7 +1321,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
|
|
|
|
|
int yksk=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getYksk())){
|
|
|
|
|
try {
|
|
|
|
|
yksk= MyString.convertStringToNumber(jhxfExcel.getYksk());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(yksk>0){
|
|
|
|
|
for (int j = 0; j <yksk; j++) {
|
|
|
|
@ -1321,10 +1339,11 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
}
|
|
|
|
|
int eklmbs=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getEklmbs())){
|
|
|
|
|
try {
|
|
|
|
|
eklmbs= MyString.convertStringToNumber(jhxfExcel.getEksk());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(eklmbs>0){
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < eklmbs; j++) {
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("5");
|
|
|
|
@ -1339,7 +1358,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
|
|
|
|
|
int eksk=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getEksk())){
|
|
|
|
|
try {
|
|
|
|
|
eksk= MyString.convertStringToNumber(jhxfExcel.getEksk());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(eksk>0){
|
|
|
|
|
|
|
|
|
@ -1356,10 +1377,11 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
}
|
|
|
|
|
int sksk=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getSksk())){
|
|
|
|
|
try {
|
|
|
|
|
sksk= MyString.convertStringToNumber(jhxfExcel.getSksk());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(sksk>0){
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < sksk; j++) {
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("14");///3跨曲板 // 3跨厚板
|
|
|
|
@ -1367,14 +1389,16 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
|
|
|
|
|
zsl++;
|
|
|
|
|
if(zsl>num){
|
|
|
|
|
continue;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
zz=zz+sksk;
|
|
|
|
|
}
|
|
|
|
|
int skpt=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getSkpt())){
|
|
|
|
|
try {
|
|
|
|
|
skpt= MyString.convertStringToNumber(jhxfExcel.getSkpt());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(skpt>0){
|
|
|
|
|
|
|
|
|
@ -1394,17 +1418,16 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
|
|
|
|
|
int skbs=0;
|
|
|
|
|
if(StringUtils.isNotBlank(jhxfExcel.getSkbs())){
|
|
|
|
|
try {
|
|
|
|
|
skbs= MyString.convertStringToNumber(jhxfExcel.getSkbs());
|
|
|
|
|
}catch (Exception ignored){}
|
|
|
|
|
}
|
|
|
|
|
if(skbs>0){
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < skbs; j++) {
|
|
|
|
|
// 生成数据
|
|
|
|
|
insertsOne.get(zz+j).setKw("15");///3跨曲板 // 3跨厚板
|
|
|
|
|
insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkqgks());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
zsl++;
|
|
|
|
|
if(zsl>num){
|
|
|
|
|
continue;
|
|
|
|
@ -1414,52 +1437,62 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
|
|
|
|
|
}
|
|
|
|
|
map.put(dcch+"_"+dcpl,insertsOne);//这里改为用"_"分割,方便后面逻辑调用
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (Map.Entry<String, List<DmSygdMx>> entry : map.entrySet()) {
|
|
|
|
|
String key = entry.getKey();
|
|
|
|
|
List<DmSygdMx> value = entry.getValue();
|
|
|
|
|
|
|
|
|
|
// 打印键和值
|
|
|
|
|
System.out.println("Key: " + key);
|
|
|
|
|
System.out.println("Value: " + value);
|
|
|
|
|
|
|
|
|
|
//todo 支持导入有基础数据的月度计划
|
|
|
|
|
// String ch=key.split("_")[0];
|
|
|
|
|
// String pl=key.split("_")[1];
|
|
|
|
|
// List<DmBom> bomList=bomService.list(Wrappers.<DmBom>lambdaQuery().eq(DmBom::getDcch,ch).eq(DmBom::getPl,pl));
|
|
|
|
|
//
|
|
|
|
|
// //补充基础数据
|
|
|
|
|
// //fixme 这里有个冲突 ,如果导入的数量比bom少,多次导入时无法确认哪些bom被占用
|
|
|
|
|
// if (ObjectUtil.isNotEmpty(bomList)){
|
|
|
|
|
// int size=Math.min(value.size(),bomList.size());
|
|
|
|
|
// for (int i=0;i<size;i++){
|
|
|
|
|
// DmSygdMx dmSygdMx = value.get(i);
|
|
|
|
|
// DmBom dmBom = bomList.get(i);
|
|
|
|
|
// dmSygdMx.setBomData(dmBom);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
String ch=key.split("_")[0];
|
|
|
|
|
String pl=key.split("_")[1];
|
|
|
|
|
|
|
|
|
|
// 如果需要,这里还可以进一步遍历List<DmSygdMx>
|
|
|
|
|
for (DmSygdMx item : value) {
|
|
|
|
|
// 对每个DmSygdMx对象进行操作
|
|
|
|
|
System.out.println("DmSygdMx Object: " + item);
|
|
|
|
|
|
|
|
|
|
/// 简单根据 船号 批量 删除后重复导入
|
|
|
|
|
this.remove(new QueryWrapper<DmSygdMx>().eq("dc_ch",item.getDcCh()).eq("dc_pl",item.getDcPl())
|
|
|
|
|
.eq("dc_fd",item.getDcFd())
|
|
|
|
|
List<DmSygdMx> sygdMxes=this.list(Wrappers.<DmSygdMx>lambdaQuery()
|
|
|
|
|
.eq(DmSygdMx::getDcCh,ch)
|
|
|
|
|
.eq(DmSygdMx::getDcPl,pl)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
DmSygdMx importData=value.get(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(sygdMxes)){
|
|
|
|
|
CopyOptions options = CopyOptions.create()
|
|
|
|
|
.setIgnoreNullValue(true) // 忽略源对象属性为空的情况
|
|
|
|
|
.setIgnoreError(true); // 忽略复制过程中出现的错误
|
|
|
|
|
sygdMxes.forEach(item-> BeanUtil.copyProperties(importData, item,options));
|
|
|
|
|
this.updateBatchById(sygdMxes);
|
|
|
|
|
}else {
|
|
|
|
|
List<DmBom> bomList=bomService.list(Wrappers.<DmBom>lambdaQuery().eq(DmBom::getDcch,ch).eq(DmBom::getPl,pl));
|
|
|
|
|
//补充基础数据
|
|
|
|
|
//fixme 这里有个冲突 ,如果导入的数量比bom少,多次导入时无法确认哪些bom被占用
|
|
|
|
|
if (ObjectUtil.isNotEmpty(bomList)){
|
|
|
|
|
int size=Math.min(value.size(),bomList.size());
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
DmSygdMx dmSygdMx = value.get(i);
|
|
|
|
|
DmBom dmBom = bomList.get(i);
|
|
|
|
|
dmSygdMx.setBomData(dmBom);
|
|
|
|
|
dmSygdMx.setId(IdWorker.get32UUID());
|
|
|
|
|
dmSygdMx.setDrbs("Y");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.saveBatch(value,500);
|
|
|
|
|
}
|
|
|
|
|
for (DmSygdMx item : value) {
|
|
|
|
|
item.setId(IdWorker.get32UUID());
|
|
|
|
|
item.setDrbs("Y");
|
|
|
|
|
this.save(item);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 如果需要,这里还可以进一步遍历List<DmSygdMx>
|
|
|
|
|
// for (DmSygdMx item : value) {
|
|
|
|
|
// // 对每个DmSygdMx对象进行操作
|
|
|
|
|
// System.out.println("DmSygdMx Object: " + item);
|
|
|
|
|
//
|
|
|
|
|
// // 简单根据 船号 批量 删除后重复导入
|
|
|
|
|
// this.remove(new QueryWrapper<DmSygdMx>().eq("dc_ch",item.getDcCh()).eq("dc_pl",item.getDcPl())
|
|
|
|
|
// .eq("dc_fd",item.getDcFd())
|
|
|
|
|
// );
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
// for (DmSygdMx item : value) {
|
|
|
|
|
// item.setId(IdWorker.get32UUID());
|
|
|
|
|
// item.setDrbs("Y");
|
|
|
|
|
// this.save(item);
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|