From b437a78ea4393f910ecf38c1c51516487ebcc19b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Sat, 20 Jul 2024 17:31:21 +0800 Subject: [PATCH] 1.111 --- .../controller/jhgk/DmYdjhController.java | 12 +++- .../java/com/dsic/gj_erp/pc/DataFactory.java | 13 +++- .../gj_erp/service/jhgk/DmYdjhService.java | 7 +- .../service/jhgk/impl/DmQfxqServiceImpl.java | 13 ++-- .../service/jhgk/impl/DmYdjhServiceImpl.java | 69 ++++++++++++++++--- 5 files changed, 94 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmYdjhController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmYdjhController.java index 2272b3f..bf017e6 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmYdjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmYdjhController.java @@ -88,13 +88,19 @@ public class DmYdjhController { return new ResultBean(resultMap); } - @RequestMapping("/hz") @AuthFunction - public ResultBean hz(@RequestBody List list){ - return new ResultBean(service.hz(list)); + public ResultBean hz(String from,String to){ + return new ResultBean(service.hz2(from,to)); } + +// @RequestMapping("/hz") +// @AuthFunction +// public ResultBean hz(@RequestBody List list){ +// return new ResultBean(service.hz(list)); +// } + @RequestMapping("/tj") @AuthFunction public ResultBean tj(@RequestBody List list){ diff --git a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java index 385f59d..ce2dac2 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -171,7 +171,13 @@ public class DataFactory { break; } DateTime xzglxq = item.get均衡需求日期().offset(DateField.DAY_OF_YEAR,工序CDMap.get(依据工序).getCd()); + if (xzglxq.isBefore(DateUtil.date())){ + break; + } _资源 = 提取资源(xzglxq); + if (_资源.get_date().isBefore(DateUtil.date())){ + break; + } tmpList.add(_资源); if (_资源.判断工序是否可以被占用(依据工序,atomicDouble.get())){ // DateTime 上料日期 = item.get均衡需求日期().offset(DateField.DAY_OF_YEAR, -14); @@ -203,7 +209,12 @@ public class DataFactory { 执行排产(item.getBomList(),tmp.get_date().offset(DateField.DAY_OF_YEAR,-工序CDMap.get(依据工序).getCd()),工序CDMap); }); } - log.info("船号:{},批次:{},占用资源成功,切割日期:{}",item.getDcCh(),item.getDcPl(),_资源.getDate()); + if (_资源!=null){ + log.info("船号:{},批次:{},占用资源成功,切割日期:{}",item.getDcCh(),item.getDcPl(),_资源.getDate()); + }else { + log.info("船号:{},批次:{},早于当前日期无需排产",item.getDcCh(),item.getDcPl()); + } + } private static void 执行排产(List list,DateTime 参照需求日期,Map 工序CDMap){ diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmYdjhService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmYdjhService.java index b5617e4..6e8d7af 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmYdjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmYdjhService.java @@ -4,6 +4,7 @@ package com.dsic.gj_erp.service.jhgk; import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; @@ -20,6 +21,10 @@ public interface DmYdjhService extends IService { List tjydjh(); - Map hz(List ydjhList); + + @Transactional + Map hz2(String from, String to); + + Map hz(List ydjhList); void xf(List ydjhList); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java index d9cf377..6c35b17 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java @@ -53,12 +53,15 @@ public class DmQfxqServiceImpl extends ServiceImpl impleme l.setDrr(username); l.setDrrq(day); //状态 2拖期 1提前 - if (l.getXzglxq().compareTo(qfxq.getXzglxq())>0){ - l.setXqzt("2"); - } - if (l.getXzglxq().compareTo(qfxq.getXzglxq())<0){ - l.setXqzt("1"); + if (StrUtil.isAllNotEmpty(l.getXzglxq(),qfxq.getXzglxq())){ + if (l.getXzglxq().compareTo(qfxq.getXzglxq())>0){ + l.setXqzt("2"); + } + if (l.getXzglxq().compareTo(qfxq.getXzglxq())<0){ + l.setXqzt("1"); + } } + this.update(new UpdateWrapper() .set("xzglxq",l.getXzglxq()) .set("xzglxq_old",l.getXzglxqOld()) diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmYdjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmYdjhServiceImpl.java index 1dbb206..0a849fe 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmYdjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmYdjhServiceImpl.java @@ -4,13 +4,10 @@ package com.dsic.gj_erp.service.jhgk.impl; import cn.hutool.core.date.DateUtil; 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.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmQfxq; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjh; -import com.dsic.gj_erp.bean.jiuzhou.Sljh; import com.dsic.gj_erp.bean.pgd.*; import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; import com.dsic.gj_erp.service.jhgk.DmQfxqService; @@ -21,11 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; import javax.annotation.Resource; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -82,16 +76,71 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme return sygdmx; } + @Override @Transactional - public Map hz(List ydjhList){ + public Map hz2(String from, String to){ Map map=new HashMap<>(); //月度计划汇总 //汇总时生成切割之前的派工单 状态为空 -// String begin= DateUtil.format(DateUtil.nextMonth(),"yyyy/MM/01"); + String begin=from; + String end=to; +// String begin= DateUtil.format(from,"yyyy/MM/01"); // String end =DateUtil.format(DateUtil.endOfMonth(DateUtil.offsetMonth(DateUtil.date(),1)),"yyyy/MM/dd"); - String begin="2024/02/01"; - String end ="2024/03/1"; + //图纸计划 + + List tzjhList=tzjhService.list(new QueryWrapper().between("qgxqrq",begin,end).orderByAsc("czbh,pl,qgxqrq")); + if (tzjhList.size()<1){ + baseMapper.getTzjh(begin,end); + tzjhList=tzjhService.list(new QueryWrapper().between("qgxqrq",begin,end) + .orderByAsc("czbh,pl,qgxqrq") + ); + } + //订货清单 + List dhList=dhService.list(new QueryWrapper().between("slxqrq",begin,end).orderByAsc("czbh,slxqrq")); + if (dhList.size()<1){ + List dh= baseMapper.getDhjh(begin,end); + if (dh.size()>0){ + + dhService.saveBatch(dh); + dhList=dhService.list(new QueryWrapper().between("slxqrq",begin,end).orderByAsc("czbh,slxqrq")); + } + } + //上料计划 + List slList=slService.list(new QueryWrapper().between("sljhrq",begin,end).orderByAsc("czbh,pl,sljhrq")); + if (slList.size()<1){ + baseMapper.getSljh(begin,end); + slList=slService.list(new QueryWrapper().between("sljhrq",begin,end).orderByAsc("czbh,pl,sljhrq")); + } + //抛丸计划 + + List pwList=pwService.list(new QueryWrapper().between("pwjhrq",begin,end).orderByAsc("czbh,pl,pwjhrq")); + if (pwList.size()<1){ + baseMapper.getPwjh(begin,end); + pwList=pwService.list(new QueryWrapper().between("pwjhrq",begin,end).orderByAsc("czbh,pl,pwjhrq")); + } + //切割计划 + List qgList=qgService.list(new QueryWrapper().between("qgjhrq",begin,end).orderByAsc("czbh,pl,qgjhrq")); + if (qgList.size()<1){ + baseMapper.getQgjh(begin,end); + qgList=qgService.list(new QueryWrapper().between("qgjhrq",begin,end).orderByAsc("czbh,pl,qgjhrq")); + } + map.put("tzjhList",tzjhList); + map.put("dhList",dhList); + map.put("slList",slList); + map.put("pwList",pwList); + map.put("qgList",qgList); + return map; + } + + @Override + @Transactional + public Map hz(List ydjhList){ + Map map=new HashMap<>(); + //月度计划汇总 + //汇总时生成切割之前的派工单 状态为空 + String begin= DateUtil.format(DateUtil.nextMonth(),"yyyy/MM/01"); + String end =DateUtil.format(DateUtil.endOfMonth(DateUtil.offsetMonth(DateUtil.date(),1)),"yyyy/MM/dd"); //图纸计划 List tzjhList=tzjhService.list(new QueryWrapper().between("qgxqrq",begin,end).orderByAsc("czbh,pl,qgxqrq"));