xhj 2 months ago
parent 4a84f0444b
commit fb8c90f3b1

@ -7,10 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.dsic.gj_erp.annotation.AuthFunction;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.bean.jcsj.DmBchxjbp;
import com.dsic.gj_erp.bean.jcsj.DmBchxmxp;
import com.dsic.gj_erp.bean.jcsj.DmBchxylp;
import com.dsic.gj_erp.bean.jcsj.DmBom;
import com.dsic.gj_erp.bean.jcsj.*;
import com.dsic.gj_erp.bean.jcsj.vo.BomVO;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.bean.sy.Dm_zhbmp;
@ -25,6 +22,7 @@ import com.dsic.gj_erp.service.jhgk.DmYdjhService;
import com.dsic.gj_erp.service.sy.SYService;
import com.dsic.gj_erp.util.ObjConvertUtils;
import io.swagger.annotations.ApiOperation;
import jdk.nashorn.internal.ir.ReturnNode;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -142,7 +140,7 @@ public class DmBomController {
// return null;
}
@ApiOperation(value = "生成月度计划")
@ApiOperation(value = "生成月度计划根套料图")
@PostMapping("/scydjh")
public ResultBean scydjh(HttpServletRequest req) throws CustomException {
@ -245,6 +243,13 @@ public class DmBomController {
return new ResultBean();
}
@ApiOperation(value = "生成月度计划根据dm_bchxylp")
@PostMapping("/scydjhByDm_bchxylp")
public ResultBean scydjhByDm_bchxylp(HttpServletRequest req) throws CustomException {
bomUploadService.bomxzjhByDm_bchxylp("T300K-103","057",req);
return new ResultBean();
}

@ -177,6 +177,7 @@ public class BomUploadServiceImpl {
for (MultipartFile file1 : file) {
System.out.println(file1.getOriginalFilename());
}
String ydf="";
for (MultipartFile f : file) {
String fname = f.getOriginalFilename();
@ -249,6 +250,7 @@ public class BomUploadServiceImpl {
int indexOfSecondUnderscore = fname.lastIndexOf('_');
pl = fname.substring(indexOfUnderscore + 1, fname.lastIndexOf('套'));
Map map = this.bctltUpload(lines, fname, req, isupload, tld,f, path);
ydf=(String) map.get("yd");
tld++;
if (map.get("zt").equals("02")) {
return new ResultBean(map);
@ -275,6 +277,10 @@ public class BomUploadServiceImpl {
// del++;
}
if("".equals(ydf)){
this.bomxzjhByDm_bchxylp(czbh,pl,req);
}
// 修正数据
dmYdjhMapper.xzylbs(czbh,pl);
dmYdjhMapper.updatezyq(czbh,pl);
@ -1167,6 +1173,7 @@ public class BomUploadServiceImpl {
// qw1.eq("dc_fd", fd);
pgdTzjhService.update(qw1);
});
map.put("yd","yd");
return map;
}
@Transactional(rollbackFor = Exception.class)
@ -2114,7 +2121,10 @@ public class BomUploadServiceImpl {
String s = (String) kwxxMap.get(tzbh.substring(4, 7));
String zzcj = (String) qgKwMap.get(s); //xhj
dmYdjhadd.setKw(zzcj);
dmYdjhadd.setDcFd(StringUtils.isBlank(bchxmxp.getWph()) ? "" : bchxmxp.getWph().substring(0, 4));
if(null!=bchxmxp){
dmYdjhadd.setDcFd(StringUtils.isBlank(bchxmxp.getWph()) ? "" : bchxmxp.getWph().substring(0, 4));
}
dmYdjhadd.setZt("2");
dmYdjhadd.setId(IdWorker.get32UUID());
@ -2173,4 +2183,318 @@ public class BomUploadServiceImpl {
return rMap;
}
public void bomxzjhByDm_bchxylp(String dcch ,String dcpl,HttpServletRequest req ){
List<Dm_zhbmp> zllbs = dm_zhbmpRepository.findByBMLB("ZLLB");
List<Dm_zhbmp> kwxxs = dm_zhbmpRepository.findByBMLB("KWXX");
List<Dm_zhbmp> qgkws = dm_zhbmpRepository.findByBMLB("QGKW");
Map<String, String> zllbMap = zllbs.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM));
Map<String, String> kwxxMap = kwxxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm));
Map<String, String> kwmcMap = kwxxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getZfbz));
Map<String, String> qgKwMap = qgkws.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM));
List<DmBclqmxp> bclqmxpList = bclqmxpService.list(new QueryWrapper<DmBclqmxp>().eq("DC_CH_z", dcch)
.eq("DC_PL_z", dcpl)
);
List<DmBchxylp> tjListOld = bchxylpService.list(new QueryWrapper<DmBchxylp>().eq("dc_ch", dcch).eq("dc_pl", dcpl));
List<DmYdjh> ydjhs = dmYdjhService.list(new QueryWrapper<DmYdjh>().eq("dc_ch", dcch )
.eq("dc_pl",dcpl)
);
DmYdjh ydjhMin=null;
Boolean f=true;
if(ydjhs.size()<0){
f=false;
}else{
ydjhMin = dmYdjhMapper.getYdjhMin(dcch, dcpl);
}
List<DmCbxxp> czList = dmCbxxpService.list();
DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(dcch)).findFirst().orElse(null);
String cjs="";
if(null!=dmCzjbb){
cjs=dmCzjbb.getCjs();
}
String cjs1=cjs;
List<DmYdjh> adds =new ArrayList<>();
List<DmYdjh> ups =new ArrayList<>();
for(DmBchxylp dmBchxylp :tjListOld){
boolean aa=false;
for(DmYdjh ydjh :adds){
if(ydjh.getTzbh().equals(dmBchxylp.getTzbh())){
aa=true;
continue;
}
}
if(aa){
continue;
}
DmBchxylp dmBchxylp1 = (DmBchxylp) ObjConvertUtils.checkNullNew(dmBchxylp);
// dmBchxjbp
String wpgg = dmBchxylp1.getWpgg();
String wpxh = dmBchxylp1.getWpxh();
String tzbh = dmBchxylp1.getTzbh();
String hxfl = dmBchxylp1.getHxfl();
if(StringUtils.isBlank(wpgg)||"hxfl".equals("X")){
continue;
}
DmYdjh dmYdjh = ydjhs.stream()
.filter(fst -> StringUtils.isNotBlank(fst.getWpgg())
&& StringUtils.isNotBlank(fst.getWpxh())
&& fst.getWpgg().equalsIgnoreCase(dmBchxylp1.getWpgg())
&& (fst.getWpxh().equalsIgnoreCase(dmBchxylp1.getWpxh())
|| (cjs1 + fst.getWpxh()).equalsIgnoreCase(dmBchxylp1.getWpxh()) || ( fst.getWpxh()).equalsIgnoreCase(cjs1 +dmBchxylp1.getWpxh()))
&& fst.getTzbh().equalsIgnoreCase(dmBchxylp1.getTzbh())
)
.findFirst()
.orElse(null);
if(null!=dmYdjh){
String hxlx="";
if (tzbh.substring(4, 5).equals("S")) {
hxlx = "1010";
} else if (tzbh.substring(4, 5).equals("N")) {
hxlx = "1020";
}
dmYdjh.setLqlb(hxlx);
dmYdjh.setTzbh(tzbh);
//dmYdjh.setHxcd(dmBchxjbp.getHxcd().doubleValue());
//dmYdjh.setQgcd(dmBchxjbp.getYlzd4().doubleValue());
// dmYdjh.setLjsl(dmBchxjbp.getLjsl().doubleValue());
// dmYdjh.setZl(dmBchxjbp.getDcZl());
String s = (String) kwxxMap.get(tzbh.substring(4, 7));
String b = (String) kwmcMap.get(tzbh.substring(4, 7));
dmYdjh.setKwmc(b);
String zzcj = (String) qgKwMap.get(s); //xhj
dmYdjh.setKw(zzcj);
// if(null!=bchxylp){
dmYdjh.setYlbs(null==dmBchxylp1.getSfyl()?"":dmBchxylp1.getSfyl());
// }
// dmYdjh.setDcFd(dmBchxjbp.getDcFd());
if(tzbh.substring(4, 5).equals("X")){
dmYdjh.setLx("X");
}else{
dmYdjh.setLx("B");
}
// dmYdjh.setDcFd(StringUtils.isBlank(bchxmxp.getWph()) ? "" : bchxmxp.getWph().substring(0, 4));
dmYdjh.setBmxgrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm"));
dmYdjh.setBmxgry((String) req.getAttribute("yhms"));
if(StringUtils.isNotBlank(dmYdjh.getSlxhth())){ // 说明已经上料 需要修正数据
// 修正
}else{
// 没上料 规格材质
dmYdjh.setWpgg(dmBchxylp1.getWpgg());
dmYdjh.setWpxh(dmBchxylp1.getWpxh());
}
// if(collect11.size()>0){
// dmYdjh.setBcylzl(null==collect11.get(0).getYlzl()? null:collect11.get(0).getYlzl().doubleValue());
// dmYdjh.setBclqzl(null==collect11.get(0).getLqzl()? null:collect11.get(0).getLqzl().doubleValue());
// dmYdjh.setBcshzl(null==collect11.get(0).getShzl()? null:collect11.get(0).getShzl().doubleValue());
// dmYdjh.setBcljtlzl(null==collect11.get(0).getLjzl()? null:collect11.get(0).getLjzl().doubleValue());
// dmYdjh.setBcqpyld(null==collect11.get(0).getQpyld()? null:collect11.get(0).getQpyld().doubleValue());
// }
if(f){
dmYdjh.setSlrq(ydjhMin.getSlrq());
dmYdjh.setPwrq(ydjhMin.getPwrq());
dmYdjh.setHxrq(ydjhMin.getHxrq());
dmYdjh.setQgrq(ydjhMin.getQgrq());
dmYdjh.setDmrq(ydjhMin.getDmrq());
dmYdjh.setQjgrq(ydjhMin.getQgjhrq());
dmYdjh.setJssj(ydjhMin.getJssj());
dmYdjh.setSljhrq(ydjhMin.getSljhrq());
dmYdjh.setPwjhrq(ydjhMin.getPwjhrq());
dmYdjh.setLljhrq(ydjhMin.getLljhrq());
dmYdjh.setHxjhrq(ydjhMin.getHxjhrq());
dmYdjh.setQgjhrq(ydjhMin.getQgjhrq());
}
ups.add(dmYdjh);
ydjhs.remove(dmYdjh); // 从列表中移除找到的元素
}else{
dmYdjh = ydjhs.stream()
.filter(fst -> StringUtils.isNotBlank(fst.getWpgg())
&& StringUtils.isNotBlank(fst.getWpxh())
&& fst.getWpgg().equalsIgnoreCase(dmBchxylp1.getWpgg())
&& (fst.getWpxh().equalsIgnoreCase(dmBchxylp1.getWpxh())
|| (cjs1 + fst.getWpxh()).equalsIgnoreCase(dmBchxylp1.getWpxh()) || ( fst.getWpxh()).equalsIgnoreCase(cjs1 +dmBchxylp1.getWpxh()) )
)
.findFirst()
.orElse(null);
if(dmYdjh!=null){
String hxlx="";
if (tzbh.substring(4, 5).equals("S")) {
hxlx = "1010";
} else if (tzbh.substring(4, 5).equals("N")) {
hxlx = "1020";
}
// if(collect11.size()>0) {
// dmYdjh.setBcylzl(null == collect11.get(0).getYlzl() ? null : collect11.get(0).getYlzl().doubleValue());
// dmYdjh.setBclqzl(null == collect11.get(0).getLqzl() ? null : collect11.get(0).getLqzl().doubleValue());
// dmYdjh.setBcshzl(null == collect11.get(0).getShzl() ? null : collect11.get(0).getShzl().doubleValue());
// dmYdjh.setBcljtlzl(null == collect11.get(0).getLjzl() ? null : collect11.get(0).getLjzl().doubleValue());
// dmYdjh.setBcqpyld(null == collect11.get(0).getQpyld() ? null : collect11.get(0).getQpyld().doubleValue());
// }
dmYdjh.setLqlb(hxlx);
dmYdjh.setTzbh(tzbh);
// dmYdjh.setHxcd(dmBchxjbp.getHxcd().doubleValue());
// dmYdjh.setQgcd(dmBchxjbp.getYlzd4().doubleValue());
// dmYdjh.setLjsl(dmBchxjbp.getLjsl().doubleValue());
// dmYdjh.setZl(dmBchxjbp.getDcZl());
// if(null!=bchxylp) {
dmYdjh.setYlbs(null == dmBchxylp1.getSfyl() ? "" : dmBchxylp1.getSfyl());
// }
String b = (String) kwmcMap.get(tzbh.substring(4, 7));
dmYdjh.setKwmc(b);
String s = (String) kwxxMap.get(tzbh.substring(4, 7));
String zzcj = (String) qgKwMap.get(s); //xhj
dmYdjh.setKw(zzcj);
// dmYdjh.setDcFd(dmBchxjbp.getDcFd());
if(tzbh.substring(4, 5).equals("X")){
dmYdjh.setLx("X");
}else{
dmYdjh.setLx("B");
}
// dmYdjh.setDcFd(StringUtils.isBlank(bchxmxp.getWph()) ? "" : bchxmxp.getWph().substring(0, 4));
dmYdjh.setBmxgrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm"));
dmYdjh.setBmxgry((String) req.getAttribute("yhms"));
if(StringUtils.isNotBlank(dmYdjh.getSlxhth())){ // 说明已经上料 需要修正数据
// 修正
dmYdjh.setJhlx("3");
}else{
// 没上料 规格材质
dmYdjh.setWpgg(dmBchxylp1.getWpgg());
dmYdjh.setWpxh(dmBchxylp1.getWpxh());
}
if(f){
dmYdjh.setSlrq(ydjhMin.getSlrq());
dmYdjh.setPwrq(ydjhMin.getPwrq());
dmYdjh.setHxrq(ydjhMin.getHxrq());
dmYdjh.setQgrq(ydjhMin.getQgrq());
dmYdjh.setDmrq(ydjhMin.getDmrq());
dmYdjh.setQjgrq(ydjhMin.getQgjhrq());
dmYdjh.setJssj(ydjhMin.getJssj());
dmYdjh.setSljhrq(ydjhMin.getSljhrq());
dmYdjh.setPwjhrq(ydjhMin.getPwjhrq());
dmYdjh.setLljhrq(ydjhMin.getLljhrq());
dmYdjh.setHxjhrq(ydjhMin.getHxjhrq());
dmYdjh.setQgjhrq(ydjhMin.getQgjhrq());
}
ups.add(dmYdjh);
ydjhs.remove(dmYdjh); // 从列表中移除找到的元素
}else{
// 没找到需要把这几条月度计划id 状态改成 -1
DmYdjh dmYdjhadd =new DmYdjh();
String hxlx="";
if (tzbh.substring(4, 5).equals("S")) {
hxlx = "1010";
} else if (tzbh.substring(4, 5).equals("N")) {
hxlx = "1020";
}
dmYdjhadd.setDcCh(dmBchxylp1.getDcCh());
dmYdjhadd.setDcPl(dmBchxylp1.getDcPl());
if(tzbh.substring(4, 5).equals("X")){
dmYdjhadd.setLx("X");
}else{
dmYdjhadd.setLx("B");
}
dmYdjhadd.setWpgg(dmBchxylp1.getWpgg());
dmYdjhadd.setWpxh(dmBchxylp1.getWpxh());
// if(null!=bchxylp){
dmYdjhadd.setYlbs( null==dmBchxylp1.getSfyl()?"":dmBchxylp1.getSfyl());
// }
// if(collect11.size()>0) {
// dmYdjhadd.setBcylzl(null == collect11.get(0).getYlzl() ? null : collect11.get(0).getYlzl().doubleValue());
// dmYdjhadd.setBclqzl(null == collect11.get(0).getLqzl() ? null : collect11.get(0).getLqzl().doubleValue());
// dmYdjhadd.setBcshzl(null == collect11.get(0).getShzl() ? null : collect11.get(0).getShzl().doubleValue());
// dmYdjhadd.setBcljtlzl(null == collect11.get(0).getLjzl() ? null : collect11.get(0).getLjzl().doubleValue());
// dmYdjhadd.setBcqpyld(null == collect11.get(0).getQpyld() ? null : collect11.get(0).getQpyld().doubleValue());
// }
dmYdjhadd.setLqlb(hxlx);
dmYdjhadd.setTzbh(tzbh);
// dmYdjhadd.setHxcd(dmBchxjbp.getHxcd().doubleValue());
// dmYdjhadd.setQgcd(dmBchxjbp.getYlzd4().doubleValue());
// dmYdjhadd.setLjsl(dmBchxjbp.getLjsl().doubleValue());
// dmYdjhadd.setZl(dmBchxjbp.getDcZl());
String b = (String) kwmcMap.get(tzbh.substring(4, 7));
dmYdjhadd.setKwmc(b);
String s = (String) kwxxMap.get(tzbh.substring(4, 7));
String zzcj = (String) qgKwMap.get(s); //xhj
dmYdjhadd.setKw(zzcj);
// dmYdjhadd.setDcFd(StringUtils.isBlank(bchxmxp.getWph()) ? "" : bchxmxp.getWph().substring(0, 4));
dmYdjhadd.setZt("2");
dmYdjhadd.setId(IdWorker.get32UUID());
dmYdjhadd.setBmbzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm"));
dmYdjhadd.setBmbzry((String) req.getAttribute("yhms"));
// 新增数据得时候 应该看 是不是有排产数据 有排产数据 给上日期
if(f){
dmYdjhadd.setSlrq(ydjhMin.getSlrq());
dmYdjhadd.setPwrq(ydjhMin.getPwrq());
dmYdjhadd.setHxrq(ydjhMin.getHxrq());
dmYdjhadd.setQgrq(ydjhMin.getQgrq());
dmYdjhadd.setDmrq(ydjhMin.getDmrq());
dmYdjhadd.setQjgrq(ydjhMin.getQgjhrq());
dmYdjhadd.setJssj(ydjhMin.getJssj());
dmYdjhadd.setSljhrq(ydjhMin.getSljhrq());
dmYdjhadd.setPwjhrq(ydjhMin.getPwjhrq());
dmYdjhadd.setLljhrq(ydjhMin.getLljhrq());
dmYdjhadd.setHxjhrq(ydjhMin.getHxjhrq());
dmYdjhadd.setQgjhrq(ydjhMin.getQgjhrq());
dmYdjhadd.setJhlx("3");
}else{
// 新增 没有 日期 数据
dmYdjhadd.setJhlx("0");
dmYdjhadd.setSlrq("");
dmYdjhadd.setPwrq("");
dmYdjhadd.setHxrq("");
dmYdjhadd.setQgrq("");
dmYdjhadd.setDmrq("");
dmYdjhadd.setQjgrq("");
dmYdjhadd.setJssj("");
dmYdjhadd.setSljhrq("");
dmYdjhadd.setPwjhrq("");
dmYdjhadd.setLljhrq("");
dmYdjhadd.setHxjhrq("");
dmYdjhadd.setQgjhrq("");
}
// dmYdjhadd
adds.add(dmYdjhadd);
}
}
}
// rMap.put("adds",adds);
// rMap.put("ups",ups);
// rMap.put("ydjhs",ydjhs);
dmYdjhService.saveBatch(adds);
dmYdjhService.updateBatchById(ups);
if(ydjhs.size()>0){
for(DmYdjh dmYdjh:ydjhs){
DmYdjh dmYdjh1 =new DmYdjh();
dmYdjh1.setZt("99");
dmYdjh1.setId(dmYdjh.getId());
dmYdjhService.updateById(dmYdjh1);
}
}
//return rMap;
}
}

Loading…
Cancel
Save