|
|
|
@ -5,19 +5,22 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import cn.hutool.core.util.ObjUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
|
|
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.jcsj.DmCbxxp;
|
|
|
|
|
import com.dsic.gj_erp.bean.jhgk.DmDhqdp;
|
|
|
|
|
import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
|
|
|
|
|
import com.dsic.gj_erp.bean.jhgk.DmSygdxq;
|
|
|
|
|
import com.dsic.gj_erp.bean.jhgk.DmSygdxqOld;
|
|
|
|
|
import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper;
|
|
|
|
|
import com.dsic.gj_erp.pc.dto.data.Bom;
|
|
|
|
|
import com.dsic.gj_erp.service.jcsj.DmBomService;
|
|
|
|
|
import com.dsic.gj_erp.service.jcsj.DmCbxxpService;
|
|
|
|
|
import com.dsic.gj_erp.service.jcsj.impl.DmBomServiceImpl;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.DmDhqdpService;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.DmSygdMxService;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.DmSygdxqOldService;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.DmSygdxqService;
|
|
|
|
@ -25,8 +28,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Optional;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <p>
|
|
|
|
@ -48,7 +53,8 @@ public class DmSygdxqServiceImpl extends ServiceImpl<DmSygdxqMapper, DmSygdxq> i
|
|
|
|
|
@Autowired
|
|
|
|
|
DmCbxxpService dmCbxxpService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private DmBomServiceImpl dmBomServiceImpl;
|
|
|
|
|
DmDhqdpService dhqdpService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional
|
|
|
|
@ -158,19 +164,168 @@ public class DmSygdxqServiceImpl extends ServiceImpl<DmSygdxqMapper, DmSygdxq> i
|
|
|
|
|
DmCbxxp one = dmCbxxpService.getOne(Wrappers.<DmCbxxp>lambdaQuery()
|
|
|
|
|
.eq(DmCbxxp::getCbbm, xq.getDcCh())
|
|
|
|
|
);
|
|
|
|
|
Optional.ofNullable(one).ifPresent(item->{
|
|
|
|
|
|
|
|
|
|
if (one!=null){
|
|
|
|
|
List<DmBom> bomList = bomService.list(Wrappers.<DmBom>lambdaQuery()
|
|
|
|
|
.eq(DmBom::getDcch, xq.getDcCh())
|
|
|
|
|
.eq(DmBom::getPl, xq.getDcPl())
|
|
|
|
|
.eq(DmBom::getFd, xq.getDcFd())
|
|
|
|
|
);
|
|
|
|
|
xq.setBomList(bomList);
|
|
|
|
|
});
|
|
|
|
|
}else{//bom不存在从订货清单获取数据
|
|
|
|
|
List<DmDhqdp> list = dhqdpService.list(Wrappers.<DmDhqdp>lambdaQuery().eq(DmDhqdp::getDcCh, xq.getDcCh()));
|
|
|
|
|
List<DmDhqdp> collect = list.stream().filter(item -> item.getPlzlsl().contains(pl)).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
List<DmBom> bomList=new ArrayList<>();
|
|
|
|
|
collect.forEach(item->{
|
|
|
|
|
int num = item.getSdzs().intValue();
|
|
|
|
|
for (int i=0;i<num;i++){
|
|
|
|
|
DmBom bom = new DmBom();
|
|
|
|
|
bom.setDcch(dcch);
|
|
|
|
|
bom.setPl(pl);
|
|
|
|
|
bom.setWpcz(item.getWpxh());
|
|
|
|
|
bom.setWpgg(StrUtil.format("{}*{}*{}",item.getThickness(),item.getWidth(),item.getLength()));
|
|
|
|
|
|
|
|
|
|
Optional.ofNullable(item.getKdzlsl()).ifPresent(it->{
|
|
|
|
|
String kd= String.valueOf(it.charAt(1));
|
|
|
|
|
String kw= String.valueOf(it.charAt(0));
|
|
|
|
|
String kw4= String.valueOf(it.charAt(2));
|
|
|
|
|
String zl=String.valueOf(it.charAt(3));
|
|
|
|
|
switch (kd){
|
|
|
|
|
case "1":
|
|
|
|
|
this.handlerFor1(bom,zl,kw,kw4);
|
|
|
|
|
break;
|
|
|
|
|
case "2":
|
|
|
|
|
this.handlerFor2(bom,zl,kw,kw4);
|
|
|
|
|
break;
|
|
|
|
|
case "3":
|
|
|
|
|
this.handlerFor3(bom,zl,kw,kw4);
|
|
|
|
|
break;
|
|
|
|
|
case "4":
|
|
|
|
|
this.handlerFor4(bom,zl,kw,kw4);
|
|
|
|
|
break;
|
|
|
|
|
case "7"://型材
|
|
|
|
|
this.handlerFor7(bom,zl,kw,kw4);
|
|
|
|
|
break;
|
|
|
|
|
case "8"://光电
|
|
|
|
|
this.handlerFor8(bom,zl,kw,kw4);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
bomList.add(bom);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
xq.setBomList(bomList);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return xqWithBom;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void handlerFor1(DmBom bom,String zl,String kw,String kw4){
|
|
|
|
|
if ("X".equals(zl)){
|
|
|
|
|
bom.setZl("1010");
|
|
|
|
|
}
|
|
|
|
|
if ("D".equals(zl)){
|
|
|
|
|
bom.setZl("1110");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"A".equals(kw4)){
|
|
|
|
|
bom.setKw("7");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"L".equals(kw4)){
|
|
|
|
|
bom.setKw("8");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void handlerFor2(DmBom bom,String zl,String kw,String kw4){
|
|
|
|
|
if ("X".equals(zl)){
|
|
|
|
|
bom.setZl("1010");
|
|
|
|
|
}
|
|
|
|
|
if ("D".equals(zl)){
|
|
|
|
|
bom.setZl("1110");
|
|
|
|
|
}
|
|
|
|
|
if ("S".equals(kw)&&"T".equals(kw4)){
|
|
|
|
|
bom.setKw("5");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"B".equals(kw4)){
|
|
|
|
|
bom.setKw("9");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"C".equals(kw4)){
|
|
|
|
|
bom.setKw("10");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"T".equals(kw4)){
|
|
|
|
|
bom.setKw("11");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"J".equals(kw4)){
|
|
|
|
|
bom.setKw("12");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void handlerFor3(DmBom bom,String zl,String kw,String kw4){
|
|
|
|
|
if ("X".equals(zl)){
|
|
|
|
|
bom.setZl("1010");
|
|
|
|
|
}
|
|
|
|
|
if ("D".equals(zl)){
|
|
|
|
|
bom.setZl("1110");
|
|
|
|
|
}
|
|
|
|
|
if ("X".equals(zl)){
|
|
|
|
|
bom.setZl("4230");
|
|
|
|
|
}
|
|
|
|
|
if ("S".equals(kw)&&"P".equals(kw4)){
|
|
|
|
|
bom.setKw("6");
|
|
|
|
|
}
|
|
|
|
|
if ("S".equals(kw)&&"X".equals(kw4)){
|
|
|
|
|
bom.setKw("6");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"C".equals(kw4)){
|
|
|
|
|
bom.setKw("13");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"H".equals(kw4)){
|
|
|
|
|
bom.setKw("14");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void handlerFor4(DmBom bom,String zl,String kw,String kw4){
|
|
|
|
|
if ("X".equals(zl)){
|
|
|
|
|
bom.setZl("1010");
|
|
|
|
|
}
|
|
|
|
|
if ("D".equals(zl)){
|
|
|
|
|
bom.setZl("1110");
|
|
|
|
|
}
|
|
|
|
|
if ("X".equals(zl)){
|
|
|
|
|
bom.setZl("4230");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"P".equals(kw4)){
|
|
|
|
|
bom.setKw("15");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"X".equals(kw4)){
|
|
|
|
|
bom.setKw("15");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void handlerFor7(DmBom bom,String zl,String kw,String kw4){
|
|
|
|
|
if ("X".equals(zl)){
|
|
|
|
|
bom.setZl("1010");
|
|
|
|
|
}
|
|
|
|
|
if ("D".equals(zl)){
|
|
|
|
|
bom.setZl("1110");
|
|
|
|
|
}
|
|
|
|
|
if ("X".equals(kw)&&"X".equals(kw4)){
|
|
|
|
|
bom.setKw("16");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void handlerFor8(DmBom bom,String zl,String kw,String kw4){
|
|
|
|
|
if ("X".equals(zl)){
|
|
|
|
|
bom.setZl("1120");
|
|
|
|
|
}
|
|
|
|
|
if ("N".equals(kw)&&"G".equals(kw4)){
|
|
|
|
|
bom.setKw("17");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<DmSygdxq> t2(String from, String to,String dcch,String pl){
|
|
|
|
|
return baseMapper.getXqWithBom2(from,to,dcch,pl);
|
|
|
|
|
}
|
|
|
|
|