From 7bb8eab5600e47ce19f30df6b46e979a60dd7bdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Sun, 15 Dec 2024 16:56:51 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E5=AF=BC?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmTzjh.java | 8 + .../com/dsic/gj_erp/bean/jhgk/YdjhImport.java | 20 + .../com/dsic/gj_erp/bean/pgd/PgdTzjh.java | 14 +- .../com/dsic/gj_erp/bean/zyjh/DmYppyz.java | 4 + .../dsic/gj_erp/mapper/jcsj/DmBomMapper.java | 8 +- .../gj_erp/service/jcsj/DmBomService.java | 2 +- .../service/jcsj/impl/DmBomServiceImpl.java | 4 + .../jhgk/impl/DmSygdMxServiceImpl.java | 184 +++++-- .../service/jhgk/impl/YdjhImportService.java | 521 +++++++++--------- .../resources/mappers/jcsj/DmBomMapper.xml | 60 ++ 10 files changed, 526 insertions(+), 299 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmTzjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmTzjh.java index 81709d1..edf8b9f 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmTzjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmTzjh.java @@ -66,4 +66,12 @@ public class DmTzjh implements Serializable { private String id; + public static DmTzjh of(YdjhImport jh,String fd){ + DmTzjh tzjh = new DmTzjh(); + tzjh.setDcCh(jh.getDcCh()); + tzjh.setDcPl(jh.getDcPl()); + tzjh.setDcFd(fd); + tzjh.setZt("0"); + return tzjh; + } } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImport.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImport.java index e251071..af1523c 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImport.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImport.java @@ -1,9 +1,11 @@ package com.dsic.gj_erp.bean.jhgk; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -95,6 +97,24 @@ public class YdjhImport { private String bz; + private String zt; + private int importIndex; + @ApiModelProperty(value = "前方需求小组期") + private String qfxqrqxz; + + @ApiModelProperty(value = "前方需求大组期") + private String qfxqrqdz; + + private String extData;//1:无基础数据;船号:使用目标船只基础数据; + + @TableField(exist = false) + private Boolean qwbBs; + + public boolean isAvailable(){ + return !StrUtil.isAllEmpty(this.sl,this.xcpw,this.pw,this.dbqgks,this.ykpkjs,this.lmqgks,this.lmqgjs, + this.ekskks,this.ekpkjs,this.skskqgks,this.skpkjs,this.ptks,this.ptjs,this.qpt_zjs,this.qptjs, + this.qwbjs,this.fbqgks,this.fbqgjs,this.skqgks,this.pkqgjs,this.mbjb,this.xcmb,this.fdxq,this.gdjs); + } } diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdTzjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdTzjh.java index c6080ad..f49b25d 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdTzjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdTzjh.java @@ -2,6 +2,7 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.dsic.gj_erp.bean.jhgk.YdjhImport; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,7 +12,7 @@ import java.io.Serializable; /** *

- * + * *

* * @author xn @@ -79,4 +80,15 @@ public class PgdTzjh implements Serializable { private String fkry; + public static PgdTzjh of(YdjhImport jh,String pl,String fd){ + PgdTzjh tzjh = new PgdTzjh(); + tzjh.setCzbh(jh.getDcCh()); + tzjh.setPl(pl); + tzjh.setQfxqrqxz(jh.getQfxqrqxz()); + tzjh.setQfxqrqdz(jh.getQfxqrqdz()); + tzjh.setFd(fd); + tzjh.setZt("01"); +// tzjh.setTzzt("0"); + return tzjh; + } } diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/DmYppyz.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/DmYppyz.java index 76665ff..bd6ad45 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/DmYppyz.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/DmYppyz.java @@ -27,4 +27,8 @@ public class DmYppyz { private String lx; private String xj; + + private String ppch;//配盘船号 + + private String ypph;//预配盘号 } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jcsj/DmBomMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jcsj/DmBomMapper.java index 29e41a8..11d7c1d 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jcsj/DmBomMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jcsj/DmBomMapper.java @@ -16,10 +16,12 @@ import java.util.List; */ public interface DmBomMapper extends BaseMapper { + List getBomWithYlbs(String dcCh,String dcPl); - int insertBoms(List dmMfgDetails); - int insertBom(DmBom dmMfgDetails); + int insertBoms(List dmMfgDetails); - int insertFile(@Param("filepath")String filepath,@Param("yhdm") String yhdm); + int insertBom(DmBom dmMfgDetails); + + int insertFile(@Param("filepath")String filepath,@Param("yhdm") String yhdm); } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/DmBomService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/DmBomService.java index 606b743..9d31836 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/DmBomService.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/DmBomService.java @@ -19,7 +19,7 @@ import java.util.Map; */ public interface DmBomService extends IService { - + List getBomWithYlbs(String dcCh,String dcPl); ListgetListBom(HttpServletRequest req, Map map) throws CustomException; ListgetListBomRealy(HttpServletRequest req, Map map) throws CustomException; void insertBoms(List map) throws CustomException; diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmBomServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmBomServiceImpl.java index de178f2..d7d6339 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmBomServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmBomServiceImpl.java @@ -33,6 +33,10 @@ public class DmBomServiceImpl extends ServiceImpl implements BomUploadServiceImpl bomUploadService; @Autowired DmBomMapper dmBomMapper; + + public List getBomWithYlbs(String dcCh,String dcPl){ + return dmBomMapper.getBomWithYlbs(dcCh,dcPl); + } @Override public List getListBom(HttpServletRequest req,Map map) throws CustomException { // if(map.get("zt").equals("01")){ diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java index e3f7d8c..c80b737 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java @@ -4,6 +4,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.ObjUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; @@ -30,6 +31,7 @@ import com.dsic.gj_erp.service.jhgk.*; import com.dsic.gj_erp.util.MyString; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -67,6 +69,11 @@ public class DmSygdMxServiceImpl extends ServiceImpl i DmBomService bomService; @Autowired DmYdjhService ydjhService; + @Autowired + IYdjhImportService ydjhImportService; + + @Autowired + private RedisTemplate redisTemplate; @Override @Transactional(rollbackFor = Exception.class) @@ -104,61 +111,166 @@ public class DmSygdMxServiceImpl extends ServiceImpl i //生成作业计划 List dmYdjhs = this.generateYdjh(sygdMxes); - ydjhService.saveOrUpdateBatch(dmYdjhs); + + String gxsj=DateUtil.date().toString("yyyy/MM/dd HH:mm:ss"); + Map> map = dmYdjhs.stream().collect(Collectors.groupingBy(it -> it.getDcCh() + "_" + it.getDcPl())); + map.forEach((key,val)->{ + String plXh = this.getPlGdh(); + val.forEach(item-> item.setPlxh(plXh)); + }); + + //工单号 + List updateList = dmYdjhs.stream() + .filter(item->StrUtil.isNotEmpty(item.getSljhrq())) + .map(item->ofXf(item,gxsj)).collect(Collectors.toList()); + + ydjhService.updateBatchById(updateList); + } + } + + private DmYdjh ofXf(DmYdjh item,String gxsj){ + Long djh=this.handlerDjh(item); + DmYdjh dmYdjh = new DmYdjh(); + dmYdjh.setId(item.getId()); + dmYdjh.setZt("2"); + String perfix=item.getSljhrq().replace("/",""); + perfix=perfix.substring(2); + dmYdjh.setDjh(StrUtil.format("{}{}",perfix, String.format("%03d",djh))); + dmYdjh.setGxsj(gxsj); + dmYdjh.setPlxh(item.getPlxh()); + return dmYdjh; + } + + private Long handlerDjh(DmYdjh item){ + String key="ZYJH_GDH::"; + //从101开始生成工单号,方便工人念出 + if (ObjUtil.isEmpty(redisTemplate.opsForHash().get(key, item.getSljhrq()))) { + redisTemplate.opsForHash().put(key, item.getSljhrq(),100); } + return redisTemplate.opsForHash().increment(key, item.getSljhrq(), 1); + } + + private String getPlGdh(){ + String date=DateUtil.date().toString("yyyyMMdd"); + String key="ZYJH_PLGDH::"; + Object o = redisTemplate.opsForHash().get(key, date); + if (ObjUtil.isEmpty(o)) { + redisTemplate.opsForHash().put(key, date,100); + } + Long xh=redisTemplate.opsForHash().increment(key, date, 1); + return StrUtil.format("{}{}",date, String.format("%03d",xh)); } private List generateYdjh(List sygdMxes){ List list=new ArrayList<>(); + HashMap map = new HashMap<>(); for(DmSygdMx item:sygdMxes){ - DmYdjh dmYdjh = ydjhService.getOne(Wrappers.query() - .select("top 1 id,jssj") + Object o = map.get(item.getDcCh() + item.getDcPl()); + AtomicBoolean continueFlag= new AtomicBoolean(false); + if (ObjectUtil.isEmpty(o)){ + List list1 = ydjhImportService.list(Wrappers.lambdaQuery() + .eq(YdjhImport::getDcCh, item.getDcCh())); + list1.forEach(jh->{ + if (jh.getDcPl().contains("Q")) { + jh.setDcPl(jh.getDcPl().replace("Q", "")); + } + + try { + String format = String.format("%03d", Integer.parseInt(item.getDcPl())); + jh.setDcPl(format); + } catch (Exception ignored) { + } + //没有基础数据在作业计划表中插入一条仅有日期的新数据 + if(!"1".equals(jh.getExtData())&&item.getDcCh().equals(jh.getDcCh())&&item.getDcPl().equals(jh.getDcPl())){ + map.put(item.getDcCh()+item.getDcPl(),"1"); + DmYdjh dmYdjh = new DmYdjh(); + dmYdjh.setDcCh(jh.getDcCh()); + dmYdjh.setDcPl(jh.getDcPl()); + dmYdjh.setJssj(item.getJssj()); + dmYdjh.setDcCh1(jh.getExtData());//不是“0”为目标船只,“0”表示无 + dmYdjh.setSljhrq(item.getSlrq()); + dmYdjh.setPwjhrq(item.getPwrq()); + dmYdjh.setLljhrq(item.getLlrq()); + dmYdjh.setHxjhrq(item.getQgrq()); + dmYdjh.setQgjhrq(item.getQgrq()); + boolean addFlag=true; + for (DmYdjh ydjh:list){ + if (ydjh.getDcCh().equals(dmYdjh.getDcCh())&&ydjh.getDcPl().equals(ydjh.getDcPl())){ + addFlag=false; + } + } + if (addFlag){ + list.add(dmYdjh); + } + continueFlag.set(true); + } + }); + } + if (continueFlag.get()){ + continue; + } + List ydjhList = ydjhService.list(Wrappers.query() .eq("dc_ch",item.getDcCh()) .eq("dc_pl",item.getDcPl()) .eq("tzbh",item.getTzbh()) ); - if (dmYdjh != null){ - dmYdjh.setId(dmYdjh.getId()); - - //计划日期 - dmYdjh.setJssj(item.getJssj()); - dmYdjh.setSljhrq(item.getSlrq()); - dmYdjh.setPwjhrq(item.getPwrq()); - dmYdjh.setHxjhrq(item.getHxrq()); - dmYdjh.setQgjhrq(item.getQgrq()); - - //重量 - dmYdjh.setBclqzl(item.getBclqzl()); - dmYdjh.setBcshzl(item.getBcshzl()); - dmYdjh.setBcylzl(item.getBcylzl()); - dmYdjh.setBcljtlzl(item.getBcljtlzl()); - - //比对数据 - dmYdjh.setXzglxq(dmYdjh.getJssj()); - if (StrUtil.isAllNotEmpty(dmYdjh.getXzglxq(),dmYdjh.getJssj())){ - //状态 2拖期 1提前 3追加 - if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())<0){ - if (!DateUtil.isSameMonth(DateUtil.parseDate(dmYdjh.getXzglxq()),DateUtil.parseDate(dmYdjh.getJssj()))){ - dmYdjh.setJhlx("3"); - }else { - dmYdjh.setJhlx("1"); + + for(DmYdjh dmYdjh:ydjhList){ + if (dmYdjh.getDcCh().equals(item.getDcCh()) + &&dmYdjh.getDcPl().equals(item.getDcPl()) + &&dmYdjh.getTzbh().equals(item.getTzbh()) + ){ + dmYdjh.setId(dmYdjh.getId()); + + this.updateYdjh(dmYdjh,item); + + //比对数据 + dmYdjh.setXzglxq(dmYdjh.getJssj()); + if (StrUtil.isAllNotEmpty(dmYdjh.getXzglxq(),dmYdjh.getJssj())){ + //状态 2拖期 1提前 3追加 + if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())<0){ + if (!DateUtil.isSameMonth(DateUtil.parseDate(dmYdjh.getXzglxq()),DateUtil.parseDate(dmYdjh.getJssj()))){ + dmYdjh.setJhlx("3"); + }else { + dmYdjh.setJhlx("1"); + } + } + if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())>0){ + dmYdjh.setJhlx("2"); } + dmYdjh.setJssjOld(StrUtil.isEmpty(dmYdjh.getJssj())?"":dmYdjh.getJssj()); + dmYdjh.setJssj(dmYdjh.getXzglxq()); } - if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())>0){ - dmYdjh.setJhlx("2"); + if (StrUtil.isEmpty(dmYdjh.getTzbh())){ + dmYdjh.setJhlx("3"); } - dmYdjh.setJssjOld(StrUtil.isEmpty(dmYdjh.getJssj())?"":dmYdjh.getJssj()); - dmYdjh.setJssj(dmYdjh.getXzglxq()); + list.add(dmYdjh); } - if (StrUtil.isEmpty(dmYdjh.getTzbh())){ - dmYdjh.setJhlx("3"); - } - list.add(dmYdjh); +// else{ +// DmYdjh dmYdjh1 = new DmYdjh(); +// this.updateYdjh(dmYdjh1,item); +// list.add(dmYdjh1); +// } } } return list; } + private void updateYdjh(DmYdjh dmYdjh,DmSygdMx item){ + //计划日期 + dmYdjh.setJssj(item.getJssj()); + dmYdjh.setSljhrq(item.getSlrq()); + dmYdjh.setPwjhrq(item.getPwrq()); + dmYdjh.setHxjhrq(item.getHxrq()); + dmYdjh.setQgjhrq(item.getQgrq()); + + //重量 + dmYdjh.setBclqzl(item.getBclqzl()); + dmYdjh.setBcshzl(item.getBcshzl()); + dmYdjh.setBcylzl(item.getBcylzl()); + dmYdjh.setBcljtlzl(item.getBcljtlzl()); + } + public Map> getMxMap(String begin,String end){ List list=baseMapper.getMxMap(begin,end); diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java index a4a9dfc..ca36692 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java @@ -6,13 +6,16 @@ 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.jhgk.DmSygdMx; -import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; -import com.dsic.gj_erp.bean.jhgk.YdjhImport; +import com.dsic.gj_erp.bean.jcsj.DmBom; +import com.dsic.gj_erp.bean.jcsj.DmCbxxp; +import com.dsic.gj_erp.bean.jhgk.*; import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; +import com.dsic.gj_erp.bean.pgd.PgdTzjh; 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.jcsj.DmBomService; +import com.dsic.gj_erp.service.jcsj.DmCbxxpService; +import com.dsic.gj_erp.service.pgd.PgdTzjhService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,137 +28,199 @@ import java.util.stream.Collectors; public class YdjhImportService extends ServiceImpl { private final DmSygdxqMapper sygdxqMapper; - private final DmSygdMxLjService ljService; private final IYdjhImportService importService; + private final DmBomService bomService; + private final DmCbxxpService dmCbxxpService; + private final PgdTzjhService tzjhService; - public List list(String begin,String end){ + public List list(String begin, String end) { return importService.list(Wrappers.lambdaQuery() .between(YdjhImport::getFdxq, begin, end).or().between(YdjhImport::getQwbjs, begin, end) - .orderByAsc(YdjhImport::getImportIndex) + .orderByAsc(YdjhImport::getId) ); } @Transactional(rollbackFor = Exception.class) - public void handler(List objList){ - this.executeYdjhImport(objList); - - List qwb = objList.stream() - .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 list = objList.stream() - .filter(item->!item.getDcPl().contains("-"))//去除T型材 - .filter(item->!item.getDcPl().contains("/"))//去除T型材 - .filter(item->item.getDcFd()!=null) + public void handler(List objList) { + List ydjhImports = this.executeYdjhImport(objList); + + ydjhImports.forEach(item->{ + String dcPl=item.getDcPl(); + if (item.getDcPl().contains("Q")) { + dcPl=item.getDcPl().replace("Q", ""); + } + + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { + } + + baseMapper.delete(new QueryWrapper() + .eq("dc_ch", item.getDcCh()) + .eq("dc_pl", dcPl) + ); + }); +// List qwb = ydjhImports.stream() +// .filter(YdjhImport::isAvailable) +// .filter(item -> !item.getDcPl().contains("-"))//去除T型材 +// .filter(item -> !item.getDcPl().contains("/"))//去除T型材 +// .filter(item -> StrUtil.isNotEmpty(item.getDcFd())) +// .filter(item -> item.getDcPl().contains("Q")).collect(Collectors.toList()); +// this.execute(qwb); + + List list = ydjhImports.stream() + .filter(YdjhImport::isAvailable) + .filter(item -> !item.getDcPl().contains("-"))//去除T型材 + .filter(item -> !item.getDcPl().contains("/"))//去除T型材 + .filter(item -> StrUtil.isNotEmpty(item.getDcFd())) .filter(item -> !item.getDcPl().contains("Q")).collect(Collectors.toList()); this.execute(list); + + ydjhImports.forEach(importService::saveOrUpdate); + + //没有基础数据的计划生成图纸计划 + List tzjhList = new ArrayList<>(); + ydjhImports.stream() + .filter(item -> !StrUtil.equals(item.getExtData(), "1")) + .forEach(item->{ + String dcPl=item.getDcPl(); + if (item.getDcPl().contains("Q")) { + dcPl=item.getDcPl().replace("Q", ""); + } + + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { + } + if (StrUtil.isNotEmpty(item.getDcFd())){ + String[] dcfd=item.getDcFd().split("\\."); + for(String dcFd:dcfd){ + PgdTzjh dmTzjh = PgdTzjh.of(item,dcPl, dcFd); + tzjhList.add(dmTzjh); + } + } + }); + tzjhService.saveBatch(tzjhList); + } @Transactional(rollbackFor = Exception.class) - public void executeYdjhImport(List objList){ - Map map=new HashMap<>(); - for (int i=0;i executeYdjhImport(List objList) { + Map map = new HashMap<>(); + List list = new ArrayList<>(); + for (int i = 0; i < objList.size(); i++) { + JhxfExcel item = objList.get(i); YdjhImport jh = new YdjhImport(); BeanUtil.copyProperties(item, jh); jh.setImportIndex(i); YdjhImport _jh = map.get(jh.getDcCh() + jh.getDcPl()); - if (_jh!=null){ - if (_jh.getFdxq()!=null&&jh.getFdxq()==null){ + if (_jh != null) { + if (_jh.getFdxq() != null && jh.getFdxq() == null) { jh.setFdxq(_jh.getFdxq()); } - if (_jh.getFdxq()==null&&jh.getFdxq()!=null){ + if (_jh.getFdxq() == null && jh.getFdxq() != null) { _jh.setFdxq(jh.getFdxq()); } - if(_jh.getQwbjs()!=null&&jh.getQwbjs()==null){ + if (_jh.getQwbjs() != null && jh.getQwbjs() == null) { jh.setQwbjs(_jh.getQwbjs()); } - if(_jh.getQwbjs()==null&&jh.getQwbjs()!=null){ + if (_jh.getQwbjs() == null && jh.getQwbjs() != null) { _jh.setQwbjs(jh.getQwbjs()); } - }else { - map.put(jh.getDcCh() + jh.getDcPl(),jh); + } else { + map.put(jh.getDcCh() + jh.getDcPl(), jh); } - YdjhImport one = importService.getOne(new QueryWrapper() - .select("top 1 id") + importService.remove(new QueryWrapper() .eq("dc_ch", jh.getDcCh()) .eq("dc_pl", jh.getDcPl()) - .eq("dc_fd", jh.getDcFd()) ); - if (ObjUtil.isNotEmpty(one)){ - jh.setId(one.getId()); - } - importService.saveOrUpdate(jh); + jh.setZt("0"); + list.add(jh); } + return list; } /** * 月度计划导入,不使用月度计划只能排产功能前提下使用该功能导入月度计划 */ @Transactional(rollbackFor = Exception.class) - public void execute(List objList) { - for(JhxfExcel item:objList){ - if (item.getDcPl().contains("Q")){ - item.setDcPl(item.getDcPl().replace("Q","")); + public void execute(List objList) { + HashMap _map = new HashMap<>(); + objList.parallelStream().forEach(item->{ + String dcPl=item.getDcPl(); + if (item.getDcPl().contains("Q")) { + dcPl=item.getDcPl().replace("Q", ""); item.setQwbBs(true); } try { - String format = String.format("%03d", Integer.parseInt(item.getDcPl())); - item.setDcPl(format); - }catch (Exception ignored){} - + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { + } String[] dcfd=item.getDcFd().split("\\."); - List addList = new ArrayList<>(); - - boolean outContinueFlag=false; - for(String dcFd:dcfd){ - if (!item.isAvailable()) { - baseMapper.delete(new QueryWrapper() - .eq("dc_ch", item.getDcCh()) - .eq("dc_pl", item.getDcPl()) - .eq("dc_fd", dcFd) - ); - addList.add(this.initDefault(item, dcFd)); - outContinueFlag=true; - } + String dcFd=dcfd[0]; + + Object o = _map.get(item.getDcCh() + item.getDcPl()); + if(o==null){ + _map.put(item.getDcCh() + item.getDcPl(),1); + }else{ + return; } - if (outContinueFlag){ - this.saveBatch(addList); - continue; + + List bomList = bomService.getBomWithYlbs(item.getDcCh(), dcPl); + + String dcCh; + //基础数据未导入,使用目标船只 + if (ObjUtil.isEmpty(bomList)) { + DmCbxxp one = dmCbxxpService.getOne(Wrappers.lambdaQuery() + .eq(DmCbxxp::getCbbm, item.getDcCh()) + ); + if (one != null) { + dcCh = one.getCbbm(); + item.setExtData(dcCh);//使用目标船只基础数据 + bomList = bomService.getBomWithYlbs(dcCh, dcPl); + if (ObjUtil.isEmpty(bomList)) { + DmSygdMx dmSygdMx = this.initDefault(item,dcFd,dcPl); + dmSygdMx.setDcCh1(dcCh); + this.save(dmSygdMx); + item.setExtData("0");//无基础数据 + return; + } + } else { + item.setExtData("0");//无基础数据 + DmSygdMx dmSygdMx = this.initDefault(item,dcFd,dcPl); + this.save(dmSygdMx); + return; + } + } else { + item.setExtData("1");//有基础数据 } - String dcFd=dcfd[0]; - baseMapper.delete(new QueryWrapper() - .eq("dc_ch", item.getDcCh()) - .eq("dc_pl", item.getDcPl()) - .eq("dc_fd", dcFd) - ); - ljService.remove(new QueryWrapper() - .eq("dcch", item.getDcCh()) - .eq("pl", item.getDcPl()) - .eq("fd", dcFd) - ); + List dmSygdxqs = sygdxqMapper.selectList(Wrappers.lambdaQuery() + .eq(DmSygdxq::getDcCh, item.getDcCh()).eq(DmSygdxq::getDcPl, dcPl)); - List ljList = sygdxqMapper.getSygdLjMx1(item.getDcCh(), item.getDcPl()); + HashMap map = new HashMap<>(); + for (DmSygdxq xq : dmSygdxqs) { + String pl = xq.getDcPl(); + String fd = xq.getDcFd(); + map.put(item.getDcCh() + pl + fd, xq); + } + List ljList = this.initLj(item.getDcCh(), map, bomList); List sygdMxes; if (item.getQwbBs()) { - sygdMxes = this.initBySl(item, ljList.stream().filter(it -> "3".equals(it.getTzbh().substring(5, 6))) - .collect(Collectors.toList()), dcFd - ); + ljList=ljList.stream().filter(it -> "3".equals(it.getTzbh().substring(5, 6))) + .collect(Collectors.toList()); + sygdMxes = this.initBySl(item, ljList,dcFd); } else { - sygdMxes = this.initBySl(item, ljList.stream().filter(it -> !"3".equals(it.getTzbh().substring(5, 6))) - .collect(Collectors.toList()), dcFd - ); + ljList=ljList.stream().filter(it -> !"3".equals(it.getTzbh().substring(5, 6))) + .collect(Collectors.toList()); + sygdMxes = this.initBySl(item, ljList,dcFd); } - addList.addAll(sygdMxes); + List addList = new ArrayList<>(sygdMxes); if (item.getPkqgjs() != null) { List _sygdMxes = sygdMxes.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); @@ -165,24 +230,24 @@ public class YdjhImportService extends ServiceImpl { } } else { List _ljlist = ljList.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initByYklm(item, _ljlist, dcFd); + List list = this.initByYklm(item, _ljlist,dcFd,dcPl); addList.addAll(list); } - List _sygdMxes1 = sygdMxes.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList()); - if (!_sygdMxes1.isEmpty()) { - for (DmSygdMx dmSygdMx : _sygdMxes1) { - this.updateByYksk(item, dmSygdMx); - } - } else { - List _ljlist = ljList.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList()); - if (!_ljlist.isEmpty()){ - List list = this.initByYksk(item, _ljlist, dcFd); - addList.addAll(list); - } - } +// List _sygdMxes1 = sygdMxes.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList()); +// if (!_sygdMxes1.isEmpty()) { +// for (DmSygdMx dmSygdMx : _sygdMxes1) { +// this.updateByYksk(item, dmSygdMx); +// } +// } else { +// List _ljlist = ljList.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList()); +// if (!_ljlist.isEmpty()) { +// List list = this.initByYksk(item, _ljlist,dcFd,dcPl); +// addList.addAll(list); +// } +// } } - +// if (item.getLmqgks() != null) { List _sygdMxes = sygdMxes.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); if (!_sygdMxes.isEmpty()) { @@ -191,7 +256,7 @@ public class YdjhImportService extends ServiceImpl { } } else { List _ljlist = ljList.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initByEklmbs(item, _ljlist, dcFd); + List list = this.initByEklmbs(item, _ljlist,dcFd,dcPl); addList.addAll(list); } } @@ -204,7 +269,7 @@ public class YdjhImportService extends ServiceImpl { } } else { List _ljlist = ljList.stream().filter(it -> "9".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initByEksk(item, _ljlist, dcFd); + List list = this.initByEksk(item, _ljlist,dcFd,dcPl); addList.addAll(list); } } @@ -217,7 +282,7 @@ public class YdjhImportService extends ServiceImpl { } } else { List _ljlist = ljList.stream().filter(it -> "14".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initBySksk(item, _ljlist, dcFd); + List list = this.initBySksk(item, _ljlist,dcFd,dcPl); addList.addAll(list); } } @@ -230,7 +295,7 @@ public class YdjhImportService extends ServiceImpl { } } else { List _ljlist = ljList.stream().filter(it -> "6".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initBySkpt(item, _ljlist, dcFd); + List list = this.initBySkpt(item, _ljlist,dcFd,dcPl); addList.addAll(list); } } @@ -243,52 +308,24 @@ public class YdjhImportService extends ServiceImpl { } } else { List _ljlist = ljList.stream().filter(it -> "15".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initBySkbs(item, _ljlist, dcFd); + List list = this.initBySkbs(item, _ljlist,dcFd,dcPl); 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); - } - - } - - 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"); - dmSygdMx.setJssj(item.getQwbjs()); - } - return dmSygdMx; + }); } - private List initBySl(JhxfExcel item,List bomList,String dcFd){ - List addList=new ArrayList<>(); + private List initBySl(YdjhImport item, List bomList,String dcFd) { + List addList = new ArrayList<>(); - if (item.getSl()!=null){ - if (bomList.isEmpty()){ - DmSygdMx dmSygdMx = this.initDefault(item,dcFd); - addList.add(dmSygdMx); - return addList; - } + if (item.getSl() != null) { ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); for (DmSygdMxLj dmSygdMxLj : list) { - DmSygdMx init = this.initBySl(item, dmSygdMxLj, dcFd); + DmSygdMx init = this.initByOther(item, dmSygdMxLj); if (item.getQwbBs()) { init.setQbs("1"); init.setJssj(item.getQwbjs()); @@ -299,19 +336,15 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initByYklm(JhxfExcel item, List bomList, String dcFd){ - List addList=new ArrayList<>(); - if (bomList.isEmpty()){ - DmSygdMx dmSygdMx = this.initDefault(item,dcFd); - addList.add(dmSygdMx); - return addList; - } + private List initByYklm(YdjhImport item, List bomList,String dcFd,String dcPl) { + List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); for (DmSygdMxLj dmSygdMxLj : list) { - DmSygdMx init = this.initByYklm(item, dmSygdMxLj, dcFd); + DmSygdMx init = this.initByOther(item, dmSygdMxLj); + this.updateByYklm(item,init); if (item.getQwbBs()) { init.setQbs("1"); init.setJssj(item.getQwbjs()); @@ -321,19 +354,15 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initByYksk(JhxfExcel item, List bomList, String dcFd){ - List addList=new ArrayList<>(); - if (bomList.isEmpty()){ - DmSygdMx dmSygdMx = this.initDefault(item,dcFd); - addList.add(dmSygdMx); - return addList; - } + private List initByYksk(YdjhImport item, List bomList,String dcFd,String dcPl) { + List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); for (DmSygdMxLj dmSygdMxLj : list) { - DmSygdMx init = this.initByYksk(item, dmSygdMxLj, dcFd); + DmSygdMx init = this.initByOther(item, dmSygdMxLj); + this.updateByYksk(item,init); if (item.getQwbBs()) { init.setQbs("1"); init.setJssj(item.getQwbjs()); @@ -343,19 +372,15 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initByEklmbs(JhxfExcel item, List bomList, String dcFd){ - List addList=new ArrayList<>(); - if (bomList.isEmpty()){ - DmSygdMx dmSygdMx = this.initDefault(item,dcFd); - addList.add(dmSygdMx); - return addList; - } + private List initByEklmbs(YdjhImport item, List bomList,String dcFd,String dcPl) { + List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); for (DmSygdMxLj dmSygdMxLj : list) { - DmSygdMx init = this.initByEklmbs(item, dmSygdMxLj, dcFd); + DmSygdMx init = this.initByOther(item, dmSygdMxLj); + this.updateByEklm(item,init); if (item.getQwbBs()) { init.setQbs("1"); init.setJssj(item.getQwbjs()); @@ -365,19 +390,15 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initByEksk(JhxfExcel item, List bomList, String dcFd){ - List addList=new ArrayList<>(); - if (bomList.isEmpty()){ - DmSygdMx dmSygdMx = this.initDefault(item,dcFd); - addList.add(dmSygdMx); - return addList; - } + private List initByEksk(YdjhImport item, List bomList,String dcFd,String dcPl) { + List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); for (DmSygdMxLj dmSygdMxLj : list) { - DmSygdMx init = this.initByEksk(item, dmSygdMxLj, dcFd); + DmSygdMx init = this.initByOther(item, dmSygdMxLj); + this.updateByEksk(item,init); if (item.getQwbBs()) { init.setQbs("1"); init.setJssj(item.getQwbjs()); @@ -387,19 +408,15 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initBySksk(JhxfExcel item, List bomList, String dcFd){ - List addList=new ArrayList<>(); - if (bomList.isEmpty()){ - DmSygdMx dmSygdMx = this.initDefault(item,dcFd); - addList.add(dmSygdMx); - return addList; - } + private List initBySksk(YdjhImport item, List bomList,String dcFd,String dcPl) { + List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); for (DmSygdMxLj dmSygdMxLj : list) { - DmSygdMx init = this.initBySksk(item, dmSygdMxLj, dcFd); + DmSygdMx init = this.initByOther(item, dmSygdMxLj); + this.updateBySksk(item,init); if (item.getQwbBs()) { init.setQbs("1"); init.setJssj(item.getQwbjs()); @@ -409,19 +426,15 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initBySkpt(JhxfExcel item, List bomList, String dcFd){ - List addList=new ArrayList<>(); - if (bomList.isEmpty()){ - DmSygdMx dmSygdMx = this.initDefault(item,dcFd); - addList.add(dmSygdMx); - return addList; - } + private List initBySkpt(YdjhImport item, List bomList,String dcFd,String dcPl) { + List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); for (DmSygdMxLj dmSygdMxLj : list) { - DmSygdMx init = this.initBySkpt(item, dmSygdMxLj, dcFd); + DmSygdMx init = this.initByOther(item, dmSygdMxLj); + this.updateBySkpt(item,init); if (item.getQwbBs()) { init.setQbs("1"); init.setJssj(item.getQwbjs()); @@ -431,19 +444,15 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initBySkbs(JhxfExcel item, List bomList, String dcFd){ - List addList=new ArrayList<>(); - if (bomList.isEmpty()){ - DmSygdMx dmSygdMx = this.initDefault(item,dcFd); - addList.add(dmSygdMx); - return addList; - } + private List initBySkbs(YdjhImport item, List bomList,String dcFd,String dcPl) { + List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); for (DmSygdMxLj dmSygdMxLj : list) { - DmSygdMx init = this.initBySkbs(item, dmSygdMxLj, dcFd); + DmSygdMx init = this.initByOther(item, dmSygdMxLj); + this.updateBySkbs(item,init); if (item.getQwbBs()) { init.setQbs("1"); init.setJssj(item.getQwbjs()); @@ -453,120 +462,116 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private void updateByYklm(JhxfExcel item, DmSygdMx dmSygdMx){ + private void updateByYklm(YdjhImport item, DmSygdMx dmSygdMx) { dmSygdMx.setKw("7"); dmSygdMx.setQgrq(item.getYkpkjs()); + dmSygdMx.setHxrq(item.getYkpkjs()); } - private void updateByYksk(JhxfExcel item, DmSygdMx dmSygdMx){ + private void updateByYksk(YdjhImport item, DmSygdMx dmSygdMx) { dmSygdMx.setKw("8"); dmSygdMx.setQgrq(item.getYkpkjs()); + dmSygdMx.setHxrq(item.getYkpkjs()); } - private void updateByEklm(JhxfExcel item, DmSygdMx dmSygdMx){ + private void updateByEklm(YdjhImport item, DmSygdMx dmSygdMx) { dmSygdMx.setKw("5"); dmSygdMx.setQgrq(item.getLmqgks()); + dmSygdMx.setHxrq(item.getLmqgks()); } - private void updateByEksk(JhxfExcel item, DmSygdMx dmSygdMx){ + private void updateByEksk(YdjhImport item, DmSygdMx dmSygdMx) { dmSygdMx.setKw("9"); dmSygdMx.setQgrq(item.getEkskks()); + dmSygdMx.setHxrq(item.getEkskks()); } - private void updateBySksk(JhxfExcel item, DmSygdMx dmSygdMx){ + private void updateBySksk(YdjhImport item, DmSygdMx dmSygdMx) { dmSygdMx.setKw("14"); dmSygdMx.setQgrq(item.getSkskqgks()); + dmSygdMx.setHxrq(item.getSkskqgks()); dmSygdMx.setQgjs(item.getSkpkjs()); dmSygdMx.setQjgrq(item.getQptjs()); } - private void updateBySkpt(JhxfExcel item, DmSygdMx dmSygdMx){ + private void updateBySkpt(YdjhImport item, DmSygdMx dmSygdMx) { dmSygdMx.setKw("6"); dmSygdMx.setQgrq(item.getPtks()); } - private void updateBySkbs(JhxfExcel item, DmSygdMx dmSygdMx){ + private void updateBySkbs(YdjhImport 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); - dmSygdMx.setSlrq(item.getSl()); - dmSygdMx.setXcpw(item.getXcpw()); - dmSygdMx.setPwrq(item.getPw()); - this.updateByYklm(item,dmSygdMx); - return dmSygdMx; - } - - private DmSygdMx initByYksk(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()); - this.updateByYksk(item,dmSygdMx); - return dmSygdMx; + dmSygdMx.setQgrq(item.getSkqgks()); + dmSygdMx.setQgrq(item.getSkqgks()); } - private DmSygdMx initByEklmbs(JhxfExcel item, DmSygdMxLj bom,String dcFd){ - DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); + private DmSygdMx initDefault(YdjhImport item,String dcFd,String dcPl) { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + if(!"1".equals(item.getExtData())){ + dmSygdMx.setDcCh1(item.getExtData()); + } + dmSygdMx.setDcPl(dcPl); dmSygdMx.setDcFd(dcFd); + dmSygdMx.setJssj(item.getFdxq()); dmSygdMx.setSlrq(item.getSl()); dmSygdMx.setXcpw(item.getXcpw()); dmSygdMx.setPwrq(item.getPw()); - this.updateByEklm(item,dmSygdMx); + dmSygdMx.setLlrq(item.getPw()); + if (item.getQwbBs()) { + dmSygdMx.setQbs("1"); + dmSygdMx.setJssj(item.getQwbjs()); + } return dmSygdMx; } - private DmSygdMx initByEksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){ + private DmSygdMx initByOther(YdjhImport item, DmSygdMxLj bom) { DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); - dmSygdMx.setDcFd(dcFd); + dmSygdMx.setDcCh(item.getDcCh()); + if(!"1".equals(item.getExtData())){ + dmSygdMx.setDcCh1(item.getExtData()); + } + dmSygdMx.setDcPl(bom.getPl()); + dmSygdMx.setDcFd(bom.getFd()); dmSygdMx.setSlrq(item.getSl()); dmSygdMx.setXcpw(item.getXcpw()); dmSygdMx.setPwrq(item.getPw()); - this.updateByEksk(item,dmSygdMx); - return dmSygdMx; - } - - private DmSygdMx initBySksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){ - DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); - dmSygdMx.setDcFd(dcFd); + dmSygdMx.setJssj(item.getFdxq()); dmSygdMx.setSlrq(item.getSl()); dmSygdMx.setXcpw(item.getXcpw()); dmSygdMx.setPwrq(item.getPw()); - this.updateBySksk(item,dmSygdMx); + dmSygdMx.setLlrq(item.getPw()); + if (item.getQwbBs()) { + dmSygdMx.setQbs("1"); + dmSygdMx.setJssj(item.getQwbjs()); + } return dmSygdMx; } - private DmSygdMx initBySkpt(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()); - this.updateBySkpt(item,dmSygdMx); - return dmSygdMx; - } + /** + * @param dcCh 月度计划导入的船号 + * @param bomList 有可能由目标船只获取 + */ + private List initLj(String dcCh, HashMap map, List bomList) { + List list = new ArrayList<>(); + + for (DmBom bom : bomList) { + DmSygdxq dmSygdxq = map.get(dcCh + bom.getPl() + bom.getFd()); + DmSygdMxLj dmSygdMxLj = new DmSygdMxLj(); + dmSygdMxLj.setDcch(dcCh); + dmSygdMxLj.setPl(bom.getPl()); + dmSygdMxLj.setFd(bom.getFd()); + if (dmSygdxq != null) { + dmSygdMxLj.setXzglxq(dmSygdxq.getXzglxq()); + dmSygdMxLj.setDzglxq(dmSygdxq.getDzglxq()); + } + if (!dcCh.equals(bom.getDcch())) { + dmSygdMxLj.setMbch(bom.getDcch()); + } + BeanUtil.copyProperties(bom, dmSygdMxLj); - private DmSygdMx initBySkbs(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()); - this.updateBySkbs(item,dmSygdMx); - return dmSygdMx; + list.add(dmSygdMxLj); + } + return list; } - } diff --git a/src/main/resources/mappers/jcsj/DmBomMapper.xml b/src/main/resources/mappers/jcsj/DmBomMapper.xml index 525a79a..2139324 100644 --- a/src/main/resources/mappers/jcsj/DmBomMapper.xml +++ b/src/main/resources/mappers/jcsj/DmBomMapper.xml @@ -216,6 +216,66 @@ insert into upload_file(filepath,drr)values(#{filepath},#{yhdm}) +