commit
8f73edfd2c
@ -0,0 +1,598 @@
|
|||||||
|
package com.dsic.gj_erp.service.jhgk.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.dsic.gj_erp.bean.jcsj.DmBom;
|
||||||
|
import com.dsic.gj_erp.bean.jhgk.DmSygd;
|
||||||
|
import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
|
||||||
|
import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj;
|
||||||
|
import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel;
|
||||||
|
import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper;
|
||||||
|
import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper;
|
||||||
|
import com.dsic.gj_erp.service.jhgk.DmSygdMxLjService;
|
||||||
|
import com.dsic.gj_erp.service.jhgk.DmSygdMxService;
|
||||||
|
import com.dsic.gj_erp.service.jhgk.DmSygdService;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
|
||||||
|
|
||||||
|
private final DmSygdxqMapper sygdxqMapper;
|
||||||
|
private final DmSygdMxLjService ljService;
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void handler(List<JhxfExcel> objList){
|
||||||
|
List<JhxfExcel> qwb = objList.stream().filter(JhxfExcel::isAvailable)
|
||||||
|
.filter(item->!item.getDcPl().contains("-"))//去除T型材
|
||||||
|
.filter(item->!item.getDcPl().contains("/"))//去除T型材
|
||||||
|
.filter(item->item.getDcFd()!=null)
|
||||||
|
.filter(item -> item.getDcPl().contains("Q")).collect(Collectors.toList());
|
||||||
|
this.execute(qwb);
|
||||||
|
|
||||||
|
List<JhxfExcel> list = objList.stream().filter(JhxfExcel::isAvailable)
|
||||||
|
.filter(item->!item.getDcPl().contains("-"))//去除T型材
|
||||||
|
.filter(item->!item.getDcPl().contains("/"))//去除T型材
|
||||||
|
.filter(item->item.getDcFd()!=null)
|
||||||
|
.filter(item -> !item.getDcPl().contains("Q")).collect(Collectors.toList());
|
||||||
|
this.execute(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
// @Transactional(rollbackFor = Exception.class)
|
||||||
|
// public void handlerLj(List<DmSygdMx> mxList){
|
||||||
|
// //处理零件信息
|
||||||
|
// List<DmSygdMxLj> ljList = sygdxqMapper.getSygdLjMx(begin,end);
|
||||||
|
// ljList.forEach(lj-> mxList.forEach(mx->{
|
||||||
|
// if (lj.getDcch().equals(mx.getDcCh())
|
||||||
|
// &&lj.getPl().equals(mx.getDcPl())
|
||||||
|
// && (StrUtil.isBlank(lj.getTzbh())||lj.getTzbh().equals(mx.getTzbh()))){
|
||||||
|
// lj.setParentId(mx.getId());
|
||||||
|
// }
|
||||||
|
// }));
|
||||||
|
// ljService.saveBatch(ljList,500);
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 月度计划导入,不使用月度计划只能排产功能前提下使用该功能导入月度计划
|
||||||
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void execute(List<JhxfExcel> objList) {
|
||||||
|
objList.forEach(item->{
|
||||||
|
if (item.getDcPl().contains("A")){
|
||||||
|
item.setDcPl(item.getDcPl().replace("A",""));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.getDcPl().contains("B")){
|
||||||
|
item.setDcPl(item.getDcPl().replace("B",""));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.getDcPl().contains("C")){
|
||||||
|
item.setDcPl(item.getDcPl().replace("C",""));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.getDcPl().contains("Q")){
|
||||||
|
item.setDcPl(item.getDcPl().replace("Q",""));
|
||||||
|
item.setQwbBs(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
String format = String.format("%03d", Integer.parseInt(item.getDcPl()));
|
||||||
|
item.setDcPl(format);
|
||||||
|
|
||||||
|
String[] dcfd=item.getDcFd().split("\\.");
|
||||||
|
|
||||||
|
for (int fdIndex=0;fdIndex<dcfd.length;fdIndex++){
|
||||||
|
String dcFd=dcfd[fdIndex];
|
||||||
|
baseMapper.delete(new QueryWrapper<DmSygdMx>()
|
||||||
|
.eq("dc_ch",item.getDcCh())
|
||||||
|
.eq("dc_pl",item.getDcPl())
|
||||||
|
.eq("dc_fd",dcFd)
|
||||||
|
);
|
||||||
|
ljService.remove(new QueryWrapper<DmSygdMxLj>()
|
||||||
|
.eq("dcch",item.getDcCh())
|
||||||
|
.eq("pl",item.getDcPl())
|
||||||
|
.eq("fd",dcFd)
|
||||||
|
);
|
||||||
|
List<DmSygdMx> addList=new ArrayList<>();
|
||||||
|
|
||||||
|
if (!item.isAvailable()){
|
||||||
|
addList.add(this.initDefault(item,dcFd));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<DmSygdMxLj> ljList = sygdxqMapper.getSygdLjMx1(item.getDcCh(), item.getDcPl(),dcFd);
|
||||||
|
|
||||||
|
List<DmSygdMx> sygdMxes;
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
sygdMxes = this.initBySl(item,ljList.stream()
|
||||||
|
.filter(it->"3".equals(it.getTzbh().substring(5,6)))
|
||||||
|
.collect(Collectors.toList()),dcFd
|
||||||
|
);
|
||||||
|
}else{
|
||||||
|
sygdMxes = this.initBySl(item,ljList.stream()
|
||||||
|
.filter(it->!"3".equals(it.getTzbh().substring(5,6)))
|
||||||
|
.collect(Collectors.toList()),dcFd
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
addList.addAll(sygdMxes);
|
||||||
|
|
||||||
|
int _index=0;
|
||||||
|
int start=0;
|
||||||
|
int yklmbs=0;
|
||||||
|
try {
|
||||||
|
yklmbs=Integer.parseInt(item.getYklm());
|
||||||
|
}catch (Exception ignored){}
|
||||||
|
if (yklmbs>0){
|
||||||
|
if (!sygdMxes.isEmpty()){
|
||||||
|
_index+=yklmbs;
|
||||||
|
if (_index>sygdMxes.size()){
|
||||||
|
_index=sygdMxes.size();
|
||||||
|
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},一垮龙门板数超过上料张数",item.getDcCh(),item.getDcPl()));
|
||||||
|
}
|
||||||
|
for (int i=start;i<_index;i++){
|
||||||
|
this.updateByYklm(item,sygdMxes.get(i));
|
||||||
|
}
|
||||||
|
start+=yklmbs;
|
||||||
|
}else{
|
||||||
|
List<DmSygdMx> list = this.initByYklm(item, yklmbs,ljList,dcFd);
|
||||||
|
addList.addAll(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int yksk=0;
|
||||||
|
try {
|
||||||
|
yksk=Integer.parseInt(item.getYksk());
|
||||||
|
}catch (Exception ignored){}
|
||||||
|
if (yksk>0){
|
||||||
|
if (!sygdMxes.isEmpty()){
|
||||||
|
_index+=yksk;
|
||||||
|
if (_index>sygdMxes.size()){
|
||||||
|
_index=sygdMxes.size();
|
||||||
|
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},一垮数控板数超过上料张数",item.getDcCh(),item.getDcPl()));
|
||||||
|
}
|
||||||
|
for (int i=start;i<_index;i++){
|
||||||
|
this.updateByYksk(item,sygdMxes.get(i));
|
||||||
|
}
|
||||||
|
start+=yksk;
|
||||||
|
}else{
|
||||||
|
List<DmSygdMx> list = this.initByYksk(item, yksk,ljList,dcFd);
|
||||||
|
addList.addAll(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int eklmbs=0;
|
||||||
|
try {
|
||||||
|
eklmbs=Integer.parseInt(item.getEklmbs());
|
||||||
|
}catch (Exception ignored){}
|
||||||
|
if (eklmbs>0){
|
||||||
|
if (!sygdMxes.isEmpty()){
|
||||||
|
_index+=eklmbs;
|
||||||
|
if (_index>sygdMxes.size()){
|
||||||
|
_index=sygdMxes.size();
|
||||||
|
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},二垮龙门板数超过上料张数",item.getDcCh(),item.getDcPl()));
|
||||||
|
}
|
||||||
|
for (int i=start;i<_index;i++){
|
||||||
|
this.updateByEklm(item,sygdMxes.get(i));
|
||||||
|
}
|
||||||
|
start+=eklmbs;
|
||||||
|
}else{
|
||||||
|
List<DmSygdMx> list = this.initByEklmbs(item, eklmbs,ljList,dcFd);
|
||||||
|
addList.addAll(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int eksk=0;
|
||||||
|
try {
|
||||||
|
eksk=Integer.parseInt(item.getEksk());
|
||||||
|
}catch (Exception ignored){}
|
||||||
|
if (eksk>0){
|
||||||
|
if (!sygdMxes.isEmpty()){
|
||||||
|
_index+=eksk;
|
||||||
|
if (_index>sygdMxes.size()){
|
||||||
|
_index=sygdMxes.size();
|
||||||
|
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},二垮数控板数超过上料张数",item.getDcCh(),item.getDcPl()));
|
||||||
|
}
|
||||||
|
for (int i=start;i<_index;i++){
|
||||||
|
this.updateByEksk(item,sygdMxes.get(i));
|
||||||
|
}
|
||||||
|
start+=eksk;
|
||||||
|
}else{
|
||||||
|
List<DmSygdMx> list = this.initByEksk(item, eksk,ljList,dcFd);
|
||||||
|
addList.addAll(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int sksk=0;
|
||||||
|
try {
|
||||||
|
sksk=Integer.parseInt(item.getSksk());
|
||||||
|
}catch (Exception ignored){}
|
||||||
|
if (sksk>0){
|
||||||
|
if (!sygdMxes.isEmpty()){
|
||||||
|
_index+=sksk;
|
||||||
|
if (_index>sygdMxes.size()){
|
||||||
|
_index=sygdMxes.size();
|
||||||
|
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮数控板数超过上料张数",item.getDcCh(),item.getDcPl()));
|
||||||
|
}
|
||||||
|
for (int i=start;i<_index;i++){
|
||||||
|
this.updateBySksk(item,sygdMxes.get(i));
|
||||||
|
}
|
||||||
|
start+=sksk;
|
||||||
|
}else{
|
||||||
|
List<DmSygdMx> list = this.initBySksk(item, sksk,ljList,dcFd);
|
||||||
|
addList.addAll(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int skpt=0;
|
||||||
|
try {
|
||||||
|
skpt=Integer.parseInt(item.getSkpt());
|
||||||
|
}catch (Exception ignored){}
|
||||||
|
if (skpt>0){
|
||||||
|
if (!sygdMxes.isEmpty()){
|
||||||
|
_index+=skpt;
|
||||||
|
if (_index>sygdMxes.size()){
|
||||||
|
_index=sygdMxes.size();
|
||||||
|
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮平铁板数超过上料张数",item.getDcCh(),item.getDcPl()));
|
||||||
|
}
|
||||||
|
for (int i=start;i<_index;i++){
|
||||||
|
this.updateBySkpt(item,sygdMxes.get(i));
|
||||||
|
}
|
||||||
|
start+=skpt;
|
||||||
|
}else{
|
||||||
|
List<DmSygdMx> list = this.initBySkpt(item, skpt,ljList,dcFd);
|
||||||
|
addList.addAll(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int skbs=0;
|
||||||
|
try {
|
||||||
|
skbs=Integer.parseInt(item.getSkbs());
|
||||||
|
}catch (Exception ignored){}
|
||||||
|
if (skbs>0){
|
||||||
|
if (!sygdMxes.isEmpty()){
|
||||||
|
_index+=skbs;
|
||||||
|
if (_index>sygdMxes.size()){
|
||||||
|
_index=sygdMxes.size();
|
||||||
|
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮数控板数超过上料张数",item.getDcCh(),item.getDcPl()));
|
||||||
|
}
|
||||||
|
for (int i=start;i<_index;i++){
|
||||||
|
this.updateBySkbs(item,sygdMxes.get(i));
|
||||||
|
}
|
||||||
|
start+=skbs;
|
||||||
|
}else{
|
||||||
|
List<DmSygdMx> list = this.initBySkbs(item, skbs,ljList,dcFd);
|
||||||
|
addList.addAll(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.saveBatch(addList);
|
||||||
|
|
||||||
|
ljList.forEach(lj-> addList.forEach(mx->{
|
||||||
|
if (lj.getDcch().equals(mx.getDcCh())
|
||||||
|
&&lj.getPl().equals(mx.getDcPl())
|
||||||
|
&& (StrUtil.isBlank(lj.getTzbh())||lj.getTzbh().equals(mx.getTzbh()))){
|
||||||
|
lj.setParentId(mx.getId());
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
ljService.saveBatch(ljList,500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private DmSygdMx initDefault(JhxfExcel item,String dcFd){
|
||||||
|
DmSygdMx dmSygdMx = new DmSygdMx();
|
||||||
|
dmSygdMx.setDcCh(item.getDcCh());
|
||||||
|
dmSygdMx.setDcPl(item.getDcPl());
|
||||||
|
dmSygdMx.setDcFd(dcFd);
|
||||||
|
dmSygdMx.setJssj(item.getFdxq());
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
dmSygdMx.setQbs("1");
|
||||||
|
}
|
||||||
|
return dmSygdMx;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DmSygdMx> initBySl(JhxfExcel item,List<DmSygdMxLj> bomList,String dcFd){
|
||||||
|
int slbs=0;
|
||||||
|
try {
|
||||||
|
slbs=Integer.parseInt(item.getBs1());
|
||||||
|
}catch (Exception ignored){}
|
||||||
|
|
||||||
|
List<DmSygdMx> addList=new ArrayList<>();
|
||||||
|
|
||||||
|
if (slbs>0){
|
||||||
|
if (bomList.isEmpty()){
|
||||||
|
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
|
||||||
|
addList.add(dmSygdMx);
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
|
||||||
|
Collectors.collectingAndThen(
|
||||||
|
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
|
||||||
|
);
|
||||||
|
for(int i=0;i<slbs;i++){
|
||||||
|
if (i>=list.size()){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
DmSygdMx init = this.initBySl(item,list.get(i),dcFd);
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
init.setQbs("1");
|
||||||
|
}
|
||||||
|
addList.add(init);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DmSygdMx> initByYklm(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
|
||||||
|
List<DmSygdMx> addList=new ArrayList<>();
|
||||||
|
if (bomList.isEmpty()){
|
||||||
|
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
|
||||||
|
addList.add(dmSygdMx);
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
|
||||||
|
Collectors.collectingAndThen(
|
||||||
|
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
|
||||||
|
);
|
||||||
|
for(int i=0;i<sl;i++){
|
||||||
|
if (i>=list.size()){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
DmSygdMx init = this.initByYklm(item,list.get(i),dcFd);
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
init.setQbs("1");
|
||||||
|
}
|
||||||
|
addList.add(init);
|
||||||
|
}
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DmSygdMx> initByYksk(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
|
||||||
|
List<DmSygdMx> addList=new ArrayList<>();
|
||||||
|
if (bomList.isEmpty()){
|
||||||
|
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
|
||||||
|
addList.add(dmSygdMx);
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
|
||||||
|
Collectors.collectingAndThen(
|
||||||
|
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
|
||||||
|
);
|
||||||
|
for(int i=0;i<sl;i++){
|
||||||
|
if (i>=list.size()){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
DmSygdMx init = this.initByYksk(item,list.get(i),dcFd);
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
init.setQbs("1");
|
||||||
|
}
|
||||||
|
addList.add(init);
|
||||||
|
}
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DmSygdMx> initByEklmbs(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
|
||||||
|
List<DmSygdMx> addList=new ArrayList<>();
|
||||||
|
if (bomList.isEmpty()){
|
||||||
|
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
|
||||||
|
addList.add(dmSygdMx);
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
|
||||||
|
Collectors.collectingAndThen(
|
||||||
|
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
|
||||||
|
);
|
||||||
|
for(int i=0;i<sl;i++){
|
||||||
|
if (i>=list.size()){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
DmSygdMx init = this.initByEklmbs(item,list.get(i),dcFd);
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
init.setQbs("1");
|
||||||
|
}
|
||||||
|
addList.add(init);
|
||||||
|
}
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DmSygdMx> initByEksk(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
|
||||||
|
List<DmSygdMx> addList=new ArrayList<>();
|
||||||
|
if (bomList.isEmpty()){
|
||||||
|
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
|
||||||
|
addList.add(dmSygdMx);
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
|
||||||
|
Collectors.collectingAndThen(
|
||||||
|
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
|
||||||
|
);
|
||||||
|
for(int i=0;i<sl;i++){
|
||||||
|
if (i>=list.size()){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
DmSygdMx init = this.initByEksk(item,list.get(i),dcFd);
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
init.setQbs("1");
|
||||||
|
}
|
||||||
|
addList.add(init);
|
||||||
|
}
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DmSygdMx> initBySksk(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
|
||||||
|
List<DmSygdMx> addList=new ArrayList<>();
|
||||||
|
if (bomList.isEmpty()){
|
||||||
|
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
|
||||||
|
addList.add(dmSygdMx);
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
|
||||||
|
Collectors.collectingAndThen(
|
||||||
|
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
|
||||||
|
);
|
||||||
|
for(int i=0;i<sl;i++){
|
||||||
|
if (i>=list.size()){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
DmSygdMx init = this.initBySksk(item,list.get(i),dcFd);
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
init.setQbs("1");
|
||||||
|
}
|
||||||
|
addList.add(init);
|
||||||
|
}
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DmSygdMx> initBySkpt(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
|
||||||
|
List<DmSygdMx> addList=new ArrayList<>();
|
||||||
|
if (bomList.isEmpty()){
|
||||||
|
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
|
||||||
|
addList.add(dmSygdMx);
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
|
||||||
|
Collectors.collectingAndThen(
|
||||||
|
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
|
||||||
|
);
|
||||||
|
for(int i=0;i<sl;i++){
|
||||||
|
if (i>=list.size()){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
DmSygdMx init = this.initBySkpt(item,list.get(i),dcFd);
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
init.setQbs("1");
|
||||||
|
}
|
||||||
|
addList.add(init);
|
||||||
|
}
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DmSygdMx> initBySkbs(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
|
||||||
|
List<DmSygdMx> addList=new ArrayList<>();
|
||||||
|
if (bomList.isEmpty()){
|
||||||
|
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
|
||||||
|
addList.add(dmSygdMx);
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
|
||||||
|
Collectors.collectingAndThen(
|
||||||
|
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
|
||||||
|
);
|
||||||
|
for(int i=0;i<sl;i++){
|
||||||
|
if (i>=list.size()){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
DmSygdMx init = this.initBySkbs(item,list.get(i),dcFd);
|
||||||
|
if (item.getQwbBs()){
|
||||||
|
init.setQbs("1");
|
||||||
|
}
|
||||||
|
addList.add(init);
|
||||||
|
}
|
||||||
|
return addList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateByYklm(JhxfExcel item, DmSygdMx dmSygdMx){
|
||||||
|
dmSygdMx.setKw("7");
|
||||||
|
dmSygdMx.setQgrq(item.getYkpkjs());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateByYksk(JhxfExcel item, DmSygdMx dmSygdMx){
|
||||||
|
dmSygdMx.setKw("8");
|
||||||
|
dmSygdMx.setQgrq(item.getYkpkjs());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateByEklm(JhxfExcel item, DmSygdMx dmSygdMx){
|
||||||
|
dmSygdMx.setKw("5");
|
||||||
|
dmSygdMx.setQgrq(item.getLmqgks());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateByEksk(JhxfExcel item, DmSygdMx dmSygdMx){
|
||||||
|
dmSygdMx.setKw("9");
|
||||||
|
dmSygdMx.setQgrq(item.getEkskks());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateBySksk(JhxfExcel item, DmSygdMx dmSygdMx){
|
||||||
|
dmSygdMx.setKw("14");
|
||||||
|
dmSygdMx.setQgrq(item.getSkskqgks());
|
||||||
|
dmSygdMx.setQgjs(item.getSkpkjs());
|
||||||
|
dmSygdMx.setQjgrq(item.getQptjs());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateBySkpt(JhxfExcel item, DmSygdMx dmSygdMx){
|
||||||
|
dmSygdMx.setKw("6");
|
||||||
|
dmSygdMx.setQgrq(item.getPtks());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateBySkbs(JhxfExcel item, DmSygdMx dmSygdMx){
|
||||||
|
dmSygdMx.setKw("15");
|
||||||
|
dmSygdMx.setQgrq(item.getPkqgjs());
|
||||||
|
}
|
||||||
|
|
||||||
|
private DmSygdMx initBySl(JhxfExcel item, DmSygdMxLj bom,String dcFd){
|
||||||
|
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
|
||||||
|
dmSygdMx.setDcFd(dcFd);
|
||||||
|
dmSygdMx.setSlrq(item.getSl());
|
||||||
|
dmSygdMx.setXcpw(item.getXcpw());
|
||||||
|
dmSygdMx.setPwrq(item.getPw());
|
||||||
|
return dmSygdMx;
|
||||||
|
}
|
||||||
|
|
||||||
|
private DmSygdMx initByYklm(JhxfExcel item, DmSygdMxLj bom,String dcFd){
|
||||||
|
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
|
||||||
|
dmSygdMx.setDcFd(dcFd);
|
||||||
|
this.updateByYklm(item,dmSygdMx);
|
||||||
|
return dmSygdMx;
|
||||||
|
}
|
||||||
|
|
||||||
|
private DmSygdMx initByYksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){
|
||||||
|
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
|
||||||
|
dmSygdMx.setDcFd(dcFd);
|
||||||
|
this.updateByYksk(item,dmSygdMx);
|
||||||
|
return dmSygdMx;
|
||||||
|
}
|
||||||
|
|
||||||
|
private DmSygdMx initByEklmbs(JhxfExcel item, DmSygdMxLj bom,String dcFd){
|
||||||
|
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
|
||||||
|
dmSygdMx.setDcFd(dcFd);
|
||||||
|
this.updateByEklm(item,dmSygdMx);
|
||||||
|
return dmSygdMx;
|
||||||
|
}
|
||||||
|
|
||||||
|
private DmSygdMx initByEksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){
|
||||||
|
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
|
||||||
|
dmSygdMx.setDcFd(dcFd);
|
||||||
|
this.updateByEksk(item,dmSygdMx);
|
||||||
|
return dmSygdMx;
|
||||||
|
}
|
||||||
|
|
||||||
|
private DmSygdMx initBySksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){
|
||||||
|
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
|
||||||
|
dmSygdMx.setDcFd(dcFd);
|
||||||
|
this.updateBySksk(item,dmSygdMx);
|
||||||
|
return dmSygdMx;
|
||||||
|
}
|
||||||
|
|
||||||
|
private DmSygdMx initBySkpt(JhxfExcel item, DmSygdMxLj bom,String dcFd){
|
||||||
|
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
|
||||||
|
dmSygdMx.setDcFd(dcFd);
|
||||||
|
this.updateBySkpt(item,dmSygdMx);
|
||||||
|
return dmSygdMx;
|
||||||
|
}
|
||||||
|
|
||||||
|
private DmSygdMx initBySkbs(JhxfExcel item, DmSygdMxLj bom,String dcFd){
|
||||||
|
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
|
||||||
|
dmSygdMx.setDcFd(dcFd);
|
||||||
|
this.updateBySkbs(item,dmSygdMx);
|
||||||
|
return dmSygdMx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue