Merge remote-tracking branch 'origin/master'

master
xhj 5 months ago
commit 3aefbb06d4

@ -66,4 +66,12 @@ public class DmTzjh implements Serializable {
private String id; 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;
}
} }

@ -1,9 +1,11 @@
package com.dsic.gj_erp.bean.jhgk; package com.dsic.gj_erp.bean.jhgk;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@ -95,6 +97,24 @@ public class YdjhImport {
private String bz; private String bz;
private String zt;
private int importIndex; 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);
}
} }

@ -2,6 +2,7 @@ package com.dsic.gj_erp.bean.pgd;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.dsic.gj_erp.bean.jhgk.YdjhImport;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -11,7 +12,7 @@ import java.io.Serializable;
/** /**
* <p> * <p>
* *
* </p> * </p>
* *
* @author xn * @author xn
@ -79,4 +80,15 @@ public class PgdTzjh implements Serializable {
private String fkry; 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;
}
} }

@ -27,4 +27,8 @@ public class DmYppyz {
private String lx; private String lx;
private String xj; private String xj;
private String ppch;//配盘船号
private String ypph;//预配盘号
} }

@ -16,10 +16,12 @@ import java.util.List;
*/ */
public interface DmBomMapper extends BaseMapper<DmBom> { public interface DmBomMapper extends BaseMapper<DmBom> {
List<DmBom> getBomWithYlbs(String dcCh,String dcPl);
int insertBoms(List<DmBom> dmMfgDetails); int insertBoms(List<DmBom> dmMfgDetails);
int insertBom(DmBom 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);
} }

@ -19,7 +19,7 @@ import java.util.Map;
*/ */
public interface DmBomService extends IService<DmBom> { public interface DmBomService extends IService<DmBom> {
List<DmBom> getBomWithYlbs(String dcCh,String dcPl);
List<BomVO>getListBom(HttpServletRequest req, Map map) throws CustomException; List<BomVO>getListBom(HttpServletRequest req, Map map) throws CustomException;
List<DmBom>getListBomRealy(HttpServletRequest req, Map map) throws CustomException; List<DmBom>getListBomRealy(HttpServletRequest req, Map map) throws CustomException;
void insertBoms(List<DmBom> map) throws CustomException; void insertBoms(List<DmBom> map) throws CustomException;

@ -33,6 +33,10 @@ public class DmBomServiceImpl extends ServiceImpl<DmBomMapper, DmBom> implements
BomUploadServiceImpl bomUploadService; BomUploadServiceImpl bomUploadService;
@Autowired @Autowired
DmBomMapper dmBomMapper; DmBomMapper dmBomMapper;
public List<DmBom> getBomWithYlbs(String dcCh,String dcPl){
return dmBomMapper.getBomWithYlbs(dcCh,dcPl);
}
@Override @Override
public List<BomVO> getListBom(HttpServletRequest req,Map map) throws CustomException { public List<BomVO> getListBom(HttpServletRequest req,Map map) throws CustomException {
// if(map.get("zt").equals("01")){ // if(map.get("zt").equals("01")){

@ -4,6 +4,7 @@ package com.dsic.gj_erp.service.jhgk.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
@ -30,6 +31,7 @@ import com.dsic.gj_erp.service.jhgk.*;
import com.dsic.gj_erp.util.MyString; import com.dsic.gj_erp.util.MyString;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -67,6 +69,11 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
DmBomService bomService; DmBomService bomService;
@Autowired @Autowired
DmYdjhService ydjhService; DmYdjhService ydjhService;
@Autowired
IYdjhImportService ydjhImportService;
@Autowired
private RedisTemplate<String,Object> redisTemplate;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -104,61 +111,166 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
//生成作业计划 //生成作业计划
List<DmYdjh> dmYdjhs = this.generateYdjh(sygdMxes); List<DmYdjh> dmYdjhs = this.generateYdjh(sygdMxes);
ydjhService.saveOrUpdateBatch(dmYdjhs);
String gxsj=DateUtil.date().toString("yyyy/MM/dd HH:mm:ss");
Map<String, List<DmYdjh>> 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<DmYdjh> 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<DmYdjh> generateYdjh(List<DmSygdMx> sygdMxes){ private List<DmYdjh> generateYdjh(List<DmSygdMx> sygdMxes){
List<DmYdjh> list=new ArrayList<>(); List<DmYdjh> list=new ArrayList<>();
HashMap<String, Object> map = new HashMap<>();
for(DmSygdMx item:sygdMxes){ for(DmSygdMx item:sygdMxes){
DmYdjh dmYdjh = ydjhService.getOne(Wrappers.<DmYdjh>query() Object o = map.get(item.getDcCh() + item.getDcPl());
.select("top 1 id,jssj") AtomicBoolean continueFlag= new AtomicBoolean(false);
if (ObjectUtil.isEmpty(o)){
List<YdjhImport> list1 = ydjhImportService.list(Wrappers.<YdjhImport>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<DmYdjh> ydjhList = ydjhService.list(Wrappers.<DmYdjh>query()
.eq("dc_ch",item.getDcCh()) .eq("dc_ch",item.getDcCh())
.eq("dc_pl",item.getDcPl()) .eq("dc_pl",item.getDcPl())
.eq("tzbh",item.getTzbh()) .eq("tzbh",item.getTzbh())
); );
if (dmYdjh != null){
dmYdjh.setId(dmYdjh.getId()); for(DmYdjh dmYdjh:ydjhList){
if (dmYdjh.getDcCh().equals(item.getDcCh())
//计划日期 &&dmYdjh.getDcPl().equals(item.getDcPl())
dmYdjh.setJssj(item.getJssj()); &&dmYdjh.getTzbh().equals(item.getTzbh())
dmYdjh.setSljhrq(item.getSlrq()); ){
dmYdjh.setPwjhrq(item.getPwrq()); dmYdjh.setId(dmYdjh.getId());
dmYdjh.setHxjhrq(item.getHxrq());
dmYdjh.setQgjhrq(item.getQgrq()); this.updateYdjh(dmYdjh,item);
//重量 //比对数据
dmYdjh.setBclqzl(item.getBclqzl()); dmYdjh.setXzglxq(dmYdjh.getJssj());
dmYdjh.setBcshzl(item.getBcshzl()); if (StrUtil.isAllNotEmpty(dmYdjh.getXzglxq(),dmYdjh.getJssj())){
dmYdjh.setBcylzl(item.getBcylzl()); //状态 2拖期 1提前 3追加
dmYdjh.setBcljtlzl(item.getBcljtlzl()); if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())<0){
if (!DateUtil.isSameMonth(DateUtil.parseDate(dmYdjh.getXzglxq()),DateUtil.parseDate(dmYdjh.getJssj()))){
//比对数据 dmYdjh.setJhlx("3");
dmYdjh.setXzglxq(dmYdjh.getJssj()); }else {
if (StrUtil.isAllNotEmpty(dmYdjh.getXzglxq(),dmYdjh.getJssj())){ dmYdjh.setJhlx("1");
//状态 2拖期 1提前 3追加 }
if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())<0){ }
if (!DateUtil.isSameMonth(DateUtil.parseDate(dmYdjh.getXzglxq()),DateUtil.parseDate(dmYdjh.getJssj()))){ if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())>0){
dmYdjh.setJhlx("3"); dmYdjh.setJhlx("2");
}else {
dmYdjh.setJhlx("1");
} }
dmYdjh.setJssjOld(StrUtil.isEmpty(dmYdjh.getJssj())?"":dmYdjh.getJssj());
dmYdjh.setJssj(dmYdjh.getXzglxq());
} }
if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())>0){ if (StrUtil.isEmpty(dmYdjh.getTzbh())){
dmYdjh.setJhlx("2"); dmYdjh.setJhlx("3");
} }
dmYdjh.setJssjOld(StrUtil.isEmpty(dmYdjh.getJssj())?"":dmYdjh.getJssj()); list.add(dmYdjh);
dmYdjh.setJssj(dmYdjh.getXzglxq());
} }
if (StrUtil.isEmpty(dmYdjh.getTzbh())){ // else{
dmYdjh.setJhlx("3"); // DmYdjh dmYdjh1 = new DmYdjh();
} // this.updateYdjh(dmYdjh1,item);
list.add(dmYdjh); // list.add(dmYdjh1);
// }
} }
} }
return list; 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<String,List<EmGcrlDto>> getMxMap(String begin,String end){ public Map<String,List<EmGcrlDto>> getMxMap(String begin,String end){
List<EmGcrlDto> list=baseMapper.getMxMap(begin,end); List<EmGcrlDto> list=baseMapper.getMxMap(begin,end);

@ -6,13 +6,16 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jcsj.DmBom;
import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; import com.dsic.gj_erp.bean.jcsj.DmCbxxp;
import com.dsic.gj_erp.bean.jhgk.YdjhImport; import com.dsic.gj_erp.bean.jhgk.*;
import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; 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.DmSygdMxMapper;
import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper; 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 lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -25,137 +28,199 @@ import java.util.stream.Collectors;
public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> { public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
private final DmSygdxqMapper sygdxqMapper; private final DmSygdxqMapper sygdxqMapper;
private final DmSygdMxLjService ljService;
private final IYdjhImportService importService; private final IYdjhImportService importService;
private final DmBomService bomService;
private final DmCbxxpService dmCbxxpService;
private final PgdTzjhService tzjhService;
public List<YdjhImport> list(String begin,String end){ public List<YdjhImport> list(String begin, String end) {
return importService.list(Wrappers.<YdjhImport>lambdaQuery() return importService.list(Wrappers.<YdjhImport>lambdaQuery()
.between(YdjhImport::getFdxq, begin, end).or().between(YdjhImport::getQwbjs, begin, end) .between(YdjhImport::getFdxq, begin, end).or().between(YdjhImport::getQwbjs, begin, end)
.orderByAsc(YdjhImport::getImportIndex) .orderByAsc(YdjhImport::getId)
); );
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void handler(List<JhxfExcel> objList){ public void handler(List<JhxfExcel> objList) {
this.executeYdjhImport(objList); List<YdjhImport> ydjhImports = this.executeYdjhImport(objList);
List<JhxfExcel> qwb = objList.stream() ydjhImports.forEach(item->{
.filter(item->!item.getDcPl().contains("-"))//去除T型材 String dcPl=item.getDcPl();
.filter(item->!item.getDcPl().contains("/"))//去除T型材 if (item.getDcPl().contains("Q")) {
.filter(item->item.getDcFd()!=null) dcPl=item.getDcPl().replace("Q", "");
.filter(item -> item.getDcPl().contains("Q")).collect(Collectors.toList()); }
this.execute(qwb);
try {
List<JhxfExcel> list = objList.stream() dcPl = String.format("%03d", Integer.parseInt(dcPl));
.filter(item->!item.getDcPl().contains("-"))//去除T型材 } catch (Exception ignored) {
.filter(item->!item.getDcPl().contains("/"))//去除T型材 }
.filter(item->item.getDcFd()!=null)
baseMapper.delete(new QueryWrapper<DmSygdMx>()
.eq("dc_ch", item.getDcCh())
.eq("dc_pl", dcPl)
);
});
// List<YdjhImport> 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<YdjhImport> 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()); .filter(item -> !item.getDcPl().contains("Q")).collect(Collectors.toList());
this.execute(list); this.execute(list);
ydjhImports.forEach(importService::saveOrUpdate);
//没有基础数据的计划生成图纸计划
List<PgdTzjh> 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) @Transactional(rollbackFor = Exception.class)
public void executeYdjhImport(List<JhxfExcel> objList){ public List<YdjhImport> executeYdjhImport(List<JhxfExcel> objList) {
Map<String,YdjhImport> map=new HashMap<>(); Map<String, YdjhImport> map = new HashMap<>();
for (int i=0;i<objList.size();i++){ List<YdjhImport> list = new ArrayList<>();
JhxfExcel item=objList.get(i); for (int i = 0; i < objList.size(); i++) {
JhxfExcel item = objList.get(i);
YdjhImport jh = new YdjhImport(); YdjhImport jh = new YdjhImport();
BeanUtil.copyProperties(item, jh); BeanUtil.copyProperties(item, jh);
jh.setImportIndex(i); jh.setImportIndex(i);
YdjhImport _jh = map.get(jh.getDcCh() + jh.getDcPl()); YdjhImport _jh = map.get(jh.getDcCh() + jh.getDcPl());
if (_jh!=null){ if (_jh != null) {
if (_jh.getFdxq()!=null&&jh.getFdxq()==null){ if (_jh.getFdxq() != null && jh.getFdxq() == null) {
jh.setFdxq(_jh.getFdxq()); jh.setFdxq(_jh.getFdxq());
} }
if (_jh.getFdxq()==null&&jh.getFdxq()!=null){ if (_jh.getFdxq() == null && jh.getFdxq() != null) {
_jh.setFdxq(jh.getFdxq()); _jh.setFdxq(jh.getFdxq());
} }
if(_jh.getQwbjs()!=null&&jh.getQwbjs()==null){ if (_jh.getQwbjs() != null && jh.getQwbjs() == null) {
jh.setQwbjs(_jh.getQwbjs()); jh.setQwbjs(_jh.getQwbjs());
} }
if(_jh.getQwbjs()==null&&jh.getQwbjs()!=null){ if (_jh.getQwbjs() == null && jh.getQwbjs() != null) {
_jh.setQwbjs(jh.getQwbjs()); _jh.setQwbjs(jh.getQwbjs());
} }
}else { } else {
map.put(jh.getDcCh() + jh.getDcPl(),jh); map.put(jh.getDcCh() + jh.getDcPl(), jh);
} }
YdjhImport one = importService.getOne(new QueryWrapper<YdjhImport>() importService.remove(new QueryWrapper<YdjhImport>()
.select("top 1 id")
.eq("dc_ch", jh.getDcCh()) .eq("dc_ch", jh.getDcCh())
.eq("dc_pl", jh.getDcPl()) .eq("dc_pl", jh.getDcPl())
.eq("dc_fd", jh.getDcFd())
); );
if (ObjUtil.isNotEmpty(one)){ jh.setZt("0");
jh.setId(one.getId()); list.add(jh);
}
importService.saveOrUpdate(jh);
} }
return list;
} }
/** /**
* ,使使 * ,使使
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void execute(List<JhxfExcel> objList) { public void execute(List<YdjhImport> objList) {
for(JhxfExcel item:objList){ HashMap<String, Object> _map = new HashMap<>();
if (item.getDcPl().contains("Q")){ objList.parallelStream().forEach(item->{
item.setDcPl(item.getDcPl().replace("Q","")); String dcPl=item.getDcPl();
if (item.getDcPl().contains("Q")) {
dcPl=item.getDcPl().replace("Q", "");
item.setQwbBs(true); item.setQwbBs(true);
} }
try { try {
String format = String.format("%03d", Integer.parseInt(item.getDcPl())); dcPl = String.format("%03d", Integer.parseInt(dcPl));
item.setDcPl(format); } catch (Exception ignored) {
}catch (Exception ignored){} }
String[] dcfd=item.getDcFd().split("\\."); String[] dcfd=item.getDcFd().split("\\.");
List<DmSygdMx> addList = new ArrayList<>(); String dcFd=dcfd[0];
boolean outContinueFlag=false; Object o = _map.get(item.getDcCh() + item.getDcPl());
for(String dcFd:dcfd){ if(o==null){
if (!item.isAvailable()) { _map.put(item.getDcCh() + item.getDcPl(),1);
baseMapper.delete(new QueryWrapper<DmSygdMx>() }else{
.eq("dc_ch", item.getDcCh()) return;
.eq("dc_pl", item.getDcPl())
.eq("dc_fd", dcFd)
);
addList.add(this.initDefault(item, dcFd));
outContinueFlag=true;
}
} }
if (outContinueFlag){
this.saveBatch(addList); List<DmBom> bomList = bomService.getBomWithYlbs(item.getDcCh(), dcPl);
continue;
String dcCh;
//基础数据未导入,使用目标船只
if (ObjUtil.isEmpty(bomList)) {
DmCbxxp one = dmCbxxpService.getOne(Wrappers.<DmCbxxp>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]; List<DmSygdxq> dmSygdxqs = sygdxqMapper.selectList(Wrappers.<DmSygdxq>lambdaQuery()
baseMapper.delete(new QueryWrapper<DmSygdMx>() .eq(DmSygdxq::getDcCh, item.getDcCh()).eq(DmSygdxq::getDcPl, dcPl));
.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<DmSygdMxLj> ljList = sygdxqMapper.getSygdLjMx1(item.getDcCh(), item.getDcPl()); HashMap<Object, DmSygdxq> map = new HashMap<>();
for (DmSygdxq xq : dmSygdxqs) {
String pl = xq.getDcPl();
String fd = xq.getDcFd();
map.put(item.getDcCh() + pl + fd, xq);
}
List<DmSygdMxLj> ljList = this.initLj(item.getDcCh(), map, bomList);
List<DmSygdMx> sygdMxes; List<DmSygdMx> sygdMxes;
if (item.getQwbBs()) { if (item.getQwbBs()) {
sygdMxes = this.initBySl(item, ljList.stream().filter(it -> "3".equals(it.getTzbh().substring(5, 6))) ljList=ljList.stream().filter(it -> "3".equals(it.getTzbh().substring(5, 6)))
.collect(Collectors.toList()), dcFd .collect(Collectors.toList());
); sygdMxes = this.initBySl(item, ljList,dcFd);
} else { } else {
sygdMxes = this.initBySl(item, ljList.stream().filter(it -> !"3".equals(it.getTzbh().substring(5, 6))) ljList=ljList.stream().filter(it -> !"3".equals(it.getTzbh().substring(5, 6)))
.collect(Collectors.toList()), dcFd .collect(Collectors.toList());
); sygdMxes = this.initBySl(item, ljList,dcFd);
} }
addList.addAll(sygdMxes); List<DmSygdMx> addList = new ArrayList<>(sygdMxes);
if (item.getPkqgjs() != null) { if (item.getPkqgjs() != null) {
List<DmSygdMx> _sygdMxes = sygdMxes.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); List<DmSygdMx> _sygdMxes = sygdMxes.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList());
@ -165,24 +230,24 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
} }
} else { } else {
List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList());
List<DmSygdMx> list = this.initByYklm(item, _ljlist, dcFd); List<DmSygdMx> list = this.initByYklm(item, _ljlist,dcFd,dcPl);
addList.addAll(list); addList.addAll(list);
} }
List<DmSygdMx> _sygdMxes1 = sygdMxes.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList()); // List<DmSygdMx> _sygdMxes1 = sygdMxes.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList());
if (!_sygdMxes1.isEmpty()) { // if (!_sygdMxes1.isEmpty()) {
for (DmSygdMx dmSygdMx : _sygdMxes1) { // for (DmSygdMx dmSygdMx : _sygdMxes1) {
this.updateByYksk(item, dmSygdMx); // this.updateByYksk(item, dmSygdMx);
} // }
} else { // } else {
List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList()); // List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList());
if (!_ljlist.isEmpty()){ // if (!_ljlist.isEmpty()) {
List<DmSygdMx> list = this.initByYksk(item, _ljlist, dcFd); // List<DmSygdMx> list = this.initByYksk(item, _ljlist,dcFd,dcPl);
addList.addAll(list); // addList.addAll(list);
} // }
} // }
} }
//
if (item.getLmqgks() != null) { if (item.getLmqgks() != null) {
List<DmSygdMx> _sygdMxes = sygdMxes.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); List<DmSygdMx> _sygdMxes = sygdMxes.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList());
if (!_sygdMxes.isEmpty()) { if (!_sygdMxes.isEmpty()) {
@ -191,7 +256,7 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
} }
} else { } else {
List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList());
List<DmSygdMx> list = this.initByEklmbs(item, _ljlist, dcFd); List<DmSygdMx> list = this.initByEklmbs(item, _ljlist,dcFd,dcPl);
addList.addAll(list); addList.addAll(list);
} }
} }
@ -204,7 +269,7 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
} }
} else { } else {
List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "9".equals(it.getKw())).collect(Collectors.toList()); List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "9".equals(it.getKw())).collect(Collectors.toList());
List<DmSygdMx> list = this.initByEksk(item, _ljlist, dcFd); List<DmSygdMx> list = this.initByEksk(item, _ljlist,dcFd,dcPl);
addList.addAll(list); addList.addAll(list);
} }
} }
@ -217,7 +282,7 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
} }
} else { } else {
List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "14".equals(it.getKw())).collect(Collectors.toList()); List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "14".equals(it.getKw())).collect(Collectors.toList());
List<DmSygdMx> list = this.initBySksk(item, _ljlist, dcFd); List<DmSygdMx> list = this.initBySksk(item, _ljlist,dcFd,dcPl);
addList.addAll(list); addList.addAll(list);
} }
} }
@ -230,7 +295,7 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
} }
} else { } else {
List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "6".equals(it.getKw())).collect(Collectors.toList()); List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "6".equals(it.getKw())).collect(Collectors.toList());
List<DmSygdMx> list = this.initBySkpt(item, _ljlist, dcFd); List<DmSygdMx> list = this.initBySkpt(item, _ljlist,dcFd,dcPl);
addList.addAll(list); addList.addAll(list);
} }
} }
@ -243,52 +308,24 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
} }
} else { } else {
List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "15".equals(it.getKw())).collect(Collectors.toList()); List<DmSygdMxLj> _ljlist = ljList.stream().filter(it -> "15".equals(it.getKw())).collect(Collectors.toList());
List<DmSygdMx> list = this.initBySkbs(item, _ljlist, dcFd); List<DmSygdMx> list = this.initBySkbs(item, _ljlist,dcFd,dcPl);
addList.addAll(list); addList.addAll(list);
} }
} }
this.saveBatch(addList); 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<DmSygdMx> initBySl(JhxfExcel item,List<DmSygdMxLj> bomList,String dcFd){ private List<DmSygdMx> initBySl(YdjhImport item, List<DmSygdMxLj> bomList,String dcFd) {
List<DmSygdMx> addList=new ArrayList<>(); List<DmSygdMx> addList = new ArrayList<>();
if (item.getSl()!=null){ if (item.getSl() != null) {
if (bomList.isEmpty()){
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
addList.add(dmSygdMx);
return addList;
}
ArrayList<DmSygdMxLj> list = bomList.stream().collect( ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
); );
for (DmSygdMxLj dmSygdMxLj : list) { for (DmSygdMxLj dmSygdMxLj : list) {
DmSygdMx init = this.initBySl(item, dmSygdMxLj, dcFd); DmSygdMx init = this.initByOther(item, dmSygdMxLj);
if (item.getQwbBs()) { if (item.getQwbBs()) {
init.setQbs("1"); init.setQbs("1");
init.setJssj(item.getQwbjs()); init.setJssj(item.getQwbjs());
@ -299,19 +336,15 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
return addList; return addList;
} }
private List<DmSygdMx> initByYklm(JhxfExcel item, List<DmSygdMxLj> bomList, String dcFd){ private List<DmSygdMx> initByYklm(YdjhImport item, List<DmSygdMxLj> bomList,String dcFd,String dcPl) {
List<DmSygdMx> addList=new ArrayList<>(); 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( ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
); );
for (DmSygdMxLj dmSygdMxLj : list) { for (DmSygdMxLj dmSygdMxLj : list) {
DmSygdMx init = this.initByYklm(item, dmSygdMxLj, dcFd); DmSygdMx init = this.initByOther(item, dmSygdMxLj);
this.updateByYklm(item,init);
if (item.getQwbBs()) { if (item.getQwbBs()) {
init.setQbs("1"); init.setQbs("1");
init.setJssj(item.getQwbjs()); init.setJssj(item.getQwbjs());
@ -321,19 +354,15 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
return addList; return addList;
} }
private List<DmSygdMx> initByYksk(JhxfExcel item, List<DmSygdMxLj> bomList, String dcFd){ private List<DmSygdMx> initByYksk(YdjhImport item, List<DmSygdMxLj> bomList,String dcFd,String dcPl) {
List<DmSygdMx> addList=new ArrayList<>(); 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( ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
); );
for (DmSygdMxLj dmSygdMxLj : list) { for (DmSygdMxLj dmSygdMxLj : list) {
DmSygdMx init = this.initByYksk(item, dmSygdMxLj, dcFd); DmSygdMx init = this.initByOther(item, dmSygdMxLj);
this.updateByYksk(item,init);
if (item.getQwbBs()) { if (item.getQwbBs()) {
init.setQbs("1"); init.setQbs("1");
init.setJssj(item.getQwbjs()); init.setJssj(item.getQwbjs());
@ -343,19 +372,15 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
return addList; return addList;
} }
private List<DmSygdMx> initByEklmbs(JhxfExcel item, List<DmSygdMxLj> bomList, String dcFd){ private List<DmSygdMx> initByEklmbs(YdjhImport item, List<DmSygdMxLj> bomList,String dcFd,String dcPl) {
List<DmSygdMx> addList=new ArrayList<>(); 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( ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
); );
for (DmSygdMxLj dmSygdMxLj : list) { for (DmSygdMxLj dmSygdMxLj : list) {
DmSygdMx init = this.initByEklmbs(item, dmSygdMxLj, dcFd); DmSygdMx init = this.initByOther(item, dmSygdMxLj);
this.updateByEklm(item,init);
if (item.getQwbBs()) { if (item.getQwbBs()) {
init.setQbs("1"); init.setQbs("1");
init.setJssj(item.getQwbjs()); init.setJssj(item.getQwbjs());
@ -365,19 +390,15 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
return addList; return addList;
} }
private List<DmSygdMx> initByEksk(JhxfExcel item, List<DmSygdMxLj> bomList, String dcFd){ private List<DmSygdMx> initByEksk(YdjhImport item, List<DmSygdMxLj> bomList,String dcFd,String dcPl) {
List<DmSygdMx> addList=new ArrayList<>(); 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( ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
); );
for (DmSygdMxLj dmSygdMxLj : list) { for (DmSygdMxLj dmSygdMxLj : list) {
DmSygdMx init = this.initByEksk(item, dmSygdMxLj, dcFd); DmSygdMx init = this.initByOther(item, dmSygdMxLj);
this.updateByEksk(item,init);
if (item.getQwbBs()) { if (item.getQwbBs()) {
init.setQbs("1"); init.setQbs("1");
init.setJssj(item.getQwbjs()); init.setJssj(item.getQwbjs());
@ -387,19 +408,15 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
return addList; return addList;
} }
private List<DmSygdMx> initBySksk(JhxfExcel item, List<DmSygdMxLj> bomList, String dcFd){ private List<DmSygdMx> initBySksk(YdjhImport item, List<DmSygdMxLj> bomList,String dcFd,String dcPl) {
List<DmSygdMx> addList=new ArrayList<>(); 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( ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
); );
for (DmSygdMxLj dmSygdMxLj : list) { for (DmSygdMxLj dmSygdMxLj : list) {
DmSygdMx init = this.initBySksk(item, dmSygdMxLj, dcFd); DmSygdMx init = this.initByOther(item, dmSygdMxLj);
this.updateBySksk(item,init);
if (item.getQwbBs()) { if (item.getQwbBs()) {
init.setQbs("1"); init.setQbs("1");
init.setJssj(item.getQwbjs()); init.setJssj(item.getQwbjs());
@ -409,19 +426,15 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
return addList; return addList;
} }
private List<DmSygdMx> initBySkpt(JhxfExcel item, List<DmSygdMxLj> bomList, String dcFd){ private List<DmSygdMx> initBySkpt(YdjhImport item, List<DmSygdMxLj> bomList,String dcFd,String dcPl) {
List<DmSygdMx> addList=new ArrayList<>(); 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( ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
); );
for (DmSygdMxLj dmSygdMxLj : list) { for (DmSygdMxLj dmSygdMxLj : list) {
DmSygdMx init = this.initBySkpt(item, dmSygdMxLj, dcFd); DmSygdMx init = this.initByOther(item, dmSygdMxLj);
this.updateBySkpt(item,init);
if (item.getQwbBs()) { if (item.getQwbBs()) {
init.setQbs("1"); init.setQbs("1");
init.setJssj(item.getQwbjs()); init.setJssj(item.getQwbjs());
@ -431,19 +444,15 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
return addList; return addList;
} }
private List<DmSygdMx> initBySkbs(JhxfExcel item, List<DmSygdMxLj> bomList, String dcFd){ private List<DmSygdMx> initBySkbs(YdjhImport item, List<DmSygdMxLj> bomList,String dcFd,String dcPl) {
List<DmSygdMx> addList=new ArrayList<>(); 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( ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
); );
for (DmSygdMxLj dmSygdMxLj : list) { for (DmSygdMxLj dmSygdMxLj : list) {
DmSygdMx init = this.initBySkbs(item, dmSygdMxLj, dcFd); DmSygdMx init = this.initByOther(item, dmSygdMxLj);
this.updateBySkbs(item,init);
if (item.getQwbBs()) { if (item.getQwbBs()) {
init.setQbs("1"); init.setQbs("1");
init.setJssj(item.getQwbjs()); init.setJssj(item.getQwbjs());
@ -453,120 +462,116 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
return addList; return addList;
} }
private void updateByYklm(JhxfExcel item, DmSygdMx dmSygdMx){ private void updateByYklm(YdjhImport item, DmSygdMx dmSygdMx) {
dmSygdMx.setKw("7"); dmSygdMx.setKw("7");
dmSygdMx.setQgrq(item.getYkpkjs()); 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.setKw("8");
dmSygdMx.setQgrq(item.getYkpkjs()); 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.setKw("5");
dmSygdMx.setQgrq(item.getLmqgks()); 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.setKw("9");
dmSygdMx.setQgrq(item.getEkskks()); 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.setKw("14");
dmSygdMx.setQgrq(item.getSkskqgks()); dmSygdMx.setQgrq(item.getSkskqgks());
dmSygdMx.setHxrq(item.getSkskqgks());
dmSygdMx.setQgjs(item.getSkpkjs()); dmSygdMx.setQgjs(item.getSkpkjs());
dmSygdMx.setQjgrq(item.getQptjs()); dmSygdMx.setQjgrq(item.getQptjs());
} }
private void updateBySkpt(JhxfExcel item, DmSygdMx dmSygdMx){ private void updateBySkpt(YdjhImport item, DmSygdMx dmSygdMx) {
dmSygdMx.setKw("6"); dmSygdMx.setKw("6");
dmSygdMx.setQgrq(item.getPtks()); dmSygdMx.setQgrq(item.getPtks());
} }
private void updateBySkbs(JhxfExcel item, DmSygdMx dmSygdMx){ private void updateBySkbs(YdjhImport item, DmSygdMx dmSygdMx) {
dmSygdMx.setKw("15"); dmSygdMx.setKw("15");
dmSygdMx.setQgrq(item.getPkqgjs()); dmSygdMx.setQgrq(item.getSkqgks());
} dmSygdMx.setQgrq(item.getSkqgks());
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;
} }
private DmSygdMx initByEklmbs(JhxfExcel item, DmSygdMxLj bom,String dcFd){ private DmSygdMx initDefault(YdjhImport item,String dcFd,String dcPl) {
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); DmSygdMx dmSygdMx = new DmSygdMx();
dmSygdMx.setDcCh(item.getDcCh());
if(!"1".equals(item.getExtData())){
dmSygdMx.setDcCh1(item.getExtData());
}
dmSygdMx.setDcPl(dcPl);
dmSygdMx.setDcFd(dcFd); dmSygdMx.setDcFd(dcFd);
dmSygdMx.setJssj(item.getFdxq());
dmSygdMx.setSlrq(item.getSl()); dmSygdMx.setSlrq(item.getSl());
dmSygdMx.setXcpw(item.getXcpw()); dmSygdMx.setXcpw(item.getXcpw());
dmSygdMx.setPwrq(item.getPw()); dmSygdMx.setPwrq(item.getPw());
this.updateByEklm(item,dmSygdMx); dmSygdMx.setLlrq(item.getPw());
if (item.getQwbBs()) {
dmSygdMx.setQbs("1");
dmSygdMx.setJssj(item.getQwbjs());
}
return dmSygdMx; return dmSygdMx;
} }
private DmSygdMx initByEksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){ private DmSygdMx initByOther(YdjhImport item, DmSygdMxLj bom) {
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(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.setSlrq(item.getSl());
dmSygdMx.setXcpw(item.getXcpw()); dmSygdMx.setXcpw(item.getXcpw());
dmSygdMx.setPwrq(item.getPw()); dmSygdMx.setPwrq(item.getPw());
this.updateByEksk(item,dmSygdMx); dmSygdMx.setJssj(item.getFdxq());
return dmSygdMx;
}
private DmSygdMx initBySksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
dmSygdMx.setDcFd(dcFd);
dmSygdMx.setSlrq(item.getSl()); dmSygdMx.setSlrq(item.getSl());
dmSygdMx.setXcpw(item.getXcpw()); dmSygdMx.setXcpw(item.getXcpw());
dmSygdMx.setPwrq(item.getPw()); dmSygdMx.setPwrq(item.getPw());
this.updateBySksk(item,dmSygdMx); dmSygdMx.setLlrq(item.getPw());
if (item.getQwbBs()) {
dmSygdMx.setQbs("1");
dmSygdMx.setJssj(item.getQwbjs());
}
return dmSygdMx; return dmSygdMx;
} }
private DmSygdMx initBySkpt(JhxfExcel item, DmSygdMxLj bom,String dcFd){ /**
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); * @param dcCh
dmSygdMx.setDcFd(dcFd); * @param bomList
dmSygdMx.setSlrq(item.getSl()); */
dmSygdMx.setXcpw(item.getXcpw()); private List<DmSygdMxLj> initLj(String dcCh, HashMap<Object, DmSygdxq> map, List<DmBom> bomList) {
dmSygdMx.setPwrq(item.getPw()); List<DmSygdMxLj> list = new ArrayList<>();
this.updateBySkpt(item,dmSygdMx);
return dmSygdMx; 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){ list.add(dmSygdMxLj);
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); }
dmSygdMx.setDcFd(dcFd); return list;
dmSygdMx.setSlrq(item.getSl());
dmSygdMx.setXcpw(item.getXcpw());
dmSygdMx.setPwrq(item.getPw());
this.updateBySkbs(item,dmSygdMx);
return dmSygdMx;
} }
} }

@ -216,6 +216,66 @@
insert into upload_file(filepath,drr)values(#{filepath},#{yhdm}) insert into upload_file(filepath,drr)values(#{filepath},#{yhdm})
</insert> </insert>
<select id="getBomWithYlbs" resultType="com.dsic.gj_erp.bean.jcsj.DmBom">
SELECT
dm_bom.dcch,
dm_bom.pl,
dm_bom.fd,
dm_bom.mbch,
dm_bom.pw,
dm_bom.lqlb,
dm_bom.kw,
dm_bom.zl,
dm_bom.wpcz,
dm_bom.wpgg,
dm_bom.bh,
dm_bom.bc,
dm_bom.yqyl,
dm_bom.qgcd,
dm_bom.tzbh,
dm_bom.tlsl,
dm_bom.pklx,
dm_bom.qbs,
dm_bom.pkbs,
dm_bom.pkcd,
dm_bom.dmbs,
dm_bom.dmcd,
dm_bom.zpsx,
dm_bom.ljbh,
dm_bom.ljsl,
dm_bom.ljsx,
dm_bom.djmj,
dm_bom.ljdz,
dm_bom.blgs,
dm_bom.pwgs,
dm_bom.llgs,
dm_bom.hxgs,
dm_bom.qggs,
dm_bom.pkgs,
dm_bom.qgs,
dm_bom.dmgs,
dm_bom.zpgs,
dm_bom.hxcd,
dm_bom.xcgs,
dm_bom.xcshms,
dm_bom.bclqzl,
dm_bom.bcshzl,
dm_bom.bcylzl,
dm_bom.bcljtlzl,
dm_bom.ylbhgg,
dm_bom.bcqpyld,
bc.sfyl ylbs
from
dm_bom left join
(select
dc_ch,dc_pl,tzbh,sfyl,rn
from
(select dc_ch,dc_pl,tzbh,sfyl,
ROW_NUMBER() over(PARTITION by dc_ch ,dc_pl,tzbh order by tzbh) rn from dm_bchxylp) a where a.rn=1) bc
on dm_bom.dcch =bc.dc_ch and dm_bom.pl =bc.dc_pl and dm_bom.tzbh =bc.tzbh
where
dm_bom.type = 'b' and dm_bom.dcch=#{dcCh} and dm_bom.pl=#{dcPl}
</select>
</mapper> </mapper>

Loading…
Cancel
Save