From 79a4be237e86f0e4e7f0259dbd93463b47de205d Mon Sep 17 00:00:00 2001 From: xiaoning <1097449274@qq.com> Date: Mon, 17 Jun 2024 09:16:33 +0800 Subject: [PATCH 001/196] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=89=E6=9C=88?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E8=AE=A1=E5=88=92=E7=AE=A1=E7=90=86=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java | 2 +- .../controller/jhgk/DmSygdController.java | 35 ++++++++++--------- .../jhgk/impl/DmSygdMxServiceImpl.java | 24 ++++++------- .../resources/mappers/jhgk/DmSygdMxMapper.xml | 6 ++-- 4 files changed, 33 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java index b38b405..dcb781b 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java @@ -80,7 +80,7 @@ public class DmYdjhxf implements Serializable { private String qkxcms; @ApiModelProperty(value = "型材面板") private String xcmb; - @ApiModelProperty(value = "分段需求") + @ApiModelProperty(value = "分段需求/小组配送结束") private String fdxq; @ApiModelProperty(value = "光电结束") private String gdjs; diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java index d0912b4..d9fbda1 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java @@ -9,16 +9,14 @@ import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.EmGcrl; import com.dsic.gj_erp.bean.jcsj.EmSbcnp; -import com.dsic.gj_erp.bean.jhgk.DmDhqdp; -import com.dsic.gj_erp.bean.jhgk.DmQfxq; -import com.dsic.gj_erp.bean.jhgk.DmSygd; -import com.dsic.gj_erp.bean.jhgk.DmSygdMx; +import com.dsic.gj_erp.bean.jhgk.*; import com.dsic.gj_erp.bean.jhgk.excel.QfExcel; import com.dsic.gj_erp.bean.jhgk.excel.SyExcel; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.listeners.ExcelQFListener; import com.dsic.gj_erp.listeners.ExcelSYListener; import com.dsic.gj_erp.service.jcsj.EmGcrlService; +import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmSygdService; import com.dsic.gj_erp.service.sy.SYService; import io.swagger.annotations.ApiOperation; @@ -47,25 +45,28 @@ public class DmSygdController { @Resource DmSygdService service; + @Resource + DmSygdMxService mxService; @Autowired private EmGcrlService gcrlService; @RequestMapping("/getList") @AuthFunction public ResultBean getList(@RequestBody DmSygd sygd){ - List list= service.list(new QueryWrapper() - .eq(StrUtil.isNotEmpty(sygd.getGdZt()),"gd_zt",sygd.getGdZt()) - .ge(StrUtil.isNotEmpty(sygd.getBeginTime()),"gjjs_xz",sygd.getBeginTime()) - .le(StrUtil.isNotEmpty(sygd.getEndTime()),"gjjs_xz",sygd.getEndTime()) - .orderByAsc("sl_sj,dc_ch,dc_pl") - ); +// List list= service.list(new QueryWrapper() +// .eq(StrUtil.isNotEmpty(sygd.getGdZt()),"gd_zt",sygd.getGdZt()) +// .ge(StrUtil.isNotEmpty(sygd.getBeginTime()),"gjjs_xz",sygd.getBeginTime()) +// .le(StrUtil.isNotEmpty(sygd.getEndTime()),"gjjs_xz",sygd.getEndTime()) +// .orderByAsc("sl_sj,dc_ch,dc_pl") +// ); + List list= mxService.tqSygd1(sygd.getBeginTime(),sygd.getEndTime()); Map map=new HashMap(); - if (list.size()>0){ - String beginTime=list.get(0).getGjjsXz(); - String endTime=list.get(list.size()-1).getGjjsXz(); - List emGcrls= gcrlService.list(new QueryWrapper().select("gl").between("gl",beginTime,endTime).eq("xxr","0")); - List gcrl = emGcrls.stream().map(EmGcrl::getGl).collect(Collectors.toList()); - map.put("gcrl",gcrl); - } +// if (list.size()>0){ +// String beginTime=list.get(0).getGjjsXz(); +// String endTime=list.get(list.size()-1).getGjjsXz(); +// List emGcrls= gcrlService.list(new QueryWrapper().select("gl").between("gl",beginTime,endTime).eq("xxr","0")); +// List gcrl = emGcrls.stream().map(EmGcrl::getGl).collect(Collectors.toList()); +// map.put("gcrl",gcrl); +// } map.put("list",list); return new ResultBean(map); } 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 ee619e1..d34385e 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 @@ -27,10 +27,7 @@ import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper; import com.dsic.gj_erp.mapper.jhgk.DmZrcjhMapper; import com.dsic.gj_erp.service.jcsj.DmCzplpNewService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; -import com.dsic.gj_erp.service.jhgk.DmSygdMxService; -import com.dsic.gj_erp.service.jhgk.DmSygdService; -import com.dsic.gj_erp.service.jhgk.DmTzjhService; -import com.dsic.gj_erp.service.jhgk.DmXbjhService; +import com.dsic.gj_erp.service.jhgk.*; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -57,8 +54,6 @@ import java.util.stream.Collectors; @Service public class DmSygdMxServiceImpl extends ServiceImpl implements DmSygdMxService { - @Resource - private EmGcrlMapper gcrlMapper; @Resource private DmSygdService sygdService; @Resource @@ -740,7 +735,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl i return new ResultBean(null); } //根据船号+批量分组 - Map> map = list.stream().collect(Collectors.groupingBy(x -> x.getDcCh() + x.getDcPl())); + Map> map = list.stream().filter(mx -> Objects.nonNull(mx.getTzbh())) // group by 的字段不能有null值 + .collect(Collectors.groupingBy(x -> x.getDcCh() + x.getDcPl())); List sygdList = new ArrayList<>(); for (String key : map.keySet()) { DmSygd sygd = new DmSygd(); @@ -924,14 +920,13 @@ public class DmSygdMxServiceImpl extends ServiceImpl i String[] fds= l.getDcFd().split(" "); double count= fds.length%2; int index; - if (count>0){ - index= (fds.length/2)+1; - - }else { + if (count>0){ + index= (fds.length/2)+1; + }else { index= fds.length/2; - } - String fd1= Arrays.toString(Arrays.copyOfRange(fds, 0, index)).replace(","," ");// 截取索引0(包括)到索引index(不包括)的元素 - String fd2= Arrays.toString(Arrays.copyOfRange(fds, index, fds.length)).replace(","," "); + } + String fd1= Arrays.toString(Arrays.copyOfRange(fds, 0, index)).replace(","," ");// 截取索引0(包括)到索引index(不包括)的元素 + String fd2= Arrays.toString(Arrays.copyOfRange(fds, index, fds.length)).replace(","," "); l.setDcFd(fd1.substring(1,fd1.lastIndexOf("]"))); ydjhxf1.setDcFd(fd2.substring(1,fd2.lastIndexOf("]"))); @@ -945,6 +940,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } ydjhxf1.setSkbs(l.getSkbs2()); ydjhxf1.setSkqgks(l.getSkqgks2()); + ydjhxf1.setFdxq(l.getFdxq()); list2.add(l); list2.add(ydjhxf1); } diff --git a/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml b/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml index 3f438aa..ab8ff6b 100644 --- a/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml @@ -424,6 +424,7 @@ From 40e232d48fb059943fc693ea434fcbfc72481847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 18 Jun 2024 16:06:40 +0800 Subject: [PATCH 002/196] =?UTF-8?q?1.=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jhgk/三月滚动排产控制器.java | 20 ++- .../java/com/dsic/gj_erp/pc/DataFactory.java | 66 +++++--- .../java/com/dsic/gj_erp/pc/dto/data/Bom.java | 28 ++++ .../com/dsic/gj_erp/pc/dto/tlt/ZlType.java | 5 + .../gj_erp/pc/dto/tlt/一跨平直大板.java | 2 + .../gj_erp/pc/dto/tlt/一跨进线板.java | 1 + .../dsic/gj_erp/pc/dto/tlt/七跨型板.java | 2 + .../dsic/gj_erp/pc/dto/tlt/三跨厚板.java | 2 + .../dsic/gj_erp/pc/dto/tlt/三跨平铁.java | 3 + .../dsic/gj_erp/pc/dto/tlt/三跨曲板.java | 2 + .../pc/dto/tlt/二跨T型材腹板.java | 2 + .../pc/dto/tlt/二跨T型材面板.java | 2 + .../pc/dto/tlt/二跨激光切割板.java | 2 + .../pc/dto/tlt/二跨超长超宽曲板.java | 2 + .../pc/dto/tlt/二跨超长超宽板.java | 2 + .../com/dsic/gj_erp/pc/dto/tlt/光电.java | 1 + .../gj_erp/pc/dto/tlt/四跨普通板.java | 3 + .../dsic/gj_erp/pc/dto/套料图工序.java | 149 +++++++++++++++--- .../java/com/dsic/gj_erp/pc/dto/资源.java | 20 +-- .../订货计划滚动信息接口.java | 51 ++++++ .../java/com/dsic/gj_erp/pc/订货计划.java | 49 ++++++ .../gj_erp/service/jhgk/DmZrcjhService.java | 4 + .../service/jhgk/impl/DmZrcjhServiceImpl.java | 25 +++ .../gj_erp/service/pgd/PgdSljhService.java | 2 +- .../service/pgd/impl/PgdSljhServiceImpl.java | 24 +++ .../resources/mappers/jhgk/DmSygdxqMapper.xml | 4 + 26 files changed, 417 insertions(+), 56 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/pc/dto/tlt/ZlType.java create mode 100644 src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java create mode 100644 src/main/java/com/dsic/gj_erp/pc/订货计划.java diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java index ec3ae4e..1ec1dbb 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java @@ -1,14 +1,13 @@ package com.dsic.gj_erp.controller.jhgk; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.pc.Manager; +import com.dsic.gj_erp.pc.*; import com.dsic.gj_erp.pc.service.三月滚动接口; import com.dsic.gj_erp.pc.service.工序CD接口; +import com.dsic.gj_erp.pc.service.订货计划滚动信息接口; import com.dsic.gj_erp.pc.service.设备产能接口; -import com.dsic.gj_erp.pc.工序CD; -import com.dsic.gj_erp.pc.排产; -import com.dsic.gj_erp.pc.设备产能; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -23,6 +22,7 @@ public class 三月滚动排产控制器 { private final 三月滚动接口 _三月滚动接口; private final 设备产能接口 _设备产能接口; private final 工序CD接口 _工序CD接口; + private final 订货计划滚动信息接口 _订货计划滚动信息接口; private static Semaphore semaphore = new Semaphore(1); @@ -82,6 +82,18 @@ public class 三月滚动排产控制器 { return new ResultBean<>(map); } + @GetMapping("getDhjhAll") + public ResultBean 获取全部订货计划(){ + Object o = _订货计划滚动信息接口.get(); + return new ResultBean<>(o); + } + + @PostMapping("saveDhjh") + public ResultBean 设置订货计划(@RequestBody 订货计划 _订货计划){ + _订货计划滚动信息接口.save(_订货计划); + return new ResultBean<>(); + } + @GetMapping("getCdAll") public ResultBean 获取全部工序CD(){ Object o = _工序CD接口.get(); 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 1b47b2a..2b2b635 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -12,6 +12,8 @@ import com.dsic.gj_erp.bean.jcsj.EmGcrl; import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.jhgk.DmSygdxq; +import com.dsic.gj_erp.bean.jhgk.DmZrcjh; +import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.dsic.gj_erp.pc.dto.data.Bom; import com.dsic.gj_erp.pc.dto.data.钢料需求; import com.dsic.gj_erp.pc.dto.gx.*; @@ -20,11 +22,14 @@ import com.dsic.gj_erp.pc.dto.tlt.*; import com.dsic.gj_erp.pc.dto.排产结果; import com.dsic.gj_erp.pc.dto.*; import com.dsic.gj_erp.pc.service.工序CD接口; +import com.dsic.gj_erp.pc.service.订货计划滚动信息接口; import com.dsic.gj_erp.pc.service.设备产能接口; import com.dsic.gj_erp.service.jcsj.EmGcrlService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jcsj.EmSbjbbService; import com.dsic.gj_erp.service.jhgk.DmSygdxqService; +import com.dsic.gj_erp.service.jhgk.DmZrcjhService; +import com.dsic.gj_erp.service.pgd.PgdSljhService; import com.google.common.collect.ImmutableMap; import lombok.extern.slf4j.Slf4j; @@ -43,6 +48,8 @@ import static com.dsic.gj_erp.pc.Manager.*; public class DataFactory { public static void 排产2() { + 装载中日程数据(); + 套料图所占工序的资源.clear(); Manager.排产结果=new ArrayList<>(); List<钢料需求> list=读取钢料需求(); @@ -54,28 +61,29 @@ public class DataFactory { list.forEach(钢料需求 -> { CountDownLatch latch = new CountDownLatch(钢料需求.getBomList().size()); + String xzglxq = 钢料需求.getXzglxq(); + String dzglxq = 钢料需求.getDzglxq(); 钢料需求.getBomList().forEach(bom -> { 套料图工序 _套料图工序 = 套料图工序工厂(bom); - _套料图工序.set工序CD(工序CDMap); - AtomicBoolean atomicBoolean = new AtomicBoolean(false); - if (_套料图工序!=null){ - _套料图工序.set需求日期(钢料需求.getXzglxq()); - es.execute(() -> { - try{ - _套料图工序.run(atomicBoolean); - }finally { - latch.countDown(); - } - }); - }else { + + //套料图未定义/定义错误 + if (_套料图工序==null){ latch.countDown(); + return; } -// if(atomicBoolean.get()){ -// String errText = StrUtil.format("船号:{},批量:{},图号:{},需求日期:{},不满足上料需求", -// bom.getDcch(), bom.getPl(), bom.getTzbh(), bom.getXzglxq()); -// 清理冗余数据(list); -// throw new RuntimeException(errText); -// } + + _套料图工序.setXzglxq(xzglxq); + _套料图工序.setDzglxq(dzglxq); + _套料图工序.set工序CD(工序CDMap); + _套料图工序.set中日程(获取中日程(bom.getDcch() + bom.getPl() + bom.getFd())); + + es.execute(() -> { + try{ + _套料图工序.run(); + }finally { + latch.countDown(); + } + }); }); try { latch.await(10, TimeUnit.SECONDS);// 指定超时时间 @@ -83,13 +91,33 @@ public class DataFactory { throw new RuntimeException(e); } }); + 清理冗余数据(list); + if (Manager.排产结果.size()>0){ log.info("排产异常--{}个未完整排产,{}",Manager.排产结果.size(),Manager.排产结果); } } + public static List 获取完工的上料计划(Bom bom){ + return getBean(PgdSljhService.class).已排产上料计划装载(bom.getDcch(),bom.getPl(),bom.getFd(),bom.getTzbh()); + } + + public static Map> 获取订货计划(){ + List<订货计划> _订货计划 = getBean(订货计划滚动信息接口.class).get(); + Map> map= _订货计划.stream().collect(Collectors.groupingBy(订货计划::getDcch)); + return map; + } + + private static DmZrcjh 获取中日程(String key){ + return getBean(DmZrcjhService.class).排产获取中日程数据(key); + } + private static void 装载中日程数据(){ + getBean(DmZrcjhService.class).排产中日程数据加载(); + } + private static void 清理冗余数据(List<钢料需求> list){ + list.forEach(钢料需求->{ 钢料需求.getBomList().forEach(bom -> { if (bom.get所在设备()!=null){ @@ -177,7 +205,7 @@ public class DataFactory { 资源 tmp资源 = 提取资源(DateUtil.endOfMonth(DateUtil.parse(钢料需求.getXzglxq(), "yyyy/MM/dd"))); 工序产能 _工序产能 = tmp资源.get工序产能MAP().get(gx); Optional<设备> _设备 = _工序产能.get设备().values().stream().findAny(); - bom.set所在设备(_设备.get()); + bom.set所在设备(_设备.orElse(null)); bom.set所在资源(tmp资源); _工序产能.占用资源(bom.getTzbh(), 0); 套料图所占工序的资源.put(bom.getTzbh(), tmp资源); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java index d2d4ee7..9f94c7b 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java @@ -17,7 +17,9 @@ import java.util.Map; @Setter public class Bom { private String dcch; + private String mbch; private String pl; + private String _pl;//曲外板pl需要增加Q,这里 private String fd; private String xzglxq; @@ -33,6 +35,7 @@ public class Bom { private 设备 所在设备; private 资源 所在资源; private List 已排工序; + private List errors; public static Bom of(String xzxq, String dzxq, DmBom bom){ Bom _bom = new Bom(); @@ -40,10 +43,35 @@ public class Bom { _bom.xzglxq=xzxq; _bom.dzglxq=dzxq; _bom.已排工序 =new ArrayList<>(); + _bom.errors=new ArrayList<>(); return _bom; } public String toString() { return JSONObject.toJSONString(this); } + + public void 坡口结束日期不满足大组需求期(){ + this.errors.add(ErrorType.坡口结束日期不满足大组需求期); + } + + public void 没有订货(){ + this.errors.add(ErrorType.没有订货); + } + + public void 订货计划到齐日期格式错误(){ + this.errors.add(ErrorType.订货计划到齐日期格式错误); + } + public void 上料之前无法到货(){ + this.errors.add(ErrorType.上料之前无法到货); + this.errors.add(ErrorType.需求日期按照中日程计算); + } + + private enum ErrorType{ + 坡口结束日期不满足大组需求期, + 没有订货, + 订货计划到齐日期格式错误, + 上料之前无法到货, + 需求日期按照中日程计算 + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/ZlType.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/ZlType.java new file mode 100644 index 0000000..1f735d2 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/ZlType.java @@ -0,0 +1,5 @@ +package com.dsic.gj_erp.pc.dto.tlt; + +public enum ZlType { + 小组,大组,焊接机器人肘板 +} diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/一跨平直大板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/一跨平直大板.java index e866ee4..6b63f9b 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/一跨平直大板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/一跨平直大板.java @@ -11,6 +11,7 @@ public class 一跨平直大板 extends 套料图工序 { this.kw = "7"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) @@ -25,6 +26,7 @@ public class 一跨平直大板 extends 套料图工序 { this.kw = "7"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/一跨进线板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/一跨进线板.java index 6963612..2a211a1 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/一跨进线板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/一跨进线板.java @@ -15,6 +15,7 @@ public class 一跨进线板 extends 套料图工序 { this.kw = "8"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/七跨型板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/七跨型板.java index 5aceb37..ee1de29 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/七跨型板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/七跨型板.java @@ -11,6 +11,7 @@ public class 七跨型板 extends 套料图工序 { this.kw = "16"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) @@ -28,6 +29,7 @@ public class 七跨型板 extends 套料图工序 { this.kw = "16"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨厚板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨厚板.java index 1b8813a..0fec907 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨厚板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨厚板.java @@ -11,6 +11,7 @@ public class 三跨厚板 extends 套料图工序 { this.kw = "14"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) @@ -25,6 +26,7 @@ public class 三跨厚板 extends 套料图工序 { this.kw = "14"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨平铁.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨平铁.java index 9961a4a..19efcfd 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨平铁.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨平铁.java @@ -11,6 +11,7 @@ public class 三跨平铁 extends 套料图工序 { this.kw = "6"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) @@ -28,6 +29,7 @@ public class 三跨平铁 extends 套料图工序 { this.kw = "6"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) @@ -45,6 +47,7 @@ public class 三跨平铁 extends 套料图工序 { this.kw = "6"; this.zl = "4230"; this.bom = bom; + this.zlType=ZlType.焊接机器人肘板; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨曲板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨曲板.java index ccf2093..ef57d0c 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨曲板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨曲板.java @@ -11,6 +11,7 @@ public class 三跨曲板 extends 套料图工序 { this.kw = "13"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.设置工序(); return this; } @@ -19,6 +20,7 @@ public class 三跨曲板 extends 套料图工序 { this.kw = "13"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.设置工序(); return this; } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨T型材腹板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨T型材腹板.java index ce29a58..dfe38f4 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨T型材腹板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨T型材腹板.java @@ -11,6 +11,7 @@ public class 二跨T型材腹板 extends 套料图工序 { this.kw = "11"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.设置工序(); return this; } @@ -19,6 +20,7 @@ public class 二跨T型材腹板 extends 套料图工序 { this.kw = "11"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.设置工序(); return this; } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨T型材面板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨T型材面板.java index 96e3073..fda9a37 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨T型材面板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨T型材面板.java @@ -11,6 +11,7 @@ public class 二跨T型材面板 extends 套料图工序 { this.kw = "5"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.设置工序(); return this; } @@ -19,6 +20,7 @@ public class 二跨T型材面板 extends 套料图工序 { this.kw = "5"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.设置工序(); return this; } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨激光切割板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨激光切割板.java index 17777ee..b4adae9 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨激光切割板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨激光切割板.java @@ -11,6 +11,7 @@ public class 二跨激光切割板 extends 套料图工序 { this.kw = "12"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) @@ -25,6 +26,7 @@ public class 二跨激光切割板 extends 套料图工序 { this.kw = "12"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨超长超宽曲板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨超长超宽曲板.java index df4c595..861c021 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨超长超宽曲板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨超长超宽曲板.java @@ -11,6 +11,7 @@ public class 二跨超长超宽曲板 extends 套料图工序 { this.kw = "10"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) @@ -27,6 +28,7 @@ public class 二跨超长超宽曲板 extends 套料图工序 { _二跨超长超宽曲板.kw = "10"; _二跨超长超宽曲板.zl = "1110"; _二跨超长超宽曲板.bom = bom; + _二跨超长超宽曲板.zlType=ZlType.大组; _二跨超长超宽曲板.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨超长超宽板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨超长超宽板.java index 10c1d5c..782407a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨超长超宽板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/二跨超长超宽板.java @@ -11,6 +11,7 @@ public class 二跨超长超宽板 extends 套料图工序 { this.kw = "9"; this.zl = "1010"; this.bom = bom; + this.zlType=ZlType.小组; this.设置工序(); return this; } @@ -19,6 +20,7 @@ public class 二跨超长超宽板 extends 套料图工序 { this.kw = "9"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.设置工序(); return this; } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/光电.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/光电.java index 6ba6d72..f36c4bd 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/光电.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/光电.java @@ -11,6 +11,7 @@ public class 光电 extends 套料图工序 { this.kw = "17"; this.zl = "1120"; this.bom = bom; + this.zlType=ZlType.小组; this.工序 = ImmutableList.builder() .add(Constant.工序.上料) .add(Constant.工序.抛丸) diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/四跨普通板.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/四跨普通板.java index c9102f0..be87dcc 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/四跨普通板.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/四跨普通板.java @@ -11,6 +11,7 @@ public class 四跨普通板 extends 套料图工序 { this.kw = "15"; this.zl = "1010"; this.bom = bom; + this.zlType= ZlType.小组; this.设置工序(); return this; } @@ -19,6 +20,7 @@ public class 四跨普通板 extends 套料图工序 { this.kw = "15"; this.zl = "1110"; this.bom = bom; + this.zlType=ZlType.大组; this.设置工序(); return this; } @@ -27,6 +29,7 @@ public class 四跨普通板 extends 套料图工序 { this.kw = "15"; this.zl = "4230"; this.bom = bom; + this.zlType=ZlType.大组; this.设置工序(); return this; } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java index 27d447a..7386f6a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java @@ -4,57 +4,109 @@ 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.dsic.gj_erp.pc.Constant; -import com.dsic.gj_erp.pc.Manager; +import com.dsic.gj_erp.bean.jhgk.DmZrcjh; +import com.dsic.gj_erp.pc.*; import com.dsic.gj_erp.pc.dto.data.Bom; import com.dsic.gj_erp.pc.dto.data.钢料需求; +import com.dsic.gj_erp.pc.dto.tlt.ZlType; import com.dsic.gj_erp.pc.service.套料图工序接口; -import com.dsic.gj_erp.pc.工序CD; import lombok.Getter; import lombok.Setter; +import lombok.extern.slf4j.Slf4j; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.concurrent.atomic.AtomicBoolean; -//import static com.dsic.gj_erp.pc.Constant.工序CD; import static com.dsic.gj_erp.pc.DataFactory.提取资源; -import static com.dsic.gj_erp.pc.DataFactory.搜索可用资源; -import static com.dsic.gj_erp.pc.Manager.from; @Getter @Setter +@Slf4j public abstract class 套料图工序 implements 套料图工序接口 { protected String kw; protected String zl; + protected ZlType zlType; + protected String xzglxq; + protected String dzglxq; protected 钢料需求 _钢料需求; protected Bom bom; protected String 需求日期; - protected Date _需求日期; + protected DateTime _需求日期; + protected DmZrcjh 中日程; protected List 工序; protected Map 工序CD; + protected AtomicBoolean fail; + protected List<订货计划> 订货计划s; + + public void run(){ + fail=new AtomicBoolean(false); + 基础设置(); + this.run(fail); + } + + protected void 基础设置(){ + if (this.zlType==ZlType.小组){ + this.set需求日期(this.xzglxq); + } + + if (this.zlType==ZlType.大组){ + this.set需求日期(this.dzglxq); + } + + if (this.zlType==ZlType.大组&&this.工序.contains(Constant.工序.曲型)){ + //大组需求有曲外板,需要按照大组需求期计算 + this.set需求日期(dzglxq); + //曲外板批量名称设置 + this.bom.set_pl(this.bom.getPl()+"Q"); + } + + //当大组需求期无法满足小组需求时,以小组需求期为准 + if (StrUtil.isAllNotEmpty(xzglxq,dzglxq)){ + if (DateUtil.parse(xzglxq,"yyyy/MM/dd").isAfter(DateUtil.parse(dzglxq,"yyyy/MM/dd"))){ + this.set需求日期(dzglxq); + } + } - public void run(AtomicBoolean atomicBoolean) { if (ObjUtil.isEmpty(this.bom)||StrUtil.isEmpty(this.bom.getTzbh())){ return; } this._需求日期 = DateUtil.parse(this.需求日期, "yyyy/MM/dd"); - double 需求数量 = 1; + + Map> _订货计划=DataFactory.获取订货计划(); + this.订货计划s = _订货计划.get(bom.getDcch()); + } + + public void run(AtomicBoolean atomicBoolean) { + if (!this.是否订货()){ + bom.没有订货(); + } + + double 需求数量 = 1;//默认数量为1,切割处理时候按照实际切割长度计算,切割产能在设备产能中单独计算 this.工序.forEach(_工序 -> { - if (!this.占用资源(_工序,需求数量)){ - //可用资源最大前推日期设置为N天,最大前推日期意味从上料开始最小施工周期 - //fixme 这里应该安装工序设置,暂时写死一个日期 - Optional<资源> 可用资源 = 搜索可用资源(_工序, DateUtil.parse(from, "yyyy/MM/dd"), DateUtil.offsetDay(this._需求日期,0), 需求数量); - 可用资源.ifPresent(_资源 -> { - if (_资源.占用资源(_工序,this.bom,需求数量)){ - this.bom.set所在资源(_资源); - this.bom.get已排工序().add(0,_工序); + 资源 _资源 = this.占用资源2(_工序, 需求数量); + + if (_工序==Constant.工序.上料&&!this.能否到货(_资源)){ + this.bom.上料之前无法到货(); + //使用中日程定义需求日期 + this._需求日期=this.zlType==ZlType.小组?DateUtil.parse(this.中日程.getGjjsXz()):DateUtil.parse(this.中日程.getGjjsDz()); + //再次计算上料日期 + this.占用资源2(_工序, 需求数量); + } + + //只有大组需求期时,坡口结束日期需满足大组结束日期 + if (StrUtil.isEmpty(xzglxq)&&StrUtil.isNotEmpty(dzglxq)&&_工序==Constant.工序.坡口){ + if (this.中日程!=null){ + String 大组结束日期=this.中日程.getGjjsDz(); + if (DateUtil.parse(大组结束日期).isBefore(DateUtil.parse(_资源.getDate()))){ + this.bom.坡口结束日期不满足大组需求期(); + atomicBoolean.set(true); } - }); + } } }); + //排产失败相关记录 if (bom.get已排工序().size()!=this.工序.size()) { Manager.排产结果.add(this.bom); @@ -62,6 +114,60 @@ public abstract class 套料图工序 implements 套料图工序接口 { } } + protected boolean 是否订货(){ + AtomicBoolean 是否订货=new AtomicBoolean(false); + if (ObjUtil.isEmpty(订货计划s)){ + return 是否订货.get(); + } + + if (ObjUtil.isNotEmpty(订货计划s)){ + 订货计划s.forEach(item->{ + if (item.getPlList().contains(bom.getPl())){ + 是否订货.set(true); + } + }); + } + return 是否订货.get(); + } + + protected boolean 能否到货(资源 _资源){ + AtomicBoolean 能否到货=new AtomicBoolean(false); + if (ObjUtil.isNotEmpty(订货计划s)){ + 订货计划s.forEach(item->{ + if (item.getPlList().contains(bom.getPl())){ + DateTime arriveDate; + try { + arriveDate=DateUtil.parse(item.getAllArriveData(),"yyyy/MM/dd"); + }catch (Exception e){ + this.bom.订货计划到齐日期格式错误(); + log.error("上料计划时间格式错误--月份:{},船号:{},批次范围:{},到齐日期:{}",item.getMonth(),item.getDcch(),item.getPls(),item.getAllArriveData()); + return; + } + if (_资源.get_date().isAfter(arriveDate)){ + 能否到货.set(true); + } + } + }); + } + return 能否到货.get(); + } + + protected 资源 占用资源2(Constant.工序 _工序,double 需求数量){ + Integer cd = 工序CD.get(_工序).getCd(); + DateTime dateTime = DateUtil.offsetDay(this._需求日期, cd); + 资源 _资源 = 提取资源(dateTime); + try { + if (_资源.占用资源(_工序,this.bom,需求数量)){ + this.bom.set所在资源(_资源); + this.bom.get已排工序().add(0,_工序); + } + }catch (Exception e){ + e.printStackTrace(); + } + + return _资源; + } + protected boolean 占用资源(Constant.工序 _工序,double 需求数量){ Integer cd = 工序CD.get(_工序).getCd(); DateTime dateTime = DateUtil.offsetDay(this._需求日期, cd); @@ -100,4 +206,9 @@ public abstract class 套料图工序 implements 套料图工序接口 { this._钢料需求=_钢料需求; return this; } + + public boolean getSuccess(){ + return this.fail.get(); + } + } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java index fab4a0a..1ff81ba 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java @@ -1,5 +1,7 @@ package com.dsic.gj_erp.pc.dto; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.dsic.gj_erp.pc.Constant; import com.dsic.gj_erp.pc.dto.data.Bom; import lombok.Getter; @@ -16,6 +18,7 @@ import static com.dsic.gj_erp.pc.Manager.套料图所占工序的资源; @Setter public class 资源 { private String date; + private DateTime _date; private Map 工序产能MAP; public void 占用资源(Constant.工序 工序,String 套料图号,double 产能消耗){ @@ -32,21 +35,11 @@ public class 资源 { AtomicBoolean atomicBoolean = new AtomicBoolean(false); 工序产能 工序产能 = 工序产能MAP.get(工序); Optional.ofNullable(工序产能).ifPresent(it->{ - if (it.判断是否可以占用(产能消耗)){ - it.占用资源(产能消耗,bom); - 设置套料图所在资源(bom.getTzbh()); - atomicBoolean.set(true); - } - }); - return atomicBoolean.get(); - } - - public void 强占资源(Constant.工序 工序,Bom bom,double 产能消耗){ - 工序产能 工序产能 = 工序产能MAP.get(工序); - Optional.of(工序产能).ifPresent(it->{ - it.强占资源(产能消耗,bom); + it.占用资源(产能消耗,bom); 设置套料图所在资源(bom.getTzbh()); + atomicBoolean.set(true); }); + return atomicBoolean.get(); } private static Semaphore semaphore = new Semaphore(1); @@ -76,6 +69,7 @@ public class 资源 { public static 资源 of(String date,Map 工序产能MAP){ 资源 资源 = new 资源(); 资源.date=date; + 资源._date= DateUtil.parse(date,"yyyy/MM/dd"); 资源.工序产能MAP=工序产能MAP; return 资源; } diff --git a/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java b/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java new file mode 100644 index 0000000..a941460 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java @@ -0,0 +1,51 @@ +package com.dsic.gj_erp.pc.service; + +import com.dsic.gj_erp.pc.工序CD; +import com.dsic.gj_erp.pc.订货计划; +import lombok.AllArgsConstructor; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.CachePut; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; + +@Service +@AllArgsConstructor +public class 订货计划滚动信息接口 { + + private static final String KEY="dhjh"; + private final RedisTemplate redisTemplate; + + @CachePut(cacheNames = {KEY},key = "#plan.getKey()") + public Object save(订货计划 plan){ + return plan; + } + + @Cacheable(value = {KEY},key = "#id") + public Object get(String id){ + return new HashMap<>(); + } + + @CacheEvict(value = {KEY}, key="#id") + public Object remove(String id){ + return new HashMap<>(); + } + + public List<订货计划> get(){ + Set keys = redisTemplate.keys(KEY+"::*"); + List<订货计划> list=new ArrayList<>(); + if (keys==null){ + return new ArrayList<>(); + } + for (String key:keys){ + 订货计划 _订货计划= (订货计划) redisTemplate.opsForValue().get(key); + list.add(_订货计划); + } + return list; + } +} diff --git a/src/main/java/com/dsic/gj_erp/pc/订货计划.java b/src/main/java/com/dsic/gj_erp/pc/订货计划.java new file mode 100644 index 0000000..2f5f0be --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/pc/订货计划.java @@ -0,0 +1,49 @@ +package com.dsic.gj_erp.pc; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; + +import java.util.List; + +@Getter +@Setter +@Slf4j +public class 订货计划 { + private String month; + private String index; + private String dcch; + private String pls;//批量范围 + private List plList; + private String tonnage; + private String sumWeight; + private String allArriveData;//到齐日期 + + public String getKey(){ + return this.month+this.dcch+pls; + } + public synchronized List getPlList(){ + if (this.plList!=null){ + return this.plList; + } + List split = StrUtil.split(pls, "-"); + String logMsg=StrUtil.format("订货计划--船号:{},批量范围格式错误:{}",dcch,pls); + if (split.size()!=2){ + log.error(logMsg); + throw new RuntimeException(logMsg); + } + try { + int start=Integer.parseInt(split.get(0)); + int end=Integer.parseInt(split.get(1)); + for (int i=start;i<=end;i++){ + this.plList.add(i+""); + } + return this.plList; + }catch (Exception e){ + log.error(logMsg); + throw new RuntimeException(logMsg); + } + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmZrcjhService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmZrcjhService.java index fe848d1..1bf60d6 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmZrcjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmZrcjhService.java @@ -28,4 +28,8 @@ public interface DmZrcjhService extends IService { void tj(List dmZrcjhs); void sh(List dmZrcjhs); + + void 排产中日程数据加载(); + + DmZrcjh 排产获取中日程数据(String key); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java index 032c5ea..bfce8f2 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.poi.excel.ExcelReader; import com.alibaba.fastjson.JSONObject; 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.*; import com.dsic.gj_erp.mapper.jhgk.DmZrcjhMapper; @@ -16,6 +17,8 @@ import com.dsic.gj_erp.util.ExcelUtil; import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; import org.modelmapper.ModelMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -28,6 +31,9 @@ import java.util.Date; import java.util.List; import java.util.Map; +import static com.dsic.gj_erp.pc.Manager.from; +import static com.dsic.gj_erp.pc.Manager.to; + /** *

* 服务实现类 @@ -46,6 +52,9 @@ public class DmZrcjhServiceImpl extends ServiceImpl impl @Resource DmZrcjhOldService oldService; + @Autowired + RedisTemplate redisTemplate; + @Override public List getList(JSONObject json) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -163,4 +172,20 @@ public class DmZrcjhServiceImpl extends ServiceImpl impl }); updateBatchById(dmZrcjhs); } + + @Override + public void 排产中日程数据加载() { + redisTemplate.delete("ZRC"); + List list = list(Wrappers.lambdaQuery().between(DmZrcjh::getGjks, from, to)); + list.parallelStream().forEach(item->{ + String key=item.getDcCh()+item.getDcPl()+item.getDcFd(); + redisTemplate.opsForHash().put("ZRC",key,item); + }); + } + + @Override + public DmZrcjh 排产获取中日程数据(String key) { + return (DmZrcjh) redisTemplate.opsForHash().get("ZRC",key); + } + } diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java index 769153b..aff4f69 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java @@ -23,5 +23,5 @@ public interface PgdSljhService extends IService { void saveSljhFk(List sljhs, HttpServletRequest request); void saveSljhPgdXdBack(List sljhs, HttpServletRequest request); - + List 已排产上料计划装载(String ch,String pl,String fd,String tlth); } diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java index bafd261..7b9223c 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java @@ -1,12 +1,17 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.bean.jhgk.DmZrcjh; import com.dsic.gj_erp.bean.pgd.PgdDh; import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.mapper.pgd.PgdSljhMapper; +import com.dsic.gj_erp.pc.Manager; import com.dsic.gj_erp.service.pgd.PgdSljhService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -14,6 +19,9 @@ import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; +import static com.dsic.gj_erp.pc.Manager.from; +import static com.dsic.gj_erp.pc.Manager.to; + /** *

* 服务实现类 @@ -23,7 +31,11 @@ import java.util.List; * @since 2023-11-13 */ @Service +@AllArgsConstructor public class PgdSljhServiceImpl extends ServiceImpl implements PgdSljhService { + + private final RedisTemplate redisTemplate; + @Transactional(rollbackFor = Exception.class) @Override public void saveSljhPgdXd(List sljhs, HttpServletRequest request) { @@ -88,4 +100,16 @@ public class PgdSljhServiceImpl extends ServiceImpl impl }); this.updateBatchById(ups); } + + @Override + public List 已排产上料计划装载(String ch, String pl, String fd, String tlth) { + return list(Wrappers.lambdaQuery() + .eq(PgdSljh::getCzbh,ch) + .eq(PgdSljh::getPl,pl) + .eq(PgdSljh::getFd,fd) + .eq(PgdSljh::getTlth,tlth) + .isNotNull(PgdSljh::getFkrq) + ); + } + } diff --git a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml index e646864..0433812 100644 --- a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml @@ -9,9 +9,11 @@ + + @@ -33,8 +35,10 @@ xq.dc_pl, xq.dc_fd, xq.xzglxq, + xq.daglxq, bom.id as bom_id, bom.dcch as bom_dcch, + bom.mbch as bom_mbch, bom.pl as bom_pl, bom.fd as bom_fd, bom.kw as bom_kw, From 403461a6d07b170fbf085725951c559065791f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 19 Jun 2024 11:48:57 +0800 Subject: [PATCH 003/196] =?UTF-8?q?1.=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/pc/DataFactory.java | 1 + .../java/com/dsic/gj_erp/pc/dto/data/Bom.java | 53 ++++++++++++++++++- .../dsic/gj_erp/pc/dto/套料图工序.java | 2 +- .../java/com/dsic/gj_erp/pc/dto/资源.java | 3 ++ 4 files changed, 57 insertions(+), 2 deletions(-) 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 2b2b635..c429370 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -63,6 +63,7 @@ public class DataFactory { CountDownLatch latch = new CountDownLatch(钢料需求.getBomList().size()); String xzglxq = 钢料需求.getXzglxq(); String dzglxq = 钢料需求.getDzglxq(); + 钢料需求.getBomList().forEach(bom -> { 套料图工序 _套料图工序 = 套料图工序工厂(bom); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java index 9f94c7b..5b769ab 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java @@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.bean.jcsj.DmBom; import com.dsic.gj_erp.pc.Constant; +import com.dsic.gj_erp.pc.dto.gx.*; +import com.dsic.gj_erp.pc.dto.sb.*; import com.dsic.gj_erp.pc.dto.设备; import com.dsic.gj_erp.pc.dto.资源; import lombok.Getter; @@ -67,11 +69,60 @@ public class Bom { this.errors.add(ErrorType.需求日期按照中日程计算); } + public void 超出工序产能(Constant.工序 _工序){ + switch (_工序) { + case 上料: + this.errors.add(ErrorType.超出上料工序产能); + break; + case 抛丸: + this.errors.add(ErrorType.超出抛丸工序产能); + break; + case 理料: + this.errors.add(ErrorType.超出理料工序产能); + break; + case 划线: + this.errors.add(ErrorType.超出划线工序产能); + break; + case 切割: + this.errors.add(ErrorType.超出切割工序产能); + break; + case 坡口: + this.errors.add(ErrorType.超出坡口工序产能); + break; + case 型材面板: + this.errors.add(ErrorType.超出型材面板工序产能); + break; + case 曲型: + this.errors.add(ErrorType.超出曲加工工序产能); + break; + case 打磨: + this.errors.add(ErrorType.超出打磨工序产能); + break; + case 自由边处理: + this.errors.add(ErrorType.超出自由边处理工序产能); + break; + case 光电结束: + this.errors.add(ErrorType.超出光电工序产能); + break; + } + } + private enum ErrorType{ 坡口结束日期不满足大组需求期, 没有订货, 订货计划到齐日期格式错误, 上料之前无法到货, - 需求日期按照中日程计算 + 需求日期按照中日程计算, + 超出上料工序产能, + 超出抛丸工序产能, + 超出理料工序产能, + 超出划线工序产能, + 超出切割工序产能, + 超出打磨工序产能, + 超出坡口工序产能, + 超出型材面板工序产能, + 超出曲加工工序产能, + 超出自由边处理工序产能, + 超出光电工序产能 } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java index 7386f6a..83775dd 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java @@ -32,6 +32,7 @@ public abstract class 套料图工序 implements 套料图工序接口 { protected String dzglxq; protected 钢料需求 _钢料需求; protected Bom bom; + protected double 需求数量 = 1;//默认数量为1,切割处理时候按照实际切割长度计算,切割产能在设备产能中单独计算 protected String 需求日期; protected DateTime _需求日期; protected DmZrcjh 中日程; @@ -83,7 +84,6 @@ public abstract class 套料图工序 implements 套料图工序接口 { bom.没有订货(); } - double 需求数量 = 1;//默认数量为1,切割处理时候按照实际切割长度计算,切割产能在设备产能中单独计算 this.工序.forEach(_工序 -> { 资源 _资源 = this.占用资源2(_工序, 需求数量); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java index 1ff81ba..feb798d 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java @@ -35,6 +35,9 @@ public class 资源 { AtomicBoolean atomicBoolean = new AtomicBoolean(false); 工序产能 工序产能 = 工序产能MAP.get(工序); Optional.ofNullable(工序产能).ifPresent(it->{ + if (!it.判断是否可以占用(产能消耗)){ + bom.超出工序产能(工序); + } it.占用资源(产能消耗,bom); 设置套料图所在资源(bom.getTzbh()); atomicBoolean.set(true); From 75cff9277e1388a2cf44a80a4c62e7db536bca28 Mon Sep 17 00:00:00 2001 From: xhj Date: Sat, 22 Jun 2024 17:03:43 +0800 Subject: [PATCH 004/196] =?UTF-8?q?=E5=88=86=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Maven__cn_hutool_hutool_all_5_8_15.xml | 13 - .../Maven__com_google_guava_guava_20_0.xml | 13 - ...ven__org_modelmapper_modelmapper_2_3_5.xml | 13 - .idea/workspace.xml | 235 ++++++++++----- .mvn/wrapper/maven-wrapper.jar | Bin 62547 -> 0 bytes .mvn/wrapper/maven-wrapper.properties | 2 - gj_erp.iml | 33 +- .../com/dsic/gj_erp/bean/fd/DmCzfddyb.java | 77 +++-- .../java/com/dsic/gj_erp/bean/fd/DmCzjbb.java | 254 ++++++++++++++++ .../com/dsic/gj_erp/bean/fd/DmXqdwcjcd.java | 21 +- .../com/dsic/gj_erp/bean/fd/ExcelExport.java | 14 +- .../java/com/dsic/gj_erp/bean/fd/FdBean.java | 12 +- .../java/com/dsic/gj_erp/bean/fd/TppsQk.java | 38 ++- .../controller/fd/DmCzfddybController.java | 41 ++- .../gj_erp/controller/fd/TpbController.java | 46 +++ .../controller/jcsj/BomUploadController.java | 1 - .../controller/jcsj/DmBomController.java | 1 - .../gj_erp/listeners/ExcelFdListener.java | 6 +- .../gj_erp/mapper/fd/DmCzfddybMapper.java | 9 + .../dsic/gj_erp/mapper/fd/DmCzjbbMapper.java | 16 + .../dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml | 127 ++++++++ .../gj_erp/mapper/fd/DmXqdwcjcdMapper.java | 9 + .../gj_erp/mapper/fd/DmXqdwcjcdMapper.xml | 22 ++ .../com/dsic/gj_erp/mapper/fd/TpbMapper.java | 9 + .../gj_erp/service/fd/DmCzfddybService.java | 260 ++-------------- .../gj_erp/service/fd/DmCzjbbService.java | 16 + .../gj_erp/service/fd/DmXqdwcjcdService.java | 16 +- .../service/fd/impl/DmCzfddybServiceImpl.java | 282 ++++++++++++++++++ .../service/fd/impl/DmCzjbbServiceImpl.java | 20 ++ .../fd/impl/DmXqdwcjcdServiceImpl.java | 20 ++ .../gj_erp/service/fd/{ => impl}/TpImpl.java | 99 +++--- .../jcsj/impl/BomUploadServiceImpl.java | 7 +- 32 files changed, 1249 insertions(+), 483 deletions(-) delete mode 100644 .idea/libraries/Maven__cn_hutool_hutool_all_5_8_15.xml delete mode 100644 .idea/libraries/Maven__com_google_guava_guava_20_0.xml delete mode 100644 .idea/libraries/Maven__org_modelmapper_modelmapper_2_3_5.xml delete mode 100644 .mvn/wrapper/maven-wrapper.jar delete mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 src/main/java/com/dsic/gj_erp/bean/fd/DmCzjbb.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/fd/TpbController.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml create mode 100644 src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.xml create mode 100644 src/main/java/com/dsic/gj_erp/service/fd/DmCzjbbService.java create mode 100644 src/main/java/com/dsic/gj_erp/service/fd/impl/DmCzfddybServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/fd/impl/DmCzjbbServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/fd/impl/DmXqdwcjcdServiceImpl.java rename src/main/java/com/dsic/gj_erp/service/fd/{ => impl}/TpImpl.java (50%) diff --git a/.idea/libraries/Maven__cn_hutool_hutool_all_5_8_15.xml b/.idea/libraries/Maven__cn_hutool_hutool_all_5_8_15.xml deleted file mode 100644 index 177afec..0000000 --- a/.idea/libraries/Maven__cn_hutool_hutool_all_5_8_15.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_20_0.xml b/.idea/libraries/Maven__com_google_guava_guava_20_0.xml deleted file mode 100644 index 6f95861..0000000 --- a/.idea/libraries/Maven__com_google_guava_guava_20_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_modelmapper_modelmapper_2_3_5.xml b/.idea/libraries/Maven__org_modelmapper_modelmapper_2_3_5.xml deleted file mode 100644 index 8f63525..0000000 --- a/.idea/libraries/Maven__org_modelmapper_modelmapper_2_3_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 46abc39..a0df517 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,7 +4,41 @@

+ * + *

+ * + * @author xhj + * @since 2023-05-08 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="DmCzfddyb对象", description="") +public class DmCzfddyb implements Serializable { - private String qy;//所属区域 + private static final long serialVersionUID=1L; - private Integer frow;//行 + @ApiModelProperty(value = "船只编号") + private String czbh; - private Integer fcol;//列 + @ApiModelProperty(value = "分段号") + private String fdh; - private String zydw;//作业单位 + @ApiModelProperty(value = "所属区域") + private String qy; - private String zycj;//作业车间 + @ApiModelProperty(value = "行") + private Integer frow; - private String stjhrq;//上胎计划期 + @ApiModelProperty(value = "列") + private Integer fcol; - private String zzjhrq;//总组计划期 + @ApiModelProperty(value = "作业单位") + private String zydw; - private String dzjhrq;//大组计划期 + @ApiModelProperty(value = "作业车间") + private String zycj; - private String xzjhrq;//小组计划期 + @ApiModelProperty(value = "上胎计划期") + private String stjhrq; - private String kgrq;//开工日期 + @ApiModelProperty(value = "总组计划期") + private String zzjhrq; - private String wgrq;//完工日期 + @ApiModelProperty(value = "大组计划期") + private String dzjhrq; - private Integer tpzs;//托盘总数 + @ApiModelProperty(value = "小组计划期") + private String xzjhrq; - private String zt;//"状态" + @ApiModelProperty(value = "开工日期") + private String kgrq; - private String bz;//备注 + @ApiModelProperty(value = "完工日期") + private String wgrq; + + @ApiModelProperty(value = "托盘总数") + private Integer tpzs; + + @ApiModelProperty(value = "状态") + private String zt; + + @ApiModelProperty(value = "备注") + private String bz; @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; + + + } diff --git a/src/main/java/com/dsic/gj_erp/bean/fd/DmCzjbb.java b/src/main/java/com/dsic/gj_erp/bean/fd/DmCzjbb.java new file mode 100644 index 0000000..5c31a21 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/fd/DmCzjbb.java @@ -0,0 +1,254 @@ +package com.dsic.gj_erp.bean.fd; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + *

+ * 船只基本表 + *

+ * + * @author xhj + * @since 2023-05-08 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="DmCzjbb对象", description="船只基本表") +public class DmCzjbb implements Serializable { + + private static final long serialVersionUID=1L; + + private String fjqzcjs; + + private String cjs; + + private String clbs10; + + private String yqbs02; + + private String zfzy; + + private String yzbs; + + private String xsrq; + + private String gxcjbs; + + private String yqbs06; + + private String ph; + + private String cwfzrq; + + private String yqbs04; + + private String clbs11; + + private String clbs09; + + private String dyjdy; + + private String yqbs03; + + private String txzl1; + + private String ph6; + + private String lrry; + + private String gjfkyz; + + private String ph3; + + private String yqbs05; + + private String czmc; + + private String yqbs; + + private String czjc; + + private String clbs12; + + private String txgy3; + + private String txcz; + + private String gcqy1; + + private String hcbs01; + + private String yqbs09; + + private String pjfs; + + private String hcbs03; + + private String jswgbs; + + private String txzl2; + + private String yqxebs; + + private String lrrq; + + private Integer gjxtws; + + private String gcqy; + + private String ph4; + + private String azqy3; + + private String yqbs12; + + private String txjdy; + + private String yqbs08; + + private String yqdetqryTx; + + private String yqbs10; + + private String hcbs02; + + private String txgy2; + + private String sctrq; + + private String xmbh; + + private String shrq; + + private Integer sl; + + private String gjfjpkfs; + + private String wgbs; + + private String hcbs04; + + private String ph1; + + private String sctrqbz; + + private String yqbs07; + + private String yqbs11; + + private String gxhqby; + + private String hcbs10; + + private String clbs03; + + private String azqy2; + + private String qcbs; + + private String ph7; + + private String clbs01; + + private String gjfjthxz; + + private String hcbs05; + + private String jssxrq; + + @TableId(value = "czbh", type = IdType.ASSIGN_UUID) + private String czbh; + + private String qcbs1; + + private String hcbs07; + + private String hcbs09; + + private String gxfjbz; + + private String txgy1; + + private String clbs02; + + private String cdmc; + + private String cwzt; + + private String cimsBs; + + private String kgrq; + + private String cwfzsm; + + private String gxhbbs; + + private String sfqy; + + private String hcbs06; + + private String hcbs08; + + private Double gcxs; + + private String yqdetqrqTx; + + private String cjmc; + + private String azqy1; + + private Double gzjxs; + + private String qzjgrq; + + private String zztczbh; + + private String ycbs; + + private String ph2; + + private String clbs05; + + private String kgrqbz; + + private String hcbs11; + + private String xscz; + + private String gjgxbz; + + private String clbs07; + + private String bz; + + private String yqbs01; + + private String qcbs2; + + private String xl; + + private String txzl3; + + private String jssxsm; + + private String ph8; + + private String ph5; + + private String clbs06; + + private String hcbs12; + + private String clbs04; + + private String gjjdy; + + private String clbs08; + + +} diff --git a/src/main/java/com/dsic/gj_erp/bean/fd/DmXqdwcjcd.java b/src/main/java/com/dsic/gj_erp/bean/fd/DmXqdwcjcd.java index c202ea9..c6df0cf 100644 --- a/src/main/java/com/dsic/gj_erp/bean/fd/DmXqdwcjcd.java +++ b/src/main/java/com/dsic/gj_erp/bean/fd/DmXqdwcjcd.java @@ -2,15 +2,27 @@ package com.dsic.gj_erp.bean.fd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import lombok.Getter; -import lombok.Setter; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; import java.io.Serializable; -@Getter -@Setter +/** + *

+ * + *

+ * + * @author xhj + * @since 2023-06-16 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="DmXqdwcjcd对象", description="") public class DmXqdwcjcd implements Serializable { + private static final long serialVersionUID=1L; + private String cdmc; private String dwbm; @@ -28,4 +40,5 @@ public class DmXqdwcjcd implements Serializable { private String fzry; + } diff --git a/src/main/java/com/dsic/gj_erp/bean/fd/ExcelExport.java b/src/main/java/com/dsic/gj_erp/bean/fd/ExcelExport.java index e24a075..a0e4155 100644 --- a/src/main/java/com/dsic/gj_erp/bean/fd/ExcelExport.java +++ b/src/main/java/com/dsic/gj_erp/bean/fd/ExcelExport.java @@ -1,12 +1,17 @@ package com.dsic.gj_erp.bean.fd; import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; -@Getter -@Setter +/** + * ExcelExport: + * + * @author xhj + * @date 2023/05/08 + */ +@Data public class ExcelExport { + @ExcelProperty(index = 0) private String column000; @ExcelProperty(index = 1) @@ -250,4 +255,5 @@ public class ExcelExport { @ExcelProperty(index = 120) private String column120; + } diff --git a/src/main/java/com/dsic/gj_erp/bean/fd/FdBean.java b/src/main/java/com/dsic/gj_erp/bean/fd/FdBean.java index 1113040..fb52dac 100644 --- a/src/main/java/com/dsic/gj_erp/bean/fd/FdBean.java +++ b/src/main/java/com/dsic/gj_erp/bean/fd/FdBean.java @@ -1,10 +1,14 @@ package com.dsic.gj_erp.bean.fd; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; -@Getter -@Setter +/** + * FdBean: + * + * @author xhj + * @date 2023/05/14 + */ +@Data public class FdBean { private String fdh; private String color; diff --git a/src/main/java/com/dsic/gj_erp/bean/fd/TppsQk.java b/src/main/java/com/dsic/gj_erp/bean/fd/TppsQk.java index da7080e..5045de9 100644 --- a/src/main/java/com/dsic/gj_erp/bean/fd/TppsQk.java +++ b/src/main/java/com/dsic/gj_erp/bean/fd/TppsQk.java @@ -1,13 +1,18 @@ package com.dsic.gj_erp.bean.fd; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.math.BigDecimal; -@Getter -@Setter +/** + * TppsQk: 托盘配送情况 + * + * @author xhj + * @date 2023/05/13 + */ +@Data public class TppsQk { + private String czbh; private String fdh; private String tpbh; @@ -15,23 +20,40 @@ public class TppsQk { private BigDecimal xqsl; private BigDecimal pssl; private BigDecimal psbfb; + private String ygpprq; private String fkpprq; + private String yjtgq; + private String jhxqrq; private String qfpsrq; private String qfpsrq1; private String qfxqrq; - private String sjpsrq;// 实际配送期 + + // 实际配送期 + private String sjpsrq; private String sjpsrqmin; private String sjpsrqmax; - private String minjprkrq; // 集配入库日期 + + + + + + // 集配入库日期 + private String minjprkrq; private String maxjprkrq; - private String fdxqrq;//分段需求日期 - private String zyzzcjmc;//作业车间及场地 + //分段需求日期 + private String fdxqrq; + //作业车间及场地 + private String zyzzcjmc; private String zyzzssbm; + private BigDecimal pssl0; private BigDecimal pssl5; private BigDecimal pssl10; private BigDecimal pssl15; + + + } diff --git a/src/main/java/com/dsic/gj_erp/controller/fd/DmCzfddybController.java b/src/main/java/com/dsic/gj_erp/controller/fd/DmCzfddybController.java index 3ee4e9f..3037bbf 100644 --- a/src/main/java/com/dsic/gj_erp/controller/fd/DmCzfddybController.java +++ b/src/main/java/com/dsic/gj_erp/controller/fd/DmCzfddybController.java @@ -1,13 +1,14 @@ package com.dsic.gj_erp.controller.fd; + import com.alibaba.excel.EasyExcel; +import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.fd.ExcelExport; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.listeners.ExcelFdListener; import com.dsic.gj_erp.service.fd.DmCzfddybService; -import io.swagger.annotations.Authorization; -import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -15,16 +16,27 @@ import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; +/** + *

+ * 前端控制器 + *

+ * + * @author xhj + * @since 2023-05-08 + */ @RestController @RequestMapping("/api/dmCzfddyb") -@AllArgsConstructor public class DmCzfddybController { - private final DmCzfddybService dmCzfddybService; - + + @Autowired + DmCzfddybService dmCzfddybService; @PostMapping("/upload") - @Authorization("") + @AuthFunction @ResponseBody public ResultBean upload(@RequestParam("file") MultipartFile file , String czbh, String isupload, HttpServletRequest req) throws Exception, CustomException { + + System.out.println(czbh); + ExcelFdListener objectListener = new ExcelFdListener(); EasyExcel.read(file.getInputStream(), ExcelExport.class, objectListener).sheet(0).headRowNumber(0).doRead(); List objList = objectListener.getObjectList(); @@ -33,33 +45,34 @@ public class DmCzfddybController { } @PostMapping("/getCzFdBase") - @Authorization("") - public ResultBean getCzFdBase( HttpServletRequest req,@RequestBody Map map) { + @AuthFunction + public ResultBean getCzFdBase( HttpServletRequest req,@RequestBody Map map) throws Exception, CustomException { Map rmap = dmCzfddybService.getCzFdBase(req,map); return new ResultBean(rmap); } @PostMapping("/getList") - @Authorization("") - public ResultBean getList( HttpServletRequest req,@RequestBody Map map) throws Exception { + @AuthFunction + public ResultBean getList( HttpServletRequest req,@RequestBody Map map) throws Exception, CustomException { Map rmap = dmCzfddybService.getList(map); return new ResultBean(rmap); } @PostMapping("/getTpBase") - @Authorization("") - public ResultBean getTpBase( HttpServletRequest req,@RequestBody Map map) throws Exception { + @AuthFunction + public ResultBean getTpBase( HttpServletRequest req,@RequestBody Map map) throws Exception, CustomException { Map rmap = dmCzfddybService.getTpBase(req,map); return new ResultBean(rmap); } @PostMapping("/getListFdMx") - @Authorization("") - public ResultBean getListFdMx( HttpServletRequest req,@RequestBody Map map) throws Exception { + @AuthFunction + public ResultBean getListFdMx( HttpServletRequest req,@RequestBody Map map) throws Exception, CustomException { Map rmap = dmCzfddybService.getListFdMx(map); return new ResultBean(rmap); } } + diff --git a/src/main/java/com/dsic/gj_erp/controller/fd/TpbController.java b/src/main/java/com/dsic/gj_erp/controller/fd/TpbController.java new file mode 100644 index 0000000..0c9e27f --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/fd/TpbController.java @@ -0,0 +1,46 @@ +package com.dsic.gj_erp.controller.fd; + + +import com.dsic.gj_erp.annotation.AuthFunction; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.fd.TppsQk; +import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.service.fd.impl.TpImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** + *

+ * 前端控制器 + *

+ * + * @author xhj + * @since 2023-05-08 + */ +@RestController +@RequestMapping("/api/tpb") +public class TpbController { + @Autowired + TpImpl tpImpl; + + @PostMapping("/findTPxqjh") + @AuthFunction + public ResultBean findTPxqjh(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + List list = tpImpl.findTPxqjh(map); + return new ResultBean(list); + } + @PostMapping("/findTppsQk") + @AuthFunction + public ResultBean findTppsQk(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + List list = tpImpl.findTppsQk(map); + return new ResultBean(list); + } + +} diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java index 7cdfbc1..a50d3c7 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java @@ -12,7 +12,6 @@ import com.dsic.gj_erp.mapper.jcsj.DmBomMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.DmTltpdfService; import com.dsic.gj_erp.service.jcsj.impl.BomUploadServiceImpl; -import io.swagger.annotations.Authorization; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java index d09364e..65902a5 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java @@ -15,7 +15,6 @@ import com.dsic.gj_erp.service.jcsj.DmTltpdfService; import com.dsic.gj_erp.service.jcsj.impl.BomUploadServiceImpl; import com.dsic.gj_erp.service.sy.SYService; import com.dsic.gj_erp.util.FileUtil; -import io.swagger.annotations.Authorization; import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelFdListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelFdListener.java index 6d57600..1738fad 100644 --- a/src/main/java/com/dsic/gj_erp/listeners/ExcelFdListener.java +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelFdListener.java @@ -9,7 +9,11 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +/** + * Excel通用监听器 + */ public class ExcelFdListener extends AnalysisEventListener { + private static final int BATCH_COUNT = 5; List objectList = new ArrayList<>(); @@ -20,7 +24,7 @@ public class ExcelFdListener extends AnalysisEventListener { @Override public void invoke(ExcelExport excelDemo, AnalysisContext analysisContext) { - //每解析一行数据,就会调用该方法一次 + //每解析一行数据,就会调用该方法一次 //正常在这里调用数据处理得办法 //一条数据添加到暂时存储的存储结构中 diff --git a/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzfddybMapper.java b/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzfddybMapper.java index 2f69150..b4a94b5 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzfddybMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzfddybMapper.java @@ -3,5 +3,14 @@ package com.dsic.gj_erp.mapper.fd; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.fd.DmCzfddyb; +/** + *

+ * Mapper 接口 + *

+ * + * @author xhj + * @since 2023-05-08 + */ public interface DmCzfddybMapper extends BaseMapper { + } diff --git a/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.java b/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.java new file mode 100644 index 0000000..1615ed7 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.java @@ -0,0 +1,16 @@ +package com.dsic.gj_erp.mapper.fd; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.fd.DmCzjbb; + +/** + *

+ * 船只基本表 Mapper 接口 + *

+ * + * @author xhj + * @since 2023-05-08 + */ +public interface DmCzjbbMapper extends BaseMapper { + +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml b/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml new file mode 100644 index 0000000..d4b419c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fjqzcjs, cjs, clbs10, yqbs02, zfzy, yzbs, xsrq, gxcjbs, yqbs06, ph, cwfzrq, yqbs04, clbs11, clbs09, dyjdy, yqbs03, txzl1, ph6, lrry, gjfkyz, ph3, yqbs05, czmc, yqbs, czjc, clbs12, txgy3, txcz, gcqy1, hcbs01, yqbs09, pjfs, hcbs03, jswgbs, txzl2, yqxebs, lrrq, gjxtws, gcqy, ph4, azqy3, yqbs12, txjdy, yqbs08, yqdetqry_tx, yqbs10, hcbs02, txgy2, sctrq, xmbh, shrq, sl, gjfjpkfs, wgbs, hcbs04, ph1, sctrqbz, yqbs07, yqbs11, gxhqby, hcbs10, clbs03, azqy2, qcbs, ph7, clbs01, gjfjthxz, hcbs05, jssxrq, czbh, qcbs1, hcbs07, hcbs09, gxfjbz, txgy1, clbs02, cdmc, cwzt, cims_bs, kgrq, cwfzsm, gxhbbs, sfqy, hcbs06, hcbs08, gcxs, yqdetqrq_tx, cjmc, azqy1, gzjxs, qzjgrq, zztczbh, ycbs, ph2, clbs05, kgrqbz, hcbs11, xscz, gjgxbz, clbs07, bz, yqbs01, qcbs2, xl, txzl3, jssxsm, ph8, ph5, clbs06, hcbs12, clbs04, gjjdy, clbs08 + + + diff --git a/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.java b/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.java index 8f0599e..9e56b58 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.java @@ -3,5 +3,14 @@ package com.dsic.gj_erp.mapper.fd; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.fd.DmXqdwcjcd; +/** + *

+ * Mapper 接口 + *

+ * + * @author xhj + * @since 2023-06-16 + */ public interface DmXqdwcjcdMapper extends BaseMapper { + } diff --git a/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.xml b/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.xml new file mode 100644 index 0000000..dfecadd --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + cdmc, dwbm, bz, dh, cdid, cdlx, cjmc, fzry + + + diff --git a/src/main/java/com/dsic/gj_erp/mapper/fd/TpbMapper.java b/src/main/java/com/dsic/gj_erp/mapper/fd/TpbMapper.java index edb0f3d..2cd93ca 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/fd/TpbMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/fd/TpbMapper.java @@ -7,7 +7,16 @@ import com.dsic.gj_erp.bean.fd.TppsQk; import java.util.List; import java.util.Map; +/** + *

+ * Mapper 接口 + *

+ * + * @author xhj + * @since 2023-05-08 + */ public interface TpbMapper extends BaseMapper { + List findTPxqjh(Map map); List findTppsQk(Map map); } diff --git a/src/main/java/com/dsic/gj_erp/service/fd/DmCzfddybService.java b/src/main/java/com/dsic/gj_erp/service/fd/DmCzfddybService.java index ed74b77..2ee3b9c 100644 --- a/src/main/java/com/dsic/gj_erp/service/fd/DmCzfddybService.java +++ b/src/main/java/com/dsic/gj_erp/service/fd/DmCzfddybService.java @@ -1,257 +1,31 @@ package com.dsic.gj_erp.service.fd; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsic.gj_erp.bean.fd.*; -import com.dsic.gj_erp.bean.jcsj.DmCbxxp; -import com.dsic.gj_erp.bean.sy.SyDictItem; -import com.dsic.gj_erp.bean.sy.SyDzbmp; -import com.dsic.gj_erp.mapper.fd.DmCzfddybMapper; -import com.dsic.gj_erp.service.jcsj.DmCbxxpService; -import com.dsic.gj_erp.service.sy.SyDictItemService; -import com.dsic.gj_erp.service.sy.impl.SyDzbmpService; -import lombok.AllArgsConstructor; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsic.gj_erp.bean.fd.DmCzfddyb; +import com.dsic.gj_erp.bean.fd.ExcelExport; import javax.servlet.http.HttpServletRequest; -import java.beans.PropertyDescriptor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -@Service -@AllArgsConstructor -public class DmCzfddybService extends ServiceImpl { +/** + *

+ * 服务类 + *

+ * + * @author xhj + * @since 2023-05-08 + */ +public interface DmCzfddybService extends IService { - private final SyDictItemService syDictItemService; - private final TpImpl tpImpl; - private final DmCbxxpService czjbbService; - private final DmXqdwcjcdService dmXqdwcjcdService; - private final SyDzbmpService syDzbmpService; + Map uploadFd(HttpServletRequest httpRequest, List excelList, String czbh, String isupload) throws Exception; + Map getCzFdBase(HttpServletRequest req,Map map) ; - @Transactional(rollbackFor = Exception.class) - public Map uploadFd(HttpServletRequest httpRequest, List excelList, String czbh, String isupload) throws Exception { - Map rMap = new HashMap(); - czbh=czbh+"#"; - if ("01".equals(isupload)) { - // 查询是否 有值 - List czbh1 = this.list(new QueryWrapper().eq("czbh", czbh)); - if (czbh1.size() > 0) { - rMap.put("zt", "01"); - return rMap; - } - } - this.remove(new QueryWrapper().eq("CZBH", czbh)); - List addList = new ArrayList<>(); - int row = 0; - for (int i = 0; i < excelList.size(); i++) { - ExcelExport e = excelList.get(i); - Class cls = e.getClass(); - Field[] fields = cls.getDeclaredFields(); - for (int j = 0; j < fields.length; j++) { - String fdh = ""; - int col; - Field f = fields[j]; - f.setAccessible(true); - try { - fdh = (String) f.get(e); - } catch (IllegalAccessException ex) { - throw new RuntimeException(ex); - } - if (StringUtils.isNotBlank(fdh)) { - DmCzfddyb czfddyb = new DmCzfddyb(); - czfddyb.setCzbh(czbh); - czfddyb.setFdh(fdh); - czfddyb.setFrow(i); - String colName = f.getName(); - col = Integer.parseInt(colName.substring(colName.length() - 3)); - czfddyb.setFcol(col); - addList.add(czfddyb); - } - //System.out.println("属性名:" + f.getName() + " 属性值:" + ); - } - } - this.saveBatch(addList); - return rMap; - } + Map getList(Map map) throws Exception; + Map getTpBase( HttpServletRequest req,Map map) throws Exception; - public Map getCzFdBase(HttpServletRequest req, Map map) { - Map rMap = new HashMap(); - String bmbm = (String)req.getAttribute("bmbm"); - List czbhs; - if(StringUtils.isNotBlank(bmbm)&& bmbm.length()>2){ + Map getListFdMx(Map map) throws Exception; - czbhs = czjbbService.list(new QueryWrapper() - .select("replace(cbbm,'#','') AS cbbm") - .ne("isnull(wgbs,'N')","Y").eq(" isnull(cims_bs,'')","Y"). - eq("left(gcqy,1)","0"). - orderBy(true, true, "wgbs", "left(czbh,charindex('-',cbbm)-1)", "len(cbbm)", "czbh" - )); - }else{ - czbhs = czjbbService.list(new QueryWrapper() - .select("replace(cbbm,'#','') AS cbbm") - .gt("charindex('-',cbbm)-1",0) - .orderBy(true, true, "wgbs", "left(cbbm,charindex('-',cbbm)-1)", "len(cbbm)", "cbbm")); - } - - // 只显示海工名船 简称不等于空 - rMap.put("czbhs", czbhs); - - - return rMap; - } - - public Map getList(Map map) throws Exception { - Map returnMap = new HashMap(); - List returnList = new ArrayList<>(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("CZBH", map.get("czbh")+"#"); - List list = this.list(queryWrapper); - queryWrapper.select("max(frow) as frow ", "max(fcol)as fcol"); - DmCzfddyb one = (DmCzfddyb) this.getOne(queryWrapper); - if (one != null) { - int row = one.getFrow(); - int col = one.getFcol(); - for (int i = 0; i <= row; i++) { - ExcelExport excelExport = new ExcelExport(); - int tempi = i; - List collect = list.stream().filter(fst -> fst.getFrow() == tempi).collect(Collectors.toList()); - for (int y = 0; y <= col; y++) { - int tempy = y; - DmCzfddyb czfddyb = collect.stream().filter(fst -> fst.getFcol() == tempy).findFirst().orElse(null); - if (null != czfddyb) { - PropertyDescriptor propertyDescriptor = new PropertyDescriptor("column" + String.format("%03d", czfddyb.getFcol()), excelExport.getClass()); - Method setMethod = propertyDescriptor.getWriteMethod(); - // 调用指定对象set方法 - setMethod.invoke(excelExport, czfddyb.getFdh()); - // System.out.println(object.getName());// 输出Jack Chen - } - } - returnList.add(excelExport); - } - returnMap.put("data", returnList); - returnMap.put("col", col); - } - return returnMap; - } - - public Map getTpBase( HttpServletRequest req,Map map) throws Exception { - Map rMap = new HashMap(); - String bmbm = (String)req.getAttribute("bmbm"); - List czbhs; - Listcdmcs; - Listcjmcs; - if(StringUtils.isNotBlank(bmbm)&& bmbm.length()>2){ - - czbhs = czjbbService.list(new QueryWrapper() - .select("replace(czbh,'#','') AS czbh") - .in("yzbs", "N", "H").ne("isnull(czjc,'')", "") - .ne("isnull(wgbs,'N')","Y").eq(" isnull(cims_bs,'')","Y"). - eq("left(gcqy,1)","0"). - orderBy(true, true, "wgbs", "left(czbh,charindex('-',czbh)-1)", "len(czbh)", "czbh" - )); - cdmcs=dmXqdwcjcdService.list(new QueryWrapper().eq("dwbm","P30000").orderBy(true,true,"cdmc")); - cjmcs=dmXqdwcjcdService.list(new QueryWrapper().select("DISTINCT cjmc as cjmc").eq("dwbm","P30000").orderBy(true,true,"cjmc")); - }else{ - czbhs = czjbbService.list(new QueryWrapper() - .select("replace(czbh,'#','') AS czbh") - .in("yzbs", "N", "H").ne("isnull(czjc,'')", ""). - orderBy(true, true, "wgbs", "left(czbh,charindex('-',czbh)-1)", "len(czbh)", "czbh" - )); - cdmcs=dmXqdwcjcdService.list(); - cjmcs=dmXqdwcjcdService.list(new QueryWrapper().select("DISTINCT cjmc as cjmc")); - } - - //作业阶段 - List zyjds = syDzbmpService.list(new QueryWrapper().eq("bml", "ZYJD")); - //部件类别 - List bjlbs = syDictItemService.list(new QueryWrapper().eq("bmlb", "TPLX")); -// List xqdws = mpZzdwjbbMapper.findxqdwAll(); - List bmbms = syDictItemService.list(new QueryWrapper().eq("bmlb", "bmbm").in("bm","01","02","03","04")); - rMap.put("czbhs", czbhs); - rMap.put("zyjds", zyjds); - rMap.put("bjlbs", bjlbs); -// rMap.put("xqdws", xqdws); - rMap.put("bmbms", bmbms); - rMap.put("cdmcs", cdmcs); - rMap.put("cjmcs", cjmcs); - return rMap; - } - - public Map getListFdMx(Map map) throws Exception { -// Map returnMap = new HashMap(); - Map returnMap = this.getList(map); - - List tppsQks = tpImpl.findTppsQk(map); - - Map> collect = tppsQks.stream().collect( - Collectors.groupingBy( - score -> score.getFdh()+'-'+score.getTplx() - )); - List fdBeans=new ArrayList<>(); - for(Map.Entry> entry : collect.entrySet()){ - FdBean fdBean=new FdBean(); - String mapKey = entry.getKey(); - String color=""; - String[] parts = mapKey.split("-"); - String fdh=parts[0]; - String tplx=parts[1]; -// if(a.compareTo(b) < 1){ -// System.out.println("a小于等于b"); -// } - - BigDecimal xqslSum=entry.getValue().stream().map(s-> s.getXqsl()).reduce(BigDecimal.ZERO,BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP); - BigDecimal psslSum=entry.getValue().stream().map(s-> s.getPssl()).reduce(BigDecimal.ZERO,BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP); - List rqList=entry.getValue(); - boolean flag=false; -// if(fdh.equals("ZL04")){ -// rqList.get(0).setQfxqrq("2022/04/13"); -// } - for(TppsQk q :rqList){ - if(StringUtils.isNotBlank(q.getQfxqrq())){ - flag=true; - } - } - if(xqslSum.compareTo(BigDecimal.ZERO)==0 ){ - - }else{ - BigDecimal result =psslSum.divide(xqslSum,2,BigDecimal.ROUND_HALF_UP); - System.out.println("result = " + result +"xqsl"+xqslSum +"pssl"+psslSum+"fhd"+fdh); - - if(result.compareTo(new BigDecimal("0.9"))> -1 ){ // result > =0.9 - if("0201".equals(tplx)){ - color="green"; - } - }else if (result.compareTo(new BigDecimal("0.5"))>-1 && result.compareTo(new BigDecimal("0.9"))<1 ) { - if("0201".equals(tplx)){ - color="yellow"; - } - }else if( result.compareTo(new BigDecimal("0.5"))<1 && flag ){ - if("0201".equals(tplx)){ - color="red"; - } - } - System.out.println("result = " + result +"xqsl"+xqslSum +"pssl"+psslSum+"fhd"+fdh+"COLOR"+color); - } - fdBean.setFdh(fdh); - - fdBean.setTplx(tplx); - - fdBean.setColor(color); - - fdBeans.add(fdBean); - } - returnMap.put("fd", fdBeans); - returnMap.put("fdqk", tppsQks); - return returnMap; - } } diff --git a/src/main/java/com/dsic/gj_erp/service/fd/DmCzjbbService.java b/src/main/java/com/dsic/gj_erp/service/fd/DmCzjbbService.java new file mode 100644 index 0000000..3efd19f --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/fd/DmCzjbbService.java @@ -0,0 +1,16 @@ +package com.dsic.gj_erp.service.fd; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsic.gj_erp.bean.fd.DmCzjbb; + +/** + *

+ * 船只基本表 服务类 + *

+ * + * @author xhj + * @since 2023-05-08 + */ +public interface DmCzjbbService extends IService { + +} diff --git a/src/main/java/com/dsic/gj_erp/service/fd/DmXqdwcjcdService.java b/src/main/java/com/dsic/gj_erp/service/fd/DmXqdwcjcdService.java index 08b5623..3273be9 100644 --- a/src/main/java/com/dsic/gj_erp/service/fd/DmXqdwcjcdService.java +++ b/src/main/java/com/dsic/gj_erp/service/fd/DmXqdwcjcdService.java @@ -1,10 +1,16 @@ package com.dsic.gj_erp.service.fd; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.fd.DmXqdwcjcd; -import com.dsic.gj_erp.mapper.fd.DmXqdwcjcdMapper; -import org.springframework.stereotype.Service; -@Service -public class DmXqdwcjcdService extends ServiceImpl { +/** + *

+ * 服务类 + *

+ * + * @author xhj + * @since 2023-06-16 + */ +public interface DmXqdwcjcdService extends IService { + } diff --git a/src/main/java/com/dsic/gj_erp/service/fd/impl/DmCzfddybServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/fd/impl/DmCzfddybServiceImpl.java new file mode 100644 index 0000000..e730310 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/fd/impl/DmCzfddybServiceImpl.java @@ -0,0 +1,282 @@ +package com.dsic.gj_erp.service.fd.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.fd.*; +import com.dsic.gj_erp.bean.sy.SyDzbmp; +import com.dsic.gj_erp.mapper.fd.DmCzfddybMapper; +import com.dsic.gj_erp.service.fd.DmCzfddybService; +import com.dsic.gj_erp.service.fd.DmCzjbbService; +import com.dsic.gj_erp.service.fd.DmXqdwcjcdService; +import com.dsic.gj_erp.service.sy.impl.SyDzbmpService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletRequest; +import java.beans.PropertyDescriptor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + *

+ * 服务实现类 + *

+ * + * @author xhj + * @since 2023-05-08 + */ +@Service +public class DmCzfddybServiceImpl extends ServiceImpl implements DmCzfddybService { + @Autowired + DmCzjbbService czjbbService; + + @Autowired + SyDzbmpService syDzbmpService; + // @Autowired + // DmZhbmpService dmZhbmpService; + // @Autowired + /// MpZzdwjbbService mpZzdwjbbService; + + // @Autowired + // MpZzdwjbbMapper mpZzdwjbbMapper; + + @Autowired + TpImpl tpImpl; + + @Autowired + DmXqdwcjcdService dmXqdwcjcdService; + + + @Override + @Transactional(rollbackFor = Exception.class) + public Map uploadFd(HttpServletRequest httpRequest, List excelList, String czbh, String isupload) throws Exception { + Map rMap = new HashMap(); + czbh=czbh+"#"; + if ("01".equals(isupload)) { + // 查询是否 有值 + List czbh1 = this.list(new QueryWrapper().eq("czbh", czbh)); + if (czbh1.size() > 0) { + rMap.put("zt", "01"); + return rMap; + } + } + this.remove(new QueryWrapper().eq("CZBH", czbh)); + List addList = new ArrayList<>(); + int row = 0; + for (int i = 0; i < excelList.size(); i++) { + ExcelExport e = excelList.get(i); + Class cls = e.getClass(); + Field[] fields = cls.getDeclaredFields(); + for (int j = 0; j < fields.length; j++) { + String fdh = ""; + int col; + Field f = fields[j]; + f.setAccessible(true); + try { + fdh = (String) f.get(e); + } catch (IllegalAccessException ex) { + throw new RuntimeException(ex); + } + if (StringUtils.isNotBlank(fdh)) { + DmCzfddyb czfddyb = new DmCzfddyb(); + czfddyb.setCzbh(czbh); + czfddyb.setFdh(fdh); + czfddyb.setFrow(i); + String colName = f.getName(); + col = Integer.parseInt(colName.substring(colName.length() - 3)); + czfddyb.setFcol(col); + addList.add(czfddyb); + } + //System.out.println("属性名:" + f.getName() + " 属性值:" + ); + } + } + this.saveBatch(addList); + return rMap; + } + + @Override + public Map getCzFdBase( HttpServletRequest req,Map map) { + Map rMap = new HashMap(); + String bmbm = (String)req.getAttribute("bmbm"); + List czbhs; + if(StringUtils.isNotBlank(bmbm)&& bmbm.length()>2){ + + czbhs = czjbbService.list(new QueryWrapper() + .select("replace(czbh,'#','') AS czbh") + .in("yzbs", "N", "H").ne("isnull(czjc,'')", "") + .ne("isnull(wgbs,'N')","Y").eq(" isnull(cims_bs,'')","Y"). + eq("left(gcqy,1)","0"). + orderBy(true, true, "wgbs", "left(czbh,charindex('-',czbh)-1)", "len(czbh)", "czbh" + )); + }else{ + czbhs = czjbbService.list(new QueryWrapper() + .select("replace(czbh,'#','') AS czbh") + .in("yzbs", "N", "H").ne("isnull(czjc,'')", ""). + orderBy(true, true, "wgbs", "left(czbh,charindex('-',czbh)-1)", "len(czbh)", "czbh" + )); + } + + // 只显示海工名船 简称不等于空 + rMap.put("czbhs", czbhs); + + + return rMap; + } + + @Override + public Map getList(Map map) throws Exception { + Map returnMap = new HashMap(); + List returnList = new ArrayList<>(); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("CZBH", map.get("czbh")+"#"); + List list = this.list(queryWrapper); + queryWrapper.select("max(frow) as frow ", "max(fcol)as fcol"); + DmCzfddyb one = this.getOne(queryWrapper); + if (one != null) { + int row = one.getFrow(); + int col = one.getFcol(); + for (int i = 0; i <= row; i++) { + ExcelExport excelExport = new ExcelExport(); + int tempi = i; + List collect = list.stream().filter(fst -> fst.getFrow() == tempi).collect(Collectors.toList()); + for (int y = 0; y <= col; y++) { + int tempy = y; + DmCzfddyb czfddyb = collect.stream().filter(fst -> fst.getFcol() == tempy).findFirst().orElse(null); + if (null != czfddyb) { + PropertyDescriptor propertyDescriptor = new PropertyDescriptor("column" + String.format("%03d", czfddyb.getFcol()), excelExport.getClass()); + Method setMethod = propertyDescriptor.getWriteMethod(); + // 调用指定对象set方法 + setMethod.invoke(excelExport, czfddyb.getFdh()); + // System.out.println(object.getName());// 输出Jack Chen + } + } + returnList.add(excelExport); + } + returnMap.put("data", returnList); + returnMap.put("col", col); + } + return returnMap; + } + + @Override + public Map getTpBase( HttpServletRequest req,Map map) throws Exception { + Map rMap = new HashMap(); + String bmbm = (String)req.getAttribute("bmbm"); + List czbhs; + Listcdmcs; + Listcjmcs; + if(StringUtils.isNotBlank(bmbm)&& bmbm.length()>2){ + + czbhs = czjbbService.list(new QueryWrapper() + .select("replace(czbh,'#','') AS czbh") + .in("yzbs", "N", "H").ne("isnull(czjc,'')", "") + .ne("isnull(wgbs,'N')","Y").eq(" isnull(cims_bs,'')","Y"). + eq("left(gcqy,1)","0"). + orderBy(true, true, "wgbs", "left(czbh,charindex('-',czbh)-1)", "len(czbh)", "czbh" + )); + cdmcs=dmXqdwcjcdService.list(new QueryWrapper().eq("dwbm","P30000").orderBy(true,true,"cdmc")); + cjmcs=dmXqdwcjcdService.list(new QueryWrapper().select("DISTINCT cjmc as cjmc").eq("dwbm","P30000").orderBy(true,true,"cjmc")); + }else{ + czbhs = czjbbService.list(new QueryWrapper() + .select("replace(czbh,'#','') AS czbh") + .in("yzbs", "N", "H").ne("isnull(czjc,'')", ""). + orderBy(true, true, "wgbs", "left(czbh,charindex('-',czbh)-1)", "len(czbh)", "czbh" + )); + cdmcs=dmXqdwcjcdService.list(); + cjmcs=dmXqdwcjcdService.list(new QueryWrapper().select("DISTINCT cjmc as cjmc")); + } + + //作业阶段 + List zyjds = syDzbmpService.list(new QueryWrapper().eq("bml", "ZYJD")); + //部件类别 + // List bjlbs = dmZhbmpService.list(new QueryWrapper().eq("bmlb", "TPLX")); + // List xqdws = mpZzdwjbbMapper.findxqdwAll(); + // List bmbms = dmZhbmpService.list(new QueryWrapper().eq("bmlb", "bmbm").in("bm","01","02","03","04")); + rMap.put("czbhs", czbhs); + rMap.put("zyjds", zyjds); + // rMap.put("bjlbs", bjlbs); + // rMap.put("xqdws", xqdws); + // rMap.put("bmbms", bmbms); + rMap.put("cdmcs", cdmcs); + rMap.put("cjmcs", cjmcs); + return rMap; + } + + @Override + public Map getListFdMx(Map map) throws Exception { +// Map returnMap = new HashMap(); + Map returnMap = this.getList(map); + + List tppsQks = tpImpl.findTppsQk(map); + // List bjlbs = dmZhbmpService.list(new QueryWrapper().eq("bmlb", "TPLX")); + + Map> collect = tppsQks.stream().collect( + Collectors.groupingBy( + score -> score.getFdh()+'-'+score.getTplx() + )); + List fdBeans=new ArrayList<>(); + for(Map.Entry> entry : collect.entrySet()){ + FdBean fdBean=new FdBean(); + String mapKey = entry.getKey(); + String color=""; + String[] parts = mapKey.split("-"); + String fdh=parts[0]; + String tplx=parts[1]; +// if(a.compareTo(b) < 1){ +// System.out.println("a小于等于b"); +// } + + BigDecimal xqslSum=entry.getValue().stream().map(s-> s.getXqsl()).reduce(BigDecimal.ZERO,BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP); + BigDecimal psslSum=entry.getValue().stream().map(s-> s.getPssl()).reduce(BigDecimal.ZERO,BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP); + List rqList=entry.getValue(); + boolean flag=false; +// if(fdh.equals("ZL04")){ +// rqList.get(0).setQfxqrq("2022/04/13"); +// } + for(TppsQk q :rqList){ + if(StringUtils.isNotBlank(q.getQfxqrq())){ + flag=true; + } + } + if(xqslSum.compareTo(BigDecimal.ZERO)==0 ){ + + }else{ + BigDecimal result =psslSum.divide(xqslSum,2,BigDecimal.ROUND_HALF_UP); + System.out.println("result = " + result +"xqsl"+xqslSum +"pssl"+psslSum+"fhd"+fdh); + + if(result.compareTo(new BigDecimal("0.9"))> -1 ){ // result > =0.9 + if("0201".equals(tplx)){ + color="green"; + } + }else if (result.compareTo(new BigDecimal("0.5"))>-1 && result.compareTo(new BigDecimal("0.9"))<1 ) { + if("0201".equals(tplx)){ + color="yellow"; + } + }else if( result.compareTo(new BigDecimal("0.5"))<1 && flag ){ + if("0201".equals(tplx)){ + color="red"; + } + } + System.out.println("result = " + result +"xqsl"+xqslSum +"pssl"+psslSum+"fhd"+fdh+"COLOR"+color); + } + fdBean.setFdh(fdh); + + fdBean.setTplx(tplx); + + fdBean.setColor(color); + + fdBeans.add(fdBean); + } + returnMap.put("fd", fdBeans); + returnMap.put("fdqk", tppsQks); + return returnMap; + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/fd/impl/DmCzjbbServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/fd/impl/DmCzjbbServiceImpl.java new file mode 100644 index 0000000..be41e65 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/fd/impl/DmCzjbbServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsic.gj_erp.service.fd.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.fd.DmCzjbb; +import com.dsic.gj_erp.mapper.fd.DmCzjbbMapper; +import com.dsic.gj_erp.service.fd.DmCzjbbService; +import org.springframework.stereotype.Service; + +/** + *

+ * 船只基本表 服务实现类 + *

+ * + * @author xhj + * @since 2023-05-08 + */ +@Service +public class DmCzjbbServiceImpl extends ServiceImpl implements DmCzjbbService { + +} diff --git a/src/main/java/com/dsic/gj_erp/service/fd/impl/DmXqdwcjcdServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/fd/impl/DmXqdwcjcdServiceImpl.java new file mode 100644 index 0000000..9dc1886 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/fd/impl/DmXqdwcjcdServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsic.gj_erp.service.fd.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.fd.DmXqdwcjcd; +import com.dsic.gj_erp.mapper.fd.DmXqdwcjcdMapper; +import com.dsic.gj_erp.service.fd.DmXqdwcjcdService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author xhj + * @since 2023-06-16 + */ +@Service +public class DmXqdwcjcdServiceImpl extends ServiceImpl implements DmXqdwcjcdService { + +} diff --git a/src/main/java/com/dsic/gj_erp/service/fd/TpImpl.java b/src/main/java/com/dsic/gj_erp/service/fd/impl/TpImpl.java similarity index 50% rename from src/main/java/com/dsic/gj_erp/service/fd/TpImpl.java rename to src/main/java/com/dsic/gj_erp/service/fd/impl/TpImpl.java index 94649c1..bc58626 100644 --- a/src/main/java/com/dsic/gj_erp/service/fd/TpImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/fd/impl/TpImpl.java @@ -1,23 +1,30 @@ -package com.dsic.gj_erp.service.fd; +package com.dsic.gj_erp.service.fd.impl; import cn.hutool.core.date.DateUtil; import com.dsic.gj_erp.bean.fd.TppsQk; import com.dsic.gj_erp.mapper.fd.TpbMapper; import com.dsic.gj_erp.util.MyString; -import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +/** + *

+ * 服务实现类 + *

+ * + * @author xhj + * @since 2023-05-08 + */ @Service -@AllArgsConstructor public class TpImpl { - private final TpbMapper tpbMapper; + @Autowired + TpbMapper tpbMapper; public List findTPxqjh(Map map) { List tPxqjhs = tpbMapper.findTPxqjh(map); @@ -58,48 +65,48 @@ public class TpImpl { } public List findTppsQk(Map map) { - List tppsQks = new ArrayList<>(); -// for (TppsQk t : tppsQks) { -//// if(t.getPssl().compareTo(new BigDecimal("100"))==0){ -//// if(StringUtils.isNotBlank(t.getps)) -//// -//// }else -// //最小值 不为空 不用显示了 + List tppsQks = tpbMapper.findTppsQk(map); + for (TppsQk t : tppsQks) { +// if(t.getPssl().compareTo(new BigDecimal("100"))==0){ +// if(StringUtils.isNotBlank(t.getps)) // -// if (StringUtils.isNotBlank(t.getQfpsrq())) { -// // t.setYjtgq(t.getQfpsrq1()); -// -// //最小的不爲空 用最大的 jprkrq -// -// } else if (StringUtils.isNotBlank(t.getMinjprkrq())){ -// -// Date date = DateUtil.parse(t.getMaxjprkrq()); -// -// t.setYgpprq(DateUtil.format( DateUtil.offsetDay(date, 2), "yyyy/MM/dd")); -// //System.out.println("date = " + t.getMaxjprkrq()+"111"+t.getYgpprq()); -// -// } else if (StringUtils.isNotBlank(t.getFkpprq())) { //反馈配送 -// t.setYjtgq(t.getFkpprq()); -// } else if (StringUtils.isNotBlank(t.getYgpprq())) { -// t.setYjtgq(t.getYgpprq()); -// } else { -// t.setYjtgq(""); -// } -// if ("9999/99/99".equals(t.getSjpsrqmax())) { -// t.setSjpsrqmax(""); -// } -// -// if(t.getXqsl().compareTo(t.getPssl())==0){ -// -// }else{ -// t.setPssl0(((t.getPssl().add(t.getPssl0())).divide(t.getXqsl(), BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0"))).setScale(2, BigDecimal.ROUND_HALF_UP) ); -// t.setPssl5(((t.getPssl().add(t.getPssl5())).divide(t.getXqsl(),BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0"))).setScale(2, BigDecimal.ROUND_HALF_UP) ); -// t.setPssl10(((t.getPssl().add(t.getPssl10())).divide(t.getXqsl(),BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0"))).setScale(2, BigDecimal.ROUND_HALF_UP) ); -// t.setPssl15(((t.getPssl().add(t.getPssl15())).divide(t.getXqsl(),BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0"))).setScale(2, BigDecimal.ROUND_HALF_UP) ); -// } -// -// -// } +// }else + //最小值 不为空 不用显示了 + + if (StringUtils.isNotBlank(t.getQfpsrq())) { + // t.setYjtgq(t.getQfpsrq1()); + + //最小的不爲空 用最大的 jprkrq + + } else if (StringUtils.isNotBlank(t.getMinjprkrq())){ + + Date date = DateUtil.parse(t.getMaxjprkrq()); + + t.setYgpprq(DateUtil.format( DateUtil.offsetDay(date, 2), "yyyy/MM/dd")); + //System.out.println("date = " + t.getMaxjprkrq()+"111"+t.getYgpprq()); + + } else if (StringUtils.isNotBlank(t.getFkpprq())) { //反馈配送 + t.setYjtgq(t.getFkpprq()); + } else if (StringUtils.isNotBlank(t.getYgpprq())) { + t.setYjtgq(t.getYgpprq()); + } else { + t.setYjtgq(""); + } + if ("9999/99/99".equals(t.getSjpsrqmax())) { + t.setSjpsrqmax(""); + } + + if(t.getXqsl().compareTo(t.getPssl())==0){ + + }else{ + t.setPssl0(((t.getPssl().add(t.getPssl0())).divide(t.getXqsl(),BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0"))).setScale(2, BigDecimal.ROUND_HALF_UP) ); + t.setPssl5(((t.getPssl().add(t.getPssl5())).divide(t.getXqsl(),BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0"))).setScale(2, BigDecimal.ROUND_HALF_UP) ); + t.setPssl10(((t.getPssl().add(t.getPssl10())).divide(t.getXqsl(),BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0"))).setScale(2, BigDecimal.ROUND_HALF_UP) ); + t.setPssl15(((t.getPssl().add(t.getPssl15())).divide(t.getXqsl(),BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0"))).setScale(2, BigDecimal.ROUND_HALF_UP) ); + } + + + } return tppsQks; } } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 71220a6..0d1dfc3 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -17,7 +17,6 @@ import com.dsic.gj_erp.mapper.jcsj.DmBomMapper; import com.dsic.gj_erp.service.jcsj.*; import com.dsic.gj_erp.service.jhgk.DmTzjhService; import com.dsic.gj_erp.service.sy.SYService; -import io.swagger.annotations.Authorization; import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; @@ -1690,8 +1689,8 @@ public class BomUploadServiceImpl { // 根据套料图号得到组立信息。 public String getZL(String tzbh) { - String bh = tzbh.substring(6, 8); - if (tzbh.substring(4, 5).equals("X")) { + String bh = tzbh.substring(6, 8); // 72 + if (tzbh.substring(4, 5).equals("X")) { // 51 if ("XX".equalsIgnoreCase(bh)) { return "小组立"; } else if ("XD".equalsIgnoreCase(bh)) { @@ -1704,7 +1703,7 @@ public class BomUploadServiceImpl { return "光电"; // todo } } - String bh1 = tzbh.substring(7, 8); + String bh1 = tzbh.substring(7, 8); // 81 if ("X".equalsIgnoreCase(bh1)) { return "小组立"; } From a7723d2b11096c9b7a4e9e49b4bcacceef37c81c Mon Sep 17 00:00:00 2001 From: xhj Date: Sat, 22 Jun 2024 17:19:56 +0800 Subject: [PATCH 005/196] =?UTF-8?q?=E5=88=86=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/fd/DmXqdwcjcdController.java | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/main/java/com/dsic/gj_erp/controller/fd/DmXqdwcjcdController.java diff --git a/src/main/java/com/dsic/gj_erp/controller/fd/DmXqdwcjcdController.java b/src/main/java/com/dsic/gj_erp/controller/fd/DmXqdwcjcdController.java new file mode 100644 index 0000000..3164c40 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/fd/DmXqdwcjcdController.java @@ -0,0 +1,75 @@ +package com.dsic.gj_erp.controller.fd; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsic.gj_erp.annotation.AuthFunction; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.fd.DmXqdwcjcd; +import com.dsic.gj_erp.service.fd.DmXqdwcjcdService; +import io.swagger.annotations.Authorization; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 前端控制器 + *

+ * + * @author xhj + * @since 2023-06-16 + */ +@RestController +@RequestMapping("/api/dmXqdwcjcd") +public class DmXqdwcjcdController { + + @Autowired + DmXqdwcjcdService dmXqdwcjcdService; + + + @PostMapping("/getXqdwcjcdList") + @AuthFunction + public ResultBean getXqdwcjcdList(@RequestBody Map map){ + QueryWrapperqw= new QueryWrapper<>(); + qw.eq(StrUtil.isNotEmpty((String)map.get("cjmc")),"cjmc",(String)map.get("cjmc")); + qw.eq(StrUtil.isNotEmpty((String)map.get("cdmc")),"cdmc",(String)map.get("cdmc")); + qw.eq(StrUtil.isNotEmpty((String)map.get("dwbm")),"dwbm",(String)map.get("dwbm")); + qw.orderBy(true,true,"dwbm","cjmc","cdmc"); + List list = dmXqdwcjcdService.list(qw); + return new ResultBean(list); + } + + @PostMapping("/saveXqdwcjcd") + @AuthFunction + @Transactional(rollbackFor = Exception.class) + public ResultBean saveXqdwcjcd(@RequestBody Listlist){ + dmXqdwcjcdService.saveBatch(list); + return new ResultBean(); + } + + @PostMapping("/updateXqdwcjcd") + @AuthFunction + @Transactional(rollbackFor = Exception.class) + public ResultBean updateXqdwcjcd(@RequestBody Listlist){ + dmXqdwcjcdService.updateBatchById(list); + return new ResultBean(); + } + + @PostMapping("/delXqdwcjcd") + @AuthFunction + @Transactional(rollbackFor = Exception.class) + public ResultBean delXqdwcjcd(@RequestBody Listlist){ + list.forEach(e->{ + dmXqdwcjcdService.removeById(e.getCdid()); + }); + return new ResultBean(); + } + +} + From ed078e2a5387c3148c3852aadc41b7ce9322d3b9 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, 22 Jun 2024 09:44:59 +0000 Subject: [PATCH 006/196] =?UTF-8?q?=E5=88=A0=E9=99=A4=20'gj=5Ferp.iml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gj_erp.iml | 210 ----------------------------------------------------- 1 file changed, 210 deletions(-) delete mode 100644 gj_erp.iml diff --git a/gj_erp.iml b/gj_erp.iml deleted file mode 100644 index 968122c..0000000 --- a/gj_erp.iml +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From cb554996aee0cf5cb786d2c8b003acb01b71ab74 Mon Sep 17 00:00:00 2001 From: xiaoning <1097449274@qq.com> Date: Tue, 25 Jun 2024 11:58:00 +0800 Subject: [PATCH 007/196] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E6=97=A5=E5=8E=86=E6=8E=A5=E5=8F=A3=E6=95=B0=E6=8D=AE=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=20=E4=BF=AE=E6=94=B9=E5=B7=A5=E5=BA=8FCD=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E7=AD=89=E5=8F=82=E6=95=B0=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jcsj/EmGcrlController.java | 21 +++++++++++--- .../jhgk/三月滚动排产控制器.java | 28 ++++++++++++++----- .../service/jcsj/impl/EmGcrlServiceImpl.java | 26 +++++++++-------- 3 files changed, 52 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java index c662e77..d294dd5 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java @@ -2,6 +2,8 @@ package com.dsic.gj_erp.controller.jcsj; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.EmGcrl; import com.dsic.gj_erp.bean.jcsj.EmSbcnp; @@ -12,7 +14,10 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -32,15 +37,23 @@ public class EmGcrlController { @ApiOperation(value = "查询") @PostMapping(value = "/getList") public ResultBean getList(@RequestBody JSONObject json) { - List emGcrls= emGcrlService.getList(json); - return new ResultBean(emGcrls); +// List emGcrls= emGcrlService.getList(json); + List emGcrls=emGcrlService.list(new QueryWrapper().orderByAsc("gl")); + Map> years= emGcrls.stream().collect(Collectors.groupingBy(EmGcrl::getNf)); + List restDays= emGcrls.stream().filter(l->l.getXxr().equals("0")).map(EmGcrl::getGl).collect(Collectors.toList()); + int nextYear=Integer.parseInt(emGcrls.get(emGcrls.size()-1).getNf())+1; + Map map=new HashMap(); + map.put("years",years.keySet()); + map.put("restDays",restDays); + map.put("nextYear",nextYear); + return new ResultBean(map); } @ApiOperation(value = "批量修改") @PostMapping(value = "/update") - public ResultBean update(@RequestBody List emGcrls) { - emGcrlService.update(emGcrls); + public ResultBean update(@RequestBody EmGcrl emGcrl) { + emGcrlService.update(new UpdateWrapper().set("xxr",emGcrl.getXxr()).eq("gl",emGcrl.getGl())); return new ResultBean(); } diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java index 1ec1dbb..31dfc1e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java @@ -12,6 +12,7 @@ import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.HashMap; +import java.util.List; import java.util.concurrent.Semaphore; @RestController @@ -101,11 +102,20 @@ public class 三月滚动排产控制器 { } @PostMapping("saveGxcd") - public ResultBean 设置工序CD(@RequestBody 工序CD _工序CD){ - _工序CD接口.save(_工序CD); + public ResultBean 设置工序CD(@RequestBody List<工序CD> _工序CD){ + for (工序CD 工序CD : _工序CD) { + _工序CD接口.save(工序CD); + } return new ResultBean<>(); } + @PostMapping("removeGxcd") + public ResultBean 删除工序CD(@RequestBody List<工序CD> _工序CD){ + for (工序CD 工序CD : _工序CD) { + _工序CD接口.remove(工序CD.getGx().name()); + } + return new ResultBean<>(); + } @GetMapping("getSbcnAll") public ResultBean 获取全部产能(){ Object o = _设备产能接口.get(); @@ -113,14 +123,18 @@ public class 三月滚动排产控制器 { } @PostMapping("saveSbcn") - public ResultBean 设置产能(@RequestBody 设备产能 _设备产能){ - _设备产能接口.save(_设备产能); + public ResultBean 设置产能(@RequestBody List<设备产能> _设备产能){ + for (设备产能 设备产能 : _设备产能) { + _设备产能接口.save(设备产能); + } return new ResultBean<>(); } - @GetMapping("remove") - public ResultBean 删除产能(String code){ - _设备产能接口.remove(code); + @PostMapping("remove") + public ResultBean 删除产能(@RequestBody List<设备产能> _设备产能){ + for (设备产能 设备产能 : _设备产能) { + _设备产能接口.remove(设备产能.getCode()); + } return new ResultBean<>(); } } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmGcrlServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmGcrlServiceImpl.java index d5f3fd4..4f1d906 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmGcrlServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmGcrlServiceImpl.java @@ -68,17 +68,19 @@ public class EmGcrlServiceImpl extends ServiceImpl impleme @Override public void generate(String nf) { - List emGcrlRepositoryByNf=emGcrlRepository.findByNf(nf); - if (ObjectUtil.isEmpty(emGcrlRepositoryByNf)){ - Integer intNF=Integer.parseInt(nf); - LocalDate startDate = LocalDate.of(intNF, 1, 1); // 起始日期:2022年1月1日 - LocalDate endDate = LocalDate.of(intNF, 12, 31); // 结束日期:2022年12月31日 - List saveList=new ArrayList<>(); - LocalDate currentDate = startDate; - String gzr=""; - while (currentDate.isBefore(endDate) || currentDate.isEqual(endDate)) { - EmGcrl emGcrl=new EmGcrl(); - emGcrl.setNf(nf); + // List emGcrlRepositoryByNf=emGcrlRepository.findByNf(nf); + nf=this.getOne(new QueryWrapper().select("top 1 * ").orderByDesc("nf")).getNf(); +// nf=(Integer.parseInt(nf)+1)+""; +// if (ObjectUtil.isEmpty(emGcrlRepositoryByNf)){ + Integer intNF=Integer.parseInt(nf)+1; + LocalDate startDate = LocalDate.of(intNF, 1, 1); // 起始日期:2022年1月1日 + LocalDate endDate = LocalDate.of(intNF, 12, 31); // 结束日期:2022年12月31日 + List saveList=new ArrayList<>(); + LocalDate currentDate = startDate; + String gzr=""; + while (currentDate.isBefore(endDate) || currentDate.isEqual(endDate)) { + EmGcrl emGcrl=new EmGcrl(); + emGcrl.setNf(intNF+""); String gl = currentDate.format(DateTimeFormatter.ofPattern("yyyy/MM/dd")); emGcrl.setGl(gl); // WeekFields weekFields = WeekFields.of(Locale.getDefault()); @@ -112,6 +114,6 @@ public class EmGcrlServiceImpl extends ServiceImpl impleme currentDate = currentDate.plusDays(1); // 增加一天,处理下一个日期 } saveBatch(saveList); - } +// } } } From f5490126548dda0fd7918c423ed64a8b425f6c9a Mon Sep 17 00:00:00 2001 From: xiaoning <1097449274@qq.com> Date: Wed, 26 Jun 2024 09:14:00 +0800 Subject: [PATCH 008/196] =?UTF-8?q?=E7=8F=AD=E7=BB=84=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=B7=A8=E4=BD=8D=20=E5=B7=A5=E5=BA=8F=E8=BD=AC=E7=A0=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jcsj/DmBzzz.java | 1 + .../jhgk/三月滚动排产控制器.java | 29 +++++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBzzz.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBzzz.java index fd354a2..c334874 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBzzz.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBzzz.java @@ -31,6 +31,7 @@ public class DmBzzz implements Serializable { private String factoryId; private String factoryCode; private String factoryName;//所属工厂 + private String kw;//所属跨位 private String workshopId; private String workshopCode; private String workshopName;//所属车间 diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java index 31dfc1e..db73a13 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java @@ -2,6 +2,7 @@ package com.dsic.gj_erp.controller.jhgk; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.pc.*; import com.dsic.gj_erp.pc.service.三月滚动接口; @@ -11,9 +12,9 @@ import com.dsic.gj_erp.pc.service.设备产能接口; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; +import java.util.*; import java.util.concurrent.Semaphore; +import java.util.stream.Collectors; @RestController @RequestMapping("sygdpc") @@ -137,4 +138,28 @@ public class 三月滚动排产控制器 { } return new ResultBean<>(); } + +// 工序list + @GetMapping("getGxDict") + public ResultBean getGxDict(){ + Constant.工序[] l= Constant.工序.values(); +// List list=new ArrayList<>(); +// for (Constant.工序 工序 : l) { +// String code=工序.getCode(); +// String name=工序.name(); +// Map map=new HashMap<>(); +// map.put(name,code); +// list.add(map); +// } + + List list = Arrays.stream(l).filter(o->StrUtil.isNotEmpty(o.name())&&!o.name().equals("NULL")) + .map(item -> new JSONObject(new LinkedHashMap<>()) + .fluentPut("name", item.name()) + .fluentPut("code", item.getCode()) + ) + .collect(Collectors.toList()); + return new ResultBean<>(list); + } + + } From 718a28d8c884482ab5a60f5a02de5d46a1f603f9 Mon Sep 17 00:00:00 2001 From: xiaoning <1097449274@qq.com> Date: Thu, 27 Jun 2024 16:39:03 +0800 Subject: [PATCH 009/196] =?UTF-8?q?=E8=AE=A2=E8=B4=A7=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jhgk/三月滚动排产控制器.java | 15 ++++++++++++--- .../service/订货计划滚动信息接口.java | 8 ++++---- .../java/com/dsic/gj_erp/pc/订货计划.java | 4 +++- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java index db73a13..0b9ef84 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java @@ -91,8 +91,17 @@ public class 三月滚动排产控制器 { } @PostMapping("saveDhjh") - public ResultBean 设置订货计划(@RequestBody 订货计划 _订货计划){ - _订货计划滚动信息接口.save(_订货计划); + public ResultBean 设置订货计划(@RequestBody List<订货计划> _订货计划){ + for (订货计划 订货计划 : _订货计划) { + _订货计划滚动信息接口.save(订货计划); + } + return new ResultBean<>(); + } + @PostMapping("removeDhjh") + public ResultBean 删除订货计划(@RequestBody List<订货计划> _订货计划){ + for (订货计划 订货计划 : _订货计划) { + _订货计划滚动信息接口.remove(订货计划.getKey()); + } return new ResultBean<>(); } @@ -131,7 +140,7 @@ public class 三月滚动排产控制器 { return new ResultBean<>(); } - @PostMapping("remove") + @PostMapping("removeSbcn") public ResultBean 删除产能(@RequestBody List<设备产能> _设备产能){ for (设备产能 设备产能 : _设备产能) { _设备产能接口.remove(设备产能.getCode()); diff --git a/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java b/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java index a941460..64a8a26 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.pc.service; +import com.dsic.gj_erp.bean.jhgk.DmSygd; import com.dsic.gj_erp.pc.工序CD; import com.dsic.gj_erp.pc.订货计划; import lombok.AllArgsConstructor; @@ -9,10 +10,8 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Set; +import java.util.*; +import java.util.stream.Collectors; @Service @AllArgsConstructor @@ -46,6 +45,7 @@ public class 订货计划滚动信息接口 { 订货计划 _订货计划= (订货计划) redisTemplate.opsForValue().get(key); list.add(_订货计划); } + list = list.stream().sorted(Comparator.comparing(订货计划::getMonth).thenComparing(订货计划::getIndex)).collect(Collectors.toList()); return list; } } diff --git a/src/main/java/com/dsic/gj_erp/pc/订货计划.java b/src/main/java/com/dsic/gj_erp/pc/订货计划.java index 2f5f0be..cc22281 100644 --- a/src/main/java/com/dsic/gj_erp/pc/订货计划.java +++ b/src/main/java/com/dsic/gj_erp/pc/订货计划.java @@ -6,6 +6,7 @@ import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; +import java.util.ArrayList; import java.util.List; @Getter @@ -20,7 +21,7 @@ public class 订货计划 { private String tonnage; private String sumWeight; private String allArriveData;//到齐日期 - + private String key; public String getKey(){ return this.month+this.dcch+pls; } @@ -37,6 +38,7 @@ public class 订货计划 { try { int start=Integer.parseInt(split.get(0)); int end=Integer.parseInt(split.get(1)); + this.plList=new ArrayList<>(); for (int i=start;i<=end;i++){ this.plList.add(i+""); } From 998f48ec0c6dcf2de6a7a02c6201480f49c93158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 1 Jul 2024 14:28:15 +0800 Subject: [PATCH 010/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E4=B8=89=E8=B7=A8?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E5=A5=97=E6=96=99=E5=9B=BE=E5=88=87=E5=89=B2?= =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E9=87=8D=E5=A4=8D=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=202.=E5=A2=9E=E5=8A=A0=E4=B8=AD=E6=97=A5=E7=A8=8B=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=203.=E4=BF=AE=E5=A4=8D=E6=8E=92=E4=BA=A7?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E9=92=A2=E6=96=99=E9=9C=80=E6=B1=82=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=97=B6=E7=9A=84=E5=A4=A7=E7=BB=84=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/pc/dto/data/Bom.java | 25 ++++++++ .../dsic/gj_erp/pc/dto/tlt/三跨平铁.java | 3 - .../dsic/gj_erp/pc/dto/套料图工序.java | 60 +++++++++++++------ .../java/com/dsic/gj_erp/pc/订货计划.java | 50 ++++++++++++++-- .../resources/mappers/jhgk/DmSygdxqMapper.xml | 2 +- 5 files changed, 114 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java index 5b769ab..e132b4d 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java @@ -69,6 +69,26 @@ public class Bom { this.errors.add(ErrorType.需求日期按照中日程计算); } + public void 缺少中日程(){ + this.errors.add(ErrorType.缺少中日程); + this.errors.add(ErrorType.按照中日程计划上料日期失败); + } + + public void 中日期无小组需求期(){ + this.errors.add(ErrorType.中日期无小组需求期); + this.errors.add(ErrorType.按照中日程计划上料日期失败); + } + + public void 中日程无大组需求期(){ + this.errors.add(ErrorType.中日程无大组需求期); + this.errors.add(ErrorType.按照中日程计划上料日期失败); + } + + public void 缺少大组需求期使用小组需求替代(){ + this.errors.add(ErrorType.缺少大组需求期使用小组需求替代); + } + + public void 超出工序产能(Constant.工序 _工序){ switch (_工序) { case 上料: @@ -108,6 +128,11 @@ public class Bom { } private enum ErrorType{ + 缺少大组需求期使用小组需求替代, + 缺少中日程, + 中日期无小组需求期, + 中日程无大组需求期, + 按照中日程计划上料日期失败, 坡口结束日期不满足大组需求期, 没有订货, 订货计划到齐日期格式错误, diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨平铁.java b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨平铁.java index 19efcfd..aa58cb1 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨平铁.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/tlt/三跨平铁.java @@ -18,7 +18,6 @@ public class 三跨平铁 extends 套料图工序 { .add(Constant.工序.理料) .add(Constant.工序.划线) .add(Constant.工序.切割) - .add(Constant.工序.切割) .add(Constant.工序.打磨) .add(Constant.工序.曲型) .build(); @@ -36,7 +35,6 @@ public class 三跨平铁 extends 套料图工序 { .add(Constant.工序.理料) .add(Constant.工序.划线) .add(Constant.工序.切割) - .add(Constant.工序.切割) .add(Constant.工序.打磨) .add(Constant.工序.曲型) .build(); @@ -54,7 +52,6 @@ public class 三跨平铁 extends 套料图工序 { .add(Constant.工序.理料) .add(Constant.工序.划线) .add(Constant.工序.切割) - .add(Constant.工序.切割) .add(Constant.工序.打磨) .build(); return this; diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java index 83775dd..22a0522 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java @@ -43,22 +43,33 @@ public abstract class 套料图工序 implements 套料图工序接口 { public void run(){ fail=new AtomicBoolean(false); - 基础设置(); - this.run(fail); + if (基础设置()){ + this.run(fail); + } } - protected void 基础设置(){ - if (this.zlType==ZlType.小组){ + protected boolean 基础设置(){ + if (this.zlType==ZlType.小组||this.zlType==ZlType.焊接机器人肘板){ this.set需求日期(this.xzglxq); } if (this.zlType==ZlType.大组){ - this.set需求日期(this.dzglxq); + if (this.dzglxq==null){ + this.set需求日期(this.xzglxq); + this.bom.缺少大组需求期使用小组需求替代(); + }else { + this.set需求日期(this.dzglxq); + } } if (this.zlType==ZlType.大组&&this.工序.contains(Constant.工序.曲型)){ //大组需求有曲外板,需要按照大组需求期计算 - this.set需求日期(dzglxq); + if (this.dzglxq==null){ + this.set需求日期(this.xzglxq); + this.bom.缺少大组需求期使用小组需求替代(); + }else { + this.set需求日期(this.dzglxq); + } //曲外板批量名称设置 this.bom.set_pl(this.bom.getPl()+"Q"); } @@ -71,25 +82,39 @@ public abstract class 套料图工序 implements 套料图工序接口 { } if (ObjUtil.isEmpty(this.bom)||StrUtil.isEmpty(this.bom.getTzbh())){ - return; + return false; } this._需求日期 = DateUtil.parse(this.需求日期, "yyyy/MM/dd"); Map> _订货计划=DataFactory.获取订货计划(); this.订货计划s = _订货计划.get(bom.getDcch()); + return true; } public void run(AtomicBoolean atomicBoolean) { - if (!this.是否订货()){ + if (!this.订货()){ + System.out.println(String.format("船号:%s,批量:%s,未订货",this.bom.getDcch(),this.bom.getPl())); bom.没有订货(); } this.工序.forEach(_工序 -> { 资源 _资源 = this.占用资源2(_工序, 需求数量); - if (_工序==Constant.工序.上料&&!this.能否到货(_资源)){ + if (_工序==Constant.工序.上料&&!this.到货(_资源)){ this.bom.上料之前无法到货(); //使用中日程定义需求日期 + if (this.中日程==null){ + this.bom.缺少中日程(); + return; + } + if (this.zlType==ZlType.小组&&this.中日程.getGjjsXz()==null){ + this.bom.中日期无小组需求期(); + return; + } + if (this.zlType==ZlType.大组&&this.中日程.getGjjsDz()==null){ + this.bom.中日程无大组需求期(); + return; + } this._需求日期=this.zlType==ZlType.小组?DateUtil.parse(this.中日程.getGjjsXz()):DateUtil.parse(this.中日程.getGjjsDz()); //再次计算上料日期 this.占用资源2(_工序, 需求数量); @@ -114,23 +139,22 @@ public abstract class 套料图工序 implements 套料图工序接口 { } } - protected boolean 是否订货(){ + protected boolean 订货(){ AtomicBoolean 是否订货=new AtomicBoolean(false); if (ObjUtil.isEmpty(订货计划s)){ return 是否订货.get(); } - if (ObjUtil.isNotEmpty(订货计划s)){ - 订货计划s.forEach(item->{ - if (item.getPlList().contains(bom.getPl())){ - 是否订货.set(true); - } - }); - } + 订货计划s.forEach(item->{ + if (item.getPlList().contains(bom.getPl())){ + 是否订货.set(true); + } + }); + return 是否订货.get(); } - protected boolean 能否到货(资源 _资源){ + protected boolean 到货(资源 _资源){ AtomicBoolean 能否到货=new AtomicBoolean(false); if (ObjUtil.isNotEmpty(订货计划s)){ 订货计划s.forEach(item->{ diff --git a/src/main/java/com/dsic/gj_erp/pc/订货计划.java b/src/main/java/com/dsic/gj_erp/pc/订货计划.java index cc22281..fdc3e3a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/订货计划.java +++ b/src/main/java/com/dsic/gj_erp/pc/订货计划.java @@ -1,6 +1,5 @@ package com.dsic.gj_erp.pc; -import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import lombok.Getter; import lombok.Setter; @@ -29,6 +28,47 @@ public class 订货计划 { if (this.plList!=null){ return this.plList; } + this.plList=new ArrayList<>(); + if (this.pls.contains("/")){ + this.plsHandler3(this.pls); + return this.plList; + } + + if (this.pls.contains("、")){ + this.plsHandler2(this.pls); + return this.plList; + } + if (this.pls.contains("-")){ + this.plsHandler1(pls); + return this.plList; + } + this.plList.add(this.formatPl(this.pls)); + return this.plList; + } + + private void plsHandler3(String pls){ + String[] _pls = this.pls.split("/"); + for (String tmp:_pls){ + if (tmp.contains("、")){ + this.plsHandler2(this.pls); + continue; + } + this.plList.add(this.formatPl(tmp)); + } + } + + private void plsHandler2(String pls){ + String[] _pls = this.pls.split("、"); + for (String tmp:_pls){ + if (tmp.indexOf("-")>0){ + this.plsHandler1(tmp); + continue; + } + this.plList.add(this.formatPl(tmp)); + } + } + + private void plsHandler1(String pls){ List split = StrUtil.split(pls, "-"); String logMsg=StrUtil.format("订货计划--船号:{},批量范围格式错误:{}",dcch,pls); if (split.size()!=2){ @@ -38,14 +78,16 @@ public class 订货计划 { try { int start=Integer.parseInt(split.get(0)); int end=Integer.parseInt(split.get(1)); - this.plList=new ArrayList<>(); for (int i=start;i<=end;i++){ - this.plList.add(i+""); + this.plList.add(this.formatPl(i+"")); } - return this.plList; }catch (Exception e){ log.error(logMsg); throw new RuntimeException(logMsg); } } + + private String formatPl(String pl){ + return String.format("%03d",Integer.parseInt(pl)); + } } diff --git a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml index 0433812..123796c 100644 --- a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml @@ -35,7 +35,7 @@ xq.dc_pl, xq.dc_fd, xq.xzglxq, - xq.daglxq, + xq.dzglxq, bom.id as bom_id, bom.dcch as bom_dcch, bom.mbch as bom_mbch, From 00b3471abed0e62dd3a8d23406a935cf9b6651e7 Mon Sep 17 00:00:00 2001 From: xiaoning <1097449274@qq.com> Date: Thu, 4 Jul 2024 11:56:10 +0800 Subject: [PATCH 011/196] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A5=97=E6=96=99?= =?UTF-8?q?=E5=9B=BEPDF=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jcsj/BomUploadController.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java index a50d3c7..91380b1 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.controller.jcsj; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.dsic.gj_erp.annotation.AuthFunction; @@ -12,6 +13,7 @@ import com.dsic.gj_erp.mapper.jcsj.DmBomMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.DmTltpdfService; import com.dsic.gj_erp.service.jcsj.impl.BomUploadServiceImpl; +import lombok.extern.slf4j.Slf4j; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.springframework.beans.factory.annotation.Autowired; @@ -34,6 +36,7 @@ import java.util.List; */ @RestController @RequestMapping("/bom") +@Slf4j public class BomUploadController { @Autowired BomUploadServiceImpl bomUploadService; @@ -137,9 +140,16 @@ public class BomUploadController { // System.out.println(a[j]); // } if (i==1)continue; - String tlth1[]=s.split("DNV\\+CCS")[1].split("\r\n"); - Double ljzl=new Double(tlth1[1]); - if (ljzl==0.0)continue; +// Double ljzl=0.0; +// try { +// String tlth1[]=s.split("DNV\\+CCS")[1].split("\r\n"); +// ljzl=new Double(tlth1[1]); +// }catch (Exception e){ +// String logMsg= StrUtil.format("数控套料图pdf读取错误--图号:{},页数:{}",th,i); +// log.error(logMsg); +// } + +// if (ljzl==0.0)continue; //根据当前页数据,修改BOM中零件属性 坡口 打磨 曲 int ljCount= s.split("\\|")[0].split("\r\n").length;//零件数量 if (ljCount==11||ljCount==21||ljCount==31){ From 2a1356818514400c30bd6e0ac130bce155c07f46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 4 Jul 2024 17:51:26 +0800 Subject: [PATCH 012/196] =?UTF-8?q?1.=E6=BB=A1=E8=B6=B3=E5=9D=87=E8=A1=A1?= =?UTF-8?q?=E6=8E=92=E4=BA=A7=E9=97=AE=E9=A2=98=202.=E5=9C=A8=E6=BB=A1?= =?UTF-8?q?=E8=B6=B3=E6=89=B9=E6=AC=A1=E5=AE=8C=E6=95=B4=E6=80=A7=E7=9A=84?= =?UTF-8?q?=E5=90=8C=E6=97=B6,=E5=BD=93=E4=BA=A7=E8=83=BD=E4=B8=8D?= =?UTF-8?q?=E8=B6=B3=E6=97=B6=E9=9C=80=E6=95=B4=E6=89=B9=E9=87=8F=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jhgk/三月滚动排产控制器.java | 1 - .../java/com/dsic/gj_erp/pc/Constant.java | 7 +- .../java/com/dsic/gj_erp/pc/DataFactory.java | 200 +++++++++++++++--- .../java/com/dsic/gj_erp/pc/dto/data/Bom.java | 33 +++ .../data/按批次合并的钢料需求.java | 78 +++++++ .../dsic/gj_erp/pc/dto/套料图工序.java | 37 ++-- .../java/com/dsic/gj_erp/pc/dto/资源.java | 11 + src/main/java/com/dsic/gj_erp/pc/排产.java | 2 +- 8 files changed, 320 insertions(+), 49 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/pc/dto/data/按批次合并的钢料需求.java diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java index 0b9ef84..7e8d38e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java @@ -1,6 +1,5 @@ package com.dsic.gj_erp.controller.jhgk; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.bean.ResultBean; diff --git a/src/main/java/com/dsic/gj_erp/pc/Constant.java b/src/main/java/com/dsic/gj_erp/pc/Constant.java index 716e14c..96d1f94 100644 --- a/src/main/java/com/dsic/gj_erp/pc/Constant.java +++ b/src/main/java/com/dsic/gj_erp/pc/Constant.java @@ -37,14 +37,15 @@ public interface Constant { 龙门01(工序.切割,"龙门01","",2.4,3.6,40,15.6,25.2), 火焰01(工序.切割,"火焰01","",0.3,11.15,40.0,0,2.0), 数控01(工序.切割,"数控01","",1.5,3.0,0,8.5,8.5), - 火焰03(工序.切割, "火焰03", "", 0.3, 11.5, 40.0, 0, 2.0), - 数控03(工序.切割, "数控03", "", 2.0, 4.2, 0, 14.0, 14.0), - 龙门03(工序.切割, "龙门03", "", 1.6, 3.2, 40.0, 11.2, 18.4), 火焰02(工序.切割, "火焰02", "", 0.3, 11.5, 40.0, 0, 3.9), 数控02(工序.切割, "数控02", "", 1.4, 3.0, 0, 18.2, 18.2), 龙门02(工序.切割, "龙门02", "", 2.0, 3.0, 40.0, 13.0, 13.0), + 火焰03(工序.切割, "火焰03", "", 0.3, 11.5, 40.0, 0, 2.0), + 数控03(工序.切割, "数控03", "", 2.0, 4.2, 0, 14.0, 14.0), + 龙门03(工序.切割, "龙门03", "", 1.6, 3.2, 40.0, 11.2, 18.4), + 坡口01(工序.坡口, "坡口01", "", 2.0, 3.0, 100.0, 13.0, 13.0), 型材01(工序.型材面板, "型材01", "", 2.0, 3.0, 100.0, 13.0, 13.0), 曲加工01(工序.曲型, "曲加工01", "", 2.0, 3.0, 100.0, 13.0, 13.0), 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 c429370..385f59d 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.pc; +import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; @@ -13,8 +14,8 @@ import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.jhgk.DmSygdxq; import com.dsic.gj_erp.bean.jhgk.DmZrcjh; -import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.dsic.gj_erp.pc.dto.data.Bom; +import com.dsic.gj_erp.pc.dto.data.按批次合并的钢料需求; import com.dsic.gj_erp.pc.dto.data.钢料需求; import com.dsic.gj_erp.pc.dto.gx.*; import com.dsic.gj_erp.pc.dto.sb.*; @@ -29,8 +30,8 @@ import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jcsj.EmSbjbbService; import com.dsic.gj_erp.service.jhgk.DmSygdxqService; import com.dsic.gj_erp.service.jhgk.DmZrcjhService; -import com.dsic.gj_erp.service.pgd.PgdSljhService; import com.google.common.collect.ImmutableMap; +import com.google.common.util.concurrent.AtomicDouble; import lombok.extern.slf4j.Slf4j; import java.io.FileOutputStream; @@ -38,7 +39,6 @@ import java.io.OutputStream; import java.util.*; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; import static com.dsic.gj_erp.pc.Manager.排产; @@ -49,16 +49,24 @@ public class DataFactory { public static void 排产2() { 装载中日程数据(); - 套料图所占工序的资源.clear(); Manager.排产结果=new ArrayList<>(); List<钢料需求> list=读取钢料需求(); - 工序CD接口 _工序CD接口 = getBean(工序CD接口.class); List<工序CD> 工序CDS = _工序CD接口.get(); Map 工序CDMap=new HashMap<>(); 工序CDS.forEach(item->工序CDMap.put(item.getGx(),item)); + 执行排产(list,工序CDMap); + + 清理冗余数据(list); + + if (Manager.排产结果.size()>0){ + log.info("排产异常--{}个未完整排产,{}",Manager.排产结果.size(),Manager.排产结果); + } + } + + private static void 执行排产(List<钢料需求> list, Map 工序CDMap){ list.forEach(钢料需求 -> { CountDownLatch latch = new CountDownLatch(钢料需求.getBomList().size()); String xzglxq = 钢料需求.getXzglxq(); @@ -92,22 +100,6 @@ public class DataFactory { throw new RuntimeException(e); } }); - - 清理冗余数据(list); - - if (Manager.排产结果.size()>0){ - log.info("排产异常--{}个未完整排产,{}",Manager.排产结果.size(),Manager.排产结果); - } - } - - public static List 获取完工的上料计划(Bom bom){ - return getBean(PgdSljhService.class).已排产上料计划装载(bom.getDcch(),bom.getPl(),bom.getFd(),bom.getTzbh()); - } - - public static Map> 获取订货计划(){ - List<订货计划> _订货计划 = getBean(订货计划滚动信息接口.class).get(); - Map> map= _订货计划.stream().collect(Collectors.groupingBy(订货计划::getDcch)); - return map; } private static DmZrcjh 获取中日程(String key){ @@ -131,11 +123,154 @@ public class DataFactory { }); } + public static void 排产3(){ + 装载中日程数据(); + 套料图所占工序的资源.clear(); + Manager.排产结果=new ArrayList<>(); + + List<钢料需求> list=读取钢料需求(); + Collection<按批次合并的钢料需求> 按批次合并 = 按批次合并(list); + 计算需求产能(按批次合并); + try { + 均衡预占(按批次合并); + }catch (Exception e){ + e.printStackTrace(); + }finally { + 清理冗余数据(list); + } + + } + + public static void 均衡预占(Collection<按批次合并的钢料需求> _按批次合并的钢料需求){ + 工序CD接口 _工序CD接口 = getBean(工序CD接口.class); + List<工序CD> 工序CDS = _工序CD接口.get(); + Map 工序CDMap=new HashMap<>(); + 工序CDS.forEach(item->工序CDMap.put(item.getGx(),item)); + + for (按批次合并的钢料需求 item:_按批次合并的钢料需求){ + if (ObjUtil.isNotEmpty(item.getBomList())){ + 均衡计算(item,工序CDMap); + } + } + } + + private static void 均衡计算(按批次合并的钢料需求 item,Map 工序CDMap){ + Constant.工序 依据工序=Constant.工序.切割; + //需求日期可利用范围是±3天 + int times=-3; + List<资源> tmpList=new ArrayList<>(); + AtomicDouble atomicDouble = item.get产能需求().get(依据工序); + 资源 _资源=null; + do { + //因为第一次计算时候就是当前批量小组需求日期,所以再次循环到的时候不需要再次计算 + if (times==0){ + times+=1; + continue; + } + if (times>3){ + break; + } + DateTime xzglxq = item.get均衡需求日期().offset(DateField.DAY_OF_YEAR,工序CDMap.get(依据工序).getCd()); + _资源 = 提取资源(xzglxq); + tmpList.add(_资源); + if (_资源.判断工序是否可以被占用(依据工序,atomicDouble.get())){ +// DateTime 上料日期 = item.get均衡需求日期().offset(DateField.DAY_OF_YEAR, -14); +// 资源 上料 = 提取资源(上料日期); +// for (Bom bom:item.getBomList()){ +// 上料.占用资源(Constant.工序.上料,bom,item.get产能需求().get(Constant.工序.上料).get()); +// _资源.占用资源(Constant.工序.切割,bom,1); +// } + 执行排产(item.getBomList(),item.get均衡需求日期(),工序CDMap); + break; + } + //需求日期可利用范围是±3天,排产是需要根据产能进行调整 + item.set均衡需求日期(DateUtil.offsetDay(item.get均衡需求日期(),times)); + times+=1; + }while (true); + + //若在需求期±3天内无法正常排产时,查找最大可用空闲资源进行占用 + if (times>3){ + //查找最小可用资源,进行占用 + tmpList.sort(Comparator.comparingDouble((tmp)->tmp.get工序产能MAP().get(Constant.工序.切割).get占用())); + tmpList.stream().findFirst().ifPresent(tmp->{ +// DateTime 上料日期 = item.get均衡需求日期().offset(DateField.DAY_OF_YEAR, -14); +// 资源 上料 = 提取资源(上料日期); +// for (Bom bom:item.getBomList()){ +// 上料.占用资源(Constant.工序.上料,bom,item.get产能需求().get(Constant.工序.上料).get()); +// tmp.占用资源(Constant.工序.切割,bom,1); +// } + //由于资源日为切割日期,这里需要还原一下,修正传递的参照需求日期 + 执行排产(item.getBomList(),tmp.get_date().offset(DateField.DAY_OF_YEAR,-工序CDMap.get(依据工序).getCd()),工序CDMap); + }); + } + log.info("船号:{},批次:{},占用资源成功,切割日期:{}",item.getDcCh(),item.getDcPl(),_资源.getDate()); + } + + private static void 执行排产(List list,DateTime 参照需求日期,Map 工序CDMap){ + CountDownLatch latch = new CountDownLatch(list.size()); + for (Bom bom:list){ + 套料图工序 _套料图工序 = 套料图工序工厂(bom); + + if (_套料图工序==null){ + latch.countDown(); + continue; + } + + _套料图工序.setXzglxq(bom.getXzglxq()); + _套料图工序.setDzglxq(bom.getDzglxq()); + _套料图工序.set工序CD(工序CDMap); + _套料图工序.set中日程(获取中日程(bom.getDcch() + bom.getPl() + bom.getFd())); + _套料图工序.set参照需求日期(参照需求日期); + es.execute(() -> { + try{ + _套料图工序.run(); + }finally { + latch.countDown(); + } + }); + } + try { + latch.await(30, TimeUnit.SECONDS);// 指定超时时间 + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + + + private static void 计算需求产能(Collection<按批次合并的钢料需求> _按批次合并的钢料需求){ + _按批次合并的钢料需求.forEach(按批次合并的钢料需求::计算各工序产能需求); + } + + private static Collection<按批次合并的钢料需求> 按批次合并(List<钢料需求> list){ + Map map=new HashMap<>(); + list.forEach(item->{ + String key=item.getDcCh() + item.getDcPl(); + 按批次合并的钢料需求 _按批次合并的钢料需求 = map.get(key); + if (_按批次合并的钢料需求==null){ + _按批次合并的钢料需求=new 按批次合并的钢料需求(); + map.put(key,_按批次合并的钢料需求); + } + _按批次合并的钢料需求.of(item); + }); + return map.values(); + } + public static List<钢料需求> 读取钢料需求(){ List 按需求日期排序的钢料需求 = getBean(DmSygdxqService.class).getXqWithBom(from, to); return 按需求日期排序的钢料需求.stream().map(钢料需求::of).collect(Collectors.toList()); } + private static Map> _订货计划=new HashMap<>(); + public static List<订货计划> 获取订货计划(String dcch){ + List<订货计划> list=_订货计划.get(dcch); + if (list!=null){ + return list; + } + List<订货计划> _订货计划 = getBean(订货计划滚动信息接口.class).get(); + Map> map= _订货计划.stream().collect(Collectors.groupingBy(订货计划::getDcch)); + return map.get(dcch); + } + public static void 排产() { 套料图所占工序的资源.clear(); List<排产结果> list = 排产.list; @@ -256,19 +391,24 @@ public class DataFactory { return 资源; } + public static Map 计算日产能(){ + Map map = new HashMap<>(); + Arrays.stream(Constant.工序.values()).forEach(_item -> { + if (StrUtil.isNotEmpty(_item.getCode())) { + 工序产能 工序产能 = 工序产能工厂(_item); + if (工序产能!=null){ + map.put(_item, 工序产能); + } + } + }); + return map; + } + public static void 创建产能资源池(){ 资源池.clear(); 工厂日历.stream().filter(item -> "1".equals(item.getXxr())) .forEach(item -> { - Map map = new HashMap<>(); - Arrays.stream(Constant.工序.values()).forEach(_item -> { - if (StrUtil.isNotEmpty(_item.getCode())) { - 工序产能 工序产能 = 工序产能工厂(_item); - if (工序产能!=null){ - map.put(_item, 工序产能); - } - } - }); + Map map = 计算日产能(); 资源池.put(item.getGl(), 资源.of(item.getGl(), map)); }); } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java index e132b4d..8845d0b 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java @@ -49,6 +49,39 @@ public class Bom { return _bom; } + public double 根据工序获取产能需求量(Constant.工序 _工序){ + switch (_工序) { + case 上料: + return 1; + case 抛丸: + return 1; + case 理料: + return 1; + case 划线: + return 1; + case 切割: + return 1; + case 坡口: + return 1; + case 型材面板: + return 1; + case 曲型: + return 1; + case 打磨: + return 1; + case 自由边处理: + return 1; + case 光电结束: + return 1; +// case 预配盘: +// return new 工序01上料(_工序,_设备); +// case 配送: +// return new 工序01上料(_工序,_设备); + default: + return 0; + } + } + public String toString() { return JSONObject.toJSONString(this); } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/按批次合并的钢料需求.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/按批次合并的钢料需求.java new file mode 100644 index 0000000..32f69e2 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/按批次合并的钢料需求.java @@ -0,0 +1,78 @@ +package com.dsic.gj_erp.pc.dto.data; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjUtil; +import com.dsic.gj_erp.pc.Constant; +import com.dsic.gj_erp.pc.DataFactory; +import com.dsic.gj_erp.pc.dto.套料图工序; +import com.google.common.util.concurrent.AtomicDouble; +import lombok.Getter; +import lombok.Setter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Getter +@Setter +public class 按批次合并的钢料需求 { + private String dcCh; + private String dcPl; + private List dcFd; + private String xzglxq; + private String dzglxq; + private DateTime 均衡需求日期; + private List bomList; + + private String 预占资源日期; + + private Map 产能需求;//fixme 要求必须所有工序都不可以打乱才能用 + private Map 预占结果; + public void 计算各工序产能需求(){ + 产能需求=new HashMap<>(); + this.bomList.forEach(item->{ + 套料图工序 _套料图工序 = DataFactory.套料图工序工厂(item); + _套料图工序.get工序().forEach(_工序->{ + AtomicDouble aDouble = 产能需求.get(_工序); + if (aDouble==null){ + aDouble=new AtomicDouble(0); + 产能需求.put(_工序,aDouble); + } + aDouble.addAndGet(item.根据工序获取产能需求量(_工序)); + }); + }); + } + + public 按批次合并的钢料需求 of(钢料需求 _钢料需求){ + if (this.dcCh==null){ + this.dcCh= _钢料需求.getDcCh(); + } + if (this.dcPl==null){ + this.dcPl=_钢料需求.getDcPl(); + } + if (!ObjUtil.equals(_钢料需求.getDcCh(),this.dcCh)||!ObjUtil.equals(_钢料需求.getDcPl(),this.dcPl)){ + return this; + } + if (dcFd==null){ + dcFd=new ArrayList<>(); + } + this.dcFd.add(_钢料需求.getDcFd()); + this.xzglxq= _钢料需求.getXzglxq(); + this.dzglxq= _钢料需求.getDzglxq(); + if (this.bomList==null){ + this.bomList=new ArrayList<>(); + } + this.bomList.addAll(_钢料需求.getBomList()); + return this; + } + + public DateTime get均衡需求日期(){ + if (this.均衡需求日期 ==null){ + return DateUtil.parse(this.xzglxq,"yyyy/MM/dd"); + } + return this.均衡需求日期; + } + +} diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java index 22a0522..33f8d68 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java @@ -35,6 +35,7 @@ public abstract class 套料图工序 implements 套料图工序接口 { protected double 需求数量 = 1;//默认数量为1,切割处理时候按照实际切割长度计算,切割产能在设备产能中单独计算 protected String 需求日期; protected DateTime _需求日期; + protected DateTime 参照需求日期;//当排产无法满足时,临时需求日期生效,±3天查找可用资源 protected DmZrcjh 中日程; protected List 工序; protected Map 工序CD; @@ -49,13 +50,25 @@ public abstract class 套料图工序 implements 套料图工序接口 { } protected boolean 基础设置(){ + if (ObjUtil.isEmpty(this.bom)||StrUtil.isEmpty(this.bom.getTzbh())){ + return false; + } + + String xzxq=this.xzglxq; + if (this.参照需求日期!=null){ + xzxq=this.参照需求日期.toString("yyyy/MM/dd"); + } + + //为了批次完整性,目前无论大小组都采用小组需求期 + this.set需求日期(xzxq); + if (this.zlType==ZlType.小组||this.zlType==ZlType.焊接机器人肘板){ - this.set需求日期(this.xzglxq); + this.set需求日期(xzxq); } if (this.zlType==ZlType.大组){ if (this.dzglxq==null){ - this.set需求日期(this.xzglxq); + this.set需求日期(xzxq); this.bom.缺少大组需求期使用小组需求替代(); }else { this.set需求日期(this.dzglxq); @@ -63,37 +76,33 @@ public abstract class 套料图工序 implements 套料图工序接口 { } if (this.zlType==ZlType.大组&&this.工序.contains(Constant.工序.曲型)){ - //大组需求有曲外板,需要按照大组需求期计算 +// 大组需求有曲外板,需要按照大组需求期计算 if (this.dzglxq==null){ - this.set需求日期(this.xzglxq); - this.bom.缺少大组需求期使用小组需求替代(); + this.set需求日期(xzxq); }else { this.set需求日期(this.dzglxq); } - //曲外板批量名称设置 + //曲外板批量名称设置. this.bom.set_pl(this.bom.getPl()+"Q"); } //当大组需求期无法满足小组需求时,以小组需求期为准 - if (StrUtil.isAllNotEmpty(xzglxq,dzglxq)){ - if (DateUtil.parse(xzglxq,"yyyy/MM/dd").isAfter(DateUtil.parse(dzglxq,"yyyy/MM/dd"))){ + if (StrUtil.isAllNotEmpty(xzxq,dzglxq)){ + if (DateUtil.parse(xzxq,"yyyy/MM/dd").isAfter(DateUtil.parse(dzglxq,"yyyy/MM/dd"))){ this.set需求日期(dzglxq); } } - if (ObjUtil.isEmpty(this.bom)||StrUtil.isEmpty(this.bom.getTzbh())){ - return false; - } this._需求日期 = DateUtil.parse(this.需求日期, "yyyy/MM/dd"); - Map> _订货计划=DataFactory.获取订货计划(); - this.订货计划s = _订货计划.get(bom.getDcch()); + this.订货计划s = DataFactory.获取订货计划(bom.getDcch()); + return true; } public void run(AtomicBoolean atomicBoolean) { if (!this.订货()){ - System.out.println(String.format("船号:%s,批量:%s,未订货",this.bom.getDcch(),this.bom.getPl())); +// System.out.println(String.format("船号:%s,批量:%s,未订货",this.bom.getDcch(),this.bom.getPl())); bom.没有订货(); } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java index feb798d..a20ca3f 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java @@ -31,6 +31,17 @@ public class 资源 { }); } + public boolean 判断工序是否可以被占用(Constant.工序 _工序 ,double 产能消耗){ + 工序产能 工序产能 = 工序产能MAP.get(_工序); + AtomicBoolean atomicBoolean = new AtomicBoolean(false); + Optional.ofNullable(工序产能).ifPresent(it->{ + if (it.判断是否可以占用(产能消耗)){ + atomicBoolean.set(true); + } + }); + return atomicBoolean.get(); + } + public boolean 占用资源(Constant.工序 工序, Bom bom, double 产能消耗){ AtomicBoolean atomicBoolean = new AtomicBoolean(false); 工序产能 工序产能 = 工序产能MAP.get(工序); diff --git a/src/main/java/com/dsic/gj_erp/pc/排产.java b/src/main/java/com/dsic/gj_erp/pc/排产.java index 0387726..133e3b2 100644 --- a/src/main/java/com/dsic/gj_erp/pc/排产.java +++ b/src/main/java/com/dsic/gj_erp/pc/排产.java @@ -25,7 +25,7 @@ public class 排产 { DataFactory.加载套料图工序对应关系(); DataFactory.加载设备信息(); DataFactory.创建产能资源池(); - DataFactory.排产2(); + DataFactory.排产3(); } private static 排产 of(@NotNull String from, @NotNull String to){ From f2c217b5cab762ffaca84d4ab8815b49e8b91004 Mon Sep 17 00:00:00 2001 From: xiaoning <1097449274@qq.com> Date: Fri, 5 Jul 2024 11:40:23 +0800 Subject: [PATCH 013/196] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A5=97=E6=96=99?= =?UTF-8?q?=E5=9B=BEPDF=E4=B8=8A=E4=BC=A0=EF=BC=9A=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=A4=B1=E8=B4=A5=E4=BF=A1=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E4=BF=9D=E5=AD=98=E8=87=B3log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jcsj/BomUploadController.java | 55 ++++++++----------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java index 91380b1..645ede2 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java @@ -24,7 +24,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -54,12 +56,20 @@ public class BomUploadController { String date=DateUtil.date().toString("yyyyMMdd"); String path="/"+czbh+"_"+pl+"/"+date+"/ERP"; ResultBean bean= bomUploadService.uploadZ( file , czbh, pl,isupload, req,path); - uploadPDF(tltList, czbh, pl,date); + Map map =(Map)bean.getData(); + if(map.get("zt").equals("01")){ + if (uploadPDF(tltList, czbh, pl,date)) { + return bean; + }else { + map.put("zt","03"); + return new ResultBean(map); + } + } return bean; } @Transactional - public ResultBean uploadPDF(MultipartFile[] fileList, String dcCh,String pl,String date)throws IOException { + public boolean uploadPDF(MultipartFile[] fileList, String dcCh,String pl,String date)throws IOException { for (MultipartFile file : fileList) {//船号_批量/日期/PDF(ERP) String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"_"+pl+"/"+date+"/PDF"); @@ -88,6 +98,7 @@ public class BomUploadController { ); List list=new ArrayList<>(); for (int i = 1; i <= pageNum; i++) { + try { stripper.setStartPage(i); stripper.setEndPage(i); String s = stripper.getText(document);//本页文字内容 @@ -120,36 +131,11 @@ public class BomUploadController { tltpdf.setHxkc(hxkc); tltpdf.setQgkc(qgkc); list.add(tltpdf); - //按行保存 -// for (int j=0;j Date: Tue, 16 Jul 2024 09:18:22 +0800 Subject: [PATCH 014/196] =?UTF-8?q?1.=E9=9B=86=E6=88=90=E9=9B=86=E5=9B=A2?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 + .../dsic/gj_erp/annotation/Authorization.java | 15 + .../java/com/dsic/gj_erp/bean/excel/Err.java | 20 + .../com/dsic/gj_erp/bean/excel/ExcelDemo.java | 111 +++++ .../dsic/gj_erp/bean/jt/供应商管理.java | 307 ++++++++++++++ .../java/com/dsic/gj_erp/bean/jt/入库.java | 203 ++++++++++ .../java/com/dsic/gj_erp/bean/jt/出库.java | 216 ++++++++++ .../com/dsic/gj_erp/bean/jt/发票管理.java | 177 ++++++++ .../com/dsic/gj_erp/bean/jt/应付账款.java | 190 +++++++++ .../com/dsic/gj_erp/bean/jt/应收账款.java | 190 +++++++++ .../java/com/dsic/gj_erp/bean/jt/盘点.java | 190 +++++++++ .../java/com/dsic/gj_erp/bean/jt/退货.java | 229 +++++++++++ .../com/dsic/gj_erp/bean/jt/采购订单.java | 268 ++++++++++++ .../dsic/gj_erp/bean/request/CopyRequest.java | 13 + .../dsic/gj_erp/bean/scjh/GzscjhzxckVo.java | 367 +++++++++++++++++ .../com/dsic/gj_erp/bean/txzz/DmMateria.java | 246 +++++++++++ .../com/dsic/gj_erp/bean/txzz/DmProject.java | 190 +++++++++ .../dsic/gj_erp/bean/txzz/jhgl/TpbhPlan.java | 383 ++++++++++++++++++ .../dsic/gj_erp/controller/ApiController.java | 6 +- .../controller/txzz/DmProjectController.java | 87 ++++ .../controller/txzz/ProjectController.java | 79 ++++ .../txzz/jhgl/DmMateriaController.java | 204 ++++++++++ .../txzz/jhgl/TpbhPlanController.java | 118 ++++++ .../txzz/供应商管理Controller.java | 89 ++++ .../controller/txzz/入库Controller.java | 88 ++++ .../controller/txzz/出库Controller.java | 89 ++++ .../txzz/发票管理Controller.java | 90 ++++ .../txzz/应付账款Controller.java | 89 ++++ .../txzz/应收账款Controller.java | 89 ++++ .../controller/txzz/盘点Controller.java | 89 ++++ .../controller/txzz/退货Controller.java | 89 ++++ .../txzz/采购订单Controller.java | 89 ++++ .../gj_erp/mapper/txzz/DmProjectMapper.java | 24 ++ .../mapper/txzz/jhgl/TpbhPlanMapper.java | 9 + .../mapper/txzz/scby/DmMateriaMapper.java | 29 ++ .../mapper/txzz/供应商管理Mapper.java | 65 +++ .../dsic/gj_erp/mapper/txzz/入库Mapper.java | 65 +++ .../dsic/gj_erp/mapper/txzz/出库Mapper.java | 65 +++ .../mapper/txzz/发票管理Mapper.java | 62 +++ .../mapper/txzz/应付账款Mapper.java | 66 +++ .../mapper/txzz/应收账款Mapper.java | 66 +++ .../dsic/gj_erp/mapper/txzz/盘点Mapper.java | 66 +++ .../dsic/gj_erp/mapper/txzz/退货Mapper.java | 66 +++ .../mapper/txzz/采购订单Mapper.java | 66 +++ .../gj_erp/service/txzz/DmMateriaService.java | 31 ++ .../service/txzz/DmMateriaServiceImpl.java | 272 +++++++++++++ .../gj_erp/service/txzz/DmProjectService.java | 68 ++++ .../service/txzz/DmProjectServiceImpl.java | 251 ++++++++++++ .../service/txzz/I供应商管理Service.java | 62 +++ .../gj_erp/service/txzz/I入库Service.java | 62 +++ .../gj_erp/service/txzz/I出库Service.java | 62 +++ .../service/txzz/I发票管理Service.java | 62 +++ .../service/txzz/I应付账款Service.java | 62 +++ .../service/txzz/I应收账款Service.java | 62 +++ .../gj_erp/service/txzz/I盘点Service.java | 62 +++ .../gj_erp/service/txzz/I退货Service.java | 62 +++ .../service/txzz/I采购订单Service.java | 62 +++ .../txzz/impl/供应商管理ServiceImpl.java | 94 +++++ .../service/txzz/impl/入库ServiceImpl.java | 92 +++++ .../service/txzz/impl/出库ServiceImpl.java | 94 +++++ .../txzz/impl/发票管理ServiceImpl.java | 94 +++++ .../txzz/impl/应付账款ServiceImpl.java | 94 +++++ .../txzz/impl/应收账款ServiceImpl.java | 94 +++++ .../service/txzz/impl/盘点ServiceImpl.java | 94 +++++ .../service/txzz/impl/退货ServiceImpl.java | 94 +++++ .../txzz/impl/采购订单ServiceImpl.java | 94 +++++ .../service/txzz/jhgl/TpbhPlanService.java | 119 ++++++ src/main/resources/application-dev.properties | 2 + src/main/resources/application.properties | 4 +- src/main/resources/logback-spring.xml | 3 + .../resources/mappers/sy/SyuserMapper.xml | 4 +- .../mappers/txzz/DmMateriaMapper.xml | 153 +++++++ .../mappers/txzz/供应商管理Mapper.xml | 159 ++++++++ .../resources/mappers/txzz/入库Mapper.xml | 119 ++++++ .../resources/mappers/txzz/出库Mapper.xml | 124 ++++++ .../mappers/txzz/发票管理Mapper.xml | 109 +++++ .../mappers/txzz/应付账款Mapper.xml | 114 ++++++ .../mappers/txzz/应收账款Mapper.xml | 114 ++++++ .../resources/mappers/txzz/盘点Mapper.xml | 114 ++++++ .../resources/mappers/txzz/退货Mapper.xml | 129 ++++++ .../mappers/txzz/采购订单Mapper.xml | 144 +++++++ 81 files changed, 8695 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/annotation/Authorization.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/excel/Err.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/excel/ExcelDemo.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/jt/供应商管理.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/jt/入库.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/jt/出库.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/jt/发票管理.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/jt/应付账款.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/jt/应收账款.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/jt/盘点.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/jt/退货.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/jt/采购订单.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/request/CopyRequest.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/scjh/GzscjhzxckVo.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/txzz/DmMateria.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/txzz/DmProject.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/txzz/jhgl/TpbhPlan.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/DmProjectController.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/ProjectController.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/DmMateriaController.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/TpbhPlanController.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/供应商管理Controller.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/入库Controller.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/出库Controller.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/发票管理Controller.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/应付账款Controller.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/应收账款Controller.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/盘点Controller.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/退货Controller.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/txzz/采购订单Controller.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/DmProjectMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/jhgl/TpbhPlanMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/scby/DmMateriaMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/供应商管理Mapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/入库Mapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/出库Mapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/发票管理Mapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/应付账款Mapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/应收账款Mapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/盘点Mapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/退货Mapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/txzz/采购订单Mapper.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaService.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/DmProjectService.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/DmProjectServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/I供应商管理Service.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/I入库Service.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/I出库Service.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/I发票管理Service.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/I应付账款Service.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/I应收账款Service.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/I盘点Service.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/I退货Service.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/I采购订单Service.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/impl/供应商管理ServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/impl/入库ServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/impl/出库ServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/impl/发票管理ServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/impl/应付账款ServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/impl/应收账款ServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/impl/盘点ServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/impl/退货ServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/impl/采购订单ServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/txzz/jhgl/TpbhPlanService.java create mode 100644 src/main/resources/mappers/txzz/DmMateriaMapper.xml create mode 100644 src/main/resources/mappers/txzz/供应商管理Mapper.xml create mode 100644 src/main/resources/mappers/txzz/入库Mapper.xml create mode 100644 src/main/resources/mappers/txzz/出库Mapper.xml create mode 100644 src/main/resources/mappers/txzz/发票管理Mapper.xml create mode 100644 src/main/resources/mappers/txzz/应付账款Mapper.xml create mode 100644 src/main/resources/mappers/txzz/应收账款Mapper.xml create mode 100644 src/main/resources/mappers/txzz/盘点Mapper.xml create mode 100644 src/main/resources/mappers/txzz/退货Mapper.xml create mode 100644 src/main/resources/mappers/txzz/采购订单Mapper.xml diff --git a/pom.xml b/pom.xml index 4daeded..d31d483 100644 --- a/pom.xml +++ b/pom.xml @@ -161,6 +161,11 @@ + + org.apache.tika + tika-parsers + 1.24.1 + org.apache.pdfbox diff --git a/src/main/java/com/dsic/gj_erp/annotation/Authorization.java b/src/main/java/com/dsic/gj_erp/annotation/Authorization.java new file mode 100644 index 0000000..5e7d27f --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/annotation/Authorization.java @@ -0,0 +1,15 @@ +package com.dsic.gj_erp.annotation; + + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(value = {ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface Authorization { + + String[] CKDMS() default {}; + +} diff --git a/src/main/java/com/dsic/gj_erp/bean/excel/Err.java b/src/main/java/com/dsic/gj_erp/bean/excel/Err.java new file mode 100644 index 0000000..90c0672 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/excel/Err.java @@ -0,0 +1,20 @@ +package com.dsic.gj_erp.bean.excel; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @version V1.0.0 + * @Title: Err + * @Package com.dsic.xzerp.bean.excel + * @Description: excel 导入返回错误信息 + * @author: xhj + * @date: 2021/4/14 9:06 + */ +@Data +@Accessors(chain = true) +public class Err { + private Integer id; + private String text; + private String message; +} \ No newline at end of file diff --git a/src/main/java/com/dsic/gj_erp/bean/excel/ExcelDemo.java b/src/main/java/com/dsic/gj_erp/bean/excel/ExcelDemo.java new file mode 100644 index 0000000..cac5fec --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/excel/ExcelDemo.java @@ -0,0 +1,111 @@ +package com.dsic.gj_erp.bean.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +/** + * @version V1.0.0 + * @Title: ExcelDemo + * @Package com.dsic.xzerp.bean.gxzz.jcsj.excel + * @Description: 导入承载对象 通用 + * @author: xhj + * @date: 2021/4/1 12:27 + */ +@Data +public class ExcelDemo { + + @ExcelProperty(index = 0) + private String col0; + @ExcelProperty(index = 1) + private String col1; + @ExcelProperty(index = 2) + private String col2; + + @ExcelProperty(index = 3) + private String col3; + @ExcelProperty(index = 4) + private String col4; + @ExcelProperty(index = 5) + private String col5; + @ExcelProperty(index = 6) + private String col6; + @ExcelProperty(index = 7) + private String col7; + @ExcelProperty(index = 8) + private String col8; + @ExcelProperty(index = 9) + private String col9; + + @ExcelProperty(index = 10) + private String col10; + + @ExcelProperty(index = 11) + private String col11; + + @ExcelProperty(index = 12) + private String col12; + + @ExcelProperty(index = 13) + private String col13; + + @ExcelProperty(index = 14) + private String col14; + @ExcelProperty(index = 15) + private String col15; + @ExcelProperty(index = 16) + private String col16; + @ExcelProperty(index = 17) + private String col17; + @ExcelProperty(index = 18) + private String col18; + @ExcelProperty(index = 19) + private String col19; + @ExcelProperty(index = 20) + private String col20; + @ExcelProperty(index = 21) + private String col21; + @ExcelProperty(index = 22) + private String col22; + @ExcelProperty(index = 23) + private String col23; + @ExcelProperty(index = 24) + private String col24; + @ExcelProperty(index = 25) + private String col25; + + @ExcelProperty(index = 26) + private String col26; + + @ExcelProperty(index = 27) + private String col27; + @ExcelProperty(index = 28) + private String col28; + + + // 手动系统 + @ExcelProperty(index = 29) + private String col29; + + @ExcelProperty(index = 30) + private String col30; + + @ExcelProperty(index = 31) + private String col31; + + @ExcelProperty(index = 32) + private String col32; + + @ExcelProperty(index = 33) + private String col33; + + @ExcelProperty(index = 34) + private String col34; + + + // 制作图导入 0 g规格 1,2 长度 + private String temp0; + private String temp1; + private String temp2; + private String temp3; + +} \ No newline at end of file diff --git a/src/main/java/com/dsic/gj_erp/bean/jt/供应商管理.java b/src/main/java/com/dsic/gj_erp/bean/jt/供应商管理.java new file mode 100644 index 0000000..ea4fb05 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jt/供应商管理.java @@ -0,0 +1,307 @@ +package com.dsic.gj_erp.bean.jt; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 【请填写功能名称】对象 供应商管理 + * + * @author ruoyi + * @date 2024-06-26 + */ +public class 供应商管理{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private String 供应商编码; + + /** $column.columnComment */ + private String 供应商名称; + + /** $column.columnComment */ + private String 供应商分类; + + /** $column.columnComment */ + private String 供应商等级; + + /** $column.columnComment */ + private String 签约开始日期; + + /** $column.columnComment */ + private String 结算期限; + + /** $column.columnComment */ + private String 采购负责人; + + /** $column.columnComment */ + private String 签约结束日期; + + /** $column.columnComment */ + private Long 信用额度; + + /** $column.columnComment */ + private String 供应商地区; + + /** $column.columnComment */ + private String 具体地址; + + /** $column.columnComment */ + private String 合同附件; + + /** $column.columnComment */ + private String 发票抬头; + + /** $column.columnComment */ + private Long 发票税号; + + /** $column.columnComment */ + private String 税种; + + /** $column.columnComment */ + private Long 增值税税率; + + /** $column.columnComment */ + private String 开户银行; + + /** $column.columnComment */ + private String 银行账号; + + /** $column.columnComment */ + private String 创建时间; + + /** $column.columnComment */ + private String 创建用户; + + /** $column.columnComment */ + private String 最近修改时间; + + /** $column.columnComment */ + private String 修改用户; + + public void set供应商编码(String 供应商编码) + { + this.供应商编码 = 供应商编码; + } + + public String get供应商编码() + { + return 供应商编码; + } + public void set供应商名称(String 供应商名称) + { + this.供应商名称 = 供应商名称; + } + + public String get供应商名称() + { + return 供应商名称; + } + public void set供应商分类(String 供应商分类) + { + this.供应商分类 = 供应商分类; + } + + public String get供应商分类() + { + return 供应商分类; + } + public void set供应商等级(String 供应商等级) + { + this.供应商等级 = 供应商等级; + } + + public String get供应商等级() + { + return 供应商等级; + } + public void set签约开始日期(String 签约开始日期) + { + this.签约开始日期 = 签约开始日期; + } + + public String get签约开始日期() + { + return 签约开始日期; + } + public void set结算期限(String 结算期限) + { + this.结算期限 = 结算期限; + } + + public String get结算期限() + { + return 结算期限; + } + public void set采购负责人(String 采购负责人) + { + this.采购负责人 = 采购负责人; + } + + public String get采购负责人() + { + return 采购负责人; + } + public void set签约结束日期(String 签约结束日期) + { + this.签约结束日期 = 签约结束日期; + } + + public String get签约结束日期() + { + return 签约结束日期; + } + public void set信用额度(Long 信用额度) + { + this.信用额度 = 信用额度; + } + + public Long get信用额度() + { + return 信用额度; + } + public void set供应商地区(String 供应商地区) + { + this.供应商地区 = 供应商地区; + } + + public String get供应商地区() + { + return 供应商地区; + } + public void set具体地址(String 具体地址) + { + this.具体地址 = 具体地址; + } + + public String get具体地址() + { + return 具体地址; + } + public void set合同附件(String 合同附件) + { + this.合同附件 = 合同附件; + } + + public String get合同附件() + { + return 合同附件; + } + public void set发票抬头(String 发票抬头) + { + this.发票抬头 = 发票抬头; + } + + public String get发票抬头() + { + return 发票抬头; + } + public void set发票税号(Long 发票税号) + { + this.发票税号 = 发票税号; + } + + public Long get发票税号() + { + return 发票税号; + } + public void set税种(String 税种) + { + this.税种 = 税种; + } + + public String get税种() + { + return 税种; + } + public void set增值税税率(Long 增值税税率) + { + this.增值税税率 = 增值税税率; + } + + public Long get增值税税率() + { + return 增值税税率; + } + public void set开户银行(String 开户银行) + { + this.开户银行 = 开户银行; + } + + public String get开户银行() + { + return 开户银行; + } + public void set银行账号(String 银行账号) + { + this.银行账号 = 银行账号; + } + + public String get银行账号() + { + return 银行账号; + } + public void set创建时间(String 创建时间) + { + this.创建时间 = 创建时间; + } + + public String get创建时间() + { + return 创建时间; + } + public void set创建用户(String 创建用户) + { + this.创建用户 = 创建用户; + } + + public String get创建用户() + { + return 创建用户; + } + public void set最近修改时间(String 最近修改时间) + { + this.最近修改时间 = 最近修改时间; + } + + public String get最近修改时间() + { + return 最近修改时间; + } + public void set修改用户(String 修改用户) + { + this.修改用户 = 修改用户; + } + + public String get修改用户() + { + return 修改用户; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("供应商编码", get供应商编码()) + .append("供应商名称", get供应商名称()) + .append("供应商分类", get供应商分类()) + .append("供应商等级", get供应商等级()) + .append("签约开始日期", get签约开始日期()) + .append("结算期限", get结算期限()) + .append("采购负责人", get采购负责人()) + .append("签约结束日期", get签约结束日期()) + .append("信用额度", get信用额度()) + .append("供应商地区", get供应商地区()) + .append("具体地址", get具体地址()) + .append("合同附件", get合同附件()) + .append("发票抬头", get发票抬头()) + .append("发票税号", get发票税号()) + .append("税种", get税种()) + .append("增值税税率%", get增值税税率()) + .append("开户银行", get开户银行()) + .append("银行账号", get银行账号()) + .append("创建时间", get创建时间()) + .append("创建用户", get创建用户()) + .append("最近修改时间", get最近修改时间()) + .append("修改用户", get修改用户()) + .toString(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jt/入库.java b/src/main/java/com/dsic/gj_erp/bean/jt/入库.java new file mode 100644 index 0000000..6c62e9f --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jt/入库.java @@ -0,0 +1,203 @@ +package com.dsic.gj_erp.bean.jt; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 【请填写功能名称】对象 入库 + * + * @author ruoyi + * @date 2024-06-26 + */ +public class 入库{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private String 选择采购订单; + + /** $column.columnComment */ + private String 采购入库单编号; + + /** $column.columnComment */ + private String 入库仓库; + + /** $column.columnComment */ + private Long 入库产品总数; + + /** $column.columnComment */ + private String 是否存在不合格品; + + /** $column.columnComment */ + private String 合格品入库确认; + + /** $column.columnComment */ + private Long 入库产品采购价总额; + + /** $column.columnComment */ + private String 质检时间; + + /** $column.columnComment */ + private String 质检员; + + /** $column.columnComment */ + private String 入库时间; + + /** $column.columnComment */ + private String 入库员; + + /** $column.columnComment */ + private String 创建时间; + + /** $column.columnComment */ + private String 创建用户; + + /** $column.columnComment */ + private String 修改用户; + + public void set选择采购订单(String 选择采购订单) + { + this.选择采购订单 = 选择采购订单; + } + + public String get选择采购订单() + { + return 选择采购订单; + } + public void set采购入库单编号(String 采购入库单编号) + { + this.采购入库单编号 = 采购入库单编号; + } + + public String get采购入库单编号() + { + return 采购入库单编号; + } + public void set入库仓库(String 入库仓库) + { + this.入库仓库 = 入库仓库; + } + + public String get入库仓库() + { + return 入库仓库; + } + public void set入库产品总数(Long 入库产品总数) + { + this.入库产品总数 = 入库产品总数; + } + + public Long get入库产品总数() + { + return 入库产品总数; + } + public void set是否存在不合格品(String 是否存在不合格品) + { + this.是否存在不合格品 = 是否存在不合格品; + } + + public String get是否存在不合格品() + { + return 是否存在不合格品; + } + public void set合格品入库确认(String 合格品入库确认) + { + this.合格品入库确认 = 合格品入库确认; + } + + public String get合格品入库确认() + { + return 合格品入库确认; + } + public void set入库产品采购价总额(Long 入库产品采购价总额) + { + this.入库产品采购价总额 = 入库产品采购价总额; + } + + public Long get入库产品采购价总额() + { + return 入库产品采购价总额; + } + public void set质检时间(String 质检时间) + { + this.质检时间 = 质检时间; + } + + public String get质检时间() + { + return 质检时间; + } + public void set质检员(String 质检员) + { + this.质检员 = 质检员; + } + + public String get质检员() + { + return 质检员; + } + public void set入库时间(String 入库时间) + { + this.入库时间 = 入库时间; + } + + public String get入库时间() + { + return 入库时间; + } + public void set入库员(String 入库员) + { + this.入库员 = 入库员; + } + + public String get入库员() + { + return 入库员; + } + public void set创建时间(String 创建时间) + { + this.创建时间 = 创建时间; + } + + public String get创建时间() + { + return 创建时间; + } + public void set创建用户(String 创建用户) + { + this.创建用户 = 创建用户; + } + + public String get创建用户() + { + return 创建用户; + } + public void set修改用户(String 修改用户) + { + this.修改用户 = 修改用户; + } + + public String get修改用户() + { + return 修改用户; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("选择采购订单", get选择采购订单()) + .append("采购入库单编号", get采购入库单编号()) + .append("入库仓库", get入库仓库()) + .append("入库产品总数", get入库产品总数()) + .append("是否存在不合格品", get是否存在不合格品()) + .append("合格品入库确认", get合格品入库确认()) + .append("入库产品采购价总额(含税)/元", get入库产品采购价总额()) + .append("质检时间", get质检时间()) + .append("质检员", get质检员()) + .append("入库时间", get入库时间()) + .append("入库员", get入库员()) + .append("创建时间", get创建时间()) + .append("创建用户", get创建用户()) + .append("修改用户", get修改用户()) + .toString(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jt/出库.java b/src/main/java/com/dsic/gj_erp/bean/jt/出库.java new file mode 100644 index 0000000..a87b8a5 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jt/出库.java @@ -0,0 +1,216 @@ +package com.dsic.gj_erp.bean.jt; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 【请填写功能名称】对象 出库 + * + * @author ruoyi + * @date 2024-06-26 + */ +public class 出库 { + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private String 选择销售订单; + + /** $column.columnComment */ + private String 产品出库标签; + + /** $column.columnComment */ + private String 出库仓库; + + /** $column.columnComment */ + private String 预计出库时间; + + /** $column.columnComment */ + private String 销售订单名称; + + /** $column.columnComment */ + private String 客户名称; + + /** $column.columnComment */ + private Long 出库产品总数; + + /** $column.columnComment */ + private Long 出库产品售价总额; + + /** $column.columnComment */ + private String 出库员; + + /** $column.columnComment */ + private String 客户收货确认; + + /** $column.columnComment */ + private String 收货确认时间; + + /** $column.columnComment */ + private String 创建时间; + + /** $column.columnComment */ + private String 创建用户; + + /** $column.columnComment */ + private String 最近修改时间; + + /** $column.columnComment */ + private String 修改用户; + + public void set选择销售订单(String 选择销售订单) + { + this.选择销售订单 = 选择销售订单; + } + + public String get选择销售订单() + { + return 选择销售订单; + } + public void set产品出库标签(String 产品出库标签) + { + this.产品出库标签 = 产品出库标签; + } + + public String get产品出库标签() + { + return 产品出库标签; + } + public void set出库仓库(String 出库仓库) + { + this.出库仓库 = 出库仓库; + } + + public String get出库仓库() + { + return 出库仓库; + } + public void set预计出库时间(String 预计出库时间) + { + this.预计出库时间 = 预计出库时间; + } + + public String get预计出库时间() + { + return 预计出库时间; + } + public void set销售订单名称(String 销售订单名称) + { + this.销售订单名称 = 销售订单名称; + } + + public String get销售订单名称() + { + return 销售订单名称; + } + public void set客户名称(String 客户名称) + { + this.客户名称 = 客户名称; + } + + public String get客户名称() + { + return 客户名称; + } + public void set出库产品总数(Long 出库产品总数) + { + this.出库产品总数 = 出库产品总数; + } + + public Long get出库产品总数() + { + return 出库产品总数; + } + public void set出库产品售价总额(Long 出库产品售价总额) + { + this.出库产品售价总额 = 出库产品售价总额; + } + + public Long get出库产品售价总额() + { + return 出库产品售价总额; + } + public void set出库员(String 出库员) + { + this.出库员 = 出库员; + } + + public String get出库员() + { + return 出库员; + } + public void set客户收货确认(String 客户收货确认) + { + this.客户收货确认 = 客户收货确认; + } + + public String get客户收货确认() + { + return 客户收货确认; + } + public void set收货确认时间(String 收货确认时间) + { + this.收货确认时间 = 收货确认时间; + } + + public String get收货确认时间() + { + return 收货确认时间; + } + public void set创建时间(String 创建时间) + { + this.创建时间 = 创建时间; + } + + public String get创建时间() + { + return 创建时间; + } + public void set创建用户(String 创建用户) + { + this.创建用户 = 创建用户; + } + + public String get创建用户() + { + return 创建用户; + } + public void set最近修改时间(String 最近修改时间) + { + this.最近修改时间 = 最近修改时间; + } + + public String get最近修改时间() + { + return 最近修改时间; + } + public void set修改用户(String 修改用户) + { + this.修改用户 = 修改用户; + } + + public String get修改用户() + { + return 修改用户; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("选择销售订单", get选择销售订单()) + .append("产品出库标签", get产品出库标签()) + .append("出库仓库", get出库仓库()) + .append("预计出库时间", get预计出库时间()) + .append("销售订单名称", get销售订单名称()) + .append("客户名称", get客户名称()) + .append("出库产品总数", get出库产品总数()) + .append("出库产品售价总额(含税)/元", get出库产品售价总额()) + .append("出库员", get出库员()) + .append("客户收货确认", get客户收货确认()) + .append("收货确认时间", get收货确认时间()) + .append("创建时间", get创建时间()) + .append("创建用户", get创建用户()) + .append("最近修改时间", get最近修改时间()) + .append("修改用户", get修改用户()) + .toString(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jt/发票管理.java b/src/main/java/com/dsic/gj_erp/bean/jt/发票管理.java new file mode 100644 index 0000000..be3b889 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jt/发票管理.java @@ -0,0 +1,177 @@ +package com.dsic.gj_erp.bean.jt; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 【请填写功能名称】对象 发票管理 + * + * @author ruoyi + * @date 2024-06-26 + */ +public class 发票管理 { + private static final long serialVersionUID = 1L; + + /** 选择对账单 */ + private String 选择对账单; + + /** 发票金额含税 */ + private String 发票金额含税; + + /** 待开票金额含税元 */ + private String 待开票金额含税元; + + /** 累计开票金额含税 */ + private String 累计开票金额含税; + + /** 发票类型 */ + private String 发票类型; + + /** 发票号码 */ + private String 发票号码; + + /** 开票时间 */ + private String 开票时间; + + /** 发票抬头 */ + private String 发票抬头; + + /** 发票税号 */ + private String 发票税号; + + /** 税种 */ + private String 税种; + + /** 经办人 */ + private String 经办人; + + /** 归属部门 */ + private String 归属部门; + + public void set选择对账单(String 选择对账单) + { + this.选择对账单 = 选择对账单; + } + + public String get选择对账单() + { + return 选择对账单; + } + public void set发票金额含税(String 发票金额含税) + { + this.发票金额含税 = 发票金额含税; + } + + public String get发票金额含税() + { + return 发票金额含税; + } + public void set待开票金额含税元(String 待开票金额含税元) + { + this.待开票金额含税元 = 待开票金额含税元; + } + + public String get待开票金额含税元() + { + return 待开票金额含税元; + } + public void set累计开票金额含税(String 累计开票金额含税) + { + this.累计开票金额含税 = 累计开票金额含税; + } + + public String get累计开票金额含税() + { + return 累计开票金额含税; + } + public void set发票类型(String 发票类型) + { + this.发票类型 = 发票类型; + } + + public String get发票类型() + { + return 发票类型; + } + public void set发票号码(String 发票号码) + { + this.发票号码 = 发票号码; + } + + public String get发票号码() + { + return 发票号码; + } + public void set开票时间(String 开票时间) + { + this.开票时间 = 开票时间; + } + + public String get开票时间() + { + return 开票时间; + } + public void set发票抬头(String 发票抬头) + { + this.发票抬头 = 发票抬头; + } + + public String get发票抬头() + { + return 发票抬头; + } + public void set发票税号(String 发票税号) + { + this.发票税号 = 发票税号; + } + + public String get发票税号() + { + return 发票税号; + } + public void set税种(String 税种) + { + this.税种 = 税种; + } + + public String get税种() + { + return 税种; + } + public void set经办人(String 经办人) + { + this.经办人 = 经办人; + } + + public String get经办人() + { + return 经办人; + } + public void set归属部门(String 归属部门) + { + this.归属部门 = 归属部门; + } + + public String get归属部门() + { + return 归属部门; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("选择对账单", get选择对账单()) + .append("发票金额含税", get发票金额含税()) + .append("待开票金额含税元", get待开票金额含税元()) + .append("累计开票金额含税", get累计开票金额含税()) + .append("发票类型", get发票类型()) + .append("发票号码", get发票号码()) + .append("开票时间", get开票时间()) + .append("发票抬头", get发票抬头()) + .append("发票税号", get发票税号()) + .append("税种", get税种()) + .append("经办人", get经办人()) + .append("归属部门", get归属部门()) + .toString(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jt/应付账款.java b/src/main/java/com/dsic/gj_erp/bean/jt/应付账款.java new file mode 100644 index 0000000..4b75cdd --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jt/应付账款.java @@ -0,0 +1,190 @@ +package com.dsic.gj_erp.bean.jt; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 【请填写功能名称】对象 应付账款 + * + * @author ruoyi + * @date 2024-06-26 + */ +public class 应付账款{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private String 产品名称; + + /** $column.columnComment */ + private String 单位; + + /** $column.columnComment */ + private Long 采购数量; + + /** $column.columnComment */ + private Long 实际采购价含税; + + /** $column.columnComment */ + private Long 实际采购价不含税; + + /** $column.columnComment */ + private String 应付状态; + + /** $column.columnComment */ + private Long 应付金额; + + /** $column.columnComment */ + private String 应付对账时间; + + /** $column.columnComment */ + private String 付款状态; + + /** $column.columnComment */ + private Long 付款金额; + + /** $column.columnComment */ + private String 付款时间; + + /** $column.columnComment */ + private Long 采购入库单; + + /** $column.columnComment */ + private Long 本次入库总数; + + public void set产品名称(String 产品名称) + { + this.产品名称 = 产品名称; + } + + public String get产品名称() + { + return 产品名称; + } + public void set单位(String 单位) + { + this.单位 = 单位; + } + + public String get单位() + { + return 单位; + } + public void set采购数量(Long 采购数量) + { + this.采购数量 = 采购数量; + } + + public Long get采购数量() + { + return 采购数量; + } + public void set实际采购价(Long 实际采购价) + { + this.实际采购价含税 = 实际采购价; + } + + public Long get实际采购价含税() + { + return 实际采购价含税; + } + public void set实际采购价不含税(Long 实际采购价不含税) + { + this.实际采购价不含税 = 实际采购价不含税; + } + + public Long get实际采购价不含税() + { + return 实际采购价不含税; + } + public void set应付状态(String 应付状态) + { + this.应付状态 = 应付状态; + } + + public String get应付状态() + { + return 应付状态; + } + public void set应付金额(Long 应付金额) + { + this.应付金额 = 应付金额; + } + + public Long get应付金额() + { + return 应付金额; + } + public void set应付对账时间(String 应付对账时间) + { + this.应付对账时间 = 应付对账时间; + } + + public String get应付对账时间() + { + return 应付对账时间; + } + public void set付款状态(String 付款状态) + { + this.付款状态 = 付款状态; + } + + public String get付款状态() + { + return 付款状态; + } + public void set付款金额(Long 付款金额) + { + this.付款金额 = 付款金额; + } + + public Long get付款金额() + { + return 付款金额; + } + public void set付款时间(String 付款时间) + { + this.付款时间 = 付款时间; + } + + public String get付款时间() + { + return 付款时间; + } + public void set采购入库单(Long 采购入库单) + { + this.采购入库单 = 采购入库单; + } + + public Long get采购入库单() + { + return 采购入库单; + } + public void set本次入库总数(Long 本次入库总数) + { + this.本次入库总数 = 本次入库总数; + } + + public Long get本次入库总数() + { + return 本次入库总数; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("产品名称", get产品名称()) + .append("单位", get单位()) + .append("采购数量", get采购数量()) + .append("实际采购价(含税)/元", get实际采购价含税()) + .append("实际采购价(不含税)/元", get实际采购价不含税()) + .append("应付状态", get应付状态()) + .append("应付金额/元", get应付金额()) + .append("应付对账时间", get应付对账时间()) + .append("付款状态", get付款状态()) + .append("付款金额/元", get付款金额()) + .append("付款时间", get付款时间()) + .append("采购入库单", get采购入库单()) + .append("本次入库总数", get本次入库总数()) + .toString(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jt/应收账款.java b/src/main/java/com/dsic/gj_erp/bean/jt/应收账款.java new file mode 100644 index 0000000..3922d1c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jt/应收账款.java @@ -0,0 +1,190 @@ +package com.dsic.gj_erp.bean.jt; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 【请填写功能名称】对象 应收账款 + * + * @author ruoyi + * @date 2024-06-26 + */ +public class 应收账款{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private String 销售出库单; + + /** $column.columnComment */ + private String 产品名称; + + /** $column.columnComment */ + private String 单位; + + /** $column.columnComment */ + private Long 销售数量; + + /** $column.columnComment */ + private Long 本次出库总数; + + /** $column.columnComment */ + private Long 实际售价含税; + + /** $column.columnComment */ + private Long 实际售价不含税; + + /** $column.columnComment */ + private String 应收状态; + + /** $column.columnComment */ + private Long 应收金额; + + /** $column.columnComment */ + private String 应收对账时间; + + /** $column.columnComment */ + private String 收款状态; + + /** $column.columnComment */ + private Long 收款金额; + + /** $column.columnComment */ + private String 收款时间; + + public void set销售出库单(String 销售出库单) + { + this.销售出库单 = 销售出库单; + } + + public String get销售出库单() + { + return 销售出库单; + } + public void set产品名称(String 产品名称) + { + this.产品名称 = 产品名称; + } + + public String get产品名称() + { + return 产品名称; + } + public void set单位(String 单位) + { + this.单位 = 单位; + } + + public String get单位() + { + return 单位; + } + public void set销售数量(Long 销售数量) + { + this.销售数量 = 销售数量; + } + + public Long get销售数量() + { + return 销售数量; + } + public void set本次出库总数(Long 本次出库总数) + { + this.本次出库总数 = 本次出库总数; + } + + public Long get本次出库总数() + { + return 本次出库总数; + } + public void set实际售价含税(Long 实际售价含税) + { + this.实际售价含税 = 实际售价含税; + } + + public Long get实际售价含税() + { + return 实际售价含税; + } + public void set实际售价不含税(Long 实际售价不含税) + { + this.实际售价不含税 = 实际售价不含税; + } + + public Long get实际售价不含税() + { + return 实际售价不含税; + } + public void set应收状态(String 应收状态) + { + this.应收状态 = 应收状态; + } + + public String get应收状态() + { + return 应收状态; + } + public void set应收金额(Long 应收金额) + { + this.应收金额 = 应收金额; + } + + public Long get应收金额() + { + return 应收金额; + } + public void set应收对账时间(String 应收对账时间) + { + this.应收对账时间 = 应收对账时间; + } + + public String get应收对账时间() + { + return 应收对账时间; + } + public void set收款状态(String 收款状态) + { + this.收款状态 = 收款状态; + } + + public String get收款状态() + { + return 收款状态; + } + public void set收款金额(Long 收款金额) + { + this.收款金额 = 收款金额; + } + + public Long get收款金额() + { + return 收款金额; + } + public void set收款时间(String 收款时间) + { + this.收款时间 = 收款时间; + } + + public String get收款时间() + { + return 收款时间; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("销售出库单", get销售出库单()) + .append("产品名称", get产品名称()) + .append("单位", get单位()) + .append("销售数量", get销售数量()) + .append("本次出库总数", get本次出库总数()) + .append("实际售价(含税)/元", get实际售价含税()) + .append("实际售价(不含税)/元", get实际售价不含税()) + .append("应收状态", get应收状态()) + .append("应收金额/元", get应收金额()) + .append("应收对账时间", get应收对账时间()) + .append("收款状态", get收款状态()) + .append("收款金额", get收款金额()) + .append("收款时间", get收款时间()) + .toString(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jt/盘点.java b/src/main/java/com/dsic/gj_erp/bean/jt/盘点.java new file mode 100644 index 0000000..f6edc2c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jt/盘点.java @@ -0,0 +1,190 @@ +package com.dsic.gj_erp.bean.jt; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 【请填写功能名称】对象 盘点 + * + * @author ruoyi + * @date 2024-06-26 + */ +public class 盘点{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private String 盘点类型; + + /** $column.columnComment */ + private String 盘点单编号; + + /** $column.columnComment */ + private String 盘点开始日期; + + /** $column.columnComment */ + private String 盘点结束日期; + + /** $column.columnComment */ + private String 盘点仓库; + + /** $column.columnComment */ + private String 盘点员; + + /** $column.columnComment */ + private Long 盘亏产品总数; + + /** $column.columnComment */ + private Long 盘亏产品售价总额含税; + + /** $column.columnComment */ + private Long 盘盈产品总数; + + /** $column.columnComment */ + private Long 盘盈产品售价总额含税; + + /** $column.columnComment */ + private String 创建时间; + + /** $column.columnComment */ + private String 创建用户; + + /** $column.columnComment */ + private String 最近修改时间; + + public void set盘点类型(String 盘点类型) + { + this.盘点类型 = 盘点类型; + } + + public String get盘点类型() + { + return 盘点类型; + } + public void set盘点单编号(String 盘点单编号) + { + this.盘点单编号 = 盘点单编号; + } + + public String get盘点单编号() + { + return 盘点单编号; + } + public void set盘点开始日期(String 盘点开始日期) + { + this.盘点开始日期 = 盘点开始日期; + } + + public String get盘点开始日期() + { + return 盘点开始日期; + } + public void set盘点结束日期(String 盘点结束日期) + { + this.盘点结束日期 = 盘点结束日期; + } + + public String get盘点结束日期() + { + return 盘点结束日期; + } + public void set盘点仓库(String 盘点仓库) + { + this.盘点仓库 = 盘点仓库; + } + + public String get盘点仓库() + { + return 盘点仓库; + } + public void set盘点员(String 盘点员) + { + this.盘点员 = 盘点员; + } + + public String get盘点员() + { + return 盘点员; + } + public void set盘亏产品总数(Long 盘亏产品总数) + { + this.盘亏产品总数 = 盘亏产品总数; + } + + public Long get盘亏产品总数() + { + return 盘亏产品总数; + } + public void set盘亏产品售价总额含税(Long 盘亏产品售价总额含税) + { + this.盘亏产品售价总额含税 = 盘亏产品售价总额含税; + } + + public Long get盘亏产品售价总额含税() + { + return 盘亏产品售价总额含税; + } + public void set盘盈产品总数(Long 盘盈产品总数) + { + this.盘盈产品总数 = 盘盈产品总数; + } + + public Long get盘盈产品总数() + { + return 盘盈产品总数; + } + public void set盘盈产品售价总额含税(Long 盘盈产品售价总额含税) + { + this.盘盈产品售价总额含税 = 盘盈产品售价总额含税; + } + + public Long get盘盈产品售价总额含税() + { + return 盘盈产品售价总额含税; + } + public void set创建时间(String 创建时间) + { + this.创建时间 = 创建时间; + } + + public String get创建时间() + { + return 创建时间; + } + public void set创建用户(String 创建用户) + { + this.创建用户 = 创建用户; + } + + public String get创建用户() + { + return 创建用户; + } + public void set最近修改时间(String 最近修改时间) + { + this.最近修改时间 = 最近修改时间; + } + + public String get最近修改时间() + { + return 最近修改时间; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("盘点类型", get盘点类型()) + .append("盘点单编号", get盘点单编号()) + .append("盘点开始日期", get盘点开始日期()) + .append("盘点结束日期", get盘点结束日期()) + .append("盘点仓库", get盘点仓库()) + .append("盘点员", get盘点员()) + .append("盘亏产品总数", get盘亏产品总数()) + .append("盘亏产品售价总额(含税)/元", get盘亏产品售价总额含税()) + .append("盘盈产品总数", get盘盈产品总数()) + .append("盘盈产品售价总额(含税)/元", get盘盈产品售价总额含税()) + .append("创建时间", get创建时间()) + .append("创建用户", get创建用户()) + .append("最近修改时间", get最近修改时间()) + .toString(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jt/退货.java b/src/main/java/com/dsic/gj_erp/bean/jt/退货.java new file mode 100644 index 0000000..00012c1 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jt/退货.java @@ -0,0 +1,229 @@ +package com.dsic.gj_erp.bean.jt; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 【请填写功能名称】对象 退货 + * + * @author ruoyi + * @date 2024-06-26 + */ +public class 退货{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private String 客户名称; + + /** $column.columnComment */ + private String 退货申请日期; + + /** $column.columnComment */ + private String 采购退货单编号; + + /** $column.columnComment */ + private String 选择采购订单; + + /** $column.columnComment */ + private String 退货原因; + + /** $column.columnComment */ + private String 退货仓库; + + /** $column.columnComment */ + private String 经办人; + + /** $column.columnComment */ + private Long 退货产品总数; + + /** $column.columnComment */ + private Long 退货产品采购价总额含税; + + /** $column.columnComment */ + private Long 已入库退货产品总数; + + /** $column.columnComment */ + private Long 已入库退货产品售价总额含税; + + /** $column.columnComment */ + private String 产品退回确认; + + /** $column.columnComment */ + private String 退货处理时间; + + /** $column.columnComment */ + private String 创建时间; + + /** $column.columnComment */ + private String 创建用户; + + /** $column.columnComment */ + private String 最近修改时间; + + public void set客户名称(String 客户名称) + { + this.客户名称 = 客户名称; + } + + public String get客户名称() + { + return 客户名称; + } + public void set退货申请日期(String 退货申请日期) + { + this.退货申请日期 = 退货申请日期; + } + + public String get退货申请日期() + { + return 退货申请日期; + } + public void set采购退货单编号(String 采购退货单编号) + { + this.采购退货单编号 = 采购退货单编号; + } + + public String get采购退货单编号() + { + return 采购退货单编号; + } + public void set选择采购订单(String 选择采购订单) + { + this.选择采购订单 = 选择采购订单; + } + + public String get选择采购订单() + { + return 选择采购订单; + } + public void set退货原因(String 退货原因) + { + this.退货原因 = 退货原因; + } + + public String get退货原因() + { + return 退货原因; + } + public void set退货仓库(String 退货仓库) + { + this.退货仓库 = 退货仓库; + } + + public String get退货仓库() + { + return 退货仓库; + } + public void set经办人(String 经办人) + { + this.经办人 = 经办人; + } + + public String get经办人() + { + return 经办人; + } + public void set退货产品总数(Long 退货产品总数) + { + this.退货产品总数 = 退货产品总数; + } + + public Long get退货产品总数() + { + return 退货产品总数; + } + public void set退货产品采购价总额含税(Long 退货产品采购价总额含税) + { + this.退货产品采购价总额含税 = 退货产品采购价总额含税; + } + + public Long get退货产品采购价总额含税() + { + return 退货产品采购价总额含税; + } + public void set已入库退货产品总数(Long 已入库退货产品总数) + { + this.已入库退货产品总数 = 已入库退货产品总数; + } + + public Long get已入库退货产品总数() + { + return 已入库退货产品总数; + } + public void set已入库退货产品售价总额含税(Long 已入库退货产品售价总额含税) + { + this.已入库退货产品售价总额含税 = 已入库退货产品售价总额含税; + } + + public Long get已入库退货产品售价总额含税() + { + return 已入库退货产品售价总额含税; + } + public void set产品退回确认(String 产品退回确认) + { + this.产品退回确认 = 产品退回确认; + } + + public String get产品退回确认() + { + return 产品退回确认; + } + public void set退货处理时间(String 退货处理时间) + { + this.退货处理时间 = 退货处理时间; + } + + public String get退货处理时间() + { + return 退货处理时间; + } + public void set创建时间(String 创建时间) + { + this.创建时间 = 创建时间; + } + + public String get创建时间() + { + return 创建时间; + } + public void set创建用户(String 创建用户) + { + this.创建用户 = 创建用户; + } + + public String get创建用户() + { + return 创建用户; + } + public void set最近修改时间(String 最近修改时间) + { + this.最近修改时间 = 最近修改时间; + } + + public String get最近修改时间() + { + return 最近修改时间; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("客户名称", get客户名称()) + .append("退货申请日期", get退货申请日期()) + .append("采购退货单编号", get采购退货单编号()) + .append("选择采购订单", get选择采购订单()) + .append("退货原因", get退货原因()) + .append("退货仓库", get退货仓库()) + .append("经办人", get经办人()) + .append("退货产品总数", get退货产品总数()) + .append("退货产品采购价总额(含税)/元", get退货产品采购价总额含税()) + .append("已入库-退货产品总数", get已入库退货产品总数()) + .append("已入库-退货产品售价总额(含税)/元", get已入库退货产品售价总额含税()) + .append("产品退回确认", get产品退回确认()) + .append("退货处理时间", get退货处理时间()) + .append("创建时间", get创建时间()) + .append("创建用户", get创建用户()) + .append("最近修改时间", get最近修改时间()) + .toString(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jt/采购订单.java b/src/main/java/com/dsic/gj_erp/bean/jt/采购订单.java new file mode 100644 index 0000000..6849aab --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jt/采购订单.java @@ -0,0 +1,268 @@ +package com.dsic.gj_erp.bean.jt; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 【请填写功能名称】对象 采购订单 + * + * @author ruoyi + * @date 2024-06-26 + */ +public class 采购订单{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private String 选择供应商; + + /** $column.columnComment */ + private String 订单签订日期; + + /** $column.columnComment */ + private String 采购订单名称; + + /** $column.columnComment */ + private String 订单交付日期; + + /** $column.columnComment */ + private String 采购负责人; + + /** $column.columnComment */ + private String 入库仓库; + + /** $column.columnComment */ + private Long 采购原价总额含税; + + /** $column.columnComment */ + private Long 优惠金额; + + /** $column.columnComment */ + private Long 整单折扣率; + + /** $column.columnComment */ + private Long 采购订单金额含税; + + /** $column.columnComment */ + private Long 采购金额合计不含税; + + /** $column.columnComment */ + private String 合同附件上传; + + /** $column.columnComment */ + private String 到货地址; + + /** $column.columnComment */ + private String 具体地址; + + /** $column.columnComment */ + private String 结算期限; + + /** $column.columnComment */ + private String 创建时间; + + /** $column.columnComment */ + private String 创建用户; + + /** $column.columnComment */ + private String 最近修改时间; + + /** $column.columnComment */ + private String 修改用户; + + public void set选择供应商(String 选择供应商) + { + this.选择供应商 = 选择供应商; + } + + public String get选择供应商() + { + return 选择供应商; + } + public void set订单签订日期(String 订单签订日期) + { + this.订单签订日期 = 订单签订日期; + } + + public String get订单签订日期() + { + return 订单签订日期; + } + public void set采购订单名称(String 采购订单名称) + { + this.采购订单名称 = 采购订单名称; + } + + public String get采购订单名称() + { + return 采购订单名称; + } + public void set订单交付日期(String 订单交付日期) + { + this.订单交付日期 = 订单交付日期; + } + + public String get订单交付日期() + { + return 订单交付日期; + } + public void set采购负责人(String 采购负责人) + { + this.采购负责人 = 采购负责人; + } + + public String get采购负责人() + { + return 采购负责人; + } + public void set入库仓库(String 入库仓库) + { + this.入库仓库 = 入库仓库; + } + + public String get入库仓库() + { + return 入库仓库; + } + public void set采购原价总额含税(Long 采购原价总额含税) + { + this.采购原价总额含税 = 采购原价总额含税; + } + + public Long get采购原价总额含税() + { + return 采购原价总额含税; + } + public void set优惠金额(Long 优惠金额) + { + this.优惠金额 = 优惠金额; + } + + public Long get优惠金额() + { + return 优惠金额; + } + public void set整单折扣率(Long 整单折扣率) + { + this.整单折扣率 = 整单折扣率; + } + + public Long get整单折扣率() + { + return 整单折扣率; + } + public void set采购订单金额含税(Long 采购订单金额含税) + { + this.采购订单金额含税 = 采购订单金额含税; + } + + public Long get采购订单金额含税() + { + return 采购订单金额含税; + } + public void set采购金额合计不含税(Long 采购金额合计不含税) + { + this.采购金额合计不含税 = 采购金额合计不含税; + } + + public Long get采购金额合计不含税() + { + return 采购金额合计不含税; + } + public void set合同附件上传(String 合同附件上传) + { + this.合同附件上传 = 合同附件上传; + } + + public String get合同附件上传() + { + return 合同附件上传; + } + public void set到货地址(String 到货地址) + { + this.到货地址 = 到货地址; + } + + public String get到货地址() + { + return 到货地址; + } + public void set具体地址(String 具体地址) + { + this.具体地址 = 具体地址; + } + + public String get具体地址() + { + return 具体地址; + } + public void set结算期限(String 结算期限) + { + this.结算期限 = 结算期限; + } + + public String get结算期限() + { + return 结算期限; + } + public void set创建时间(String 创建时间) + { + this.创建时间 = 创建时间; + } + + public String get创建时间() + { + return 创建时间; + } + public void set创建用户(String 创建用户) + { + this.创建用户 = 创建用户; + } + + public String get创建用户() + { + return 创建用户; + } + public void set最近修改时间(String 最近修改时间) + { + this.最近修改时间 = 最近修改时间; + } + + public String get最近修改时间() + { + return 最近修改时间; + } + public void set修改用户(String 修改用户) + { + this.修改用户 = 修改用户; + } + + public String get修改用户() + { + return 修改用户; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("选择供应商", get选择供应商()) + .append("订单签订日期", get订单签订日期()) + .append("采购订单名称", get采购订单名称()) + .append("订单交付日期", get订单交付日期()) + .append("采购负责人", get采购负责人()) + .append("入库仓库", get入库仓库()) + .append("采购原价总额(含税)/元", get采购原价总额含税()) + .append("优惠金额", get优惠金额()) + .append("整单折扣率", get整单折扣率()) + .append("采购订单金额(含税)/元", get采购订单金额含税()) + .append("采购金额合计(不含税)/元", get采购金额合计不含税()) + .append("合同附件上传", get合同附件上传()) + .append("到货地址", get到货地址()) + .append("具体地址", get具体地址()) + .append("结算期限", get结算期限()) + .append("创建时间", get创建时间()) + .append("创建用户", get创建用户()) + .append("最近修改时间", get最近修改时间()) + .append("修改用户", get修改用户()) + .toString(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/bean/request/CopyRequest.java b/src/main/java/com/dsic/gj_erp/bean/request/CopyRequest.java new file mode 100644 index 0000000..fe9c8bd --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/request/CopyRequest.java @@ -0,0 +1,13 @@ +package com.dsic.gj_erp.bean.request; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class CopyRequest { + private String project;//工程号 + private String dwgNo;//图号 + private Integer amount=1;//数量 + private T bean; +} diff --git a/src/main/java/com/dsic/gj_erp/bean/scjh/GzscjhzxckVo.java b/src/main/java/com/dsic/gj_erp/bean/scjh/GzscjhzxckVo.java new file mode 100644 index 0000000..1cfeea0 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/scjh/GzscjhzxckVo.java @@ -0,0 +1,367 @@ +package com.dsic.gj_erp.bean.scjh; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + *

+ * 管子生产计划执行查询情况返回Vo 愮有 制作完工时间得根数 处理完工时间得根数 配送出库完成得时间 + *

+ * + * @author xhj + * @since 2021-10-29 + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class GzscjhzxckVo { + + private static final long serialVersionUID=1L; + + // >=06 + private Long zzwgQty; + //>=07 + private Long clwgQty; + //>=10 + private Long psckQty; + + + + private String id; + + @ApiModelProperty(value = "工程编号 Q11") + private String project; + + @ApiModelProperty(value = "区域 Q12") + private String zone; + + @ApiModelProperty(value = "分段号 Q13") + private String blockNo; + + @ApiModelProperty(value = "批号 Q21") + private String ph; + + @ApiModelProperty(value = "卡号 Q22") + private String kh; + + @ApiModelProperty(value = "暂不使用 不显示") + private String pmlNo; + + @ApiModelProperty(value = "制作图号 Q23") + private String dwgNo; + + @ApiModelProperty(value = "图纸名称 Q24") + private String dwgName; + + @ApiModelProperty(value = "计划分类 dict=‘jhlx’ (1001-管支架 0201-管子制作)") + private String planType; + + @ApiModelProperty(value = "图纸类型 Q25 dict='TZLX' (01-制作图 02-通知单 99-其他) 默认01") + private String dwgType; + + @ApiModelProperty(value = "数量") + private BigDecimal qty; + + @ApiModelProperty(value = "工时") + private BigDecimal wkh; + + @ApiModelProperty(value = "管材重量(吨)") + private BigDecimal wgt; + + @ApiModelProperty(value = "计划状态 Q15 dict=‘SCJHZT’ (01-编制 02-提交 03-审核 04-预留 05-平衡) 默认01") + private String status; + + @ApiModelProperty(value = "责任单位 (默认 02-管系制造部)") + private String departCode; + + @ApiModelProperty(value = "所属车间 不用显示关联制作图数据使用 默认赋值(02-管子 021-管支架)") + private String sscj; + + @ApiModelProperty(value = "需求单位 Q31 (dm_demand_depart需求单位表)") + private String xqdw; + + @ApiModelProperty(value = "需求时间 Q32 (1时间类型:需求时间|制作完工计划时间|集配入库计划完成时间 2开始 3结束)") + private String xqsj; + + @ApiModelProperty(value = "配送地点 暂不使用") + private String xqdd; + + @ApiModelProperty(value = "前方实际需求日期") + private String sjxqsj; + + @ApiModelProperty(value = "前方实际需求周次") + private String sjxqzc; + + @ApiModelProperty(value = "计划提前期方案") + private String leadtimeName; + + @ApiModelProperty(value = "图纸证件需求时间") + private String tzzjJhsj; + + @ApiModelProperty(value = "技术处理下图计划时间") + private String jsclJhsj; + + @ApiModelProperty(value = "物资准备完成计划时间") + private String wzzbJhsj; + + @ApiModelProperty(value = "备料完成计划时间 暂不使用") + private String blwgJhsj; + + @ApiModelProperty(value = "机加工完工计划时间 暂不使用") + private String jjwgJhsj; + + @ApiModelProperty(value = "制作完工计划时间") + private String zzwgJhsj; + + @ApiModelProperty(value = "涂塑处理完工计划时间") + private String tswgJhsj; + + @ApiModelProperty(value = "表面处理完工计划时间") + private String clwgJhsj; + + @ApiModelProperty(value = "涂装完工计划时间 暂不使用") + private String tzwgJhsj; + + @ApiModelProperty(value = "集配入库计划时间") + private String jprkJhsj; + + @ApiModelProperty(value = "计划性质 (计划平衡时输入)") + private String jhxz; + + @ApiModelProperty(value = "集配入库平衡计划时间 (计划平衡时输入)") + private String jprkPhsj; + + @ApiModelProperty(value = "图纸证件来图时间") + private String tzzjSjsj; + + @ApiModelProperty(value = "图纸份数") + private Integer tzzjFs; + + @ApiModelProperty(value = "图纸登记人员") + private String tzzjDjry; + + @ApiModelProperty(value = "技术处理完成时间") + private String jsclSjsj; + + @ApiModelProperty(value = "主管工艺员") + private String gyry; + + @ApiModelProperty(value = "物资准备完成时间 (开始-结束)") + private String wzzbSjsj; + + @ApiModelProperty(value = "作业计划下达时间 (开始-结束)") + private String zyjhSjsj; + + @ApiModelProperty(value = "备料完成时间 (开始-结束) 暂不使用") + private String blwgSjsj; + + @ApiModelProperty(value = "机加工完工时间 (开始-结束) 暂不使用") + private String jjwgSjsj; + + //制作完工转运回报 + @ApiModelProperty(value = "制作完工时间 (开始-结束)") + private String zzwgSjsj; + + @ApiModelProperty(value = "涂塑完工时间 (开始-结束)") + private String tswgSjsj; + + //表面处理完工回报反写 + @ApiModelProperty(value = "表面处理完工时间 (开始-结束)") + private String vlwgSjsj; + + + @ApiModelProperty(value = "涂装完工时间 (开始-结束) 暂不使用") + private String tzwgSjsj; + + @ApiModelProperty(value = "集配入库时间 (开始-结束)") + private String jprkSjsj; + + //管子前方配送维护时反写 + @ApiModelProperty(value = "配送出库时间 (开始-结束)") + private String psckSjsj; + + @ApiModelProperty(value = "生产状态 预留") + private String status1; + + @ApiModelProperty(value = "拖期说明") + private String delayRemark; + + @ApiModelProperty(value = "编制人员 Q14") + private String bzry; + + @ApiModelProperty(value = "编制日期") + private String bzrq; + + @ApiModelProperty(value = "提交人员") + private String tjry; + + @ApiModelProperty(value = "提交日期") + private String tjrq; + + @ApiModelProperty(value = "审核人员") + private String shry; + + @ApiModelProperty(value = "审核日期") + private String shrq; + + @ApiModelProperty(value = "平衡人员") + private String phry; + + @ApiModelProperty(value = "平衡日期") + private String phrq; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "舾装需求计划日期") + private String xzxqJhrq; + + @ApiModelProperty(value = "舾装需求编制人员") + private String xzxqBzry; + + @ApiModelProperty(value = "舾装需求编制日期") + private String xzxqBzrq; + + @ApiModelProperty(value = "舾装需求备注") + private String xzxqRemark; + + @ApiModelProperty(value = "计划修正次数") + private Integer modifyTimes; + + @ApiModelProperty(value = "计划修正人员") + private String modifyRy; + + @ApiModelProperty(value = "计划修正日期") + private String modifyRq; + + @ApiModelProperty(value = "原需求日期") + private String lastXqsj; + + @ApiModelProperty(value = "原制作完工计划时间") + private String lastZzwgJhsj; + + @ApiModelProperty(value = "原集配入库计划时间") + private String lastJprkJhsj; + + @ApiModelProperty(value = "材料托盘表") + private String pmlCl; + + @ApiModelProperty(value = "材料托盘表-来图时间") + private String pmlClLtsj; + + @ApiModelProperty(value = "制作件托盘表") + private String pmlZz; + + @ApiModelProperty(value = "制作件托盘表-来图时间") + private String pmlZzLtsj; + + @ApiModelProperty(value = "安装托盘表") + private String pmlAz; + + @ApiModelProperty(value = "安装托盘表-来图时间") + private String pmlAzLtsj; + + @ApiModelProperty(value = "安装附件托盘表") + private String pmlAzfj; + + @ApiModelProperty(value = "安装附件托盘表-来图时间") + private String pmlAzfjLtsj; + + @ApiModelProperty(value = "管支架制作图") + private String dwgGzj; + + @ApiModelProperty(value = "管支架制作图-来图时间") + private String dwgGzjLtsj; + + @ApiModelProperty(value = "安装图号") + private String dwgAz; + + @ApiModelProperty(value = "安装图-来图时间") + private String dwgAzLtsj; + + @ApiModelProperty(value = "订货清单_管材") + private String dhqdGc; + + @ApiModelProperty(value = "订货清单_附件") + private String dhqdFj; + + @ApiModelProperty(value = "订货清单_焊材") + private String dhqdHc; + + @ApiModelProperty(value = "采购批号_管材") + private String cgphGc; + + @ApiModelProperty(value = "采购批号_附件") + private String cgphFj; + + @ApiModelProperty(value = "取消标识 Y/N 默认N") + private String cancelMark; + + @ApiModelProperty(value = "取消日期") + private String cancelDate; + + @ApiModelProperty(value = "取消人员") + private String cancelUser; + + @ApiModelProperty(value = "取消说明") + private String cancelRemark; + + @ApiModelProperty(value = "WP_NO 暂不使用CIMS预留") + @TableField("WP_NO") + private String wpNo; + + @ApiModelProperty(value = "WO_NO 暂不使用CIMS预留") + @TableField("WO_NO") + private String woNo; + + @ApiModelProperty(value = "WRK_ORGN 暂不使用CIMS预留") + @TableField("WRK_ORGN") + private String wrkOrgn; + + @ApiModelProperty(value = "DEPT_STPLDT 暂不使用CIMS预留") + @TableField("DEPT_STPLDT") + private String deptStpldt; + + @ApiModelProperty(value = "DEPT_FIPLDT 暂不使用CIMS预留") + @TableField("DEPT_FIPLDT") + private String deptFipldt; + + @ApiModelProperty(value = "WK_STDT 暂不使用CIMS预留") + @TableField("WK_STDT") + private String wkStdt; + + @ApiModelProperty(value = "WK_FIDT 暂不使用CIMS预留") + @TableField("WK_FIDT") + private String wkFidt; + + @ApiModelProperty(value = "RGST_USER_ID 暂不使用CIMS预留") + @TableField("RGST_USER_ID") + private String rgstUserId; + + @ApiModelProperty(value = "CIMS_ST_SN 暂不使用CIMS预留") + @TableField("CIMS_ST_SN") + private String cimsStSn; + + @ApiModelProperty(value = "CIMS_FI_SN 暂不使用CIMS预留") + @TableField("CIMS_FI_SN") + private String cimsFiSn; + + private String ylzd1; + + private String ylzd2; + + private String ylzd3; + + private BigDecimal ylzd4; + + private BigDecimal ylzd5; + + private BigDecimal ylzd6; + + + + +} diff --git a/src/main/java/com/dsic/gj_erp/bean/txzz/DmMateria.java b/src/main/java/com/dsic/gj_erp/bean/txzz/DmMateria.java new file mode 100644 index 0000000..091cb15 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/txzz/DmMateria.java @@ -0,0 +1,246 @@ +package com.dsic.gj_erp.bean.txzz; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + + +/** + *

+ * 物品基本表 + *

+ * + * @author xhj + * @since 2021-03-29 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="DmMateria对象", description="物品基本表") +public class DmMateria implements Serializable { + + private static final long serialVersionUID=1L; + + @TableId(value = "mat_no", type = IdType.INPUT) + @ApiModelProperty(value = "物品号") + private String matNo; + + private String ylMatNo;//料卡用物品号/流程卡物品号 + private String txMatNo;//铁舾物品号 + + +// @TableField(exist = false) +// // 原来的物品号 物品号是主键 +// private String ymatNo; + + @ApiModelProperty(value = "物品名称") + private String matName; + + @ApiModelProperty(value = "规格") + private String matSpec; + + @ApiModelProperty(value = "物资编码一级分类") + private String firstCateg; + + @ApiModelProperty(value = "物资编码二级分类") + private String secondCateg; + + @ApiModelProperty(value = "型号/标准号") + private String matVersion; + + @ApiModelProperty(value = "材质") + private String matGrd; + + @ApiModelProperty(value = "使用类型4级分类") + private String useCateg; +// @Dict(dictTable ="dm_institution",dictText = "institution_name",dictCode = "institution_code") + @ApiModelProperty(value = "仓库三级分类") + private String institutionCode; + + @ApiModelProperty(value = "净重量") + private BigDecimal jweight; + + @ApiModelProperty(value = "毛重量") + private BigDecimal mweight; + + @ApiModelProperty(value = "密度") + private BigDecimal density; + + @ApiModelProperty(value = "面积") + private BigDecimal matArea; + + @ApiModelProperty(value = "面积2") + private BigDecimal matArea1; + + @ApiModelProperty(value = "核算计量单位") + private String hsUnit; + + @ApiModelProperty(value = "制造部计量单位") + private String zzUnit; + + @ApiModelProperty(value = "采购计量单位") + private String cgUnit; + + @ApiModelProperty(value = "物品级别") + private String matLevel; + +// @Dict(dictCode = "WPLX") + @ApiModelProperty(value = "物品分类") + private String matCateg; + + @ApiModelProperty(value = "采购分管部门") + private String cgDept; + + @ApiModelProperty(value = "分管采购员") + private String cgRy; + + @ApiModelProperty(value = "业务主管部门1") + private String mainDept1; + + @ApiModelProperty(value = "业务主管部门") + private String mainDept; + + @ApiModelProperty(value = "订货周期") + private Integer orderPeriod; + + @ApiModelProperty(value = "领用周期") + private Integer usePeriod; + + @ApiModelProperty(value = "采购常用标识") + private String cgFlag; + + @ApiModelProperty(value = "tx标识") + private Integer txFlag; + + @ApiModelProperty(value = "gj标识") + private Integer gjFlag; + + @ApiModelProperty(value = "dy标识") + private Integer dyFlag; + + @ApiModelProperty(value = "t1") + private BigDecimal t1; + + private BigDecimal t2; + + private BigDecimal b1; + + private String b2; + + @ApiModelProperty(value = "开工日期") + private String l; + + @ApiModelProperty(value = "工艺备注") + private String craftRemark; + + @ApiModelProperty(value = "面积公式") + private String areaFormula; + + @ApiModelProperty(value = "体积公式") + private String volumeFormula; + + @ApiModelProperty(value = "依据1") + private String gist1; + + @ApiModelProperty(value = "依据2") + private String gist2; + + @ApiModelProperty(value = "材料来处") + private String matFrom; + + @ApiModelProperty(value = "零件来处") + private String piecesFrom; + + @ApiModelProperty(value = "所属部门") + private String departCode; + + @ApiModelProperty(value = "abc分类") + private String abcCateg; + + @ApiModelProperty(value = "工艺识别号") + private String craftIdentifyNo; + + @ApiModelProperty(value = "用户分类码") + private String usertypeStatus; + + @ApiModelProperty(value = "使用状态") + private String useStatus; + + private String bzry; + + private String bzrq; + + private String tjry; + + private String tjrq; + + private String spry; + + @ApiModelProperty(value = "审批日期") + private String sprq; + + @ApiModelProperty(value = "油漆稀释剂") + private String tmatCode; + + @ApiModelProperty(value = "消耗率") + private BigDecimal consumeRate; + + @ApiModelProperty(value = "固体含量") + private BigDecimal svt; + + @ApiModelProperty(value = "油漆厂家") + private String factory; + + @ApiModelProperty(value = "定额焊丝kg") + private BigDecimal fixedWire; + + @ApiModelProperty(value = "焊点数量") + private Integer weldngNum; + + @ApiModelProperty(value = "坡口数量") + private Integer grooveNum; + + @ApiModelProperty(value = "翻口数量") + private Integer turnNum; + // 喷嘴 + private String nozzleModel; + + @ApiModelProperty(value = "混合使用期~r~nh/20℃") + private BigDecimal blendUse; + + @ApiModelProperty(value = "稀释剂消耗率") + private BigDecimal tmatConsumeRate; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "焊材重量") + private BigDecimal hczl; + //工艺类别(油漆使用) + private String gylb; + + // 使用方式(在基础数据中导入附件信息 添加) gjjbs + private String useType; + // 安全库存(在基础数据中导入附件信息 添加) + private BigDecimal safekc; + // 最大库存(在基础数据中导入附件信息 添加) + private BigDecimal maxkc; + + // 客户材料编码 在基础数据中导入附件信息 添加) + private String itemBm; + + + //购置类型 + private String gzlx; + + //附件级别 + private String fjjb; + + // 1,2,3,3 + private String project; +} diff --git a/src/main/java/com/dsic/gj_erp/bean/txzz/DmProject.java b/src/main/java/com/dsic/gj_erp/bean/txzz/DmProject.java new file mode 100644 index 0000000..0647fa9 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/txzz/DmProject.java @@ -0,0 +1,190 @@ +package com.dsic.gj_erp.bean.txzz; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.dsic.gj_erp.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 船只信息 + *

+ * + * @author xhj + * @since 2021-03-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="DmProject对象", description="船只信息") +public class DmProject implements Serializable { + + private static final long serialVersionUID=1L; + // qw.select("project","factory_area","classs","owner","project_type"); + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "工程编号 Q11") + + private String project; + + @ApiModelProperty(value = "工程名称 Q12") + private String projectName; + + @ApiModelProperty(value = "代替工程编号 订单打印导出时转换使用") + private String projectReplace; + + @Dict(dictCode = "GCLX") + @ApiModelProperty(value = "船只类型 dict='GCLX'") + private String projectType; + + @ApiModelProperty(value = "完工标识 N(默认)/Y") + private String finishFlag; + + @ApiModelProperty(value = "系列") + private String series; + + @ApiModelProperty(value = "简称") + private String sproject; + + @Dict(dictCode = "GCQY") + @ApiModelProperty(value = "工厂区域 dict=''GCQY''") + private String factoryArea; + + @ApiModelProperty(value = "船级社") + private String classs; + + @ApiModelProperty(value = "船东") + private String owner; + + @ApiModelProperty(value = "船检") + private String classSurveyor; + + @ApiModelProperty(value = "管系基础船只") + private String gjProject; + + @ApiModelProperty(value = "是否为首制船,0:否;1:是;") + private Integer firstMake; + + @ApiModelProperty(value = "管系计调员") + private String gjOperator; + + @ApiModelProperty(value = "铁舾基础船只") + private String txProject; + + @ApiModelProperty(value = "铁舾计调员") + private String txOperator; + + @ApiModelProperty(value = "是否按区域") + private String areaFlag; + + @ApiModelProperty(value = "批号") + private String bathNo; + + @ApiModelProperty(value = "批号1") + private String bathNo1; + + @ApiModelProperty(value = "批号2") + private String bathNo2; + + @ApiModelProperty(value = "批号3") + private String bathNo3; + + @ApiModelProperty(value = "批号4") + private String bathNo4; + + @ApiModelProperty(value = "批号5") + private String bathNo5; + + @ApiModelProperty(value = "批号6") + private String bathNo6; + + @ApiModelProperty(value = "批号7") + private String bathNo7; + + @ApiModelProperty(value = "批号8") + private String bathNo8; + + @ApiModelProperty(value = "安装区域") + private String area; + + @ApiModelProperty(value = "工艺员") + private String craftBy; + + @ApiModelProperty(value = "安装区域1") + private String area1; + + @ApiModelProperty(value = "工艺员1") + private String craftBy1; + + @ApiModelProperty(value = "安装区域2") + private String area2; + + @ApiModelProperty(value = "工艺员2") + private String craftBy2; + + @ApiModelProperty(value = "单元计调员") + private String dyOperator; + + @ApiModelProperty(value = "开工日期") + private String startDate; + + @ApiModelProperty(value = "开工日期依据") + private String startBasis; + + @ApiModelProperty(value = "铺底日期") + private String bottomDate; + + @ApiModelProperty(value = "铺底日期依据") + private String bottomBasis; + + @ApiModelProperty(value = "下水日期") + private String waterDate; + + @ApiModelProperty(value = "试航日期") + private String sailDate; + + @ApiModelProperty(value = "签字交工日期") + private String signDate; + + @ApiModelProperty(value = "管系工时标准") + private String gjgsStandard; + + @ApiModelProperty(value = "管材系数") + private BigDecimal pipeFactor; + + @ApiModelProperty(value = "管支架型材系数") + private BigDecimal pipeSupport; + + @ApiModelProperty(value = "管系附件平库方式") + private BigDecimal pipeFlat; + + @ApiModelProperty(value = "封账日期") + private String accountsDate; + + @ApiModelProperty(value = "封装说明") + private String accountsExplain; + + private String bzry; + + private String bzrq; + + private String remark; + + @ApiModelProperty(value = "管系分图人员") + private String gjFty; + private String gjHly; + private String gjDey; + private String gjShy; + private String gjCky; + + + + +} diff --git a/src/main/java/com/dsic/gj_erp/bean/txzz/jhgl/TpbhPlan.java b/src/main/java/com/dsic/gj_erp/bean/txzz/jhgl/TpbhPlan.java new file mode 100644 index 0000000..31a0eb0 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/txzz/jhgl/TpbhPlan.java @@ -0,0 +1,383 @@ +package com.dsic.gj_erp.bean.txzz.jhgl; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.annotation.ExcelProperty; +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 lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; + +import java.util.Arrays; +import java.util.List; + +@Getter +@Setter +@TableName("dm_tpbh_plan") +public class TpbhPlan { + @TableId(type = IdType.ASSIGN_UUID) + private String id;// + @ExcelProperty("工程编号") + private String project;//工程编号 Q11 ERP=czbh + + @ExcelProperty("区域") + private String zone;//区域 Q12 ERP=qy + + @ExcelProperty("分段号") + private String blockNo;//分段号 暂不显示 ERP=fdh + + @ExcelProperty("批号") + private String ph;//批号 Q21 ERP=ph + + private String lckNo;//流程卡号 Q22 ERP=bh + private String planType;//计划类型 ERP=rwlx dict=‘ZYJHLX’ (作业计划类型 参考erp xtbm='rwjd') + private String scType;//施工类型 ERP=jglx dict=‘JGLX’ (施工类型 参考erp xtbm='jglx') + private String status;//计划状态 ERP=jhlx Q15 dict=‘ZYJHZT’ (作业计划状态 01-编制 02-下达) 默认01 + private String kh;//卡号 ERP=kh 默认=批号 暂不显示 + + @ExcelProperty("托盘表号") + private String pmlNo;//托盘表号 ERP=tpbh 暂不使用 + private String sscj;//所属车间 ERP=sscj 不用显示,关联制作图数据使用 默认赋值(02-管子 021-管支架) + + @ExcelProperty("责任单位") + private String departCode;//责任单位 (默认查询限制 02-管系制造部) + + @ExcelProperty("图纸类型") + private String dwgType;//图纸类型 Q25 ERP=xz dict='TZLX' (01-制作图 02-通知单 99-其他) + + @ExcelProperty("制作图号") + private String dwgNo;//制作图号 ERP=zzth 暂不使用 铁舾使用 + + @ExcelProperty("部件代号") + private String itemNo;//部件代号 ERP=bjbh 暂不使用 铁舾使用 + + @ExcelProperty("部件名称") + private String itemName;//部件名称 ERP=bjmc 暂不使用 铁舾使用 + + @ExcelProperty("修正部件代号") + private String itemNo1;//部件代号 ERP=gysbh 暂不使用 铁舾使用(工艺识别号、修正部件代号) + + @ExcelProperty("部件序号") + private String itemXh;//部件序号 ERP=bjxh 暂不使用 铁舾使用 + + @ExcelProperty("部件数量") + private String itemQty;//部件数量 ERP=gs + private String wkhour;//工时 ERP=jggs + + @ExcelProperty("部件重量") + private String itemWgt;//总重量(KG) ERP=zzl + private String gcWgt;//管材重量(Kg) ERP=ds + private String fjWgt;//附件重量(KG) ERP=fjzl + private String hcWgt;//焊材重量(KG) ERP=hczl + private String gcInArea;//管材内表面积(㎡) ERP=gcnbmj + private String gcOutArea;//管材外表面积(㎡) ERP=gcwbmj + + @ExcelProperty("内涂装面积") + private String itemInArea;//部件内表面积(㎡) (铁舾使用) + + @ExcelProperty("外涂装面积") + private String itemOutArea;//部件外表面积(㎡) (铁舾使用) + + @ExcelProperty("留焊区域") + private String itemLhArea;//留焊区域(㎡)* (铁舾使用) + private String hdsl;//焊点数 ERP=hdsl + private String zgsl;//支管数 ERP=zgsl + private String wqsl;//弯曲数 ERP=wqsl + private String pksl;//坡口翻边压槽数 ERP=pksl + private String itemShape;//管型 ERP=gzlx + private String itemType;//类型 ERP=bjlx + + @ExcelProperty("产品类型") + private String prodType;//产品类型* ERP=cplx (铁舾使用) + + @ExcelProperty("材质") + private String itemGrd;//材质 ERP=bjcz + + @ExcelProperty("部件规格") + private String itemSpec;//规格 (规格范围) ERP=bjgg + private String jyyq;//探伤要求 ERP=jyyq + private String bybs;//磅压要求 ERP=bybs + private String jybs;//报验要求 ERP=jybs + private String tsbs;//探伤标识 ERP=tsbs + + @ExcelProperty("处理方式") + private String treatmentType;//处理方式 ERP=tzfs + private String treatment;//表面处理 ERP=nbmcl + private String paintCode;//涂装代码 ERP=tzdm + private String inTreatment;//内表面处理 (暂不使用) + + @ExcelProperty("内涂装代码") + private String inPaintCode;//内涂装代码 (暂不使用) + private String outTreatment;//外表面处理 (暂不使用) ERP=wbmcl + + @ExcelProperty("外涂装代码") + private String outPaintCode;//外涂装代码 (暂不使用) + private String wkhourXl;//下料工时 ERP=C0201 + private String wkhourWq;//弯曲工时 ERP=C0202 + private String wkhourPt;//平台工时 ERP=C0203 + private String wkhourHj;//焊接工时 ERP=C0204 + private String wkhourQl;//清理工时 ERP=C0205 + private String wkhourWg;//外观工时 ERP=C0206 + private String wkhourBy;//磅压工时 ERP=C0207 + private String wkhourZy;//转运工时 ERP=C0208 + + @ExcelProperty("制作单位") + private String scDept;//制作单位 ERP=sgdw (下拉选择 dmDepart 中parentCode='02' and 制作标识的 departCode ) + + @ExcelProperty("镀锌单位") + private String clDept;//表面处理单位 ERP=bmcldw (下拉选择 dmDepart 中 parentCode='02' and 处理标识的 departCode ) + private String nclDept;//内表面处理单位 ERP=nbmcldw (下拉选择 dmDepart 中 parentCode='02' and 处理标识的 departCode ) + + @ExcelProperty("涂装单位") + private String tzDept;//涂装单位 (下拉选择 dmDepart 中 parentCode='02' and 处理标识的 departCode ) + + @ExcelProperty("配送单位") + private String psDept;//配送单位 ERP=psdw(下拉选择 dmDepart 中 parentCode='02' and 配送标识的 departCode ) + private String gcdhrq;//管材到货日期* (暂不使用) + private String fjdhrq;//附件到货日期* (暂不使用) + private String jlry;//建立人员 ERP原来没有 生成作业计划时的流程卡审核人员 + private String jlrq;//建立日期 ERP=jlrq 生成作业计划时的流程卡审核日期 + private String csry;//测算人员 ERP=sgbz + private String cssj;//测算时间 ERP=sgbz + private String csfk;//测算下达标识* ERP=sfxd (是否下达,暂不使用) + private String fkrq;//发卡日期 ERP=fkrq + private String jhrqZzwg;//制作计划完工日期 ERP=jsrq + private String jhrqZzwg0;//初始计划完工日期 ERP=zyjhblwcsj + private String jhrqNclwg;//内处理完工计划日期 + private String jhrqClwg;//处理完工计划日期 + private String jhrqTzwg;//涂装完工计划日期* (暂不使用) + private String jhrqJpwg;//集配完工计划日期* (暂不使用) + private String xdry;//计划下达人员 + private String xdrq;//计划下达日期 + private String scjd;//生产进度 ERP=scjd + private String wgbs;//制作完工标识 ERP=wgbs 默认’‘/'完工' + private String wgrq;//制作完工日期 ERP=wgrq + private String xgStaus;//修改状态 ERP=zrr 默认''/'部分修改'/'整卡取消' + private String scStatus;//制作状态 ERP=zzzt dict='GXZZZT' 管系制作状态 ERP zhbmp=’HBZT‘ + + @ExcelProperty("备注") + private String remark;//备注 ERP=bz + private String scRemark;//作业区制作情况说明 ERP=wbmcl + private String scRemark0;//作业区上次反馈情况 ERP=ppfkrq + private String bzph;//班组制作批号 ERP=bzph + private String xlgw;//下料工位 ERP=xlgw + private String xljhrq;//下料计划日期 ERP=xljhrq + private String ptgw;//平台工位 ERP=ptgw + private String ptjhrq;//平台计划日期 ERP=ptjhrq + private String bzjhStatus;//班组计划状态 ERP=bzjhzt dict=‘BZJHZT’ (班组计划状态 01-编制 02-审核) + private String bzjhBzry;//班组计划编制人员 ERP=bzjhbzr + private String bzjhBzrq;//班组计划编制日期 ERP=bzjhbzq + private String bzjhShry;//班组计划审核人员 ERP=无 + private String bzjhShrq;//班组计划审核日期 ERP=无 + private String gclldh;//管材领料单号 ERP=lldh + private String fjlldh;//附件领料单号 ERP=fjlldh + private String lldbzry;//领料单编制人员 ERP=lldbzr + private String lldbzrq;//领料单编制日期 ERP=lldbzrq + private String hclldh;//焊材领料单号 ERP=hclldh + private String hclldbzry;//焊材领料单编制人员 ERP=hclldbzr + private String hclldbzrq;//焊材领料单编制日期 ERP=hclldbzrq + private String scryXl;//下料人员 ERP=xlry + private String scryWq;//弯曲人员 ERP=wqry + private String scryPt;//平台人员 ERP=ptry + private String scryHj;//焊接人员 ERP=hjry + private String scryQl;//清理人员 ERP=qlry + private String scryWg;//外观人员 ERP=wgry + private String scryBy;//磅压人员 ERP=byry + private String scryZy;//转运人员 ERP=zyry + private String aqfzXl;//下料安全责任人 ERP=xlaq + private String aqfzWq;//弯曲安全责任人 ERP=wqaq + private String aqfzPt;//平台安全责任人 ERP=ptaq + private String aqfzHj;//焊接安全责任人 ERP=hjaq + private String aqfzQl;//清理安全责任人 ERP=qlaq + private String aqfzWg;//外观安全责任人 ERP=wgaq + private String aqfzBy;//磅压安全责任人 ERP=byaq + private String aqfzZy;//转运安全责任人 ERP=zyaq + private String scFzry;//作业区长 ERP=bmry + private String wkhourXl1;//班组下料工时 ERP=D0201 + private String wkhourWq1;//班组弯曲工时 ERP=D0202 + private String wkhourPt1;//班组平台工时 ERP=D0203 + private String wkhourHj1;//班组焊接工时 ERP=D0204 + private String wkhourQl1;//班组清理工时 ERP=D0205 + private String wkhourWg1;//班组外观工时 ERP=D0206 + private String wkhourBy1;//班组磅压工时 ERP=D0207 + private String wkhourZy1;//班组转运工时 ERP=D0208 + private String backDate;//反卡日期 + private String backMonth;//反卡月份 + private String backRemark;//发卡备注 + + @ExcelProperty("前方需求日期") + private String qfxqrq;//前方需求日期2021116 + private String jhrqZzwg1;//结构计划调整日期2021116 + private String jhrqTzwg1;//涂装计划调整日期2021116 + private String jhrqBlrq;//备料计划日期2021116 + + @ExcelProperty("机加计划日期") + private String jhrqJjrq;//机加计划日期2021116 + private String jhrqClwg1;//镀锌计划调整日期2021116 + private String jlrid;//建立人员ID2021116 + private String csrid;//测算人员ID2021116 + private String xdrid;//下达人员ID2021116 + private String spry;//审批人员2021116 + private String sprq;//审批日期2021116 + private String sprid;//审批人ID2021116 + + @ExcelProperty("结构计划期") + private String jhrq;//结构计划日期2021116 + + @ExcelProperty("镀锌计划期") + private String dxrq;//镀锌计划日期2021116 + + @ExcelProperty("涂装计划日期") + private String tzrq;//涂装计划日期2021116 + + @ExcelProperty("入库计划期") + private String rkrq;//入库计划日期2021116 + private String wgJhrq;//结构实际完工日期2021116 + private String wgDxrq;//镀锌实际完工日期2021116 + private String wgTzrq;//涂装实际完工日期2021116 + private String wgRkrq;//入库实际完工日期2021116 + private String jgzySl;//结构转运数量2021116 + private String jgzyRy;//结构转运人员2021116 + private String jgzyCh;//结构转运车号2021116 + private String jgzyRq;//结构转运日期2021116 + private String jgzyLsh;//结构转运单号2021116 + private String dxzySl;//镀锌转运数量2021116 + private String dxzyRy;//镀锌转运人员2021116 + private String dxzyCh;//镀锌转运车号2021116 + private String dxzyRq;//镀锌转运日期2021116 + private String dxzyLsh;//镀锌转运单号2021116 + private String tzzySl;//涂装转运数量2021116 + private String tzzyRy;//涂装转运人员2021116 + private String tzzyCh;//涂装转运车号2021116 + private String tzzyRq;//涂装转运日期2021116 + private String tzzyLsh;//结构转运单号2021116 + + //todo 缺少字段 + @ExcelProperty("需求单位") + @TableField(exist = false) + private String ddepartCode; + + @TableField(exist = false) + private boolean repeat;//是否重复提取 + + /** + * 导入时,数据校验 + */ + public boolean checkBaseParam(){ + if (ObjectUtil.isEmpty(this.getProject())){ + throw new RuntimeException("工程编号不能为空"); + } + if (ObjectUtil.isEmpty(this.getDwgNo())){ + throw new RuntimeException("制作图号不能为空"); + } + if (ObjectUtil.isEmpty(this.getPmlNo())){ + throw new RuntimeException("托盘表号不能为空"); + } + if (ObjectUtil.isEmpty(this.getItemNo())){ + throw new RuntimeException("部件代号不能为空"); + } + if (ObjectUtil.isEmpty(this.getItemName())){ + throw new RuntimeException("部件名称不能为空"); + } + if (ObjectUtil.isEmpty(this.getItemSpec())){ + throw new RuntimeException("部件规格不能为空"); + } + return true; + } + + /** + * 变更为提交状态 + */ + public void fixToSubmitStatus(){ + this.status=StatusEnum.下达.code; + } + + /** + * 变更为审核状态 + */ + public void fixToShStatus(){ + this.status=StatusEnum.生产.code; + } + + /** + * 变更为提交状态 + */ + public void fixToSpStatus(){ + this.status=StatusEnum.运转.code; + } + + @AllArgsConstructor + public enum StatusEnum{ + 编制("01"), + 下达("02"), + 生产("03"), + 运转("04"), + 完工("05"), + 入库("06"); + @Getter + private String code; + } + + public void updateForSubmit(String userName, String userCode, String data){ + this.fixToSubmitStatus(); + this.setCsry(userName); + this.setCssj(data); + this.setCsrid(userCode); + } + + public void updateForSh(String userName, String userCode, String data){ + this.fixToShStatus(); + this.setXdry(userName); + this.setXdrq(data); + this.setXdrid(userCode); + } + + public void updateForSp(String userName, String userCode, String data){ + this.fixToSpStatus(); + this.setSpry(userName); + this.setSprq(data); + this.setSprid(userCode); + } + + //保存时,提交时,结构计划期、涂装计划期、入库计划期不能为空 + public boolean canSave(){ + checkBaseParam(); + if (!this.status.equals("01")){ + return false; + } + if (StrUtil.isEmpty(this.jhrq)){ + throw new RuntimeException("结构计划期为空"); + } + if (StrUtil.isEmpty(this.tzrq)){ + throw new RuntimeException("涂装计划期为空"); + } + if (StrUtil.isEmpty(this.rkrq)){ + throw new RuntimeException("入库计划期为空"); + } + if (StrUtil.isEmpty(this.treatmentType)){ + throw new RuntimeException("处理方式为空"); + } + if (dxTreatmentTypeList.contains(this.treatmentType)&&StrUtil.isEmpty(this.dxrq)){ + throw new RuntimeException("镀锌计划期为空"); + } + return this.repeat; + } + + public boolean canSubmit(){ + return this.status.equals("01"); + } + + public boolean equals(TpbhPlan plan){ + return ObjectUtil.isNotEmpty(plan)&&this.getProject().equals(plan.getProject()) + &&this.getDwgNo().equals(plan.getDwgNo()) + &&this.getDepartCode().equals(plan.getDepartCode()) + &&this.getItemNo().equals(plan.getItemNo()) + &&this.getPmlNo().equals(plan.getPmlNo()); + } + + //镀锌 + public static List dxTreatmentTypeList= Arrays.asList("01","02","04","05"); +} diff --git a/src/main/java/com/dsic/gj_erp/controller/ApiController.java b/src/main/java/com/dsic/gj_erp/controller/ApiController.java index 885bee9..a775ce2 100644 --- a/src/main/java/com/dsic/gj_erp/controller/ApiController.java +++ b/src/main/java/com/dsic/gj_erp/controller/ApiController.java @@ -13,6 +13,7 @@ import com.dsic.gj_erp.util.IPUtils; import com.dsic.gj_erp.util.MD5Util; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -52,6 +53,9 @@ public class ApiController { return new ResultBean(apiService.userLogin(loginBean, request)); } + @Value("${zxtbm}") + public String zxtbm; + @AuthFunction @RequestMapping(value = "/getInfo") public ResultBean getInfo(HttpServletRequest request) { @@ -61,7 +65,7 @@ public class ApiController { Map map= apiService.getInfo(yhdm); - map.put("menu", syuserMapper.getUserMenu(yhdm, zxtdm)); + map.put("menu", syuserMapper.getUserMenu(yhdm, zxtbm)); return new ResultBean(map); } diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/DmProjectController.java b/src/main/java/com/dsic/gj_erp/controller/txzz/DmProjectController.java new file mode 100644 index 0000000..8fed2ee --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/DmProjectController.java @@ -0,0 +1,87 @@ +package com.dsic.gj_erp.controller.txzz; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.txzz.DmProject; +import com.dsic.gj_erp.service.txzz.DmProjectService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 船只信息 前端控制器 + *

+ * + * @author xhj + * @since 2021-03-19 + */ + + +@RestController +@RequestMapping(value = "/api/gj/dmProject") +@Api(tags = "船只信息controller") +public class DmProjectController { + @Autowired + DmProjectService dmProjectService; + + @PostMapping(value = "/getTreeList") + public ResultBean getDictTreeListDict(@RequestBody Map params) { + return new ResultBean( dmProjectService.getProjectTree(params)); + + } + + + @PostMapping(value = "/getProjectDown") + public ResultBean getDictProjectDownDict(@RequestBody Map params) { + + QueryWrapper qw = new QueryWrapper(); + qw.select("project","factory_area","classs","owner","project_type","finish_flag"); + //qw.orderByDesc("finish_flag") + // qw. orderBy("age"); + qw.orderBy(true,true,"finish_flag","length(project)","project"); + qw.apply("IFNULL(project,'')<>''"); + return new ResultBean( dmProjectService.list(qw)); + + } + + /** + * 条件查询 + * @author 张恩铭 + * @param dmProject + * @return + */ + @PostMapping("/getcon") + public ResultBean> getByCon(@RequestBody DmProject dmProject){ + return this.dmProjectService.getByCondition(dmProject); + } + + /** + * 只查船号 + * @author 张恩铭 + * @return + */ + @PostMapping("/getpro") + public ResultBean> getAllProject(){ + return this.dmProjectService.getAllProject(); + } + + /** + * 修改管系部分 + * @param dmProjects + * @return + */ + @PostMapping("/update") + public ResultBean updateProject(@RequestBody DmProject[] dmProjects){ + return this.dmProjectService.updateProject(dmProjects); + } + +} + diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/ProjectController.java b/src/main/java/com/dsic/gj_erp/controller/txzz/ProjectController.java new file mode 100644 index 0000000..ac60d79 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/ProjectController.java @@ -0,0 +1,79 @@ +package com.dsic.gj_erp.controller.txzz; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.txzz.DmProject; +import com.dsic.gj_erp.service.txzz.DmProjectService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** + * @version V1.0.0 + * @Title: ProjectController + * @Package com.dsic.xzerp.dao.scgl.base + * @Description: 军品部下 船只管理接口 + * @author: xhj + * @date: 2021/7/20 15:48 + */ +@RestController +@RequestMapping("/api/scgl/project") +public class ProjectController { + + @Autowired + DmProjectService dmProjectService; + + + @PostMapping(value = "/getList") + public ResultBean getList(@RequestBody Map paramMap){ + QueryWrapper queryWrapper =new QueryWrapper(); + if(StringUtils.isNotBlank(paramMap.get("project"))){ + queryWrapper.eq("project",paramMap.get("project")); + } + if(StringUtils.isNotBlank(paramMap.get("kgrq"))){ + queryWrapper.ge("start_date",paramMap.get("kgrq")); + } + if(StringUtils.isNotBlank(paramMap.get("kgrq1"))){ + queryWrapper.le("start_date",paramMap.get("kgrq1")); + } + if(StringUtils.isNotBlank(paramMap.get("shrq"))){ + queryWrapper.ge("sail_date",paramMap.get("shrq")); + } + if(StringUtils.isNotBlank(paramMap.get("shrq1"))){ + queryWrapper.le("sail_date",paramMap.get("shrq1")); + } + queryWrapper.orderBy(true,true,"project"); + return new ResultBean(dmProjectService.list(queryWrapper)); + } + @PostMapping(value = "/add") + public ResultBean add(HttpServletRequest httpRequest , @RequestBody List dmProjects) { + dmProjectService.saveBaths(httpRequest,dmProjects); + return new ResultBean(); + } + + @PostMapping(value = "/del") + public ResultBean del(@RequestBody List delArr) { + dmProjectService.removeByIds(delArr); + return new ResultBean(); + } + + @PostMapping(value = "/update") + public ResultBean update(@RequestBody List dmProjects) { + dmProjectService.updateBatchById(dmProjects); + return new ResultBean(); + } + + @PostMapping(value = "/base") + public ResultBean getbase(@RequestBody Map paramMap){ + return new ResultBean<>( dmProjectService.mpGetBase(paramMap)); + } + + +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/DmMateriaController.java b/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/DmMateriaController.java new file mode 100644 index 0000000..09407c4 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/DmMateriaController.java @@ -0,0 +1,204 @@ +package com.dsic.gj_erp.controller.txzz.jhgl; + + +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.bean.txzz.DmMateria; +import com.dsic.gj_erp.annotation.Authorization; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.sy.SyDictItem; +import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.service.sy.SyDictItemService; +import com.dsic.gj_erp.service.txzz.DmMateriaService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + *

+ * 物品基本表 前端控制器 + *

+ * + * @author xhj + * @since 2021-03-29 + */ + +@RestController +@RequestMapping(value = "/api/gj/dmMateria") +@Api(tags = "物品基本表controller") +public class DmMateriaController { + + @Autowired + DmMateriaService dmMateriaService; + @Autowired + SyDictItemService syDictItemService; + + /** + * 根据铁舾物品号查询物品选择下拉框数据 + */ + @GetMapping("getMatGroup") + public ResultBean getMatGroup(String txMatNo){ + List list=dmMateriaService.list(Wrappers.lambdaQuery() + .select(DmMateria::getTxMatNo,DmMateria::getYlMatNo) + .isNotNull(DmMateria::getTxMatNo) + .isNotNull(DmMateria::getYlMatNo) + .like(StrUtil.isNotEmpty(txMatNo),DmMateria::getTxMatNo,txMatNo) + .groupBy(DmMateria::getYlMatNo)); + return new ResultBean(list); + } + + @PostMapping("/getOpen") + @ApiOperation("管系涂装工艺查询物资") + public ResultBean getOpen(@RequestBody Map paramMap){ + QueryWrapper qw = new QueryWrapper(); + + Map map = (Map)paramMap.get("dmMateria"); + +// qw.eq("institution_code","02"); + qw.ne("mat_level","T"); + //仓库 + if (!StringUtils.isBlank((String)map.get("institutionCode"))){ + qw.eq("institution_code",map.get("institutionCode")); + + } + //使用方式 + if (!StringUtils.isBlank((String)map.get("userCateg"))){ + qw.ne("use_categ",map.get("userCateg")); + + } + //物品号 + if (!StringUtils.isBlank((String)map.get("matNo"))){ + qw.like("mat_no",map.get("matNo")); + } + //物品名称 + if (!StringUtils.isBlank((String)map.get("matName"))){ + qw.like("mat_name",map.get("matName")); + } + //物品规格 + if (!StringUtils.isBlank((String)map.get("matSpec"))){ + qw.like("mat_spec",map.get("matSpec")); + } + //物品材质 + if (!StringUtils.isBlank((String)map.get("matGrd"))){ + qw.like("mat_grd",map.get("matGrd")); + } + //图号 + if (!StringUtils.isBlank((String)map.get("matVersion"))){ + qw.like("mat_version",map.get("matVersion")); + } + + + + List list = dmMateriaService.list(qw); + return new ResultBean(list); + } + +// @PostMapping(value = "/del") +// public ResultBean del(@RequestBody List delArr) { +// dmMateriaService.removeByIds(delArr); +// return new ResultBean(); +// } +// +// @PostMapping(value = "/update") +// public ResultBean update(@RequestBody List dmMateria) { +// dmMateriaService.updateBatchById(dmMateria); +// return new ResultBean(); +// } + + @PostMapping(value = "/openBase") + public ResultBean openBase(@RequestBody Map paramMap){ + return new ResultBean<>( dmMateriaService.getBase(paramMap)); + } + + /** + * @author 张恩铭 + * @param dmMateria + * @return + */ + @ApiOperation("物品全部条件查询") + @PostMapping("/getallcon") + public ResultBean> getAllCon(@RequestBody DmMateria dmMateria){ + return this.dmMateriaService.getAllCon(dmMateria); + } + + /** + * @author 张恩铭 + * @param dmMateria + * @return + */ + @ApiOperation("物品管系条件查询") + @PostMapping("/getcon") + public ResultBean> getCon(@RequestBody DmMateria dmMateria){ + return this.dmMateriaService.getCon(dmMateria); + } + + /** + * @author 张恩铭 + * @param dmMaterias + * @return + */ + @ApiOperation("物品添加") + @PostMapping("/add") + @Authorization + public ResultBean addMateria(@RequestBody DmMateria[] dmMaterias,HttpServletRequest req){ + return this.dmMateriaService.addMateria(dmMaterias,req); + } + + /** + * @author 张恩铭 + * @param dmMaterias + * @return + */ + @ApiOperation("物品修改") + @PostMapping("/update") + public ResultBean updateMateria(@RequestBody DmMateria[] dmMaterias,HttpServletRequest req){ + return this.dmMateriaService.updateMateria(dmMaterias,req); + } + + /** + * @author 张恩铭 + * @param dmMaterias + * @return + */ + @ApiOperation("物品删除") + @PostMapping("/del") + public ResultBean delMateria(@RequestBody DmMateria[] dmMaterias){ + return this.dmMateriaService.delMateria(dmMaterias); + } + + + @PostMapping(value = "/base") + public ResultBean getbase(@RequestBody Map paramMap){ + return new ResultBean<>( dmMateriaService.getjcsjWpBase(paramMap)); + } + + @PostMapping(value = "/baseForTX") + public ResultBean getbaseForTX(@RequestBody Map paramMap){ + List gzlx = syDictItemService.list(new QueryWrapper().eq("dict_code", "GZLX")); + List wplx = syDictItemService.list(new QueryWrapper().eq("dict_code", "WPLX")); + Map dictMap =dmMateriaService.getjcsjWpBase(paramMap); + dictMap.put("gzlx",gzlx); + dictMap.remove("wplx"); + dictMap.put("wplx",wplx); + return new ResultBean<>(dictMap); + } + + @ApiOperation("添加(军品)") + @PostMapping("/save") + public ResultBean saveMateria(@RequestBody List dmMaterias){ + this.dmMateriaService.saveOrUpdateBatch(dmMaterias); + return new ResultBean<>(); + } + +} + diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/TpbhPlanController.java b/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/TpbhPlanController.java new file mode 100644 index 0000000..ac86f39 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/TpbhPlanController.java @@ -0,0 +1,118 @@ +package com.dsic.gj_erp.controller.txzz.jhgl; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsic.gj_erp.annotation.Authorization; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.txzz.jhgl.TpbhPlan; +import com.dsic.gj_erp.service.txzz.jhgl.TpbhPlanService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 铁硒托盘相关接口 + */ +@Api(tags = "铁硒托盘需求计划相关接口") +@RestController +@RequestMapping("api/tx/tpPlan") +@AllArgsConstructor +public class TpbhPlanController { + + private final TpbhPlanService tpbhService; + + @PostMapping("list") + @ApiOperation("托盘需求计划查询") + public ResultBean list(@RequestBody TpbhPlan tpbhPlan){ + QueryWrapper wrapper=new QueryWrapper<>(tpbhPlan); + List list=tpbhService.list(wrapper); + return new ResultBean<>(list); + } + + @PostMapping("excel") + @ApiOperation("托盘需求计划excel导入") + public ResultBean excel(MultipartFile file) throws IOException { + return new ResultBean<>(); + } + + @ApiOperation("托盘需求计划保存") + @PostMapping("save") + public ResultBean save(@RequestBody List list){ + list.forEach(l->{ + + }); + list=list.stream().filter(TpbhPlan::canSave).collect(Collectors.toList()); + tpbhService.saveOrUpdateBatch(list); + return new ResultBean<>(); + } + + @ApiOperation("托盘需求计划提交") + @PostMapping("submit") + @Authorization + public ResultBean submit(@RequestBody List list, HttpServletRequest request){ + String userName=(String) request.getAttribute("username"); + String userCode=(String) request.getAttribute("yhdm"); + if (StrUtil.isEmpty(userName)||StrUtil.isEmpty(userCode)){ + throw new RuntimeException("登录信息错误,请刷新后重新登录"); + } + this.tpbhService.submitHandler(list,userName,userCode); + return new ResultBean<>(); + } + + /** + * 提取 + */ + @GetMapping("extract") + public ResultBean extract(String project,String dwgNo){ + if (StrUtil.isEmpty(project)){ + throw new RuntimeException("请选择工程编号"); + } + + return new ResultBean<>(); + } + + /** + * 审核 + */ + @PostMapping("sh") + @Authorization + public ResultBean sh(@RequestBody List list,HttpServletRequest request){ + String userName=(String) request.getAttribute("username"); + String userCode=(String) request.getAttribute("yhdm"); + if (StrUtil.isEmpty(userName)||StrUtil.isEmpty(userCode)){ + throw new RuntimeException("登录信息错误,请刷新后重新登录"); + } + if (list.size()==0){ + throw new RuntimeException("请选择审核的数据"); + } + this.tpbhService.examine(list,userName,userCode,"sh"); + return new ResultBean<>(); + } + + /** + * 审批 + */ + @PostMapping("sp") + @Authorization + public ResultBean sp(@RequestBody List list,HttpServletRequest request){ + String userName=(String) request.getAttribute("username"); + String userCode=(String) request.getAttribute("yhdm"); + if (StrUtil.isEmpty(userName)||StrUtil.isEmpty(userCode)){ + throw new RuntimeException("登录信息错误,请刷新后重新登录"); + } + if (list.size()==0){ + throw new RuntimeException("请选择审核的数据"); + } + this.tpbhService.examine(list,userName,userCode,"sp"); + return new ResultBean<>(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/供应商管理Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/供应商管理Controller.java new file mode 100644 index 0000000..efdcb2d --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/供应商管理Controller.java @@ -0,0 +1,89 @@ +package com.dsic.gj_erp.controller.txzz; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jt.供应商管理; +import com.dsic.gj_erp.service.txzz.I供应商管理Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-06-26 + */ +@RestController +@RequestMapping("/system/供应商管理") +public class 供应商管理Controller{ + @Autowired + private I供应商管理Service 供应商管理Service; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public ResultBean list(供应商管理 供应商管理) + { + List<供应商管理> list = 供应商管理Service.select供应商管理List(供应商管理); + return new ResultBean(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PostMapping("/export") + public void export(HttpServletResponse response, 供应商管理 供应商管理) + { + List<供应商管理> list = 供应商管理Service.select供应商管理List(供应商管理); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{供应商编码}") + public ResultBean getInfo(@PathVariable("供应商编码") String 供应商编码) + { + 供应商管理Service.select供应商管理By供应商编码(供应商编码); + return new ResultBean(); + } + + /** + * 新增【请填写功能名称】 + */ + @PostMapping + public ResultBean add(@RequestBody 供应商管理 供应商管理) + { + 供应商管理Service.insert供应商管理(供应商管理); + return new ResultBean(); + } + + /** + * 修改【请填写功能名称】 + */ + @PutMapping + public ResultBean edit(@RequestBody 供应商管理 供应商管理) + { + 供应商管理Service.update供应商管理(供应商管理); + return new ResultBean(); + } + + /** + * 删除【请填写功能名称】 + */ + @DeleteMapping("/{供应商编码s}") + public ResultBean remove(@PathVariable String[] 供应商编码s) + { + 供应商管理Service.delete供应商管理By供应商编码s(供应商编码s); + return new ResultBean(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/入库Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/入库Controller.java new file mode 100644 index 0000000..9942eab --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/入库Controller.java @@ -0,0 +1,88 @@ +package com.dsic.gj_erp.controller.txzz; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jt.入库; +import com.dsic.gj_erp.service.txzz.I入库Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-06-26 + */ +@RestController +@RequestMapping("/system/入库") +public class 入库Controller{ + @Autowired + private I入库Service 入库Service; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public ResultBean list(入库 入库) + { + List<入库> list = 入库Service.select入库List(入库); + return new ResultBean(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PostMapping("/export") + public void export(HttpServletResponse response, 入库 入库) + { + List<入库> list = 入库Service.select入库List(入库); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{选择采购订单}") + public ResultBean getInfo(@PathVariable("选择采购订单") String 选择采购订单) + { + return new ResultBean(入库Service.select入库By选择采购订单(选择采购订单)); + } + + /** + * 新增【请填写功能名称】 + */ + @PostMapping + public ResultBean add(@RequestBody 入库 入库) + { + 入库Service.insert入库(入库); + return new ResultBean(); + } + + /** + * 修改【请填写功能名称】 + */ + @PutMapping + public ResultBean edit(@RequestBody 入库 入库) + { + 入库Service.update入库(入库); + return new ResultBean(); + } + + /** + * 删除【请填写功能名称】 + */ + @DeleteMapping("/{选择采购订单s}") + public ResultBean remove(@PathVariable String[] 选择采购订单s) + { + 入库Service.delete入库By选择采购订单s(选择采购订单s); + return new ResultBean(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/出库Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/出库Controller.java new file mode 100644 index 0000000..ab1d0de --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/出库Controller.java @@ -0,0 +1,89 @@ +package com.dsic.gj_erp.controller.txzz; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jt.出库; +import com.dsic.gj_erp.service.txzz.I出库Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-06-26 + */ +@RestController +@RequestMapping("/system/出库") +public class 出库Controller{ + @Autowired + private I出库Service 出库Service; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public ResultBean list(出库 出库) + { + List<出库> list = 出库Service.select出库List(出库); + return new ResultBean(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PostMapping("/export") + public void export(HttpServletResponse response, 出库 出库) + { + List<出库> list = 出库Service.select出库List(出库); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{选择销售订单}") + public ResultBean getInfo(@PathVariable("选择销售订单") String 选择销售订单) + { + 出库Service.select出库By选择销售订单(选择销售订单); + return new ResultBean(); + } + + /** + * 新增【请填写功能名称】 + */ + @PostMapping + public ResultBean add(@RequestBody 出库 出库) + { + 出库Service.insert出库(出库); + return new ResultBean(); + } + + /** + * 修改【请填写功能名称】 + */ + @PutMapping + public ResultBean edit(@RequestBody 出库 出库) + { + 出库Service.update出库(出库); + return new ResultBean(); + } + + /** + * 删除【请填写功能名称】 + */ + @DeleteMapping("/{选择销售订单s}") + public ResultBean remove(@PathVariable String[] 选择销售订单s) + { + 出库Service.delete出库By选择销售订单s(选择销售订单s); + return new ResultBean(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/发票管理Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/发票管理Controller.java new file mode 100644 index 0000000..bc0b774 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/发票管理Controller.java @@ -0,0 +1,90 @@ +package com.dsic.gj_erp.controller.txzz; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jt.发票管理; +import com.dsic.gj_erp.service.txzz.I发票管理Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-06-26 + */ +@RestController +@RequestMapping("/system/发票管理") +public class 发票管理Controller +{ + @Autowired + private I发票管理Service 发票管理Service; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public ResultBean list(发票管理 发票管理) + { + List<发票管理> list = 发票管理Service.select发票管理List(发票管理); + return new ResultBean(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PostMapping("/export") + public void export(HttpServletResponse response, 发票管理 发票管理) + { + List<发票管理> list = 发票管理Service.select发票管理List(发票管理); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{选择对账单}") + public ResultBean getInfo(@PathVariable("选择对账单") String 选择对账单) + { + 发票管理Service.select发票管理By选择对账单(选择对账单); + return new ResultBean(); + } + + /** + * 新增【请填写功能名称】 + */ + @PostMapping + public ResultBean add(@RequestBody 发票管理 发票管理) + { + 发票管理Service.insert发票管理(发票管理); + return new ResultBean(); + } + + /** + * 修改【请填写功能名称】 + */ + @PutMapping + public ResultBean edit(@RequestBody 发票管理 发票管理) + { + 发票管理Service.update发票管理(发票管理); + return new ResultBean(); + } + + /** + * 删除【请填写功能名称】 + */ + @DeleteMapping("/{选择对账单s}") + public ResultBean remove(@PathVariable String[] 选择对账单s) + { + 发票管理Service.delete发票管理By选择对账单s(选择对账单s); + return new ResultBean(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/应付账款Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/应付账款Controller.java new file mode 100644 index 0000000..c0a9afc --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/应付账款Controller.java @@ -0,0 +1,89 @@ +package com.dsic.gj_erp.controller.txzz; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jt.应付账款; +import com.dsic.gj_erp.service.txzz.I应付账款Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-06-26 + */ +@RestController +@RequestMapping("/system/应付账款") +public class 应付账款Controller{ + @Autowired + private I应付账款Service 应付账款Service; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public ResultBean list(应付账款 应付账款) + { + List<应付账款> list = 应付账款Service.select应付账款List(应付账款); + return new ResultBean(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PostMapping("/export") + public void export(HttpServletResponse response, 应付账款 应付账款) + { + List<应付账款> list = 应付账款Service.select应付账款List(应付账款); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{产品名称}") + public ResultBean getInfo(@PathVariable("产品名称") String 产品名称) + { + 应付账款Service.select应付账款By产品名称(产品名称); + return new ResultBean(); + } + + /** + * 新增【请填写功能名称】 + */ + @PostMapping + public ResultBean add(@RequestBody 应付账款 应付账款) + { + 应付账款Service.insert应付账款(应付账款); + return new ResultBean(); + } + + /** + * 修改【请填写功能名称】 + */ + @PutMapping + public ResultBean edit(@RequestBody 应付账款 应付账款) + { + 应付账款Service.update应付账款(应付账款); + return new ResultBean(); + } + + /** + * 删除【请填写功能名称】 + */ + @DeleteMapping("/{产品名称s}") + public ResultBean remove(@PathVariable String[] 产品名称s) + { + 应付账款Service.delete应付账款By产品名称s(产品名称s); + return new ResultBean(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/应收账款Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/应收账款Controller.java new file mode 100644 index 0000000..4203492 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/应收账款Controller.java @@ -0,0 +1,89 @@ +package com.dsic.gj_erp.controller.txzz; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jt.应收账款; +import com.dsic.gj_erp.service.txzz.I应收账款Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-06-26 + */ +@RestController +@RequestMapping("/system/应收账款") +public class 应收账款Controller{ + @Autowired + private I应收账款Service 应收账款Service; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public ResultBean list(应收账款 应收账款) + { + List<应收账款> list = 应收账款Service.select应收账款List(应收账款); + return new ResultBean(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PostMapping("/export") + public void export(HttpServletResponse response, 应收账款 应收账款) + { + List<应收账款> list = 应收账款Service.select应收账款List(应收账款); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{销售出库单}") + public ResultBean getInfo(@PathVariable("销售出库单") String 销售出库单) + { + 应收账款Service.select应收账款By销售出库单(销售出库单); + return new ResultBean(); + } + + /** + * 新增【请填写功能名称】 + */ + @PostMapping + public ResultBean add(@RequestBody 应收账款 应收账款) + { + 应收账款Service.insert应收账款(应收账款); + return new ResultBean(); + } + + /** + * 修改【请填写功能名称】 + */ + @PutMapping + public ResultBean edit(@RequestBody 应收账款 应收账款) + { + 应收账款Service.update应收账款(应收账款); + return new ResultBean(); + } + + /** + * 删除【请填写功能名称】 + */ + @DeleteMapping("/{销售出库单s}") + public ResultBean remove(@PathVariable String[] 销售出库单s) + { + 应收账款Service.delete应收账款By销售出库单s(销售出库单s); + return new ResultBean(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/盘点Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/盘点Controller.java new file mode 100644 index 0000000..5f22b49 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/盘点Controller.java @@ -0,0 +1,89 @@ +package com.dsic.gj_erp.controller.txzz; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jt.盘点; +import com.dsic.gj_erp.service.txzz.I盘点Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-06-26 + */ +@RestController +@RequestMapping("/system/盘点") +public class 盘点Controller{ + @Autowired + private I盘点Service 盘点Service; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public ResultBean list(盘点 盘点) + { + List<盘点> list = 盘点Service.select盘点List(盘点); + return new ResultBean(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PostMapping("/export") + public void export(HttpServletResponse response, 盘点 盘点) + { + List<盘点> list = 盘点Service.select盘点List(盘点); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{盘点类型}") + public ResultBean getInfo(@PathVariable("盘点类型") String 盘点类型) + { + 盘点Service.select盘点By盘点类型(盘点类型); + return new ResultBean(); + } + + /** + * 新增【请填写功能名称】 + */ + @PostMapping + public ResultBean add(@RequestBody 盘点 盘点) + { + 盘点Service.insert盘点(盘点); + return new ResultBean(); + } + + /** + * 修改【请填写功能名称】 + */ + @PutMapping + public ResultBean edit(@RequestBody 盘点 盘点) + { + 盘点Service.update盘点(盘点); + return new ResultBean(); + } + + /** + * 删除【请填写功能名称】 + */ + @DeleteMapping("/{盘点类型s}") + public ResultBean remove(@PathVariable String[] 盘点类型s) + { + 盘点Service.delete盘点By盘点类型s(盘点类型s); + return new ResultBean(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/退货Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/退货Controller.java new file mode 100644 index 0000000..3a82a7d --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/退货Controller.java @@ -0,0 +1,89 @@ +package com.dsic.gj_erp.controller.txzz; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jt.退货; +import com.dsic.gj_erp.service.txzz.I退货Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-06-26 + */ +@RestController +@RequestMapping("/system/退货") +public class 退货Controller{ + @Autowired + private I退货Service 退货Service; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public ResultBean list(退货 退货) + { + List<退货> list = 退货Service.select退货List(退货); + return new ResultBean(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PostMapping("/export") + public void export(HttpServletResponse response, 退货 退货) + { + List<退货> list = 退货Service.select退货List(退货); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{客户名称}") + public ResultBean getInfo(@PathVariable("客户名称") String 客户名称) + { + 退货Service.select退货By客户名称(客户名称); + return new ResultBean(); + } + + /** + * 新增【请填写功能名称】 + */ + @PostMapping + public ResultBean add(@RequestBody 退货 退货) + { + 退货Service.insert退货(退货); + return new ResultBean(); + } + + /** + * 修改【请填写功能名称】 + */ + @PutMapping + public ResultBean edit(@RequestBody 退货 退货) + { + 退货Service.update退货(退货); + return new ResultBean(); + } + + /** + * 删除【请填写功能名称】 + */ + @DeleteMapping("/{客户名称s}") + public ResultBean remove(@PathVariable String[] 客户名称s) + { + 退货Service.delete退货By客户名称s(客户名称s); + return new ResultBean(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/采购订单Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/采购订单Controller.java new file mode 100644 index 0000000..edc3c49 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/采购订单Controller.java @@ -0,0 +1,89 @@ +package com.dsic.gj_erp.controller.txzz; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jt.采购订单; +import com.dsic.gj_erp.service.txzz.I采购订单Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-06-26 + */ +@RestController +@RequestMapping("/system/采购订单") +public class 采购订单Controller{ + @Autowired + private I采购订单Service 采购订单Service; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public ResultBean list(采购订单 采购订单) + { + List<采购订单> list = 采购订单Service.select采购订单List(采购订单); + return new ResultBean(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @PostMapping("/export") + public void export(HttpServletResponse response, 采购订单 采购订单) + { + List<采购订单> list = 采购订单Service.select采购订单List(采购订单); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{选择供应商}") + public ResultBean getInfo(@PathVariable("选择供应商") String 选择供应商) + { + 采购订单Service.select采购订单By选择供应商(选择供应商); + return new ResultBean(); + } + + /** + * 新增【请填写功能名称】 + */ + @PostMapping + public ResultBean add(@RequestBody 采购订单 采购订单) + { + 采购订单Service.insert采购订单(采购订单); + return new ResultBean(); + } + + /** + * 修改【请填写功能名称】 + */ + @PutMapping + public ResultBean edit(@RequestBody 采购订单 采购订单) + { + 采购订单Service.update采购订单(采购订单); + return new ResultBean(); + } + + /** + * 删除【请填写功能名称】 + */ + @DeleteMapping("/{选择供应商s}") + public ResultBean remove(@PathVariable String[] 选择供应商s) + { + 采购订单Service.delete采购订单By选择供应商s(选择供应商s); + return new ResultBean(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/DmProjectMapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/DmProjectMapper.java new file mode 100644 index 0000000..e00b937 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/DmProjectMapper.java @@ -0,0 +1,24 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.txzz.DmProject; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 船只信息 Mapper 接口 + *

+ * + * @author xhj + * @since 2021-03-19 + */ +@Mapper +public interface DmProjectMapper extends BaseMapper { + @Select(value = {""}) + DmProject getProject (String project); + +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/jhgl/TpbhPlanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/jhgl/TpbhPlanMapper.java new file mode 100644 index 0000000..e2e644c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/jhgl/TpbhPlanMapper.java @@ -0,0 +1,9 @@ +package com.dsic.gj_erp.mapper.txzz.jhgl; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.txzz.jhgl.TpbhPlan; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TpbhPlanMapper extends BaseMapper { +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/scby/DmMateriaMapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/scby/DmMateriaMapper.java new file mode 100644 index 0000000..ed26338 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/scby/DmMateriaMapper.java @@ -0,0 +1,29 @@ +package com.dsic.gj_erp.mapper.txzz.scby; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.txzz.DmMateria; + +import java.util.List; + +/** + *

+ * 物品基本表 Mapper 接口 + *

+ * + * @author xhj + * @since 2021-03-29 + */ +public interface DmMateriaMapper extends BaseMapper { + + /** + * @updateAuthor + * @Author xhj + * @Description 基础设置中导入附件信息(修改原来的附件信息); + * @Date 10:28 2021/8/5 + * @Param list: + * @return: void + **/ + + void updateWpxxs(List list); + +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/供应商管理Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/供应商管理Mapper.java new file mode 100644 index 0000000..9090667 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/供应商管理Mapper.java @@ -0,0 +1,65 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jt.供应商管理; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Mapper +public interface 供应商管理Mapper extends BaseMapper<供应商管理> +{ + /** + * 查询【请填写功能名称】 + * + * @param 供应商编码 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 供应商管理 select供应商管理By供应商编码(String 供应商编码); + + /** + * 查询【请填写功能名称】列表 + * + * @param 供应商管理 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<供应商管理> select供应商管理List(供应商管理 供应商管理); + + /** + * 新增【请填写功能名称】 + * + * @param 供应商管理 【请填写功能名称】 + * @return 结果 + */ + public int insert供应商管理(供应商管理 供应商管理); + + /** + * 修改【请填写功能名称】 + * + * @param 供应商管理 【请填写功能名称】 + * @return 结果 + */ + public int update供应商管理(供应商管理 供应商管理); + + /** + * 删除【请填写功能名称】 + * + * @param 供应商编码 【请填写功能名称】主键 + * @return 结果 + */ + public int delete供应商管理By供应商编码(String 供应商编码); + + /** + * 批量删除【请填写功能名称】 + * + * @param 供应商编码s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete供应商管理By供应商编码s(String[] 供应商编码s); +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/入库Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/入库Mapper.java new file mode 100644 index 0000000..7d92bcb --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/入库Mapper.java @@ -0,0 +1,65 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jt.入库; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Mapper +public interface 入库Mapper extends BaseMapper<入库> +{ + /** + * 查询【请填写功能名称】 + * + * @param 选择采购订单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 入库 select入库By选择采购订单(String 选择采购订单); + + /** + * 查询【请填写功能名称】列表 + * + * @param 入库 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<入库> select入库List(入库 入库); + + /** + * 新增【请填写功能名称】 + * + * @param 入库 【请填写功能名称】 + * @return 结果 + */ + public int insert入库(入库 入库); + + /** + * 修改【请填写功能名称】 + * + * @param 入库 【请填写功能名称】 + * @return 结果 + */ + public int update入库(入库 入库); + + /** + * 删除【请填写功能名称】 + * + * @param 选择采购订单 【请填写功能名称】主键 + * @return 结果 + */ + public int delete入库By选择采购订单(String 选择采购订单); + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择采购订单s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete入库By选择采购订单s(String[] 选择采购订单s); +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/出库Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/出库Mapper.java new file mode 100644 index 0000000..daaa806 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/出库Mapper.java @@ -0,0 +1,65 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jt.出库; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Mapper +public interface 出库Mapper extends BaseMapper<出库> +{ + /** + * 查询【请填写功能名称】 + * + * @param 选择销售订单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 出库 select出库By选择销售订单(String 选择销售订单); + + /** + * 查询【请填写功能名称】列表 + * + * @param 出库 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<出库> select出库List(出库 出库); + + /** + * 新增【请填写功能名称】 + * + * @param 出库 【请填写功能名称】 + * @return 结果 + */ + public int insert出库(出库 出库); + + /** + * 修改【请填写功能名称】 + * + * @param 出库 【请填写功能名称】 + * @return 结果 + */ + public int update出库(出库 出库); + + /** + * 删除【请填写功能名称】 + * + * @param 选择销售订单 【请填写功能名称】主键 + * @return 结果 + */ + public int delete出库By选择销售订单(String 选择销售订单); + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择销售订单s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete出库By选择销售订单s(String[] 选择销售订单s); +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/发票管理Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/发票管理Mapper.java new file mode 100644 index 0000000..e984450 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/发票管理Mapper.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.dsic.gj_erp.bean.jt.发票管理; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface 发票管理Mapper +{ + /** + * 查询【请填写功能名称】 + * + * @param 选择对账单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 发票管理 select发票管理By选择对账单(String 选择对账单); + + /** + * 查询【请填写功能名称】列表 + * + * @param 发票管理 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<发票管理> select发票管理List(发票管理 发票管理); + + /** + * 新增【请填写功能名称】 + * + * @param 发票管理 【请填写功能名称】 + * @return 结果 + */ + public int insert发票管理(发票管理 发票管理); + + /** + * 修改【请填写功能名称】 + * + * @param 发票管理 【请填写功能名称】 + * @return 结果 + */ + public int update发票管理(发票管理 发票管理); + + /** + * 删除【请填写功能名称】 + * + * @param 选择对账单 【请填写功能名称】主键 + * @return 结果 + */ + public int delete发票管理By选择对账单(String 选择对账单); + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择对账单s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete发票管理By选择对账单s(String[] 选择对账单s); +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/应付账款Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/应付账款Mapper.java new file mode 100644 index 0000000..37cdb6d --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/应付账款Mapper.java @@ -0,0 +1,66 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jt.入库; +import com.dsic.gj_erp.bean.jt.应付账款; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Mapper +public interface 应付账款Mapper extends BaseMapper<应付账款> +{ + /** + * 查询【请填写功能名称】 + * + * @param 产品名称 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 应付账款 select应付账款By产品名称(String 产品名称); + + /** + * 查询【请填写功能名称】列表 + * + * @param 应付账款 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<应付账款> select应付账款List(应付账款 应付账款); + + /** + * 新增【请填写功能名称】 + * + * @param 应付账款 【请填写功能名称】 + * @return 结果 + */ + public int insert应付账款(应付账款 应付账款); + + /** + * 修改【请填写功能名称】 + * + * @param 应付账款 【请填写功能名称】 + * @return 结果 + */ + public int update应付账款(应付账款 应付账款); + + /** + * 删除【请填写功能名称】 + * + * @param 产品名称 【请填写功能名称】主键 + * @return 结果 + */ + public int delete应付账款By产品名称(String 产品名称); + + /** + * 批量删除【请填写功能名称】 + * + * @param 产品名称s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete应付账款By产品名称s(String[] 产品名称s); +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/应收账款Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/应收账款Mapper.java new file mode 100644 index 0000000..b3cd845 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/应收账款Mapper.java @@ -0,0 +1,66 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jt.入库; +import com.dsic.gj_erp.bean.jt.应收账款; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Mapper +public interface 应收账款Mapper extends BaseMapper<入库> +{ + /** + * 查询【请填写功能名称】 + * + * @param 销售出库单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 应收账款 select应收账款By销售出库单(String 销售出库单); + + /** + * 查询【请填写功能名称】列表 + * + * @param 应收账款 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<应收账款> select应收账款List(应收账款 应收账款); + + /** + * 新增【请填写功能名称】 + * + * @param 应收账款 【请填写功能名称】 + * @return 结果 + */ + public int insert应收账款(应收账款 应收账款); + + /** + * 修改【请填写功能名称】 + * + * @param 应收账款 【请填写功能名称】 + * @return 结果 + */ + public int update应收账款(应收账款 应收账款); + + /** + * 删除【请填写功能名称】 + * + * @param 销售出库单 【请填写功能名称】主键 + * @return 结果 + */ + public int delete应收账款By销售出库单(String 销售出库单); + + /** + * 批量删除【请填写功能名称】 + * + * @param 销售出库单s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete应收账款By销售出库单s(String[] 销售出库单s); +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/盘点Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/盘点Mapper.java new file mode 100644 index 0000000..83af2da --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/盘点Mapper.java @@ -0,0 +1,66 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jt.入库; +import com.dsic.gj_erp.bean.jt.盘点; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Mapper +public interface 盘点Mapper extends BaseMapper<盘点> +{ + /** + * 查询【请填写功能名称】 + * + * @param 盘点类型 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 盘点 select盘点By盘点类型(String 盘点类型); + + /** + * 查询【请填写功能名称】列表 + * + * @param 盘点 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<盘点> select盘点List(盘点 盘点); + + /** + * 新增【请填写功能名称】 + * + * @param 盘点 【请填写功能名称】 + * @return 结果 + */ + public int insert盘点(盘点 盘点); + + /** + * 修改【请填写功能名称】 + * + * @param 盘点 【请填写功能名称】 + * @return 结果 + */ + public int update盘点(盘点 盘点); + + /** + * 删除【请填写功能名称】 + * + * @param 盘点类型 【请填写功能名称】主键 + * @return 结果 + */ + public int delete盘点By盘点类型(String 盘点类型); + + /** + * 批量删除【请填写功能名称】 + * + * @param 盘点类型s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete盘点By盘点类型s(String[] 盘点类型s); +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/退货Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/退货Mapper.java new file mode 100644 index 0000000..8644722 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/退货Mapper.java @@ -0,0 +1,66 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jt.入库; +import com.dsic.gj_erp.bean.jt.退货; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Mapper +public interface 退货Mapper extends BaseMapper<退货> +{ + /** + * 查询【请填写功能名称】 + * + * @param 客户名称 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 退货 select退货By客户名称(String 客户名称); + + /** + * 查询【请填写功能名称】列表 + * + * @param 退货 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<退货> select退货List(退货 退货); + + /** + * 新增【请填写功能名称】 + * + * @param 退货 【请填写功能名称】 + * @return 结果 + */ + public int insert退货(退货 退货); + + /** + * 修改【请填写功能名称】 + * + * @param 退货 【请填写功能名称】 + * @return 结果 + */ + public int update退货(退货 退货); + + /** + * 删除【请填写功能名称】 + * + * @param 客户名称 【请填写功能名称】主键 + * @return 结果 + */ + public int delete退货By客户名称(String 客户名称); + + /** + * 批量删除【请填写功能名称】 + * + * @param 客户名称s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete退货By客户名称s(String[] 客户名称s); +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/采购订单Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/采购订单Mapper.java new file mode 100644 index 0000000..c6872ca --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/采购订单Mapper.java @@ -0,0 +1,66 @@ +package com.dsic.gj_erp.mapper.txzz; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jt.入库; +import com.dsic.gj_erp.bean.jt.采购订单; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Mapper +public interface 采购订单Mapper extends BaseMapper<采购订单> +{ + /** + * 查询【请填写功能名称】 + * + * @param 选择供应商 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 采购订单 select采购订单By选择供应商(String 选择供应商); + + /** + * 查询【请填写功能名称】列表 + * + * @param 采购订单 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<采购订单> select采购订单List(采购订单 采购订单); + + /** + * 新增【请填写功能名称】 + * + * @param 采购订单 【请填写功能名称】 + * @return 结果 + */ + public int insert采购订单(采购订单 采购订单); + + /** + * 修改【请填写功能名称】 + * + * @param 采购订单 【请填写功能名称】 + * @return 结果 + */ + public int update采购订单(采购订单 采购订单); + + /** + * 删除【请填写功能名称】 + * + * @param 选择供应商 【请填写功能名称】主键 + * @return 结果 + */ + public int delete采购订单By选择供应商(String 选择供应商); + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择供应商s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete采购订单By选择供应商s(String[] 选择供应商s); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaService.java b/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaService.java new file mode 100644 index 0000000..922923f --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaService.java @@ -0,0 +1,31 @@ +package com.dsic.gj_erp.service.txzz; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.txzz.DmMateria; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** + *

+ * 物品基本表 服务类 + *

+ * + * @author xhj + * @since 2021-03-29 + */ +public interface DmMateriaService extends IService { + +// public void saveBaths(HttpServletRequest httpRequest , List dmMateria); + + public Map getBase(Map params); + public Map getjcsjWpBase(Map params); + ResultBean> getAllCon(DmMateria dmMateria); + ResultBean> getCon(DmMateria dmMateria); + ResultBean addMateria(DmMateria[] dmMaterias,HttpServletRequest req); + ResultBean updateMateria(DmMateria[] dmMaterias,HttpServletRequest req); + ResultBean delMateria(DmMateria[] dmMaterias); + +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaServiceImpl.java new file mode 100644 index 0000000..bc2b817 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaServiceImpl.java @@ -0,0 +1,272 @@ +package com.dsic.gj_erp.service.txzz; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.sy.SyDictItem; +import com.dsic.gj_erp.bean.txzz.DmMateria; +import com.dsic.gj_erp.mapper.txzz.scby.DmMateriaMapper; +import com.dsic.gj_erp.service.sy.SyDictItemService; +import com.dsic.gj_erp.util.ConditionSelect; +import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.function.Function; + + +/** + *

+ * 物品基本表 服务实现类 + *

+ * + * @author xhj + * @since 2021-03-29 + */ +@Service +@AllArgsConstructor +public class DmMateriaServiceImpl extends ServiceImpl implements DmMateriaService { + + private final SyDictItemService syDictItemService; + + public Map getBase(Map params) { + Map dictMap = new HashMap(); + //管系类型 + List> gxlx = syDictItemService.getCodeByString("GXLX"); + dictMap.put("gxlx", gxlx); + return dictMap; + } + + @Override + public Map getjcsjWpBase(Map params) { + // 1 物品级别 wpjb 2 物品分类 WPLX 3购置类型(目前没有这个字段) 4 计量单位 jldw 5 工艺类别() 6用户分类码 7 仓库 (查表) + Map dictMap =new HashMap(); + List wpjb = syDictItemService.list(new QueryWrapper().eq("dict_code", "WPJB")); + List wplx = syDictItemService.list(new QueryWrapper().eq("dict_code", "WPLX").in("item_code","0201","0202","0203")); + List jldw = syDictItemService.list(new QueryWrapper().eq("dict_code", "JLDW")); + List fjsyfs = syDictItemService.list(new QueryWrapper().eq("dict_code", "FJSYFS")); +// List dept=dmDepartService.list(new QueryWrapper().in("institution_code","03","04","05").eq("system_code","IM")); + dictMap.put("wpjb",wpjb); + dictMap.put("wplx",wplx); + dictMap.put("jldw",jldw); + dictMap.put("fjsyfs",fjsyfs); + return dictMap; + } + + /** + * 物品条件全部查询 + * @author 张恩铭 + * @param dmMateria + * @return + */ + @Override + public ResultBean> getAllCon(DmMateria dmMateria) { + ConditionSelect conditionSelect = new ConditionSelect<>(dmMateria, new QueryWrapper(), baseMapper); + ResultBean resultBean = new ResultBean>(); + resultBean.setData(conditionSelect.getResult()); + return resultBean; + } + + /** + * 物品条件管系查询 + * @author 张恩铭 + * @param dmMateria + * @return + */ + @Override + public ResultBean> getCon(DmMateria dmMateria) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("gj_flag", 1); + if(StringUtils.isNotBlank(dmMateria.getMatNo())){ + queryWrapper.like("mat_no",dmMateria.getMatNo()); + } + if(StringUtils.isNotBlank(dmMateria.getMatName())){ + queryWrapper.like("mat_name",dmMateria.getMatName()); + } + if(StringUtils.isNotBlank(dmMateria.getMatGrd())){ + queryWrapper.like("mat_grd",dmMateria.getMatGrd()); + } + if(StringUtils.isNotBlank(dmMateria.getMatSpec())){ + queryWrapper.like("mat_spec",dmMateria.getMatSpec()); + } + if(StringUtils.isNotBlank(dmMateria.getMatVersion())){ + queryWrapper.like("mat_version",dmMateria.getMatVersion()); + } + if(StringUtils.isNotBlank(dmMateria.getInstitutionCode())){ + queryWrapper.like("institution_code",dmMateria.getInstitutionCode()); + } + queryWrapper.orderByAsc("mat_no"); + List result = this.list(queryWrapper); +// Map dictMap =new HashMap(); +// +// List dictCodes= Arrays.asList("WPJB","WPLX","JLDW"); +// QueryWrapper qw1 = new QueryWrapper(); +// qw1.in("dict_code", dictCodes); +// List list = syDictItemService.list(qw1); +// List wpjb = list.stream().filter(fsts -> "WPJB".equalsIgnoreCase(fsts.getDictCode())).collect(Collectors.toList()); +// List wplx = list.stream().filter(fsts -> "WPLX".equalsIgnoreCase(fsts.getDictCode())).collect(Collectors.toList()); +// List jldw = list.stream().filter(fsts -> "JLDW".equalsIgnoreCase(fsts.getDictCode())).collect(Collectors.toList()); +// Map wplxMap = wplx.stream().collect( +// Collectors.toMap(s->s.getItemCode(), s -> s.getItemValue())); +// for( DmMateria d: result){ +// String a =wplxMap.get(d.getMatCateg()); +// d.setMatCateg(wplxMap.get(d.getMatCateg())); +// d.setMatLevel("管系附件"); +// } + ResultBean resultBean = new ResultBean(); + resultBean.setData(result); + return resultBean; + } + + /** + * 物品添加 + * @author 张恩铭 + * @param dmMaterias + * @return + */ + @Override + public ResultBean addMateria(DmMateria[] dmMaterias,HttpServletRequest req) { + int i = 0; + Date now = new Date(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd"); + for (DmMateria d : dmMaterias) { + if(d.getMatNo() == null){ + continue; + }else { + List conditionSelect = this.list(new QueryWrapper().eq("mat_no", d.getMatNo())); + if(conditionSelect.size()>0){ + continue; + }else{ + //d.setBzrq(simpleDateFormat.format(now)); + // d.setGjFlag(1); + if(baseMapper.insert(toMateria(d,req,"N")) == 1) i++; + } + } + } + ResultBean resultBean = new ResultBean(); + resultBean.setData(i); + return resultBean; + } + + /** + * 物品修改 + * @author + * @param dmMaterias + * @return + */ + @Override + public ResultBean updateMateria(DmMateria[] dmMaterias, HttpServletRequest req) { + int i = 0; + Date now = new Date(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd"); + for (DmMateria d : dmMaterias) { + if(baseMapper.updateById(toMateria(d,req,d.getUseStatus())) == 1) i++; + + + } + ResultBean resultBean = new ResultBean(); + resultBean.setData(i); + return resultBean; + } + + /** + * 物品删除 + * @author 张恩铭 + * @param dmMaterias + * @return + */ + @Override + public ResultBean delMateria(DmMateria[] dmMaterias) { + int i = 0; + for (DmMateria d : dmMaterias) { + if(d.getUseStatus().equals("Y")){ + // ConditionSelect conditionSelect = new ConditionSelect<>(d, new QueryWrapper<>(), this.dmMateriaMapper); + // if(conditionSelect.getResult().get(0).getUseStatus().equals("Y")){ + continue; + // } + }else{ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("mat_no", d.getMatNo()); + if(baseMapper.delete(queryWrapper) == 1) i++; + } + } + ResultBean resultBean = new ResultBean(); + resultBean.setData(i); + return resultBean; + } + + public DmMateria toMateria(DmMateria fjExcel, HttpServletRequest req,String zt){ + DmMateria dmMateria = new DmMateria(); + dmMateria.setMatNo(fjExcel.getMatNo()); + dmMateria.setMatName(fjExcel.getMatName()); + dmMateria.setMatSpec(fjExcel.getMatSpec()); + dmMateria.setMatVersion(fjExcel.getMatVersion()); + dmMateria.setMatGrd(fjExcel.getMatGrd()); +// dmMateria.setInstitutionCode(fjExcel.getInstitutionCode()); + dmMateria.setJweight(fjExcel.getJweight()); + dmMateria.setMatArea(fjExcel.getMatArea()); + dmMateria.setMatArea1(fjExcel.getMatArea1()); + dmMateria.setHsUnit(StringUtils.isBlank(fjExcel.getHsUnit())?"个":fjExcel.getHsUnit()); + dmMateria.setZzUnit(dmMateria.getHsUnit()); + dmMateria.setCgUnit(dmMateria.getHsUnit()); +// dmMateria.setMatLevel("F"); +// ; + + if(dmMateria.getMatNo().contains(" II")||dmMateria.getMatNo().contains(" Ⅱ")){ + dmMateria.setFjjb("II"); + }else if(dmMateria.getMatNo().contains(" I")||dmMateria.getMatNo().contains(" Ⅰ")){ + dmMateria.setFjjb("I"); + } + String ckCode; + if(StringUtils.isNotBlank(fjExcel.getInstitutionCode())){ + if(fjExcel.getInstitutionCode().contains("安装")||fjExcel.equals("03")){ + dmMateria.setInstitutionCode("03"); + dmMateria.setMatCateg("0201"); + dmMateria.setMatLevel("F"); + }else if (fjExcel.getInstitutionCode().contains("支架")||fjExcel.equals("05")){ + dmMateria.setInstitutionCode("05"); + dmMateria.setMatCateg("0202"); + dmMateria.setMatLevel("Z"); + }else{ + dmMateria.setInstitutionCode("04"); + dmMateria.setMatCateg("0203"); + dmMateria.setMatLevel("F"); + + } + }else{ + dmMateria.setInstitutionCode("04"); + dmMateria.setMatCateg("0203"); + dmMateria.setMatLevel("F"); + } + dmMateria.setCgDept(fjExcel.getCgDept()); + dmMateria.setCgRy(fjExcel.getCgRy()); + dmMateria.setMainDept1(fjExcel.getMainDept()); + dmMateria.setMainDept(fjExcel.getMainDept()); + dmMateria.setOrderPeriod(fjExcel.getOrderPeriod()); + dmMateria.setGjFlag(1); + dmMateria.setT1(fjExcel.getT1()); + dmMateria.setT2(fjExcel.getT2()); + dmMateria.setCraftRemark(fjExcel.getCraftRemark()); + dmMateria.setDepartCode("02"); + dmMateria.setUseStatus(zt); + dmMateria.setBzry((String)req.getAttribute("username")); + dmMateria.setBzrq(DateUtil.format( DateUtil.date(), "yyyy/MM/dd")); + dmMateria.setFixedWire(fjExcel.getFixedWire()); + dmMateria.setWeldngNum(fjExcel.getWeldngNum()==null?0:fjExcel.getWeldngNum()); + dmMateria.setRemark(fjExcel.getRemark()); + dmMateria.setUseType(StringUtils.isBlank(fjExcel.getUseType())?"0":fjExcel.getUseType()); + dmMateria.setSafekc(fjExcel.getSafekc()); + dmMateria.setMaxkc(fjExcel.getMaxkc()); + dmMateria.setItemBm(fjExcel.getItemBm()); + + return dmMateria; + + } + +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/DmProjectService.java b/src/main/java/com/dsic/gj_erp/service/txzz/DmProjectService.java new file mode 100644 index 0000000..db21b0f --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/DmProjectService.java @@ -0,0 +1,68 @@ +package com.dsic.gj_erp.service.txzz; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.tree.ProjectTreeVo; +import com.dsic.gj_erp.bean.txzz.DmProject; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** + *

+ * 船只信息 服务类 + *

+ * + * @author xhj + * @since 2021-03-19 + */ +public interface DmProjectService extends IService { + + + public List getProjectTree(Map params); + + + /** + * @author 张恩铭 + */ + ResultBean> getByCondition(DmProject dmProject); + + /** + * @author 张恩铭 + */ + ResultBean> getAllProject(); + /** + * @author 张恩铭 + */ + ResultBean updateProject(DmProject[] dmProjects); + + /** + * @Title 查询表格中的工程编号在编码表中有没有 + * @Description //todo + * @author xcs + * @updateAuthor xcs + * @Date 2021/5/7 16:18 + * @version v1.0.0 + * @exception + * @throws + * @return + **/ + DmProject getProgect(DmProject project); + + + + /** + * @updateAuthor + * @Author xhj + * @Description Mp 下 船只管理界面基础查询 + * @Date 10:43 2021/7/21 + * @Param params: + * @return: java.util.Map + **/ + + public Map mpGetBase(Map params); + + void saveBaths(HttpServletRequest httpRequest,ListdmProjects); + +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/DmProjectServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/DmProjectServiceImpl.java new file mode 100644 index 0000000..3cb649e --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/DmProjectServiceImpl.java @@ -0,0 +1,251 @@ +package com.dsic.gj_erp.service.txzz; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.sy.DmEmployee; +import com.dsic.gj_erp.bean.tree.ProjectTreeVo; +import com.dsic.gj_erp.bean.txzz.DmProject; +import com.dsic.gj_erp.mapper.txzz.DmProjectMapper; +import com.dsic.gj_erp.service.sy.DmEmployeeService; +import com.dsic.gj_erp.service.sy.SyDictItemService; +import org.apache.commons.lang3.StringUtils; +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; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + *

+ * 船只信息 服务实现类 + *

+ * + * @author xhj + * @since 2021-03-19 + */ +@Service +public class DmProjectServiceImpl extends ServiceImpl implements DmProjectService { + + @Autowired + DmProjectMapper dmProjectMapper; + + + @Autowired + SyDictItemService dictItemService; + + @Autowired + RedisTemplate redisTemplate; + + @Autowired + DmEmployeeService employeeService; + + @Override + public List getProjectTree(Map params) { + QueryWrapper queryWrapper = new QueryWrapper(); + if (!StringUtils.isBlank((String) params.get("name"))) { + queryWrapper.like("project", params.get("name")); + } + queryWrapper.select("project"); + queryWrapper.apply("IFNULL(project,'')<>''"); + queryWrapper.orderBy(true, true, "finish_flag", "project"); + List list = this.list(queryWrapper); + + //父级 + List vo= new ArrayList<>(); + ProjectTreeVo projectTreeVo =new ProjectTreeVo(); + //子级 + List projectTreeVoList = new ArrayList<>(); + + list.stream().forEach(e->{ + ProjectTreeVo tree=new ProjectTreeVo(); + tree.setId(e.getProject()); + tree.setLabel(e.getProject()); + tree.setParentBm("@@@"); + projectTreeVoList.add(tree); + }); + projectTreeVo.setId("@@@").setLabel("工程编号").setChildren(projectTreeVoList); + vo.add(projectTreeVo); + return vo; + } + + /** + * 条件查询船只 + * @author 张恩铭 + * @param dmProject + * @return + */ + @Override + public ResultBean> getByCondition(DmProject dmProject) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + + if(StringUtils.isNotBlank(dmProject.getProject())){ + queryWrapper.likeRight("project",dmProject.getProject()); + } + if(StringUtils.isNotBlank(dmProject.getProjectName())){ + queryWrapper.likeRight("project_name",dmProject.getProjectName()); + } + //queryWrapper.apply("IFNULL(project,'')<>''"); + queryWrapper.orderBy(true,true,"finish_flag","project"); + return new ResultBean( this.list(queryWrapper)); + + } + + /** + * 只查所有船号 + * @author 张恩铭 + * @return + */ + @Override + public ResultBean> getAllProject() { + ResultBean> resultBean = new ResultBean<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + //queryWrapper.select("project"); + queryWrapper.select("project","factory_area","classs","owner","project_type","finish_flag"); + //qw.orderByDesc("finish_flag") + // qw. orderBy("age"); + queryWrapper.orderBy(true,true,"finish_flag","length(project)","project"); + queryWrapper.apply("IFNULL(project,'')<>''"); + resultBean.setData(this.dmProjectMapper.selectList(queryWrapper)); + return resultBean; + } + + /** + * 修改管系部分 + * @param dmProjects + * @return + */ + @Override + public ResultBean updateProject(DmProject[] dmProjects) { +// int i = 0; +// for (DmProject d : dmProjects) { +// DmProject temp = new DmProject(); +// temp.setProject(d.getProject()); +// temp.setSproject(d.getSproject()); +// temp.setGjProject(d.getGjProject()); +// temp.setGjOperator(d.getGjOperator()); +// temp.setGjgsStandard(d.getGjgsStandard()); +// temp.setPipeFactor(d.getPipeFactor()); +// temp.setPipeSupport(d.getPipeSupport()); +// temp.setPipeFlat(d.getPipeFlat()); +// temp.setId(d.getId()); +// if(this.dmProjectMapper.updateById(temp) == 1) i++; +// } +// ResultBean resultBean = new ResultBean<>(); +// resultBean.setData(i); +// return resultBean; + ResultBean result=this.updatePrivate(dmProjects); + return result; + } + + @Transactional + public ResultBean updatePrivate(DmProject[] dmProjects){ + int i = 0; + for (DmProject d : dmProjects) { + DmProject temp = new DmProject(); + temp.setProject(d.getProject()); + temp.setSproject(d.getSproject()); + temp.setGjProject(d.getGjProject()); + temp.setGjOperator(d.getGjOperator()); + temp.setGjgsStandard(d.getGjgsStandard()); + temp.setPipeFactor(d.getPipeFactor()); + temp.setPipeSupport(d.getPipeSupport()); + temp.setPipeFlat(d.getPipeFlat()); + temp.setCraftBy(d.getCraftBy()); + temp.setCraftBy2(d.getCraftBy2()); + temp.setCraftBy1(d.getCraftBy1()); + temp.setGjCky(d.getGjCky()); + temp.setGjDey(d.getGjDey()); + temp.setGjFty(d.getGjFty()); + temp.setGjHly(d.getGjHly()); + temp.setGjShy(d.getGjShy()); + temp.setId(d.getId()); + if(this.dmProjectMapper.updateById(temp) == 1) i++; + } + ResultBean resultBean = new ResultBean<>(); + resultBean.setData(i); + return resultBean; + } + + @Override + public DmProject getProgect(DmProject project) { + DmProject resultBean ; + resultBean = this.dmProjectMapper.getProject(project.getProject()); + return resultBean; + } + + @Override + public Map mpGetBase(Map params) { + QueryWrapper qw = new QueryWrapper(); + qw.select("project","factory_area","classs","owner","project_type"); + qw.orderBy(true,true,"finish_flag","length(project)","project"); + qw.apply("IFNULL(project,'')<>''"); + List listTable = this.list(qw); + + + //字典 + Map dictMap= new HashMap(); + List> gcqy = dictItemService.getCodeByString("GCQY"); + List> gclx = dictItemService.getCodeByString("GCLX"); + dictMap.put("gcqy",gcqy); + dictMap.put("gclx",gclx); + + + + + // 配送单位 //配送标识 =1 + + + Map map = new HashMap(); + map.put("list",listTable); + map.put("dict",dictMap); + return map; + } + + @Override + public void saveBaths(HttpServletRequest httpRequest, List dmProjects) { + //this.saveBatch(dmProjects); + + List list=employeeService.list(new QueryWrapper() + .eq("depart_code","01") + .eq("employee_status","1") + ); + dmProjects.forEach(p->{ + for(DmEmployee e:list){ + if(StrUtil.isNotEmpty(e.getZone())){ //工艺员 + if(e.getZone().equals("01")){// '船装'; + p.setCraftBy(e.getEmployeeName()); + } + if(e.getZone().equals("02")){//'机装' + p.setCraftBy1(e.getEmployeeName()); + } + if(e.getZone().equals("03")){//'居装' + p.setCraftBy2(e.getEmployeeName()); + } + } + + if( null!= e.getTitle()&&e.getTitle().equals("06")){ //sy_dict_item item_code =06= DmEmployee title 计调员 + p.setTxOperator(e.getEmployeeName()); + } + } + p.setBathNo2("1001");//船装批号 + p.setBathNo3("T1001");//T船装批号 + p.setBathNo4("2001");//机装批号 + p.setBathNo5("T2001");//T机装批号 + p.setBathNo6("3001");//居装批号 + p.setBathNo7("T3001");//T居装批号 + }); + this.saveAll(dmProjects); + } + + @Transactional + public void saveAll(List dmProjects){ + this.saveBatch(dmProjects); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/I供应商管理Service.java b/src/main/java/com/dsic/gj_erp/service/txzz/I供应商管理Service.java new file mode 100644 index 0000000..645ecbc --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/I供应商管理Service.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.service.txzz; + +import com.dsic.gj_erp.bean.jt.供应商管理; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface I供应商管理Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 供应商编码 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 供应商管理 select供应商管理By供应商编码(String 供应商编码); + + /** + * 查询【请填写功能名称】列表 + * + * @param 供应商管理 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<供应商管理> select供应商管理List(供应商管理 供应商管理); + + /** + * 新增【请填写功能名称】 + * + * @param 供应商管理 【请填写功能名称】 + * @return 结果 + */ + public int insert供应商管理(供应商管理 供应商管理); + + /** + * 修改【请填写功能名称】 + * + * @param 供应商管理 【请填写功能名称】 + * @return 结果 + */ + public int update供应商管理(供应商管理 供应商管理); + + /** + * 批量删除【请填写功能名称】 + * + * @param 供应商编码s 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int delete供应商管理By供应商编码s(String[] 供应商编码s); + + /** + * 删除【请填写功能名称】信息 + * + * @param 供应商编码 【请填写功能名称】主键 + * @return 结果 + */ + public int delete供应商管理By供应商编码(String 供应商编码); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/I入库Service.java b/src/main/java/com/dsic/gj_erp/service/txzz/I入库Service.java new file mode 100644 index 0000000..573cc07 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/I入库Service.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.service.txzz; + +import com.dsic.gj_erp.bean.jt.入库; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface I入库Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 选择采购订单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 入库 select入库By选择采购订单(String 选择采购订单); + + /** + * 查询【请填写功能名称】列表 + * + * @param 入库 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<入库> select入库List(入库 入库); + + /** + * 新增【请填写功能名称】 + * + * @param 入库 【请填写功能名称】 + * @return 结果 + */ + public int insert入库(入库 入库); + + /** + * 修改【请填写功能名称】 + * + * @param 入库 【请填写功能名称】 + * @return 结果 + */ + public int update入库(入库 入库); + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择采购订单s 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int delete入库By选择采购订单s(String[] 选择采购订单s); + + /** + * 删除【请填写功能名称】信息 + * + * @param 选择采购订单 【请填写功能名称】主键 + * @return 结果 + */ + public int delete入库By选择采购订单(String 选择采购订单); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/I出库Service.java b/src/main/java/com/dsic/gj_erp/service/txzz/I出库Service.java new file mode 100644 index 0000000..f2e1c11 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/I出库Service.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.service.txzz; + +import com.dsic.gj_erp.bean.jt.出库; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface I出库Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 选择销售订单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 出库 select出库By选择销售订单(String 选择销售订单); + + /** + * 查询【请填写功能名称】列表 + * + * @param 出库 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<出库> select出库List(出库 出库); + + /** + * 新增【请填写功能名称】 + * + * @param 出库 【请填写功能名称】 + * @return 结果 + */ + public int insert出库(出库 出库); + + /** + * 修改【请填写功能名称】 + * + * @param 出库 【请填写功能名称】 + * @return 结果 + */ + public int update出库(出库 出库); + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择销售订单s 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int delete出库By选择销售订单s(String[] 选择销售订单s); + + /** + * 删除【请填写功能名称】信息 + * + * @param 选择销售订单 【请填写功能名称】主键 + * @return 结果 + */ + public int delete出库By选择销售订单(String 选择销售订单); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/I发票管理Service.java b/src/main/java/com/dsic/gj_erp/service/txzz/I发票管理Service.java new file mode 100644 index 0000000..efc8a6c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/I发票管理Service.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.service.txzz; + +import com.dsic.gj_erp.bean.jt.发票管理; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface I发票管理Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 选择对账单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 发票管理 select发票管理By选择对账单(String 选择对账单); + + /** + * 查询【请填写功能名称】列表 + * + * @param 发票管理 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<发票管理> select发票管理List(发票管理 发票管理); + + /** + * 新增【请填写功能名称】 + * + * @param 发票管理 【请填写功能名称】 + * @return 结果 + */ + public int insert发票管理(发票管理 发票管理); + + /** + * 修改【请填写功能名称】 + * + * @param 发票管理 【请填写功能名称】 + * @return 结果 + */ + public int update发票管理(发票管理 发票管理); + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择对账单s 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int delete发票管理By选择对账单s(String[] 选择对账单s); + + /** + * 删除【请填写功能名称】信息 + * + * @param 选择对账单 【请填写功能名称】主键 + * @return 结果 + */ + public int delete发票管理By选择对账单(String 选择对账单); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/I应付账款Service.java b/src/main/java/com/dsic/gj_erp/service/txzz/I应付账款Service.java new file mode 100644 index 0000000..663595f --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/I应付账款Service.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.service.txzz; + +import com.dsic.gj_erp.bean.jt.应付账款; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface I应付账款Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 产品名称 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 应付账款 select应付账款By产品名称(String 产品名称); + + /** + * 查询【请填写功能名称】列表 + * + * @param 应付账款 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<应付账款> select应付账款List(应付账款 应付账款); + + /** + * 新增【请填写功能名称】 + * + * @param 应付账款 【请填写功能名称】 + * @return 结果 + */ + public int insert应付账款(应付账款 应付账款); + + /** + * 修改【请填写功能名称】 + * + * @param 应付账款 【请填写功能名称】 + * @return 结果 + */ + public int update应付账款(应付账款 应付账款); + + /** + * 批量删除【请填写功能名称】 + * + * @param 产品名称s 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int delete应付账款By产品名称s(String[] 产品名称s); + + /** + * 删除【请填写功能名称】信息 + * + * @param 产品名称 【请填写功能名称】主键 + * @return 结果 + */ + public int delete应付账款By产品名称(String 产品名称); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/I应收账款Service.java b/src/main/java/com/dsic/gj_erp/service/txzz/I应收账款Service.java new file mode 100644 index 0000000..c92ac95 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/I应收账款Service.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.service.txzz; + +import com.dsic.gj_erp.bean.jt.应收账款; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface I应收账款Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 销售出库单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 应收账款 select应收账款By销售出库单(String 销售出库单); + + /** + * 查询【请填写功能名称】列表 + * + * @param 应收账款 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<应收账款> select应收账款List(应收账款 应收账款); + + /** + * 新增【请填写功能名称】 + * + * @param 应收账款 【请填写功能名称】 + * @return 结果 + */ + public int insert应收账款(应收账款 应收账款); + + /** + * 修改【请填写功能名称】 + * + * @param 应收账款 【请填写功能名称】 + * @return 结果 + */ + public int update应收账款(应收账款 应收账款); + + /** + * 批量删除【请填写功能名称】 + * + * @param 销售出库单s 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int delete应收账款By销售出库单s(String[] 销售出库单s); + + /** + * 删除【请填写功能名称】信息 + * + * @param 销售出库单 【请填写功能名称】主键 + * @return 结果 + */ + public int delete应收账款By销售出库单(String 销售出库单); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/I盘点Service.java b/src/main/java/com/dsic/gj_erp/service/txzz/I盘点Service.java new file mode 100644 index 0000000..5394f23 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/I盘点Service.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.service.txzz; + +import com.dsic.gj_erp.bean.jt.盘点; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface I盘点Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 盘点类型 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 盘点 select盘点By盘点类型(String 盘点类型); + + /** + * 查询【请填写功能名称】列表 + * + * @param 盘点 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<盘点> select盘点List(盘点 盘点); + + /** + * 新增【请填写功能名称】 + * + * @param 盘点 【请填写功能名称】 + * @return 结果 + */ + public int insert盘点(盘点 盘点); + + /** + * 修改【请填写功能名称】 + * + * @param 盘点 【请填写功能名称】 + * @return 结果 + */ + public int update盘点(盘点 盘点); + + /** + * 批量删除【请填写功能名称】 + * + * @param 盘点类型s 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int delete盘点By盘点类型s(String[] 盘点类型s); + + /** + * 删除【请填写功能名称】信息 + * + * @param 盘点类型 【请填写功能名称】主键 + * @return 结果 + */ + public int delete盘点By盘点类型(String 盘点类型); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/I退货Service.java b/src/main/java/com/dsic/gj_erp/service/txzz/I退货Service.java new file mode 100644 index 0000000..84cf216 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/I退货Service.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.service.txzz; + +import com.dsic.gj_erp.bean.jt.退货; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface I退货Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 客户名称 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 退货 select退货By客户名称(String 客户名称); + + /** + * 查询【请填写功能名称】列表 + * + * @param 退货 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<退货> select退货List(退货 退货); + + /** + * 新增【请填写功能名称】 + * + * @param 退货 【请填写功能名称】 + * @return 结果 + */ + public int insert退货(退货 退货); + + /** + * 修改【请填写功能名称】 + * + * @param 退货 【请填写功能名称】 + * @return 结果 + */ + public int update退货(退货 退货); + + /** + * 批量删除【请填写功能名称】 + * + * @param 客户名称s 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int delete退货By客户名称s(String[] 客户名称s); + + /** + * 删除【请填写功能名称】信息 + * + * @param 客户名称 【请填写功能名称】主键 + * @return 结果 + */ + public int delete退货By客户名称(String 客户名称); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/I采购订单Service.java b/src/main/java/com/dsic/gj_erp/service/txzz/I采购订单Service.java new file mode 100644 index 0000000..2e0cde9 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/I采购订单Service.java @@ -0,0 +1,62 @@ +package com.dsic.gj_erp.service.txzz; + +import com.dsic.gj_erp.bean.jt.采购订单; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-06-26 + */ +public interface I采购订单Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 选择供应商 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public 采购订单 select采购订单By选择供应商(String 选择供应商); + + /** + * 查询【请填写功能名称】列表 + * + * @param 采购订单 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List<采购订单> select采购订单List(采购订单 采购订单); + + /** + * 新增【请填写功能名称】 + * + * @param 采购订单 【请填写功能名称】 + * @return 结果 + */ + public int insert采购订单(采购订单 采购订单); + + /** + * 修改【请填写功能名称】 + * + * @param 采购订单 【请填写功能名称】 + * @return 结果 + */ + public int update采购订单(采购订单 采购订单); + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择供应商s 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int delete采购订单By选择供应商s(String[] 选择供应商s); + + /** + * 删除【请填写功能名称】信息 + * + * @param 选择供应商 【请填写功能名称】主键 + * @return 结果 + */ + public int delete采购订单By选择供应商(String 选择供应商); +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/供应商管理ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/供应商管理ServiceImpl.java new file mode 100644 index 0000000..1764129 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/供应商管理ServiceImpl.java @@ -0,0 +1,94 @@ +package com.dsic.gj_erp.service.txzz.impl; + +import java.util.List; + +import com.dsic.gj_erp.bean.jt.供应商管理; +import com.dsic.gj_erp.mapper.txzz.供应商管理Mapper; +import com.dsic.gj_erp.service.txzz.I供应商管理Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Service +public class 供应商管理ServiceImpl implements I供应商管理Service +{ + @Autowired + private 供应商管理Mapper 供应商管理Mapper; + + /** + * 查询【请填写功能名称】 + * + * @param 供应商编码 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public 供应商管理 select供应商管理By供应商编码(String 供应商编码) + { + return 供应商管理Mapper.select供应商管理By供应商编码(供应商编码); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param 供应商管理 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List<供应商管理> select供应商管理List(供应商管理 供应商管理) + { + return 供应商管理Mapper.select供应商管理List(供应商管理); + } + + /** + * 新增【请填写功能名称】 + * + * @param 供应商管理 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insert供应商管理(供应商管理 供应商管理) + { + return 供应商管理Mapper.insert供应商管理(供应商管理); + } + + /** + * 修改【请填写功能名称】 + * + * @param 供应商管理 【请填写功能名称】 + * @return 结果 + */ + @Override + public int update供应商管理(供应商管理 供应商管理) + { + return 供应商管理Mapper.update供应商管理(供应商管理); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param 供应商编码s 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete供应商管理By供应商编码s(String[] 供应商编码s) + { + return 供应商管理Mapper.delete供应商管理By供应商编码s(供应商编码s); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param 供应商编码 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete供应商管理By供应商编码(String 供应商编码) + { + return 供应商管理Mapper.delete供应商管理By供应商编码(供应商编码); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/入库ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/入库ServiceImpl.java new file mode 100644 index 0000000..f656256 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/入库ServiceImpl.java @@ -0,0 +1,92 @@ +package com.dsic.gj_erp.service.txzz.impl; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.jt.入库; +import com.dsic.gj_erp.mapper.txzz.入库Mapper; +import com.dsic.gj_erp.service.txzz.I入库Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Service +public class 入库ServiceImpl extends ServiceImpl<入库Mapper,入库> implements I入库Service +{ + /** + * 查询【请填写功能名称】 + * + * @param 选择采购订单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public 入库 select入库By选择采购订单(String 选择采购订单) + { + return baseMapper.select入库By选择采购订单(选择采购订单); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param 入库 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List<入库> select入库List(入库 入库) + { + return baseMapper.select入库List(入库); + } + + /** + * 新增【请填写功能名称】 + * + * @param 入库 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insert入库(入库 入库) + { + return baseMapper.insert入库(入库); + } + + /** + * 修改【请填写功能名称】 + * + * @param 入库 【请填写功能名称】 + * @return 结果 + */ + @Override + public int update入库(入库 入库) + { + return baseMapper.update入库(入库); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择采购订单s 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete入库By选择采购订单s(String[] 选择采购订单s) + { + return baseMapper.delete入库By选择采购订单s(选择采购订单s); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param 选择采购订单 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete入库By选择采购订单(String 选择采购订单) + { + return baseMapper.delete入库By选择采购订单(选择采购订单); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/出库ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/出库ServiceImpl.java new file mode 100644 index 0000000..a2dfca1 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/出库ServiceImpl.java @@ -0,0 +1,94 @@ +package com.dsic.gj_erp.service.txzz.impl; + +import java.util.List; + +import com.dsic.gj_erp.bean.jt.出库; +import com.dsic.gj_erp.mapper.txzz.出库Mapper; +import com.dsic.gj_erp.service.txzz.I出库Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Service +public class 出库ServiceImpl implements I出库Service +{ + @Autowired + private 出库Mapper 出库Mapper; + + /** + * 查询【请填写功能名称】 + * + * @param 选择销售订单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public 出库 select出库By选择销售订单(String 选择销售订单) + { + return 出库Mapper.select出库By选择销售订单(选择销售订单); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param 出库 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List<出库> select出库List(出库 出库) + { + return 出库Mapper.select出库List(出库); + } + + /** + * 新增【请填写功能名称】 + * + * @param 出库 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insert出库(出库 出库) + { + return 出库Mapper.insert出库(出库); + } + + /** + * 修改【请填写功能名称】 + * + * @param 出库 【请填写功能名称】 + * @return 结果 + */ + @Override + public int update出库(出库 出库) + { + return 出库Mapper.update出库(出库); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择销售订单s 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete出库By选择销售订单s(String[] 选择销售订单s) + { + return 出库Mapper.delete出库By选择销售订单s(选择销售订单s); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param 选择销售订单 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete出库By选择销售订单(String 选择销售订单) + { + return 出库Mapper.delete出库By选择销售订单(选择销售订单); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/发票管理ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/发票管理ServiceImpl.java new file mode 100644 index 0000000..e7b48ca --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/发票管理ServiceImpl.java @@ -0,0 +1,94 @@ +package com.dsic.gj_erp.service.txzz.impl; + +import java.util.List; + +import com.dsic.gj_erp.bean.jt.发票管理; +import com.dsic.gj_erp.mapper.txzz.发票管理Mapper; +import com.dsic.gj_erp.service.txzz.I发票管理Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Service +public class 发票管理ServiceImpl implements I发票管理Service +{ + @Autowired + private 发票管理Mapper 发票管理Mapper; + + /** + * 查询【请填写功能名称】 + * + * @param 选择对账单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public 发票管理 select发票管理By选择对账单(String 选择对账单) + { + return 发票管理Mapper.select发票管理By选择对账单(选择对账单); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param 发票管理 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List<发票管理> select发票管理List(发票管理 发票管理) + { + return 发票管理Mapper.select发票管理List(发票管理); + } + + /** + * 新增【请填写功能名称】 + * + * @param 发票管理 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insert发票管理(发票管理 发票管理) + { + return 发票管理Mapper.insert发票管理(发票管理); + } + + /** + * 修改【请填写功能名称】 + * + * @param 发票管理 【请填写功能名称】 + * @return 结果 + */ + @Override + public int update发票管理(发票管理 发票管理) + { + return 发票管理Mapper.update发票管理(发票管理); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择对账单s 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete发票管理By选择对账单s(String[] 选择对账单s) + { + return 发票管理Mapper.delete发票管理By选择对账单s(选择对账单s); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param 选择对账单 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete发票管理By选择对账单(String 选择对账单) + { + return 发票管理Mapper.delete发票管理By选择对账单(选择对账单); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/应付账款ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/应付账款ServiceImpl.java new file mode 100644 index 0000000..1fa0bb9 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/应付账款ServiceImpl.java @@ -0,0 +1,94 @@ +package com.dsic.gj_erp.service.txzz.impl; + +import java.util.List; + +import com.dsic.gj_erp.bean.jt.应付账款; +import com.dsic.gj_erp.mapper.txzz.应付账款Mapper; +import com.dsic.gj_erp.service.txzz.I应付账款Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Service +public class 应付账款ServiceImpl implements I应付账款Service +{ + @Autowired + private 应付账款Mapper 应付账款Mapper; + + /** + * 查询【请填写功能名称】 + * + * @param 产品名称 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public 应付账款 select应付账款By产品名称(String 产品名称) + { + return 应付账款Mapper.select应付账款By产品名称(产品名称); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param 应付账款 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List<应付账款> select应付账款List(应付账款 应付账款) + { + return 应付账款Mapper.select应付账款List(应付账款); + } + + /** + * 新增【请填写功能名称】 + * + * @param 应付账款 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insert应付账款(应付账款 应付账款) + { + return 应付账款Mapper.insert应付账款(应付账款); + } + + /** + * 修改【请填写功能名称】 + * + * @param 应付账款 【请填写功能名称】 + * @return 结果 + */ + @Override + public int update应付账款(应付账款 应付账款) + { + return 应付账款Mapper.update应付账款(应付账款); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param 产品名称s 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete应付账款By产品名称s(String[] 产品名称s) + { + return 应付账款Mapper.delete应付账款By产品名称s(产品名称s); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param 产品名称 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete应付账款By产品名称(String 产品名称) + { + return 应付账款Mapper.delete应付账款By产品名称(产品名称); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/应收账款ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/应收账款ServiceImpl.java new file mode 100644 index 0000000..7a97254 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/应收账款ServiceImpl.java @@ -0,0 +1,94 @@ +package com.dsic.gj_erp.service.txzz.impl; + +import java.util.List; + +import com.dsic.gj_erp.bean.jt.应收账款; +import com.dsic.gj_erp.mapper.txzz.应收账款Mapper; +import com.dsic.gj_erp.service.txzz.I应收账款Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Service +public class 应收账款ServiceImpl implements I应收账款Service +{ + @Autowired + private 应收账款Mapper 应收账款Mapper; + + /** + * 查询【请填写功能名称】 + * + * @param 销售出库单 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public 应收账款 select应收账款By销售出库单(String 销售出库单) + { + return 应收账款Mapper.select应收账款By销售出库单(销售出库单); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param 应收账款 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List<应收账款> select应收账款List(应收账款 应收账款) + { + return 应收账款Mapper.select应收账款List(应收账款); + } + + /** + * 新增【请填写功能名称】 + * + * @param 应收账款 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insert应收账款(应收账款 应收账款) + { + return 应收账款Mapper.insert应收账款(应收账款); + } + + /** + * 修改【请填写功能名称】 + * + * @param 应收账款 【请填写功能名称】 + * @return 结果 + */ + @Override + public int update应收账款(应收账款 应收账款) + { + return 应收账款Mapper.update应收账款(应收账款); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param 销售出库单s 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete应收账款By销售出库单s(String[] 销售出库单s) + { + return 应收账款Mapper.delete应收账款By销售出库单s(销售出库单s); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param 销售出库单 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete应收账款By销售出库单(String 销售出库单) + { + return 应收账款Mapper.delete应收账款By销售出库单(销售出库单); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/盘点ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/盘点ServiceImpl.java new file mode 100644 index 0000000..ccbdf8e --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/盘点ServiceImpl.java @@ -0,0 +1,94 @@ +package com.dsic.gj_erp.service.txzz.impl; + +import java.util.List; + +import com.dsic.gj_erp.bean.jt.盘点; +import com.dsic.gj_erp.mapper.txzz.盘点Mapper; +import com.dsic.gj_erp.service.txzz.I盘点Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Service +public class 盘点ServiceImpl implements I盘点Service +{ + @Autowired + private 盘点Mapper 盘点Mapper; + + /** + * 查询【请填写功能名称】 + * + * @param 盘点类型 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public 盘点 select盘点By盘点类型(String 盘点类型) + { + return 盘点Mapper.select盘点By盘点类型(盘点类型); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param 盘点 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List<盘点> select盘点List(盘点 盘点) + { + return 盘点Mapper.select盘点List(盘点); + } + + /** + * 新增【请填写功能名称】 + * + * @param 盘点 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insert盘点(盘点 盘点) + { + return 盘点Mapper.insert盘点(盘点); + } + + /** + * 修改【请填写功能名称】 + * + * @param 盘点 【请填写功能名称】 + * @return 结果 + */ + @Override + public int update盘点(盘点 盘点) + { + return 盘点Mapper.update盘点(盘点); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param 盘点类型s 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete盘点By盘点类型s(String[] 盘点类型s) + { + return 盘点Mapper.delete盘点By盘点类型s(盘点类型s); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param 盘点类型 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete盘点By盘点类型(String 盘点类型) + { + return 盘点Mapper.delete盘点By盘点类型(盘点类型); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/退货ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/退货ServiceImpl.java new file mode 100644 index 0000000..b9f1549 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/退货ServiceImpl.java @@ -0,0 +1,94 @@ +package com.dsic.gj_erp.service.txzz.impl; + +import java.util.List; + +import com.dsic.gj_erp.bean.jt.退货; +import com.dsic.gj_erp.mapper.txzz.退货Mapper; +import com.dsic.gj_erp.service.txzz.I退货Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Service +public class 退货ServiceImpl implements I退货Service +{ + @Autowired + private 退货Mapper 退货Mapper; + + /** + * 查询【请填写功能名称】 + * + * @param 客户名称 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public 退货 select退货By客户名称(String 客户名称) + { + return 退货Mapper.select退货By客户名称(客户名称); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param 退货 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List<退货> select退货List(退货 退货) + { + return 退货Mapper.select退货List(退货); + } + + /** + * 新增【请填写功能名称】 + * + * @param 退货 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insert退货(退货 退货) + { + return 退货Mapper.insert退货(退货); + } + + /** + * 修改【请填写功能名称】 + * + * @param 退货 【请填写功能名称】 + * @return 结果 + */ + @Override + public int update退货(退货 退货) + { + return 退货Mapper.update退货(退货); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param 客户名称s 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete退货By客户名称s(String[] 客户名称s) + { + return 退货Mapper.delete退货By客户名称s(客户名称s); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param 客户名称 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete退货By客户名称(String 客户名称) + { + return 退货Mapper.delete退货By客户名称(客户名称); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/采购订单ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/采购订单ServiceImpl.java new file mode 100644 index 0000000..f5d7050 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/采购订单ServiceImpl.java @@ -0,0 +1,94 @@ +package com.dsic.gj_erp.service.txzz.impl; + +import java.util.List; + +import com.dsic.gj_erp.bean.jt.采购订单; +import com.dsic.gj_erp.mapper.txzz.采购订单Mapper; +import com.dsic.gj_erp.service.txzz.I采购订单Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-06-26 + */ +@Service +public class 采购订单ServiceImpl implements I采购订单Service +{ + @Autowired + private 采购订单Mapper 采购订单Mapper; + + /** + * 查询【请填写功能名称】 + * + * @param 选择供应商 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public 采购订单 select采购订单By选择供应商(String 选择供应商) + { + return 采购订单Mapper.select采购订单By选择供应商(选择供应商); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param 采购订单 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List<采购订单> select采购订单List(采购订单 采购订单) + { + return 采购订单Mapper.select采购订单List(采购订单); + } + + /** + * 新增【请填写功能名称】 + * + * @param 采购订单 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insert采购订单(采购订单 采购订单) + { + return 采购订单Mapper.insert采购订单(采购订单); + } + + /** + * 修改【请填写功能名称】 + * + * @param 采购订单 【请填写功能名称】 + * @return 结果 + */ + @Override + public int update采购订单(采购订单 采购订单) + { + return 采购订单Mapper.update采购订单(采购订单); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param 选择供应商s 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete采购订单By选择供应商s(String[] 选择供应商s) + { + return 采购订单Mapper.delete采购订单By选择供应商s(选择供应商s); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param 选择供应商 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int delete采购订单By选择供应商(String 选择供应商) + { + return 采购订单Mapper.delete采购订单By选择供应商(选择供应商); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/jhgl/TpbhPlanService.java b/src/main/java/com/dsic/gj_erp/service/txzz/jhgl/TpbhPlanService.java new file mode 100644 index 0000000..2f4ee3c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/txzz/jhgl/TpbhPlanService.java @@ -0,0 +1,119 @@ +package com.dsic.gj_erp.service.txzz.jhgl; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.txzz.jhgl.TpbhPlan; +import com.dsic.gj_erp.mapper.txzz.jhgl.TpbhPlanMapper; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +@AllArgsConstructor +public class TpbhPlanService extends ServiceImpl { + + + /** + * 提交时数据处理 + */ + @Transactional(rollbackFor = Exception.class) + public void submitHandler(List list,String userName,String userDeptCode){ + String data= DateUtil.date().toString("yyyy/MM/dd"); + List subList=list.stream().filter(TpbhPlan::canSubmit) + .filter(TpbhPlan::canSave) + .map(l-> { + TpbhPlan plan=new TpbhPlan(); + plan.setId(l.getId()); + plan.updateForSubmit(userName,userDeptCode,data); + return plan; + }) + .collect(Collectors.toList()); + this.updateBatchById(subList); + } + + /** + * excel导入时处理数据 + */ + public Map> excelHandler(List list){ + list=list.stream() + .filter(TpbhPlan::checkBaseParam) + .peek(l-> { + l.setStatus("01"); + l.setDepartCode("01"); + }).collect(Collectors.toList()); + //查询重复数据 + List repeatList= list.stream() + .map(l-> this.getOne(new QueryWrapper() + .eq("depart_code",l.getDepartCode()) + .eq("project",l.getProject()) + .eq("dwg_no",l.getDwgNo()) + .last("limit 1") + )).collect(Collectors.toList()); + + //去重,这里自定义判断方法,先不重写equals + //todo equals + list=list.stream().filter(l->{ + for (TpbhPlan plan:repeatList){ + if (l.equals(plan)){ + return false; + } + } + return true; + }).collect(Collectors.toList()); + + Map> map=new HashMap<>(); + map.put("successData",list); + map.put("errorData",repeatList); + return map; + } + + /** + * 提取 + */ +// public List extract(String project, String dwgNo){ +// DzglQueryContent content=new DzglQueryContent(); +// content.setProject(project); +// //需要资料审核后才可提取 +// content.setStatus("02"); +// List list=dmMfgDetailService.getDetailByStatus(content); +// +// //配送计划存在时也要提取 +// List pmlList=pmlPlanService.list(new QueryWrapper() +// .eq("project",project) +// .eq("depart_code","01") +// .eq("ps_status","04") +// ); +// pmlList.forEach(p-> list.forEach(l->{ +// if (p.getProject().equals(l.getProject())&&p.getDwgNo().equals(l.getDwgNo())){ +// l.setPmlZz(p.getPmlNo()); +// } +// })); +// return list; +// } + + /** + * 审核&审批 + */ + public void examine(List list,String userName,String userCode,String action){ + String data=DateUtil.date().toString("yyyy/MM/dd"); + List updateList=list.stream().map(l->{ + TpbhPlan plan=new TpbhPlan(); + plan.setId(l.getId()); + switch (action){ + case "sh": + plan.updateForSh(userName,userCode,data); + break; + case "sp": + plan.updateForSp(userName,userCode,data); + } + return plan; + }).collect(Collectors.toList()); + this.updateBatchById(updateList); + } +} diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 9976055..d7039c9 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -20,3 +20,5 @@ hibernate.naming.physical_strategy=com.dsic.gj_erp.config.MyPhysicalNamingStrate hibernate.show_sql=true spring.mvc.throw-exception-if-no-handler-found=true + +zxtbm=PS \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 4f20f1a..5f9befc 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -37,10 +37,12 @@ spring.datasource.jiuzhou.initialize=true hibernate.naming.physical_strategy=com.dsic.gj_erp.config.MyPhysicalNamingStrategy hibernate.show_sql=true hibernate.connection.autocommit=true -'hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect +hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect mybatis-plus.configuration.batch-size=5000 +zxtbm=PS + diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 9c74a28..827db9f 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -2,7 +2,10 @@ + + INFO diff --git a/src/main/resources/mappers/sy/SyuserMapper.xml b/src/main/resources/mappers/sy/SyuserMapper.xml index 11afe62..8393822 100644 --- a/src/main/resources/mappers/sy/SyuserMapper.xml +++ b/src/main/resources/mappers/sy/SyuserMapper.xml @@ -23,7 +23,7 @@ '0' as rule_flag,null as param FROM syifrp join syuirp on (syifrp.gwdm = syuirp.gwdm) join syfunp on (syifrp.zxtbm = syfunp.zxtbm and syifrp.ms = syfunp.ms) - WHERE syifrp.zxtbm='PS' + WHERE syifrp.zxtbm=#{systemcode} and syuirp.yhdm=#{usercode} UNION ALL @@ -36,7 +36,7 @@ '0' as rule_flag,null as param FROM syifrp join syuirp on (syifrp.gwdm = syuirp.gwdm) join syfunp on (syifrp.zxtbm = syfunp.zxtbm and syifrp.ms = syfunp.ms) - WHERE syifrp.zxtbm='PS' + WHERE syifrp.zxtbm=#{systemcode} and syuirp.yhdm=#{usercode} ORDER BY id diff --git a/src/main/resources/mappers/txzz/DmMateriaMapper.xml b/src/main/resources/mappers/txzz/DmMateriaMapper.xml new file mode 100644 index 0000000..9a8be0a --- /dev/null +++ b/src/main/resources/mappers/txzz/DmMateriaMapper.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mat_no, mat_name, mat_spec, first_categ, second_categ, mat_version, mat_grd, use_categ, institution_code, jweight, mweight, density, mat_area, mat_area1, hs_unit, zz_unit, cg_unit, mat_level, mat_categ, cg_dept, cg_ry, main_dept1, main_dept, order_period, use_period, cg_flag, tx_flag, gj_flag, dy_flag, t1, t2, b1, b2, l, craft_remark, area_formula, volume_formula, gist1, gist2, mat_from, pieces_from, depart_code, abc_categ, craft_identify_no, usertype_status, use_status, bzry, bzrq, tjry, tjrq, spry, sprq, tmat_code, consume_rate, solid_content, factory, fixed_wire, weldng_num, groove_num, turn_num, nozzle_model, blend_use, tmat_consume_rate, remark,hczl + + + + + update dm_materia + + + mat_no = #{item.matNo}, + + + mat_name = #{item.matName}, + + + mat_version = #{item.matVersion}, + + + mat_spec = #{item.matSpec}, + + + mat_grd = #{item.matGrd}, + + + jweight = #{item.jweight}, + + + mat_area = #{item.matArea}, + + + mat_area1 = #{item.matArea1}, + + + weldng_num = #{item.weldngNum}, + + + t2 = #{item.t2}, + + + t1 = #{item.t1}, + + + use_type = #{item.useType}, + + + safekc = #{item.safekc}, + + + maxkc = #{item.maxkc}, + + + groove_num = #{item.grooveNum}, + + + turn_num = #{item.turnNum}, + + + item_no = #{item.itemNo}, + + + bzrq = #{item.bzrq}, + + + bzry = #{item.bzry}, + + + gj_flag = #{item.gjFlag}, + + + mat_level = #{item.matLevel}, + + + + + where mat_no = #{item.ymatNo} + + + + diff --git a/src/main/resources/mappers/txzz/供应商管理Mapper.xml b/src/main/resources/mappers/txzz/供应商管理Mapper.xml new file mode 100644 index 0000000..7d392c3 --- /dev/null +++ b/src/main/resources/mappers/txzz/供应商管理Mapper.xml @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select 供应商编码, 供应商名称, 供应商分类, 供应商等级, 签约开始日期, 结算期限, 采购负责人, 签约结束日期, 信用额度, 供应商地区, 具体地址, 合同附件, 发票抬头, 发票税号, 税种, 增值税税率, 开户银行, 银行账号, 创建时间, 创建用户, 最近修改时间, 修改用户 from 供应商管理 + + + + + + + + insert into 供应商管理 + + 供应商编码, + 供应商名称, + 供应商分类, + 供应商等级, + 签约开始日期, + 结算期限, + 采购负责人, + 签约结束日期, + 信用额度, + 供应商地区, + 具体地址, + 合同附件, + 发票抬头, + 发票税号, + 税种, + 增值税税率, + 开户银行, + 银行账号, + 创建时间, + 创建用户, + 最近修改时间, + 修改用户, + + + #{供应商编码}, + #{供应商名称}, + #{供应商分类}, + #{供应商等级}, + #{签约开始日期}, + #{结算期限}, + #{采购负责人}, + #{签约结束日期}, + #{信用额度}, + #{供应商地区}, + #{具体地址}, + #{合同附件}, + #{发票抬头}, + #{发票税号}, + #{税种}, + #{增值税税率}, + #{开户银行}, + #{银行账号}, + #{创建时间}, + #{创建用户}, + #{最近修改时间}, + #{修改用户}, + + + + + update 供应商管理 + + 供应商名称 = #{供应商名称}, + 供应商分类 = #{供应商分类}, + 供应商等级 = #{供应商等级}, + 签约开始日期 = #{签约开始日期}, + 结算期限 = #{结算期限}, + 采购负责人 = #{采购负责人}, + 签约结束日期 = #{签约结束日期}, + 信用额度 = #{信用额度}, + 供应商地区 = #{供应商地区}, + 具体地址 = #{具体地址}, + 合同附件 = #{合同附件}, + 发票抬头 = #{发票抬头}, + 发票税号 = #{发票税号}, + 税种 = #{税种}, + 增值税税率 = #{增值税税率}, + 开户银行 = #{开户银行}, + 银行账号 = #{银行账号}, + 创建时间 = #{创建时间}, + 创建用户 = #{创建用户}, + 最近修改时间 = #{最近修改时间}, + 修改用户 = #{修改用户}, + + where 供应商编码 = #{供应商编码} + + + + delete from 供应商管理 where 供应商编码 = #{供应商编码} + + + + delete from 供应商管理 where 供应商编码 in + + #{供应商编码} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/txzz/入库Mapper.xml b/src/main/resources/mappers/txzz/入库Mapper.xml new file mode 100644 index 0000000..8a636ba --- /dev/null +++ b/src/main/resources/mappers/txzz/入库Mapper.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + select 选择采购订单, 采购入库单编号, 入库仓库, 入库产品总数, 是否存在不合格品, 合格品入库确认, 入库产品采购价总额, 质检时间, 质检员, 入库时间, 入库员, 创建时间, 创建用户, 修改用户 from 入库 + + + + + + + + insert into 入库 + + 选择采购订单, + 采购入库单编号, + 入库仓库, + 入库产品总数, + 是否存在不合格品, + 合格品入库确认, + 入库产品采购价总额, + 质检时间, + 质检员, + 入库时间, + 入库员, + 创建时间, + 创建用户, + 修改用户, + + + #{选择采购订单}, + #{采购入库单编号}, + #{入库仓库}, + #{入库产品总数}, + #{是否存在不合格品}, + #{合格品入库确认}, + #{入库产品采购价总额}, + #{质检时间}, + #{质检员}, + #{入库时间}, + #{入库员}, + #{创建时间}, + #{创建用户}, + #{修改用户}, + + + + + update 入库 + + 采购入库单编号 = #{采购入库单编号}, + 入库仓库 = #{入库仓库}, + 入库产品总数 = #{入库产品总数}, + 是否存在不合格品 = #{是否存在不合格品}, + 合格品入库确认 = #{合格品入库确认}, + 入库产品采购价总额 = #{入库产品采购价总额}, + 质检时间 = #{质检时间}, + 质检员 = #{质检员}, + 入库时间 = #{入库时间}, + 入库员 = #{入库员}, + 创建时间 = #{创建时间}, + 创建用户 = #{创建用户}, + 修改用户 = #{修改用户}, + + where 选择采购订单 = #{选择采购订单} + + + + delete from 入库 where 选择采购订单 = #{选择采购订单} + + + + delete from 入库 where 选择采购订单 in + + #{选择采购订单} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/txzz/出库Mapper.xml b/src/main/resources/mappers/txzz/出库Mapper.xml new file mode 100644 index 0000000..97f63e3 --- /dev/null +++ b/src/main/resources/mappers/txzz/出库Mapper.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + select 选择销售订单, 产品出库标签, 出库仓库, 预计出库时间, 销售订单名称, 客户名称, 出库产品总数, 出库产品售价总额, 出库员, 客户收货确认, 收货确认时间, 创建时间, 创建用户, 最近修改时间, 修改用户 from 出库 + + + + + + + + insert into 出库 + + 选择销售订单, + 产品出库标签, + 出库仓库, + 预计出库时间, + 销售订单名称, + 客户名称, + 出库产品总数, + 出库产品售价总额, + 出库员, + 客户收货确认, + 收货确认时间, + 创建时间, + 创建用户, + 最近修改时间, + 修改用户, + + + #{选择销售订单}, + #{产品出库标签}, + #{出库仓库}, + #{预计出库时间}, + #{销售订单名称}, + #{客户名称}, + #{出库产品总数}, + #{出库产品售价总额}, + #{出库员}, + #{客户收货确认}, + #{收货确认时间}, + #{创建时间}, + #{创建用户}, + #{最近修改时间}, + #{修改用户}, + + + + + update 出库 + + 产品出库标签 = #{产品出库标签}, + 出库仓库 = #{出库仓库}, + 预计出库时间 = #{预计出库时间}, + 销售订单名称 = #{销售订单名称}, + 客户名称 = #{客户名称}, + 出库产品总数 = #{出库产品总数}, + 出库产品售价总额 = #{出库产品售价总额}, + 出库员 = #{出库员}, + 客户收货确认 = #{客户收货确认}, + 收货确认时间 = #{收货确认时间}, + 创建时间 = #{创建时间}, + 创建用户 = #{创建用户}, + 最近修改时间 = #{最近修改时间}, + 修改用户 = #{修改用户}, + + where 选择销售订单 = #{选择销售订单} + + + + delete from 出库 where 选择销售订单 = #{选择销售订单} + + + + delete from 出库 where 选择销售订单 in + + #{选择销售订单} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/txzz/发票管理Mapper.xml b/src/main/resources/mappers/txzz/发票管理Mapper.xml new file mode 100644 index 0000000..389edd9 --- /dev/null +++ b/src/main/resources/mappers/txzz/发票管理Mapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + select 选择对账单, 发票金额含税, 待开票金额含税元, 累计开票金额含税, 发票类型, 发票号码, 开票时间, 发票抬头, 发票税号, 税种, 经办人, 归属部门 from 发票管理 + + + + + + + + insert into 发票管理 + + 选择对账单, + 发票金额含税, + 待开票金额含税元, + 累计开票金额含税, + 发票类型, + 发票号码, + 开票时间, + 发票抬头, + 发票税号, + 税种, + 经办人, + 归属部门, + + + #{选择对账单}, + #{发票金额含税}, + #{待开票金额含税元}, + #{累计开票金额含税}, + #{发票类型}, + #{发票号码}, + #{开票时间}, + #{发票抬头}, + #{发票税号}, + #{税种}, + #{经办人}, + #{归属部门}, + + + + + update 发票管理 + + 发票金额含税 = #{发票金额含税}, + 待开票金额含税元 = #{待开票金额含税元}, + 累计开票金额含税 = #{累计开票金额含税}, + 发票类型 = #{发票类型}, + 发票号码 = #{发票号码}, + 开票时间 = #{开票时间}, + 发票抬头 = #{发票抬头}, + 发票税号 = #{发票税号}, + 税种 = #{税种}, + 经办人 = #{经办人}, + 归属部门 = #{归属部门}, + + where 选择对账单 = #{选择对账单} + + + + delete from 发票管理 where 选择对账单 = #{选择对账单} + + + + delete from 发票管理 where 选择对账单 in + + #{选择对账单} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/txzz/应付账款Mapper.xml b/src/main/resources/mappers/txzz/应付账款Mapper.xml new file mode 100644 index 0000000..942d1d7 --- /dev/null +++ b/src/main/resources/mappers/txzz/应付账款Mapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + select 产品名称, 单位, 采购数量, 实际采购价含税, 实际采购价不含税, 应付状态, 应付金额, 应付对账时间, 付款状态, 付款金额, 付款时间, 采购入库单, 本次入库总数 from 应付账款 + + + + + + + + insert into 应付账款 + + 产品名称, + 单位, + 采购数量, + 实际采购价含税, + 实际采购价不含税, + 应付状态, + 应付金额, + 应付对账时间, + 付款状态, + 付款金额, + 付款时间, + 采购入库单, + 本次入库总数, + + + #{产品名称}, + #{单位}, + #{采购数量}, + #{实际采购价含税}, + #{实际采购价不含税}, + #{应付状态}, + #{应付金额}, + #{应付对账时间}, + #{付款状态}, + #{付款金额}, + #{付款时间}, + #{采购入库单}, + #{本次入库总数}, + + + + + update 应付账款 + + 单位 = #{单位}, + 采购数量 = #{采购数量}, + 实际采购价含税 = #{实际采购价含税}, + 实际采购价不含税 = #{实际采购价不含税}, + 应付状态 = #{应付状态}, + 应付金额 = #{应付金额}, + 应付对账时间 = #{应付对账时间}, + 付款状态 = #{付款状态}, + 付款金额 = #{付款金额}, + 付款时间 = #{付款时间}, + 采购入库单 = #{采购入库单}, + 本次入库总数 = #{本次入库总数}, + + where 产品名称 = #{产品名称} + + + + delete from 应付账款 where 产品名称 = #{产品名称} + + + + delete from 应付账款 where 产品名称 in + + #{产品名称} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/txzz/应收账款Mapper.xml b/src/main/resources/mappers/txzz/应收账款Mapper.xml new file mode 100644 index 0000000..97f2ba5 --- /dev/null +++ b/src/main/resources/mappers/txzz/应收账款Mapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + select 销售出库单, 产品名称, 单位, 销售数量, 本次出库总数, 实际售价含税, 实际售价不含税, 应收状态, 应收金额, 应收对账时间, 收款状态, 收款金额, 收款时间 from 应收账款 + + + + + + + + insert into 应收账款 + + 销售出库单, + 产品名称, + 单位, + 销售数量, + 本次出库总数, + 实际售价含税, + 实际售价不含税, + 应收状态, + 应收金额, + 应收对账时间, + 收款状态, + 收款金额, + 收款时间, + + + #{销售出库单}, + #{产品名称}, + #{单位}, + #{销售数量}, + #{本次出库总数}, + #{实际售价含税}, + #{实际售价不含税}, + #{应收状态}, + #{应收金额}, + #{应收对账时间}, + #{收款状态}, + #{收款金额}, + #{收款时间}, + + + + + update 应收账款 + + 产品名称 = #{产品名称}, + 单位 = #{单位}, + 销售数量 = #{销售数量}, + 本次出库总数 = #{本次出库总数}, + 实际售价含税 = #{实际售价含税}, + 实际售价不含税 = #{实际售价不含税}, + 应收状态 = #{应收状态}, + 应收金额 = #{应收金额}, + 应收对账时间 = #{应收对账时间}, + 收款状态 = #{收款状态}, + 收款金额 = #{收款金额}, + 收款时间 = #{收款时间}, + + where 销售出库单 = #{销售出库单} + + + + delete from 应收账款 where 销售出库单 = #{销售出库单} + + + + delete from 应收账款 where 销售出库单 in + + #{销售出库单} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/txzz/盘点Mapper.xml b/src/main/resources/mappers/txzz/盘点Mapper.xml new file mode 100644 index 0000000..7e2ae30 --- /dev/null +++ b/src/main/resources/mappers/txzz/盘点Mapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + select 盘点类型, 盘点单编号, 盘点开始日期, 盘点结束日期, 盘点仓库, 盘点员, 盘亏产品总数, 盘亏产品售价总额含税, 盘盈产品总数, 盘盈产品售价总额含税, 创建时间, 创建用户, 最近修改时间 from 盘点 + + + + + + + + insert into 盘点 + + 盘点类型, + 盘点单编号, + 盘点开始日期, + 盘点结束日期, + 盘点仓库, + 盘点员, + 盘亏产品总数, + 盘亏产品售价总额含税, + 盘盈产品总数, + 盘盈产品售价总额含税, + 创建时间, + 创建用户, + 最近修改时间, + + + #{盘点类型}, + #{盘点单编号}, + #{盘点开始日期}, + #{盘点结束日期}, + #{盘点仓库}, + #{盘点员}, + #{盘亏产品总数}, + #{盘亏产品售价总额含税}, + #{盘盈产品总数}, + #{盘盈产品售价总额含税}, + #{创建时间}, + #{创建用户}, + #{最近修改时间}, + + + + + update 盘点 + + 盘点单编号 = #{盘点单编号}, + 盘点开始日期 = #{盘点开始日期}, + 盘点结束日期 = #{盘点结束日期}, + 盘点仓库 = #{盘点仓库}, + 盘点员 = #{盘点员}, + 盘亏产品总数 = #{盘亏产品总数}, + 盘亏产品售价总额含税 = #{盘亏产品售价总额含税}, + 盘盈产品总数 = #{盘盈产品总数}, + 盘盈产品售价总额含税 = #{盘盈产品售价总额含税}, + 创建时间 = #{创建时间}, + 创建用户 = #{创建用户}, + 最近修改时间 = #{最近修改时间}, + + where 盘点类型 = #{盘点类型} + + + + delete from 盘点 where 盘点类型 = #{盘点类型} + + + + delete from 盘点 where 盘点类型 in + + #{盘点类型} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/txzz/退货Mapper.xml b/src/main/resources/mappers/txzz/退货Mapper.xml new file mode 100644 index 0000000..f060ddb --- /dev/null +++ b/src/main/resources/mappers/txzz/退货Mapper.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select 客户名称, 退货申请日期, 采购退货单编号, 选择采购订单, 退货原因, 退货仓库, 经办人, 退货产品总数, 退货产品采购价总额含税, 已入库退货产品总数, 已入库退货产品售价总额含税, 产品退回确认, 退货处理时间, 创建时间, 创建用户, 最近修改时间 from 退货 + + + + + + + + insert into 退货 + + 客户名称, + 退货申请日期, + 采购退货单编号, + 选择采购订单, + 退货原因, + 退货仓库, + 经办人, + 退货产品总数, + 退货产品采购价总额含税, + 已入库退货产品总数, + 已入库退货产品售价总额含税, + 产品退回确认, + 退货处理时间, + 创建时间, + 创建用户, + 最近修改时间, + + + #{客户名称}, + #{退货申请日期}, + #{采购退货单编号}, + #{选择采购订单}, + #{退货原因}, + #{退货仓库}, + #{经办人}, + #{退货产品总数}, + #{退货产品采购价总额含税}, + #{已入库退货产品总数}, + #{已入库退货产品售价总额含税}, + #{产品退回确认}, + #{退货处理时间}, + #{创建时间}, + #{创建用户}, + #{最近修改时间}, + + + + + update 退货 + + 退货申请日期 = #{退货申请日期}, + 采购退货单编号 = #{采购退货单编号}, + 选择采购订单 = #{选择采购订单}, + 退货原因 = #{退货原因}, + 退货仓库 = #{退货仓库}, + 经办人 = #{经办人}, + 退货产品总数 = #{退货产品总数}, + 退货产品采购价总额含税 = #{退货产品采购价总额含税}, + 已入库退货产品总数 = #{已入库退货产品总数}, + 已入库退货产品售价总额含税 = #{已入库退货产品售价总额含税}, + 产品退回确认 = #{产品退回确认}, + 退货处理时间 = #{退货处理时间}, + 创建时间 = #{创建时间}, + 创建用户 = #{创建用户}, + 最近修改时间 = #{最近修改时间}, + + where 客户名称 = #{客户名称} + + + + delete from 退货 where 客户名称 = #{客户名称} + + + + delete from 退货 where 客户名称 in + + #{客户名称} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/txzz/采购订单Mapper.xml b/src/main/resources/mappers/txzz/采购订单Mapper.xml new file mode 100644 index 0000000..0043a16 --- /dev/null +++ b/src/main/resources/mappers/txzz/采购订单Mapper.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select 选择供应商, 订单签订日期, 采购订单名称, 订单交付日期, 采购负责人, 入库仓库, 采购原价总额含税, 优惠金额, 整单折扣率, 采购订单金额含税, 采购金额合计不含税, 合同附件上传, 到货地址, 具体地址, 结算期限, 创建时间, 创建用户, 最近修改时间, 修改用户 from 采购订单 + + + + + + + + insert into 采购订单 + + 选择供应商, + 订单签订日期, + 采购订单名称, + 订单交付日期, + 采购负责人, + 入库仓库, + 采购原价总额含税, + 优惠金额, + 整单折扣率, + 采购订单金额含税, + 采购金额合计不含税, + 合同附件上传, + 到货地址, + 具体地址, + 结算期限, + 创建时间, + 创建用户, + 最近修改时间, + 修改用户, + + + #{选择供应商}, + #{订单签订日期}, + #{采购订单名称}, + #{订单交付日期}, + #{采购负责人}, + #{入库仓库}, + #{采购原价总额含税}, + #{优惠金额}, + #{整单折扣率}, + #{采购订单金额含税}, + #{采购金额合计不含税}, + #{合同附件上传}, + #{到货地址}, + #{具体地址}, + #{结算期限}, + #{创建时间}, + #{创建用户}, + #{最近修改时间}, + #{修改用户}, + + + + + update 采购订单 + + 订单签订日期 = #{订单签订日期}, + 采购订单名称 = #{采购订单名称}, + 订单交付日期 = #{订单交付日期}, + 采购负责人 = #{采购负责人}, + 入库仓库 = #{入库仓库}, + 采购原价总额含税 = #{采购原价总额含税}, + 优惠金额 = #{优惠金额}, + 整单折扣率 = #{整单折扣率}, + 采购订单金额含税 = #{采购订单金额含税}, + 采购金额合计不含税 = #{采购金额合计不含税}, + 合同附件上传 = #{合同附件上传}, + 到货地址 = #{到货地址}, + 具体地址 = #{具体地址}, + 结算期限 = #{结算期限}, + 创建时间 = #{创建时间}, + 创建用户 = #{创建用户}, + 最近修改时间 = #{最近修改时间}, + 修改用户 = #{修改用户}, + + where 选择供应商 = #{选择供应商} + + + + delete from 采购订单 where 选择供应商 = #{选择供应商} + + + + delete from 采购订单 where 选择供应商 in + + #{选择供应商} + + + \ No newline at end of file From bc5450262ad6910a69a4d6c50daff6b12a125e58 Mon Sep 17 00:00:00 2001 From: xhj Date: Sat, 20 Jul 2024 17:29:33 +0800 Subject: [PATCH 015/196] =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E5=8D=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/pgd/PgdDmjh.java | 5 +- .../com/dsic/gj_erp/bean/pgd/PgdPkjh.java | 5 ++ .../com/dsic/gj_erp/bean/pgd/PgdPwjh.java | 5 +- .../com/dsic/gj_erp/bean/pgd/PgdQgjh.java | 4 + .../com/dsic/gj_erp/bean/pgd/PgdQmjh.java | 5 +- .../com/dsic/gj_erp/bean/pgd/PgdSljh.java | 7 ++ .../controller/pgd/PgdPwjhController.java | 14 ++++ .../controller/pgd/PgdQgjhController.java | 15 ++++ .../controller/pgd/PgdSljhController.java | 19 +++++ .../controller/pgd/PgdTzjhController.java | 26 ++++++ .../gj_erp/service/pgd/PgdPwjhService.java | 5 ++ .../gj_erp/service/pgd/PgdQgjhService.java | 2 + .../gj_erp/service/pgd/PgdSljhService.java | 2 + .../service/pgd/impl/PgdPwjhServiceImpl.java | 63 ++++++++++++--- .../service/pgd/impl/PgdQgjhServiceImpl.java | 79 +++++++++++++++---- .../service/pgd/impl/PgdSljhServiceImpl.java | 59 +++++++++++--- 16 files changed, 276 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDmjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDmjh.java index 3282c6a..6973b85 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDmjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDmjh.java @@ -122,5 +122,8 @@ public class PgdDmjh implements Serializable { @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; - + private String scdw; + private String scry; + private String jsry; + private String jsrq; } diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPkjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPkjh.java index 8ef7c6f..3ac9acf 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPkjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPkjh.java @@ -126,4 +126,9 @@ public class PgdPkjh implements Serializable { private String id; + private String scdw; + private String scry; + private String jsry; + private String jsrq; + } diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java index e6c01ba..e92a6ac 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java @@ -110,5 +110,8 @@ public class PgdPwjh implements Serializable { @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; - + private String scdw; + private String scry; + private String jsry; + private String jsrq; } diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java index a7403a0..55675ce 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java @@ -135,5 +135,9 @@ public class PgdQgjh implements Serializable { @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; + private String scdw; + private String scry; + private String jsry; + private String jsrq; } diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQmjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQmjh.java index 02680d9..bb7d0ac 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQmjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQmjh.java @@ -118,6 +118,9 @@ public class PgdQmjh implements Serializable { @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; - + private String scdw; + private String scry; + private String jsry; + private String jsrq; } diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java index 7ab571e..f1e8543 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java @@ -123,4 +123,11 @@ public class PgdSljh implements Serializable { private String id; + private String dw; + private String scdw; + private String scry; + private String jsry; + private String jsrq; + + } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPwjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPwjhController.java index 54155bd..2e00cc1 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPwjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPwjhController.java @@ -80,7 +80,21 @@ public class PgdPwjhController { return new ResultBean(); } + @PostMapping("/savePwjhPg") + @ResponseBody + @AuthFunction + public ResultBean savePwjhPg(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { + pgdPwjhService.savePwjhPg(list,req); + return new ResultBean(); + } + @PostMapping("/savePwjhPgBack") + @ResponseBody + @AuthFunction + public ResultBean savePwjhPgBack(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { + pgdPwjhService.savePwjhPgBack(list,req); + return new ResultBean(); + } } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java index deac16f..25a62c4 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java @@ -83,6 +83,21 @@ public class PgdQgjhController { return new ResultBean(); } + @PostMapping("/saveQgjhPg") + @ResponseBody + @AuthFunction + public ResultBean saveQgjhPg(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { + pgdQgjhService.saveQgjhPg(list,req); + return new ResultBean(); + } + @PostMapping("/saveQgjhPgBack") + @ResponseBody + @AuthFunction + public ResultBean saveQgjhPgBack(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { + pgdQgjhService.saveQgjhPgBack(list,req); + return new ResultBean(); + } + } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index d8edd04..1d5306a 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -48,6 +48,25 @@ public class PgdSljhController { } + + + + @PostMapping("/saveSljhPg") + @ResponseBody + @AuthFunction + public ResultBean saveSljhPg(HttpServletRequest req, @RequestBody List list) throws Exception, CustomException { + pgdSljhService.saveSljhPg(list,req); + return new ResultBean(); + } + + @PostMapping("/saveSljhPgBack") + @ResponseBody + @AuthFunction + public ResultBean saveSljhPgBack(HttpServletRequest req, @RequestBody List list) throws Exception, CustomException { + pgdSljhService.saveSljhPgBack(list,req); + return new ResultBean(); + } + @PostMapping("/saveSljhPgdXd") @ResponseBody @AuthFunction diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index c59cc46..962348a 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -6,10 +6,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmCbxxp; +import com.dsic.gj_erp.bean.jcsj.DmDwxxp; +import com.dsic.gj_erp.bean.jcsj.EmSbjgry; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; +import com.dsic.gj_erp.service.jcsj.EmSbjgryService; +import com.dsic.gj_erp.service.jcsj.impl.DmDwxxpService; import com.dsic.gj_erp.service.pgd.PgdTzjhService; +import com.dsic.gj_erp.service.sy.SYService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -36,6 +41,19 @@ public class PgdTzjhController { @Autowired DmCbxxpService dmCbxxpService; + @Autowired + EmSbjgryService emSbjgryService; + + @Autowired + DmDwxxpService dwxxpService; + + + @Autowired + SYService syService; + + + + @PostMapping("/getTzjhPgd") @ResponseBody @@ -85,7 +103,15 @@ public class PgdTzjhController { public ResultBean getPgdBase(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { Map returnMap = new HashMap(); List cbbm = dmCbxxpService.list(new QueryWrapper().orderBy(true, true, "wgbs","cbbm","len(cbbm)")); + // 班组人员 + List gxry = emSbjgryService.list(); + List bmbm = syService.em_sbjbb_ZM("bmbm"); + // 多为 + List dwxx = dwxxpService.list(); returnMap.put("cbbm", cbbm); + returnMap.put("gxry", gxry); + returnMap.put("dwxx", dwxx); + returnMap.put("bmbm", bmbm); return new ResultBean(returnMap); } diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdPwjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdPwjhService.java index e5f8cb0..a58d591 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdPwjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdPwjhService.java @@ -17,6 +17,11 @@ import java.util.List; */ public interface PgdPwjhService extends IService { + + + + void savePwjhPg(List pwjhs, HttpServletRequest request); + void savePwjhPgBack(List pwjhs, HttpServletRequest request); void savePwPgdXd(List pwjhs, HttpServletRequest request); void savePwPgdFk(List pwjhs, HttpServletRequest request); void savePwFk(List pwjhs, HttpServletRequest request); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQgjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQgjhService.java index 8ec6d30..7ea12b2 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQgjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQgjhService.java @@ -17,6 +17,8 @@ import java.util.List; */ public interface PgdQgjhService extends IService { + void saveQgjhPgBack(List qgjhs, HttpServletRequest request); + void saveQgjhPg(List qgjhs, HttpServletRequest request); void saveQgPgdXd(List qgjhs, HttpServletRequest request); void saveQgPgdFk(List qgjhs, HttpServletRequest request); void saveQgdFk(List qgjhs, HttpServletRequest request); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java index aff4f69..aacb981 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java @@ -19,6 +19,8 @@ public interface PgdSljhService extends IService { void saveSljhPgdXd(List sljhs, HttpServletRequest request); + void saveSljhPg(List sljhs, HttpServletRequest request); + void saveSljhPgBack(List sljhs, HttpServletRequest request); void saveSljhPgdFk(List sljhs, HttpServletRequest request); void saveSljhFk(List sljhs, HttpServletRequest request); void saveSljhPgdXdBack(List sljhs, HttpServletRequest request); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPwjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPwjhServiceImpl.java index 7e3afcd..537bd45 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPwjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPwjhServiceImpl.java @@ -23,21 +23,62 @@ import java.util.List; */ @Service public class PgdPwjhServiceImpl extends ServiceImpl implements PgdPwjhService { - @Override + @Transactional(rollbackFor = Exception.class) - public void savePwPgdXd(List pwjhs, HttpServletRequest request) { + @Override + public void savePwjhPg(List sljhs, HttpServletRequest request) { + Listups= new ArrayList<>(); - pwjhs.forEach(f->{ + sljhs.forEach(f->{ PgdPwjh e= new PgdPwjh(); e.setXfry((String) request.getAttribute("yhms")); e.setXfrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); e.setZt("02"); + e.setScdw(f.getScdw()); + e.setScry(f.getScry()); + e.setId(f.getId()); + ups.add(e); + }); + this.updateBatchById(ups); + } + + + @Transactional(rollbackFor = Exception.class) + @Override + public void savePwjhPgBack(List sljhs, HttpServletRequest request) { + + Listups= new ArrayList<>(); + sljhs.forEach(f->{ + PgdPwjh e= new PgdPwjh(); + e.setXfry(""); + e.setXfrq(""); + e.setZt("01"); + e.setScdw(""); + e.setScry(""); e.setId(f.getId()); ups.add(e); }); this.updateBatchById(ups); } + @Override + @Transactional(rollbackFor = Exception.class) + public void savePwPgdXd(List pwjhs, HttpServletRequest request) { + Listups= new ArrayList<>(); + pwjhs.forEach(f->{ + PgdPwjh e= new PgdPwjh(); + e.setJsry((String) request.getAttribute("yhms")); + e.setJsrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setZt("03"); + e.setId(f.getId()); + ups.add(e); + }); + this.updateBatchById(ups); + } + + + + @Override @Transactional(rollbackFor = Exception.class) public void savePwPgdFk(List pwjhs, HttpServletRequest request) { @@ -46,7 +87,7 @@ public class PgdPwjhServiceImpl extends ServiceImpl impl PgdPwjh e= new PgdPwjh(); e.setFkry((String) request.getAttribute("yhms")); e.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - e.setZt("09"); + e.setZt("04"); e.setFkyy(f.getFkyy()); e.setId(f.getId()); ups.add(e); @@ -60,9 +101,9 @@ public class PgdPwjhServiceImpl extends ServiceImpl impl Listups= new ArrayList<>(); pwjhs.forEach(f->{ PgdPwjh e= new PgdPwjh(); - e.setPwjgry(e.getPwjgry()); - e.setPwksrq(e.getPwksrq()); - e.setPwjsrq(e.getPwjsrq()); + e.setFkry((String) request.getAttribute("yhms")); + e.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setZt("04"); e.setId(f.getId()); ups.add(e); }); @@ -75,10 +116,10 @@ public class PgdPwjhServiceImpl extends ServiceImpl impl Listups= new ArrayList<>(); pwjhs.forEach(f->{ PgdPwjh e= new PgdPwjh(); - e.setXfry((String) request.getAttribute("yhms")); - e.setXfrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - if(f.getZt().equals("02")){ - e.setZt("01"); + e.setJsrq(""); + e.setJsrq(""); + if(f.getZt().equals("03")){ + e.setZt("02"); } e.setId(f.getId()); ups.add(e); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQgjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQgjhServiceImpl.java index d3c9bfc..e80dd0c 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQgjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQgjhServiceImpl.java @@ -24,45 +24,94 @@ import java.util.List; */ @Service public class PgdQgjhServiceImpl extends ServiceImpl implements PgdQgjhService { - @Override + + + + + + + @Transactional(rollbackFor = Exception.class) - public void saveQgPgdXd(List qgjhs, HttpServletRequest request) { + @Override + public void saveQgjhPg(List sljhs, HttpServletRequest request) { + Listups= new ArrayList<>(); - qgjhs.forEach(f->{ + sljhs.forEach(f->{ PgdQgjh e= new PgdQgjh(); e.setXfry((String) request.getAttribute("yhms")); e.setXfrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); e.setZt("02"); + e.setScdw(f.getScdw()); + e.setScry(f.getScry()); e.setId(f.getId()); ups.add(e); }); this.updateBatchById(ups); } + + @Transactional(rollbackFor = Exception.class) + @Override + public void saveQgjhPgBack(List sljhs, HttpServletRequest request) { + + Listups= new ArrayList<>(); + sljhs.forEach(f->{ + PgdQgjh e= new PgdQgjh(); + e.setXfry(""); + e.setXfrq(""); + e.setZt("01"); + e.setScdw(""); + e.setScry(""); + e.setId(f.getId()); + ups.add(e); + }); + this.updateBatchById(ups); + } + + + @Override @Transactional(rollbackFor = Exception.class) - public void saveQgPgdFk(List qgjhs, HttpServletRequest request) { + public void saveQgPgdXd(List qgjhs, HttpServletRequest request) { Listups= new ArrayList<>(); qgjhs.forEach(f->{ PgdQgjh e= new PgdQgjh(); - e.setFkry((String) request.getAttribute("yhms")); - e.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - e.setZt("09"); - e.setFkyy(f.getFkyy()); + e.setJsry((String) request.getAttribute("yhms")); + e.setJsrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setZt("03"); e.setId(f.getId()); ups.add(e); }); this.updateBatchById(ups); } + @Override + @Transactional(rollbackFor = Exception.class) + public void saveQgPgdFk(List qgjhs, HttpServletRequest request) { + Listups= new ArrayList<>(); +// qgjhs.forEach(f->{ +// PgdQgjh e= new PgdQgjh(); +// e.setFkry((String) request.getAttribute("yhms")); +// e.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); +// e.setZt("09"); +// e.setFkyy(f.getFkyy()); +// e.setId(f.getId()); +// ups.add(e); +// }); + this.updateBatchById(ups); + } + @Override public void saveQgdFk(List qgjhs, HttpServletRequest request) { Listups= new ArrayList<>(); qgjhs.forEach(f->{ PgdQgjh e= new PgdQgjh(); - e.setQgry(f.getQgry()); - e.setQgksrq(f.getQgksrq()); - e.setQgjsrq(f.getQgjsrq()); +// e.setQgry(f.getQgry()); +// e.setQgksrq(f.getQgksrq()); +// e.setQgjsrq(f.getQgjsrq()); + e.setFkry((String) request.getAttribute("yhms")); + e.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setZt("04"); e.setId(f.getId()); ups.add(e); }); @@ -75,10 +124,10 @@ public class PgdQgjhServiceImpl extends ServiceImpl impl Listups= new ArrayList<>(); qgjhs.forEach(f->{ PgdQgjh e= new PgdQgjh(); - e.setXfry((String) request.getAttribute("yhms")); - e.setXfrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - if(f.getZt().equals("02")){ - e.setZt("01"); + e.setJsrq(""); + e.setJsrq(""); + if(f.getZt().equals("03")){ + e.setZt("02"); } e.setId(f.getId()); ups.add(e); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java index 7b9223c..e94032c 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java @@ -36,9 +36,10 @@ public class PgdSljhServiceImpl extends ServiceImpl impl private final RedisTemplate redisTemplate; + @Transactional(rollbackFor = Exception.class) @Override - public void saveSljhPgdXd(List sljhs, HttpServletRequest request) { + public void saveSljhPg(List sljhs, HttpServletRequest request) { Listups= new ArrayList<>(); sljhs.forEach(f->{ @@ -46,6 +47,46 @@ public class PgdSljhServiceImpl extends ServiceImpl impl e.setXfry((String) request.getAttribute("yhms")); e.setXfrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); e.setZt("02"); + e.setDw(f.getDw()); + e.setScdw(f.getScdw()); + e.setScry(f.getScry()); + e.setId(f.getId()); + ups.add(e); + }); + this.updateBatchById(ups); + } + + + @Transactional(rollbackFor = Exception.class) + @Override + public void saveSljhPgBack(List sljhs, HttpServletRequest request) { + + Listups= new ArrayList<>(); + sljhs.forEach(f->{ + PgdSljh e= new PgdSljh(); + e.setXfry(""); + e.setXfrq(""); + e.setZt("01"); + e.setDw(""); + e.setScdw(""); + e.setScry(""); + e.setId(f.getId()); + ups.add(e); + }); + this.updateBatchById(ups); + } + + + @Transactional(rollbackFor = Exception.class) + @Override + public void saveSljhPgdXd(List sljhs, HttpServletRequest request) { + + Listups= new ArrayList<>(); + sljhs.forEach(f->{ + PgdSljh e= new PgdSljh(); + e.setJsry((String) request.getAttribute("yhms")); + e.setJsrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setZt("03"); e.setId(f.getId()); ups.add(e); }); @@ -61,7 +102,7 @@ public class PgdSljhServiceImpl extends ServiceImpl impl PgdSljh e= new PgdSljh(); e.setFkry((String) request.getAttribute("yhms")); e.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - e.setZt("09"); + e.setZt("04"); e.setFkyy(f.getFkyy()); e.setId(f.getId()); ups.add(e); @@ -74,9 +115,9 @@ public class PgdSljhServiceImpl extends ServiceImpl impl Listups= new ArrayList<>(); sljhs.forEach(f->{ PgdSljh e= new PgdSljh(); - e.setSlry(f.getSlry()); - e.setSlksrq(f.getSlksrq()); - e.setSjjsrq(f.getSjjsrq()); + e.setFkrq(f.getFkrq()); + e.setFkry(f.getFkry()); + e.setZt("04"); e.setId(f.getId()); ups.add(e); }); @@ -90,11 +131,9 @@ public class PgdSljhServiceImpl extends ServiceImpl impl Listups= new ArrayList<>(); sljhs.forEach(f->{ PgdSljh e= new PgdSljh(); - e.setXfry((String) request.getAttribute("yhms")); - e.setXfrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - if(f.getZt().equals("02")){ - e.setZt("01"); - } + e.setJsry(""); + e.setJsry(""); + e.setZt("02"); e.setId(f.getId()); ups.add(e); }); 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 016/196] 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")); From ed533a8ebb352c2968b21017d698c9ad5734088f Mon Sep 17 00:00:00 2001 From: xhj Date: Sun, 21 Jul 2024 11:07:29 +0800 Subject: [PATCH 017/196] =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E5=8D=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java | 23 ++++++++++++++++--- .../com/dsic/gj_erp/bean/pgd/PgdPwjh.java | 2 ++ .../com/dsic/gj_erp/bean/pgd/PgdQgjh.java | 2 +- .../com/dsic/gj_erp/bean/pgd/PgdSljh.java | 2 +- .../controller/pgd/PgdDmjhController.java | 20 +++++++++++++--- .../controller/pgd/PgdPkjhController.java | 12 +++++++--- .../controller/pgd/PgdQmjhController.java | 12 +++++++++- .../gj_erp/service/pgd/PgdDmjhService.java | 1 + .../gj_erp/service/pgd/PgdPkjhService.java | 1 + .../gj_erp/service/pgd/PgdQmjhService.java | 1 + .../service/pgd/impl/PgdDmjhServiceImpl.java | 18 ++++++++++++++- .../service/pgd/impl/PgdPkjhServiceImpl.java | 18 ++++++++++++++- .../service/pgd/impl/PgdQmjhServiceImpl.java | 19 +++++++++++++-- 13 files changed, 115 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java index 5ce86c7..652925e 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java @@ -213,17 +213,34 @@ public class DmYdjhLj implements Serializable { @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; - + // 加工表示 private String qbs; - private String pkbs; private String dmbs; - private String qdr; + // 导入标识 + private String qdr; private String pkdr; private String dmdr; + private String dscdw; + private String dscry; + private String djsry; + private String djsrq; + + + private String qscdw; + private String qscry; + private String qjsry; + private String qjsrq; + + private String pscdw; + private String pscry; + private String pjsry; + private String pjsrq; + + } diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java index e92a6ac..1304dc3 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java @@ -114,4 +114,6 @@ public class PgdPwjh implements Serializable { private String scry; private String jsry; private String jsrq; + + private String pwlsh; } diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java index 55675ce..9fabac8 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java @@ -139,5 +139,5 @@ public class PgdQgjh implements Serializable { private String scry; private String jsry; private String jsrq; - + private String qglsh; } diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java index f1e8543..0e28c4c 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java @@ -129,5 +129,5 @@ public class PgdSljh implements Serializable { private String jsry; private String jsrq; - + private String sllsh; } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDmjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDmjhController.java index 8b26c66..b3df65b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDmjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDmjhController.java @@ -9,6 +9,7 @@ import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.pgd.PgdDmjh; import com.dsic.gj_erp.bean.pgd.PgdDmjh; import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.dsic.gj_erp.service.pgd.PgdDmjhService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -33,20 +34,25 @@ public class PgdDmjhController { @Autowired PgdDmjhService pgdDmjhService; + @Autowired + DmYdjhLjService dmYdjhLjService; + @PostMapping("/getDmPgd") @ResponseBody public ResultBean getDmPgd(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { - QueryWrapper qw =new QueryWrapper<>(); + QueryWrapper qw =new QueryWrapper<>(); qw.eq(StrUtil.isNotEmpty((String)map.get("dcch")),"czbh",(String)map.get("dcch")); qw.eq(StrUtil.isNotEmpty((String)map.get("pl")),"pl",(String)map.get("pl")); qw.eq(StrUtil.isNotEmpty((String)map.get("fd")),"fd",(String)map.get("fd")); - qw.eq(StrUtil.isNotEmpty((String)map.get("zt")),"zt",(String)map.get("zt")); + qw.eq(StrUtil.isNotEmpty((String)map.get("zt")),"dm_zt",(String)map.get("zt")); + + qw.eq("dmbs","Y"); qw.orderBy(true,true,"czbh","pl","fd"); - return new ResultBean(pgdDmjhService.list(qw)); + return new ResultBean(dmYdjhLjService.list(qw)); } @@ -83,5 +89,13 @@ public class PgdDmjhController { return new ResultBean(); } + @PostMapping("/saveDmPgdJs") + @ResponseBody + @AuthFunction + public ResultBean saveDmPgdJs(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { + pgdDmjhService.saveDmPgdJs(list,req); + return new ResultBean(); + } + } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPkjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPkjhController.java index ee9414c..bdae25b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPkjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPkjhController.java @@ -39,7 +39,7 @@ public class PgdPkjhController { @PostMapping("/getPkPgd") @ResponseBody - public ResultBean getQmPgd(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + public ResultBean getPkPgd(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { QueryWrapper qw =new QueryWrapper<>(); @@ -48,7 +48,7 @@ public class PgdPkjhController { qw.eq(StrUtil.isNotEmpty((String)map.get("fd")),"fd",(String)map.get("fd")); qw.eq(StrUtil.isNotEmpty((String)map.get("zt")),"pk_zt",(String)map.get("zt")); - qw.eq("pkdr","Y"); + qw.eq("pkbs","Y"); qw.orderBy(true,true,"czbh","pl","fd"); return new ResultBean(dmYdjhLjService.list(qw)); @@ -87,7 +87,13 @@ public class PgdPkjhController { pgdPkjhService.savePkFk(list,req); return new ResultBean(); } - + @PostMapping("/savePkPgdJs") + @ResponseBody + @AuthFunction + public ResultBean savePkPgdJs(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { + pgdPkjhService.savePkPgdJs(list,req); + return new ResultBean(); + } } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java index fcdd931..10bc489 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; +import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.dsic.gj_erp.bean.pgd.PgdQmjh; import com.dsic.gj_erp.bean.pgd.PgdQmjh; import com.dsic.gj_erp.bean.pgd.Qmqz; @@ -48,12 +49,21 @@ public class PgdQmjhController { qw.eq(StrUtil.isNotEmpty((String)map.get("pl")),"pl",(String)map.get("pl")); qw.eq(StrUtil.isNotEmpty((String)map.get("fd")),"fd",(String)map.get("fd")); qw.eq(StrUtil.isNotEmpty((String)map.get("zt")),"qjg_zt",(String)map.get("zt")); - qw.eq("qdr","Y"); + qw.eq("qbs","Y"); qw.orderBy(true,true,"czbh","pl","fd"); return new ResultBean(dmYdjhLjService.list(qw)); } + @PostMapping("/saveQmPgdJs") + @ResponseBody + @AuthFunction + public ResultBean saveQmPgdJs(HttpServletRequest req, @RequestBody List list) throws Exception, CustomException { + pgdQmjhService.saveQmPgdJs(list,req); + return new ResultBean(); + } + + @PostMapping("/saveQmPgdXd") @ResponseBody @AuthFunction diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdDmjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdDmjhService.java index d5d8420..e8d1567 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdDmjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdDmjhService.java @@ -20,6 +20,7 @@ import java.util.List; public interface PgdDmjhService extends IService { void saveDmPgdXd(List dmjhs, HttpServletRequest request); + void saveDmPgdJs(List dmjhs, HttpServletRequest request); void saveDmPgdFk(List dmjhs, HttpServletRequest request); void saveDmPgdXdBack(List dmjhs, HttpServletRequest request); void saveDmFk(List dmjhs, HttpServletRequest request); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdPkjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdPkjhService.java index f0d488a..5f701cd 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdPkjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdPkjhService.java @@ -17,6 +17,7 @@ import java.util.List; * @since 2023-11-13 */ public interface PgdPkjhService extends IService { + void savePkPgdJs(List pkjhs, HttpServletRequest request); void savePkPgdXd(List pkjhs, HttpServletRequest request); void savePkPgdFk(List pkjhs, HttpServletRequest request); void savePkFk(List pkjhs, HttpServletRequest request); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java index 626f50f..71efea5 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java @@ -20,6 +20,7 @@ import java.util.Map; */ public interface PgdQmjhService extends IService { + void saveQmPgdJs(List qmjhs, HttpServletRequest request); void saveQmPgdXd(List qmjhs, HttpServletRequest request); void saveQmPgdFk(List qmjhs, HttpServletRequest request); void saveQmFk(List qmjhs, HttpServletRequest request); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java index 5e74687..a5f10c7 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java @@ -38,6 +38,8 @@ public class PgdDmjhServiceImpl extends ServiceImpl impl DmYdjhLj e= new DmYdjhLj(); e.setDmXfry((String) request.getAttribute("yhms")); e.setDmXfrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setDscdw(f.getDscdw()); + e.setDscry(f.getDscry()); e.setDmZt("02"); e.setId(f.getId()); ups.add(e); @@ -45,6 +47,20 @@ public class PgdDmjhServiceImpl extends ServiceImpl impl dmYdjhLjService.updateBatchById(ups); } + @Override + public void saveDmPgdJs(List dmjhs, HttpServletRequest request) { + Listups= new ArrayList<>(); + dmjhs.forEach(f->{ + DmYdjhLj e= new DmYdjhLj(); + e.setDjsry((String) request.getAttribute("yhms")); + e.setDjsrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setDmZt("03"); + e.setId(f.getId()); + ups.add(e); + }); + dmYdjhLjService.updateBatchById(ups); + } + @Override public void saveDmPgdFk(List dmjhs, HttpServletRequest request) { Listups= new ArrayList<>(); @@ -52,7 +68,7 @@ public class PgdDmjhServiceImpl extends ServiceImpl impl DmYdjhLj e= new DmYdjhLj(); e.setDmFkry((String) request.getAttribute("yhms")); e.setDmFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - e.setDmZt("09"); + e.setDmZt("04"); e.setDmFkyy(f.getDmFkyy()); e.setId(f.getId()); ups.add(e); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java index 3adfd07..0efdb4a 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java @@ -30,6 +30,20 @@ public class PgdPkjhServiceImpl extends ServiceImpl impl @Autowired DmYdjhLjService dmYdjhLjService; + @Override + public void savePkPgdJs(List pkjhs, HttpServletRequest request) { + Listups= new ArrayList<>(); + pkjhs.forEach(f->{ + DmYdjhLj e= new DmYdjhLj(); + e.setPjsry((String) request.getAttribute("yhms")); + e.setPjsrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setPkZt("03"); + e.setId(f.getId()); + ups.add(e); + }); + dmYdjhLjService.updateBatchById(ups); + } + @Override public void savePkPgdXd(List pkjhs, HttpServletRequest request) { Listups= new ArrayList<>(); @@ -37,6 +51,8 @@ public class PgdPkjhServiceImpl extends ServiceImpl impl DmYdjhLj e= new DmYdjhLj(); e.setPkXfry((String) request.getAttribute("yhms")); e.setPkXfrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setPscdw(f.getPscdw()); + e.setPscry(f.getPscry()); e.setPkZt("02"); e.setId(f.getId()); ups.add(e); @@ -51,7 +67,7 @@ public class PgdPkjhServiceImpl extends ServiceImpl impl DmYdjhLj e= new DmYdjhLj(); e.setPkFkry((String) request.getAttribute("yhms")); e.setPkFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - e.setPkZt("09"); + e.setPkZt("04"); e.setPkFkyy(f.getPkFkyy()); e.setId(f.getId()); ups.add(e); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java index aa93986..f85465a 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java @@ -38,6 +38,20 @@ public class PgdQmjhServiceImpl extends ServiceImpl impl @Autowired DmYdjhLjService dmYdjhLjService; + @Override + public void saveQmPgdJs(List qmjhs, HttpServletRequest request) { + Listups= new ArrayList<>(); + qmjhs.forEach(f->{ + DmYdjhLj e= new DmYdjhLj(); + e.setQjsry((String) request.getAttribute("yhms")); + e.setQjsrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setQjgZt("03"); + e.setId(f.getId()); + ups.add(e); + }); + dmYdjhLjService.updateBatchById(ups); + + } @Override @Transactional(rollbackFor = Exception.class) @@ -47,6 +61,8 @@ public class PgdQmjhServiceImpl extends ServiceImpl impl DmYdjhLj e= new DmYdjhLj(); e.setQjgXfry((String) request.getAttribute("yhms")); e.setQjgXfrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + e.setQscdw(f.getQscdw()); + e.setQscry(f.getQscry()); e.setQjgZt("02"); e.setId(f.getId()); ups.add(e); @@ -62,8 +78,7 @@ public class PgdQmjhServiceImpl extends ServiceImpl impl DmYdjhLj e= new DmYdjhLj(); e.setQjgFkry((String) request.getAttribute("yhms")); e.setQjgFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - e.setQjgZt("09"); - e.setQjgFkyy(f.getQjgFkyy()); + e.setQjgZt("04"); e.setId(f.getId()); ups.add(e); }); From c1c0369c861714af723f6b1c71695e449661d953 Mon Sep 17 00:00:00 2001 From: xhj Date: Sun, 21 Jul 2024 14:05:19 +0800 Subject: [PATCH 018/196] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/dao/sy/DmBhsjpRepository.java | 8 +++++++- .../java/com/dsic/gj_erp/dao/sy/DmBhzybRepository.java | 1 + src/main/java/com/dsic/gj_erp/service/sy/SYService.java | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/dao/sy/DmBhsjpRepository.java b/src/main/java/com/dsic/gj_erp/dao/sy/DmBhsjpRepository.java index 7498fb3..9cd9ea5 100644 --- a/src/main/java/com/dsic/gj_erp/dao/sy/DmBhsjpRepository.java +++ b/src/main/java/com/dsic/gj_erp/dao/sy/DmBhsjpRepository.java @@ -3,11 +3,17 @@ package com.dsic.gj_erp.dao.sy; import com.dsic.gj_erp.bean.sy.DmBhsjp; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; @Repository public interface DmBhsjpRepository extends JpaRepository { - + + @Modifying + @Query(value = "insert into DM_BHSJP (ZXTBM, JGM, BMMC, BMQZ, BMSXH) values (:#{#dmBhsjp.zxtbm}, :#{#dmBhsjp.jgm}, :#{#dmBhsjp.bmmc}, :#{#dmBhsjp.bmqz}, :#{#dmBhsjp.bmsxh})", nativeQuery = true) + int addBhsjp(@Param("dmBhsjp") DmBhsjp dmBhsjp); } \ No newline at end of file diff --git a/src/main/java/com/dsic/gj_erp/dao/sy/DmBhzybRepository.java b/src/main/java/com/dsic/gj_erp/dao/sy/DmBhzybRepository.java index 15131d9..9616d62 100644 --- a/src/main/java/com/dsic/gj_erp/dao/sy/DmBhzybRepository.java +++ b/src/main/java/com/dsic/gj_erp/dao/sy/DmBhzybRepository.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Repository; @Repository public interface DmBhzybRepository extends JpaRepository { + } \ No newline at end of file diff --git a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java index f886b9f..bc9cbce 100644 --- a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java +++ b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java @@ -235,7 +235,7 @@ public class SYService { dmBhsjp.setBmmc(bmm); dmBhsjp.setBmqz(f_qz); dmBhsjp.setBmsxh(f_oxh); - dmBhsjpRepository.save(dmBhsjp); + dmBhsjpRepository.addBhsjp(dmBhsjp); if (bmm.equals("APS")){ return f_qz+f_oxh; } From 7901ce5e7e5c3dd405556112b318ba51eb61da7d 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, 21 Jul 2024 16:19:51 +0800 Subject: [PATCH 019/196] 1.111 --- .../jhgk/impl/DmSygdxqServiceImpl.java | 50 ++++++++++--------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java index 0cc4302..b3c94e2 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java @@ -59,31 +59,33 @@ public class DmSygdxqServiceImpl extends ServiceImpl i l.setDrr(username); l.setDrrq(day); //状态 2拖期 1提前 - if (sygdxq.getXzglxq()!=null&&l.getXzglxq().compareTo(sygdxq.getXzglxq())>0){ - l.setXqzt("2"); + if (ObjUtil.isAllNotEmpty(sygdxq.getXzglxq(),l.getXzglxq())){ + if (sygdxq.getXzglxq()!=null&&l.getXzglxq().compareTo(sygdxq.getXzglxq())>0){ + l.setXqzt("2"); + } + if (sygdxq.getXzglxq()!=null&&l.getXzglxq().compareTo(sygdxq.getXzglxq())<0){ + l.setXqzt("1"); + } + this.update(new UpdateWrapper() + .set("xzglxq",l.getXzglxq()) + .set("xzglxq_old",l.getXzglxqOld()) + .set("xdb",l.getXdb()) + .set("xskj",l.getXskj()) + .set("xpt",l.getXpt()) + .set("xyw",l.getXyw()) + .set("xxc",l.getXxc()) + .set("xtxc",l.getXtxc()) + .set("drcs",l.getDrcs()) + .set("xqzt",l.getXqzt()) + .set("drrq",l.getDrrq()) + .set("drr",l.getDrr()) + .eq("dc_ch",l.getDcCh()) + .eq("dc_pl",l.getDcPl()) + .eq("DC_FD",l.getDcFd()) + ); + //todo 修正三月滚动 + correctSygdmx(l.getDcCh(),l.getDcPl(),l.getDcFd(),l.getXzglxq()); } - if (sygdxq.getXzglxq()!=null&&l.getXzglxq().compareTo(sygdxq.getXzglxq())<0){ - l.setXqzt("1"); - } - this.update(new UpdateWrapper() - .set("xzglxq",l.getXzglxq()) - .set("xzglxq_old",l.getXzglxqOld()) - .set("xdb",l.getXdb()) - .set("xskj",l.getXskj()) - .set("xpt",l.getXpt()) - .set("xyw",l.getXyw()) - .set("xxc",l.getXxc()) - .set("xtxc",l.getXtxc()) - .set("drcs",l.getDrcs()) - .set("xqzt",l.getXqzt()) - .set("drrq",l.getDrrq()) - .set("drr",l.getDrr()) - .eq("dc_ch",l.getDcCh()) - .eq("dc_pl",l.getDcPl()) - .eq("DC_FD",l.getDcFd()) - ); - //todo 修正三月滚动 - correctSygdmx(l.getDcCh(),l.getDcPl(),l.getDcFd(),l.getXzglxq()); }else { l.setDrr(username); l.setDrrq(day); From c65e6122f54af934ca2d78099aa8f6f2fd563ef5 Mon Sep 17 00:00:00 2001 From: xhj Date: Sun, 21 Jul 2024 16:27:28 +0800 Subject: [PATCH 020/196] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java index e94032c..4bd22e1 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java @@ -115,8 +115,8 @@ public class PgdSljhServiceImpl extends ServiceImpl impl Listups= new ArrayList<>(); sljhs.forEach(f->{ PgdSljh e= new PgdSljh(); - e.setFkrq(f.getFkrq()); - e.setFkry(f.getFkry()); + e.setFkry((String) request.getAttribute("yhms")); + e.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); e.setZt("04"); e.setId(f.getId()); ups.add(e); From 503bbee429d2c09a8b95f0bfaeb5ebb79e5cdd57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 22 Jul 2024 14:34:24 +0800 Subject: [PATCH 021/196] =?UTF-8?q?1.=E5=9B=BE=E7=BA=B8=E6=B4=BE=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=A2=9E=E5=8A=A0=E6=A3=80=E6=9F=A5=E5=8A=9F=E8=83=BD?= =?UTF-8?q?,=E6=A3=80=E6=9F=A5=E9=A2=86=E5=8F=96=E3=80=81=E5=A5=97?= =?UTF-8?q?=E6=96=99=E5=9B=BE=E5=A6=82=E6=9E=9C=E5=B7=B2=E7=BB=8F=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=9B=B4=E6=96=B0=E6=8E=A5=E6=94=B6=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E5=8F=8A=E5=8F=8D=E9=A6=88=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pgd/PgdTzjhController.java | 24 ++++++-- .../gj_erp/service/pgd/PgdTzjhService.java | 1 + .../service/pgd/impl/PgdTzjhServiceImpl.java | 61 +++++++++++++++++++ 3 files changed, 82 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index 962348a..846dde9 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -1,15 +1,21 @@ package com.dsic.gj_erp.controller.pgd; +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.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jcsj.DmBclqjbp; import com.dsic.gj_erp.bean.jcsj.DmCbxxp; import com.dsic.gj_erp.bean.jcsj.DmDwxxp; import com.dsic.gj_erp.bean.jcsj.EmSbjgry; +import com.dsic.gj_erp.bean.jhgk.DmTzjh; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.service.jcsj.DmBclqjbpService; +import com.dsic.gj_erp.service.jcsj.DmBclqmxpService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.dsic.gj_erp.service.jcsj.EmSbjgryService; import com.dsic.gj_erp.service.jcsj.impl.DmDwxxpService; @@ -19,9 +25,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** *

@@ -51,7 +56,18 @@ public class PgdTzjhController { @Autowired SYService syService; - + /** + * 检查板材领取表,套料图是否导入,如果已经导入更新图纸计划为已反馈 + * @param list + * @return + */ + @AuthFunction + @PostMapping("checkTz") + public ResultBean checkTz(@RequestBody List list,HttpServletRequest request){ + String username= (String) request.getAttribute("yhms"); + pgdTzjhService.updateForCheck(list,username); + return new ResultBean<>(); + } diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java index 3f22ab2..ed0483d 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java @@ -19,4 +19,5 @@ public interface PgdTzjhService extends IService { void saveTzjhPgdXd(List tzjhs, HttpServletRequest request); void saveTzjhPgdFk(List tzjhs, HttpServletRequest request); void saveTzjhPgdXdBack(List tzjhs, HttpServletRequest request); + void updateForCheck(List list,String username); } diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java index f37597e..9a8c273 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java @@ -1,17 +1,27 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.bean.jcsj.DmBchxjbp; +import com.dsic.gj_erp.bean.jcsj.DmBclqjbp; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.mapper.pgd.PgdTzjhMapper; +import com.dsic.gj_erp.service.jcsj.DmBchxjbpService; +import com.dsic.gj_erp.service.jcsj.DmBclqjbpService; import com.dsic.gj_erp.service.pgd.PgdTzjhService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; import lombok.Data; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -22,8 +32,12 @@ import java.util.List; * @since 2023-11-13 */ @Service +@AllArgsConstructor public class PgdTzjhServiceImpl extends ServiceImpl implements PgdTzjhService { + private final DmBclqjbpService dmBclqjbpService; + private final DmBchxjbpService dmBchxjbpService; + @Transactional(rollbackFor = Exception.class) @Override @@ -71,4 +85,51 @@ public class PgdTzjhServiceImpl extends ServiceImpl impl }); this.updateBatchById(ups); } + + /** + * 根据板材领取表和板材套料图,检查并更新图纸计划派工单完成情况 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void updateForCheck(List list,String username) { + Map> map = list.stream() + .collect(Collectors.groupingBy(item -> item.getCzbh() + "_" + item.getPl())); + + List updateList=new ArrayList<>(); + map.forEach((key,val)->{ + List tmpList=new ArrayList<>(); + String czbh=key.split("_")[0]; + String pl=key.split("_")[1]; + + List list1 = dmBclqjbpService.list(Wrappers.lambdaQuery() + .eq(DmBclqjbp::getDcCh, czbh) + .eq(DmBclqjbp::getDcPl, pl) + ); + if (ObjUtil.isNotEmpty(list1)){ + for(DmBclqjbp dmBclqjbp : list1){ + for (PgdTzjh pgdTzjh : val){ + if (dmBclqjbp.getDcFd().contains(pgdTzjh.getFd())){ + PgdTzjh updateData = new PgdTzjh(); + updateData.setId(pgdTzjh.getId()); + updateData.setZt("09"); + updateData.setFkrq(dmBclqjbp.getDerq()); + updateData.setFkry(username); + tmpList.add(updateData); + } + } + } + } + if (ObjUtil.isEmpty(tmpList)){ + return; + } + List list2 = dmBchxjbpService.list(Wrappers.lambdaQuery() + .eq(DmBchxjbp::getDcCh, czbh) + .eq(DmBchxjbp::getDcPl, pl) + ); + if (ObjUtil.isNotEmpty(list2)){ + updateList.addAll(tmpList); + } + }); + boolean b = ObjUtil.isNotEmpty(updateList) && this.updateBatchById(updateList, 500); + } } From cc088a8f3cba9142925ae03936f88a2ee0971e2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 26 Jul 2024 10:04:07 +0800 Subject: [PATCH 022/196] =?UTF-8?q?1.=E4=BC=98=E5=8C=96=E6=8E=92=E4=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/mapper/jhgk/DmSygdxqMapper.java | 3 +- .../java/com/dsic/gj_erp/pc/DataFactory.java | 150 +++++++++++++++++- .../java/com/dsic/gj_erp/pc/dto/data/Bom.java | 16 +- .../data/按批次合并的钢料需求.java | 36 +++-- .../dsic/gj_erp/pc/dto/data/钢料需求.java | 65 +++++++- .../dsic/gj_erp/pc/dto/gx/工序01上料.java | 11 +- .../dsic/gj_erp/pc/dto/gx/工序02抛丸.java | 11 +- .../dsic/gj_erp/pc/dto/gx/工序03理料.java | 11 +- .../dsic/gj_erp/pc/dto/gx/工序04划线.java | 11 +- .../dsic/gj_erp/pc/dto/gx/工序05切割.java | 31 ++++ .../dsic/gj_erp/pc/dto/gx/工序07坡口.java | 11 +- .../dsic/gj_erp/pc/dto/gx/工序08曲面.java | 11 +- .../dsic/gj_erp/pc/dto/gx/工序09打磨.java | 11 +- .../dsic/gj_erp/pc/dto/gx/工序10型材.java | 11 +- .../pc/dto/gx/工序21自由边处理.java | 11 +- .../dsic/gj_erp/pc/dto/gx/工序31光电.java | 11 +- .../dsic/gj_erp/pc/dto/sb/设备01上料.java | 10 ++ .../dsic/gj_erp/pc/dto/sb/设备02抛丸.java | 10 ++ .../dsic/gj_erp/pc/dto/sb/设备03理料.java | 10 ++ .../dsic/gj_erp/pc/dto/sb/设备04划线.java | 10 ++ .../dsic/gj_erp/pc/dto/sb/设备05切割.java | 19 ++- .../dsic/gj_erp/pc/dto/sb/设备07坡口.java | 10 ++ .../dsic/gj_erp/pc/dto/sb/设备08曲面.java | 10 ++ .../dsic/gj_erp/pc/dto/sb/设备09打磨.java | 10 ++ .../dsic/gj_erp/pc/dto/sb/设备10型材.java | 10 ++ .../pc/dto/sb/设备21自由边处理.java | 10 ++ .../dsic/gj_erp/pc/dto/sb/设备31光电.java | 10 ++ .../dsic/gj_erp/pc/dto/套料图工序.java | 6 +- .../com/dsic/gj_erp/pc/dto/工序产能.java | 10 +- .../java/com/dsic/gj_erp/pc/dto/设备.java | 20 ++- .../java/com/dsic/gj_erp/pc/dto/资源.java | 21 +++ .../gj_erp/pc/service/三月滚动接口.java | 24 +-- .../pc/service/工序排产处理接口.java | 1 + .../dsic/gj_erp/pc/service/设备接口.java | 2 + src/main/java/com/dsic/gj_erp/pc/排产.java | 6 +- .../java/com/dsic/gj_erp/pc/设备产能.java | 2 + .../jhgk/impl/DmSygdxqServiceImpl.java | 7 +- .../resources/mappers/jhgk/DmSygdxqMapper.xml | 6 + 38 files changed, 517 insertions(+), 118 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java index 5663cab..b38d403 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java @@ -19,9 +19,8 @@ import java.util.List; */ public interface DmSygdxqMapper extends BaseMapper { - List getXqWithBom(String from,String to); + List getXqWithBom(String from,String to,String dcch,String pl); List getSygdLjMx(String begin,String end); - } 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 ce2dac2..d6bdf7a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -33,12 +33,14 @@ import com.dsic.gj_erp.service.jhgk.DmZrcjhService; import com.google.common.collect.ImmutableMap; import com.google.common.util.concurrent.AtomicDouble; import lombok.extern.slf4j.Slf4j; +import lombok.val; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.*; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; import static com.dsic.gj_erp.pc.Manager.排产; @@ -141,6 +143,105 @@ public class DataFactory { } + public static void 排产4(){ + 装载中日程数据(); + 套料图所占工序的资源.clear(); + Manager.排产结果=new ArrayList<>(); + + List<钢料需求> list=读取钢料需求1(); + List<钢料需求> 按批次合并 = 合并批次(list); + + try { + 均衡预占(按批次合并); + }catch (Exception e){ +// e.printStackTrace(); + throw e; + }finally { + 清理冗余数据(list); + } + + } + + public static void 均衡预占(List<钢料需求> list){ + 工序CD接口 _工序CD接口 = getBean(工序CD接口.class); + List<工序CD> 工序CDS = _工序CD接口.get(); + Map 工序CDMap=new HashMap<>(); + 工序CDS.forEach(item->工序CDMap.put(item.getGx(),item)); + + for (钢料需求 item:list){ + if (ObjUtil.isNotEmpty(item.getBomList())){ + 均衡计算(item,工序CDMap); + } + } + } + + private static void 均衡计算(钢料需求 item,Map 工序CDMap){ + Constant.工序 依据工序=Constant.工序.切割; + //需求日期可利用范围是±3天 + int times=-3; + List<资源> tmpList=new ArrayList<>(); + Map 切割各设备需求量 = item.get切割各设备需求量(); + 资源 _资源=null; + Integer cd = 工序CDMap.get(依据工序).getCd(); + do { + //因为第一次计算时候就是当前批量小组需求日期,所以再次循环到的时候不需要再次计算 + if (times==0){ + times+=1; + item.set均衡需求日期(DateUtil.offsetDay(DateUtil.parse(item.getXzglxq(),"yyyy/MM/dd"),times)); + continue; + } + if (times>3){ + break; + } + + DateTime xzglxq = item.get均衡需求日期().offset(DateField.DAY_OF_YEAR,cd); + + if (xzglxq.isBefore(DateUtil.date())){ + //break; + } + + _资源 = 提取资源(xzglxq); + if (_资源.get_date().isBefore(DateUtil.date())){ + //break; + } + //记录6次计算的全部资源 + tmpList.add(_资源); + if (_资源.判断切割设备是否可以被占用(切割各设备需求量)){ + if (item.getDcCh().equals("G175K-5")&&item.getDcPl().equals("003")){ + System.out.println(111); + } + 执行排产(item.getBomList(),item.get均衡需求日期(),工序CDMap); + break; + } + //需求日期可利用范围是±3天,排产是需要根据产能进行调整 + item.set均衡需求日期(DateUtil.offsetDay(DateUtil.parse(item.getXzglxq(),"yyyy/MM/dd"),times)); + times+=1; + }while (true); + + //若在需求期±3天内无法正常排产时,查找最大可用空闲资源进行占用 + AtomicReference date=new AtomicReference<>(); + if (times>3){ + //查找最小可用资源,进行占用 + tmpList.sort(Comparator.comparingDouble((tmp)->tmp.get工序产能MAP().get(Constant.工序.切割).get占用())); + tmpList.stream().findFirst().ifPresent(tmp->{ + //由于资源日为切割日期,这里需要还原一下,修正传递的参照需求日期 + DateTime offset = tmp.get_date().offset(DateField.DAY_OF_MONTH, -工序CDMap.get(依据工序).getCd()); + if (item.getDcCh().equals("G175K-5")&&item.getDcPl().equals("003")){ + System.out.println(offset.toDateStr()); + } + 执行排产(item.getBomList(),offset,工序CDMap); + date.set(tmp.getDate()); + }); + } + if (_资源!=null){ + date.set(_资源.getDate()); + }else { + log.info("船号:{},批次:{},早于当前日期无需排产",item.getDcCh(),item.getDcPl()); + return; + } + log.info("船号:{},批次:{},占用资源成功,切割日期:{}",item.getDcCh(),item.getDcPl(),date.get()); + } + public static void 均衡预占(Collection<按批次合并的钢料需求> _按批次合并的钢料需求){ 工序CD接口 _工序CD接口 = getBean(工序CD接口.class); List<工序CD> 工序CDS = _工序CD接口.get(); @@ -186,6 +287,9 @@ public class DataFactory { // 上料.占用资源(Constant.工序.上料,bom,item.get产能需求().get(Constant.工序.上料).get()); // _资源.占用资源(Constant.工序.切割,bom,1); // } + if (item.getDcCh().equals("G175K-4")&&item.getDcPl().equals("020")){ + System.out.println(111); + } 执行排产(item.getBomList(),item.get均衡需求日期(),工序CDMap); break; } @@ -195,6 +299,7 @@ public class DataFactory { }while (true); //若在需求期±3天内无法正常排产时,查找最大可用空闲资源进行占用 + AtomicReference date=new AtomicReference<>(); if (times>3){ //查找最小可用资源,进行占用 tmpList.sort(Comparator.comparingDouble((tmp)->tmp.get工序产能MAP().get(Constant.工序.切割).get占用())); @@ -206,17 +311,22 @@ public class DataFactory { // tmp.占用资源(Constant.工序.切割,bom,1); // } //由于资源日为切割日期,这里需要还原一下,修正传递的参照需求日期 + if (item.getDcCh().equals("G175K-4")&&item.getDcPl().equals("020")){ + System.out.println(111); + } 执行排产(item.getBomList(),tmp.get_date().offset(DateField.DAY_OF_YEAR,-工序CDMap.get(依据工序).getCd()),工序CDMap); + date.set(tmp.getDate()); }); } if (_资源!=null){ - log.info("船号:{},批次:{},占用资源成功,切割日期:{}",item.getDcCh(),item.getDcPl(),_资源.getDate()); + date.set(_资源.getDate()); + log.info("船号:{},批次:{},占用资源成功,切割日期:{}",item.getDcCh(),item.getDcPl(),date.get()); }else { log.info("船号:{},批次:{},早于当前日期无需排产",item.getDcCh(),item.getDcPl()); } - } + private static void 执行排产(List list,DateTime 参照需求日期,Map 工序CDMap){ CountDownLatch latch = new CountDownLatch(list.size()); for (Bom bom:list){ @@ -224,6 +334,7 @@ public class DataFactory { if (_套料图工序==null){ latch.countDown(); + log.info("船号:{},批次:{},图纸编号:{},无法找到对应套料图",bom.getDcch(),bom.getPl(),bom.getTzbh()); continue; } @@ -252,20 +363,39 @@ public class DataFactory { _按批次合并的钢料需求.forEach(按批次合并的钢料需求::计算各工序产能需求); } + private static List<钢料需求> 合并批次(List<钢料需求> list){ + Map map=new HashMap<>(); + list.forEach(item->{ + String key=item.getDcCh() + item.getDcPl(); + 钢料需求 _钢料需求 = map.get(key); + if (_钢料需求==null){ + map.put(key,item); + }else{ + _钢料需求.addBomList(item.getBomList()); + } + }); + return new ArrayList<>(map.values()); + } + private static Collection<按批次合并的钢料需求> 按批次合并(List<钢料需求> list){ Map map=new HashMap<>(); list.forEach(item->{ String key=item.getDcCh() + item.getDcPl(); - 按批次合并的钢料需求 _按批次合并的钢料需求 = map.get(key); - if (_按批次合并的钢料需求==null){ - _按批次合并的钢料需求=new 按批次合并的钢料需求(); - map.put(key,_按批次合并的钢料需求); - } + 按批次合并的钢料需求 _按批次合并的钢料需求 = map.computeIfAbsent(key, k -> new 按批次合并的钢料需求()); _按批次合并的钢料需求.of(item); }); return map.values(); } + public static List<钢料需求> 读取钢料需求1(){ + List 按需求日期排序的钢料需求 = getBean(DmSygdxqService.class).getXqWithBom(from, to); + return 按需求日期排序的钢料需求.stream().map(item->{ + 钢料需求 _钢料需求 = 钢料需求.of(item); + _钢料需求.计算各设备切割需求量(); + return _钢料需求; + }).collect(Collectors.toList()); + } + public static List<钢料需求> 读取钢料需求(){ List 按需求日期排序的钢料需求 = getBean(DmSygdxqService.class).getXqWithBom(from, to); return 按需求日期排序的钢料需求.stream().map(钢料需求::of).collect(Collectors.toList()); @@ -417,7 +547,13 @@ public class DataFactory { public static void 创建产能资源池(){ 资源池.clear(); + DateTime _from = DateUtil.parse(from, "yyyy/MM/dd").offset(DateField.DAY_OF_YEAR,-30); + DateTime _to = DateUtil.parse(to, "yyyy/MM/dd"); 工厂日历.stream().filter(item -> "1".equals(item.getXxr())) + .filter(item->{ + DateTime gl = DateUtil.parse(item.getGl(), "yyyy/MM/dd"); + return gl.isAfterOrEquals(_from)&&gl.isBeforeOrEquals(_to); + }) .forEach(item -> { Map map = 计算日产能(); 资源池.put(item.getGl(), 资源.of(item.getGl(), map)); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java index 8845d0b..ff21e08 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java @@ -4,14 +4,13 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.bean.jcsj.DmBom; import com.dsic.gj_erp.pc.Constant; -import com.dsic.gj_erp.pc.dto.gx.*; -import com.dsic.gj_erp.pc.dto.sb.*; import com.dsic.gj_erp.pc.dto.设备; import com.dsic.gj_erp.pc.dto.资源; import lombok.Getter; import lombok.Setter; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -49,6 +48,18 @@ public class Bom { return _bom; } + public boolean 判断是否为可识别跨位和切割设备的套料图(){ + String[] 切割设备可加工套料图分类码= { + "N1AX","N1AD","N1LD","N2BX","N2BD","N2CX","N2CD","N2HX","N2HD","S2TX","S2TD","N3CX","N3CD", + "S3PX","S3PD","S3XX","N4PX","N4PD","N4XX","N2TX","N2TD" + }; + return Arrays.stream(切割设备可加工套料图分类码).anyMatch(it->it.equals(this.获取套料图分类码())); + } + + public String 获取套料图分类码(){ + return this.tzbh.substring(4,8).toUpperCase(); + } + public double 根据工序获取产能需求量(Constant.工序 _工序){ switch (_工序) { case 上料: @@ -121,7 +132,6 @@ public class Bom { this.errors.add(ErrorType.缺少大组需求期使用小组需求替代); } - public void 超出工序产能(Constant.工序 _工序){ switch (_工序) { case 上料: diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/按批次合并的钢料需求.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/按批次合并的钢料需求.java index 32f69e2..db9786d 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/data/按批次合并的钢料需求.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/按批次合并的钢料需求.java @@ -10,10 +10,7 @@ import com.google.common.util.concurrent.AtomicDouble; import lombok.Getter; import lombok.Setter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Getter @Setter @@ -28,20 +25,35 @@ public class 按批次合并的钢料需求 { private String 预占资源日期; - private Map 产能需求;//fixme 要求必须所有工序都不可以打乱才能用 + private Map 产能需求; + private Map 设备需求; private Map 预占结果; + public void 计算各工序产能需求(){ 产能需求=new HashMap<>(); + 设备需求=new HashMap<>(); this.bomList.forEach(item->{ 套料图工序 _套料图工序 = DataFactory.套料图工序工厂(item); - _套料图工序.get工序().forEach(_工序->{ - AtomicDouble aDouble = 产能需求.get(_工序); - if (aDouble==null){ - aDouble=new AtomicDouble(0); - 产能需求.put(_工序,aDouble); - } - aDouble.addAndGet(item.根据工序获取产能需求量(_工序)); + Optional.ofNullable(_套料图工序).ifPresent(it->{ + this.计算产能需求(item,it); + }); + this.计算设备需求(item); + }); + } + + private void 计算设备需求(Bom item){ + if (item.getTzbh().contains("N1AX")||item.getTzbh().contains("N1AD")){ + String key="N1AX-N1AD"; + AtomicDouble aDouble = 设备需求.computeIfAbsent(key, k -> new AtomicDouble(0)); + aDouble.addAndGet(1); + } + } + + private void 计算产能需求(Bom item,套料图工序 _套料图工序){ + _套料图工序.get工序().forEach(_工序->{ + AtomicDouble aDouble = 产能需求.computeIfAbsent(_工序, k -> new AtomicDouble(0)); + aDouble.addAndGet(item.根据工序获取产能需求量(_工序)); }); } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/钢料需求.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/钢料需求.java index acecd64..e87d1c6 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/data/钢料需求.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/钢料需求.java @@ -1,11 +1,21 @@ package com.dsic.gj_erp.pc.dto.data; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.dsic.gj_erp.bean.SpringContextHolder; import com.dsic.gj_erp.bean.jhgk.DmSygdxq; +import com.dsic.gj_erp.pc.Constant; +import com.dsic.gj_erp.pc.service.设备产能接口; +import com.dsic.gj_erp.pc.设备产能; +import com.google.common.util.concurrent.AtomicDouble; import lombok.Getter; import lombok.Setter; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Getter @@ -17,11 +27,64 @@ public class 钢料需求 { private String xzglxq; private String dzglxq; private List bomList; + private Map 切割各设备需求量; + private DateTime 均衡需求日期; public static 钢料需求 of(DmSygdxq qfxq){ 钢料需求 _钢料需求 = new 钢料需求(); BeanUtil.copyProperties(qfxq,_钢料需求,"bomList"); - _钢料需求.bomList=qfxq.getBomList().stream().map(item->Bom.of(_钢料需求.getXzglxq(),_钢料需求.getDzglxq(),item)).collect(Collectors.toList()); + _钢料需求.bomList=qfxq.getBomList().stream() + .map(item->Bom.of(_钢料需求.getXzglxq(),_钢料需求.getDzglxq(),item)) + .collect(Collectors.toList()); return _钢料需求; } + + /** + * 校验产能是否满足切割需求量 + */ + public void 校验产能是否满足切割需求量(){ + //从redis获取各切割设备产能 + 设备产能接口 _设备产能接口 = getBean(设备产能接口.class); + List<设备产能> 切割设备产能 = _设备产能接口.get().stream() + .filter(item->item.get_工序()== Constant.工序.切割).collect(Collectors.toList()); + + } + + public void 计算各设备切割需求量(){ + 切割各设备需求量=new HashMap<>(); + this.bomList.forEach(item->{ + this.切割(item,"N1AX-N1AD");//一跨龙门 + this.切割(item,"N1LD");//一跨数控 + this.切割(item,"N2BX-N2BD-N2CX-N2CD-N2HX-N2HD");//二跨 +// this.切割(item,"N2TX-N2TD");//二跨转移4,5,6垮 + this.切割(item,"S2TX-S2TD");//二跨手工 + this.切割(item,"N3CX-N3CD");//三跨 + this.切割(item,"S3PX-S3PD");//三跨手工 + this.切割(item,"S3XX");//三跨手工 + this.切割(item,"N4PX-N4PD-N4XX-N2TX-N2TD");//456垮 + }); + } + + public void addBomList(List list){ + this.bomList.addAll(list); + } + + private void 切割(Bom item,String key){ + if (StrUtil.containsAny(item.getTzbh(),key.split("-"))){ + AtomicDouble aDouble = 切割各设备需求量.computeIfAbsent(key, k -> new AtomicDouble(0)); + aDouble.addAndGet(1);//按张计算 + } + } + + private static T getBean(Class clazz) { + return SpringContextHolder.getBean(clazz); + } + + public DateTime get均衡需求日期(){ + if (this.均衡需求日期 ==null){ + return DateUtil.parse(this.xzglxq,"yyyy/MM/dd"); + } + return this.均衡需求日期; + } + } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序01上料.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序01上料.java index e806614..8e7777a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序01上料.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序01上料.java @@ -19,14 +19,13 @@ public class 工序01上料 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.上料01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.上料01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } + @Override public void 占用资源(double 所需产能) { super.占用资源(1.0); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序02抛丸.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序02抛丸.java index 0d81a9c..0f1abc2 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序02抛丸.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序02抛丸.java @@ -18,14 +18,13 @@ public class 工序02抛丸 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.抛丸01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.抛丸01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } + @Override public void 占用资源(double 所需产能) { super.占用资源(1.0); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序03理料.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序03理料.java index 045d06a..ddc780a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序03理料.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序03理料.java @@ -18,14 +18,13 @@ public class 工序03理料 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.理料01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.理料01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } + @Override public void 占用资源(double 所需产能) { super.占用资源(所需产能); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序04划线.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序04划线.java index 094d689..f97038f 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序04划线.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序04划线.java @@ -19,14 +19,13 @@ public class 工序04划线 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.划线01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.划线01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } + @Override public void 占用资源(double 所需产能) { super.占用资源(所需产能); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序05切割.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序05切割.java index e8fda61..af4fa8d 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序05切割.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序05切割.java @@ -1,16 +1,23 @@ package com.dsic.gj_erp.pc.dto.gx; import com.dsic.gj_erp.pc.Constant; +import com.dsic.gj_erp.pc.dto.data.Bom; import com.dsic.gj_erp.pc.dto.工序产能; import com.dsic.gj_erp.pc.dto.设备; import lombok.Getter; import lombok.Setter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.Map; +import java.util.Optional; @Getter @Setter public class 工序05切割 extends 工序产能 { + + private static final Logger log = LoggerFactory.getLogger(工序05切割.class); + public 工序05切割(Map _设备) { super(Constant.工序.切割,_设备); } @@ -24,6 +31,30 @@ public class 工序05切割 extends 工序产能 { }); } + @Override + public void 占用设备(String 占用源,double 所需产能, Bom bom){ + if (!bom.判断是否为可识别跨位和切割设备的套料图()){ + this.强占设备(bom.getTzbh(),1,bom); + return; + } + Optional<设备> 可占用设备 = this.获取可占用设备(bom.获取套料图分类码(),所需产能); + if (!可占用设备.isPresent()){ + log.info("强占:{}",bom); + bom.超出工序产能(Constant.工序.切割); + this.强占设备(bom.getTzbh(),1,bom); + } + 可占用设备.ifPresent(it->{ + it.占用设备(所需产能); + it.占用设备(bom); + }); + } + + @Override + public Optional<设备> 获取可占用设备(String 套料图分类码,double 所需产能){ + return this.设备.values().stream() + .filter(item->item.getKey().contains(套料图分类码)&&item.get占用()+所需产能<=this.产能).findFirst(); + } + @Override public void 占用资源(double 所需产能) { super.占用资源(所需产能); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序07坡口.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序07坡口.java index 16dfbca..0c331e8 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序07坡口.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序07坡口.java @@ -18,14 +18,13 @@ public class 工序07坡口 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.坡口01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.坡口01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } + @Override public void 占用资源(double 所需产能) { super.占用资源(所需产能); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序08曲面.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序08曲面.java index 22a1f8f..786488b 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序08曲面.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序08曲面.java @@ -18,14 +18,13 @@ public class 工序08曲面 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.曲加工01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.曲加工01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } + @Override public void 占用资源(double 所需产能) { super.占用资源(所需产能); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序09打磨.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序09打磨.java index ecbedc1..91c6b83 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序09打磨.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序09打磨.java @@ -11,6 +11,7 @@ import java.util.Map; @Getter @Setter public class 工序09打磨 extends 工序产能 { + public 工序09打磨(Map _设备) { super(Constant.工序.打磨,_设备); } @@ -18,12 +19,10 @@ public class 工序09打磨 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.打磨01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.打磨01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } @Override diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序10型材.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序10型材.java index 6fdda38..0b5ed8a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序10型材.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序10型材.java @@ -18,14 +18,13 @@ public class 工序10型材 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.型材01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.型材01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } + @Override public void 占用资源(double 所需产能) { super.占用资源(所需产能); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序21自由边处理.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序21自由边处理.java index deadfdb..586c0c9 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序21自由边处理.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序21自由边处理.java @@ -18,14 +18,13 @@ public class 工序21自由边处理 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.型材01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.型材01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } + @Override public void 占用资源(double 所需产能) { super.占用资源(所需产能); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序31光电.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序31光电.java index 6b600a0..063b976 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序31光电.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序31光电.java @@ -18,14 +18,13 @@ public class 工序31光电 extends 工序产能 { @Override public void 计算工作量() { this.产能=0; - if (this.白班时长>0){ - this.产能+=this.白班时长*Constant.设备产能.型材01.get白班设备产能()/7.0; - } - if (this.二班时长>0){ - this.产能+=this.二班时长*Constant.设备产能.型材01.get二班设备产能()/7.0; - } + this.设备.values().forEach(设备->{ + 设备.修正工作量(this.白班时长,this.二班时长); + this.产能+=设备.get产能(); + }); } + @Override public void 占用资源(double 所需产能) { super.占用资源(所需产能); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备01上料.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备01上料.java index f3ec646..36412f3 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备01上料.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备01上料.java @@ -13,4 +13,14 @@ public class 设备01上料 extends 设备 { public 设备01上料(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备02抛丸.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备02抛丸.java index 5023dc8..e797b08 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备02抛丸.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备02抛丸.java @@ -13,4 +13,14 @@ public class 设备02抛丸 extends 设备 { public 设备02抛丸(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备03理料.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备03理料.java index 142fe8c..58a71cb 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备03理料.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备03理料.java @@ -13,4 +13,14 @@ public class 设备03理料 extends 设备 { public 设备03理料(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备04划线.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备04划线.java index 3dcb646..d248d22 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备04划线.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备04划线.java @@ -13,4 +13,14 @@ public class 设备04划线 extends 设备 { public 设备04划线(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备05切割.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备05切割.java index 4da30d0..fed3a3b 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备05切割.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备05切割.java @@ -22,14 +22,13 @@ public class 设备05切割 extends 设备 { super(_设备产能); } -// @Override -// public void 修正工作量(double 白班时长, double 二班时长) { -// this.白班时长=白班时长; -// this.二班时长=二班时长; -// this.修正产能(); -// } -// -// public void 修正产能(){ -// this.产能=this.白班设备产能*this.白班时长+this.二班设备产能*this.二班时长; -// } + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备07坡口.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备07坡口.java index 7d681e7..79de2a7 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备07坡口.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备07坡口.java @@ -13,4 +13,14 @@ public class 设备07坡口 extends 设备 { public 设备07坡口(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备08曲面.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备08曲面.java index 90a3a29..a084e93 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备08曲面.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备08曲面.java @@ -13,4 +13,14 @@ public class 设备08曲面 extends 设备 { public 设备08曲面(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备09打磨.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备09打磨.java index 5ade895..cafb981 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备09打磨.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备09打磨.java @@ -13,4 +13,14 @@ public class 设备09打磨 extends 设备 { public 设备09打磨(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备10型材.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备10型材.java index e1b58d7..1bdd9e0 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备10型材.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备10型材.java @@ -13,4 +13,14 @@ public class 设备10型材 extends 设备 { public 设备10型材(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备21自由边处理.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备21自由边处理.java index 0c89026..c050d01 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备21自由边处理.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备21自由边处理.java @@ -13,4 +13,14 @@ public class 设备21自由边处理 extends 设备 { public 设备21自由边处理(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备31光电.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备31光电.java index 665183d..e912d66 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备31光电.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备31光电.java @@ -13,4 +13,14 @@ public class 设备31光电 extends 设备 { public 设备31光电(Constant.设备产能 _设备产能) { super(_设备产能); } + + @Override + public void 修正工作量(double 白班时长, double 二班时长){ + this.产能=this.双班合计产能; + } + + @Override + public boolean 判断设备是否可以被占用(double 产量){ + return this.占用+产量>this.产能; + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java index 33f8d68..d24854a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java @@ -102,7 +102,6 @@ public abstract class 套料图工序 implements 套料图工序接口 { public void run(AtomicBoolean atomicBoolean) { if (!this.订货()){ -// System.out.println(String.format("船号:%s,批量:%s,未订货",this.bom.getDcch(),this.bom.getPl())); bom.没有订货(); } @@ -191,11 +190,12 @@ public abstract class 套料图工序 implements 套料图工序接口 { 资源 _资源 = 提取资源(dateTime); try { if (_资源.占用资源(_工序,this.bom,需求数量)){ - this.bom.set所在资源(_资源); +// this.bom.set所在资源(_资源); this.bom.get已排工序().add(0,_工序); } }catch (Exception e){ e.printStackTrace(); + throw e; } return _资源; @@ -208,7 +208,7 @@ public abstract class 套料图工序 implements 套料图工序接口 { AtomicBoolean 占用成功=new AtomicBoolean(false); try { if (_资源.占用资源(_工序,this.bom,需求数量)){ - this.bom.set所在资源(_资源); +// this.bom.set所在资源(_资源); this.bom.get已排工序().add(0,_工序); 占用成功.set(true); } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/工序产能.java b/src/main/java/com/dsic/gj_erp/pc/dto/工序产能.java index d2459e6..f542138 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/工序产能.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/工序产能.java @@ -69,13 +69,12 @@ public abstract class 工序产能 implements 工序排产处理接口 { .findFirst(); } - public Optional<设备> 获取可占用设备(double 所需产能){ + public Optional<设备> 获取可占用设备(String 套料图分类码,double 所需产能){ return this.设备.values().stream().findAny(); } - public boolean 判断设备是否可以占用(String 设备编号,double 所需产能){ - 设备 _设备 = this.设备.get(设备编号); - return _设备.占用+所需产能<=_设备.产能; + public Optional<设备> 获取可占用设备(double 所需产能){ + return this.设备.values().stream().findAny(); } public boolean 判断是否可以占用(double 所需产能){ @@ -87,7 +86,7 @@ public abstract class 工序产能 implements 工序排产处理接口 { } public void 占用资源(String 占用源){ - this.资源占用图纸表.add(占用源); + //this.资源占用图纸表.add(占用源); } public void 占用设备(String 占用源,double 所需产能, Bom bom){ @@ -97,6 +96,7 @@ public abstract class 工序产能 implements 工序排产处理接口 { it.占用设备(bom); }); } + public void 强占设备(String 占用源,double 所需产能, Bom bom){ Optional<设备> _设备 = this.设备.values().stream().findAny(); _设备.ifPresent(it->{ diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/设备.java b/src/main/java/com/dsic/gj_erp/pc/dto/设备.java index ee14047..372ab02 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/设备.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/设备.java @@ -1,5 +1,8 @@ package com.dsic.gj_erp.pc.dto; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.dsic.gj_erp.pc.Constant; import com.dsic.gj_erp.pc.dto.data.Bom; import com.dsic.gj_erp.pc.service.设备接口; @@ -16,10 +19,12 @@ public abstract class 设备 implements 设备接口 { protected String 设备名称; protected double 白班设备产能; protected double 二班设备产能; + protected double 双班合计产能; protected double 产能; protected volatile double 占用=0.0; protected ConcurrentLinkedDeque 资源占用图纸表; protected ConcurrentLinkedDeque 资源占用图表; + protected String key; @Override public void 修正工作量(double 白班时长, double 二班时长) { @@ -31,6 +36,11 @@ public abstract class 设备 implements 设备接口 { this.产能+=二班时长*二班设备产能/7.0; } } + + public boolean 判断设备是否可以被占用(double 产量){ + return false; + } + @Override public void 占用设备(double 所需产能) { this.占用+=所需产能; @@ -52,17 +62,25 @@ public abstract class 设备 implements 设备接口 { this.设备名称= _设备产能.get设备名称(); this.白班设备产能= _设备产能.get白班设备产能(); this.二班设备产能= _设备产能.get二班设备产能(); + this.双班合计产能=_设备产能.get双班合计产能(); + this.key=_设备产能.get套料图编码(); this.资源占用图纸表=new ConcurrentLinkedDeque<>(); this.资源占用图表=new ConcurrentLinkedDeque<>(); } - public 设备(Constant.设备产能 _设备产能){ this.设备编号= _设备产能.设备编号; this.设备名称= _设备产能.设备名称; this.白班设备产能= _设备产能.白班设备产能; this.二班设备产能= _设备产能.二班设备产能; + this.双班合计产能=_设备产能.get双班合计产能(); this.资源占用图纸表=new ConcurrentLinkedDeque<>(); this.资源占用图表=new ConcurrentLinkedDeque<>(); } + + public static void main(String[] args) { + int d=-7; + DateTime offset = DateUtil.date().offset(DateField.DAY_OF_YEAR, -d); + System.out.println(offset.toDateStr()); + } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java index a20ca3f..1021fa6 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java @@ -2,8 +2,10 @@ package com.dsic.gj_erp.pc.dto; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.dsic.gj_erp.pc.Constant; import com.dsic.gj_erp.pc.dto.data.Bom; +import com.google.common.util.concurrent.AtomicDouble; import lombok.Getter; import lombok.Setter; @@ -31,6 +33,19 @@ public class 资源 { }); } + public boolean 判断切割设备是否可以被占用(Map 切割各设备需求量){ + 工序产能 工序产能 = 工序产能MAP.get(Constant.工序.切割); + Map 设备 = 工序产能.get设备(); + AtomicBoolean flag=new AtomicBoolean(true); + 设备.values().forEach(it->{ + AtomicDouble 产量=切割各设备需求量.get(it.getKey()); + if (产量!=null&&it.get占用()+产量.get()>it.产能){ + flag.set(false); + } + }); + return flag.get(); + } + public boolean 判断工序是否可以被占用(Constant.工序 _工序 ,double 产能消耗){ 工序产能 工序产能 = 工序产能MAP.get(_工序); AtomicBoolean atomicBoolean = new AtomicBoolean(false); @@ -44,8 +59,14 @@ public class 资源 { public boolean 占用资源(Constant.工序 工序, Bom bom, double 产能消耗){ AtomicBoolean atomicBoolean = new AtomicBoolean(false); + if (bom.getTzbh().equals("B020N4PX004")){ + System.out.println(111); + } 工序产能 工序产能 = 工序产能MAP.get(工序); Optional.ofNullable(工序产能).ifPresent(it->{ + if (it.产能==0){ + return; + } if (!it.判断是否可以占用(产能消耗)){ bom.超出工序产能(工序); } diff --git a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java index 9898ab4..f1344d6 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java @@ -1,5 +1,7 @@ package com.dsic.gj_erp.pc.service; +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; @@ -51,18 +53,22 @@ public class 三月滚动接口 { Map> collect = mxList.stream().collect(Collectors.groupingBy(item -> item.getDcCh() + item.getDcPl() + item.getTzbh())); - Manager.资源池.values().forEach(_资源->{ - _资源.get工序产能MAP().values().forEach(_工序产能->{ - _工序产能.get设备().values().forEach(_设备->{ - _设备.get资源占用图表().parallelStream().forEach(_bom->{ - List dmSygdMxes = collect.get(_bom.getDcch() + _bom.getPl() + _bom.getTzbh()); - for (DmSygdMx mx:dmSygdMxes){ - mx.更新排产信息(_工序产能.get工序(),_资源.getDate()); - } + DateTime from = DateUtil.parse(begin, "yyyy/MM/dd"); + DateTime to = DateUtil.parse(end, "yyyy/MM/dd"); + + Manager.资源池.values().parallelStream() + .filter(_资源->DateUtil.isIn(_资源.get_date(),from,to)) + .forEach(_资源->{_资源.get工序产能MAP().values().forEach(_工序产能->{ + _工序产能.get设备().values().forEach(_设备->{ + _设备.get资源占用图表().parallelStream().forEach(_bom->{ + List dmSygdMxes = collect.get(_bom.getDcch() + _bom.getPl() + _bom.getTzbh()); + for (DmSygdMx mx:dmSygdMxes){ + mx.更新排产信息(_工序产能.get工序(),_资源.getDate()); + } + }); }); }); }); - }); sygdMxService.saveBatch(mxList,500); diff --git a/src/main/java/com/dsic/gj_erp/pc/service/工序排产处理接口.java b/src/main/java/com/dsic/gj_erp/pc/service/工序排产处理接口.java index 3efcfb8..c1f37be 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/工序排产处理接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/工序排产处理接口.java @@ -3,6 +3,7 @@ package com.dsic.gj_erp.pc.service; import com.dsic.gj_erp.pc.dto.data.Bom; public interface 工序排产处理接口 { + void 修正工作量(double 白班时长,double 二班时长); diff --git a/src/main/java/com/dsic/gj_erp/pc/service/设备接口.java b/src/main/java/com/dsic/gj_erp/pc/service/设备接口.java index 0e65cd4..7dd56a1 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/设备接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/设备接口.java @@ -20,4 +20,6 @@ public interface 设备接口 { void 占用设备(String 占用源); void 占用设备(Bom bom); + + boolean 判断设备是否可以被占用(double 产量); } diff --git a/src/main/java/com/dsic/gj_erp/pc/排产.java b/src/main/java/com/dsic/gj_erp/pc/排产.java index 133e3b2..8064d43 100644 --- a/src/main/java/com/dsic/gj_erp/pc/排产.java +++ b/src/main/java/com/dsic/gj_erp/pc/排产.java @@ -17,15 +17,14 @@ public class 排产 { List<排产结果> list; public static void execute(@NotNull String from, @NotNull String to) { - 排产 _排产 = 排产.of(from, to); - Manager.排产 = _排产; + Manager.排产 = 排产.of(from, to); Manager.from = from; Manager.to = to; DataFactory.加载工厂日历(); DataFactory.加载套料图工序对应关系(); DataFactory.加载设备信息(); DataFactory.创建产能资源池(); - DataFactory.排产3(); + DataFactory.排产4(); } private static 排产 of(@NotNull String from, @NotNull String to){ @@ -34,6 +33,7 @@ public class 排产 { 排产.to = to; 排产.complete = false; 排产.list = new ArrayList<>(); + Manager.排产 = 排产; return Manager.排产; } diff --git a/src/main/java/com/dsic/gj_erp/pc/设备产能.java b/src/main/java/com/dsic/gj_erp/pc/设备产能.java index f0c232e..22ce302 100644 --- a/src/main/java/com/dsic/gj_erp/pc/设备产能.java +++ b/src/main/java/com/dsic/gj_erp/pc/设备产能.java @@ -15,5 +15,7 @@ public class 设备产能 { private double 二班设备产能; private double 双班合计产能; private boolean 禁用; + private String 跨位; + private String 套料图编码; } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java index b3c94e2..46ae476 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java @@ -8,7 +8,6 @@ import cn.hutool.core.util.ObjUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsic.gj_erp.bean.jcsj.DmBom; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmSygdxq; import com.dsic.gj_erp.bean.jhgk.DmSygdxqOld; @@ -131,7 +130,11 @@ public class DmSygdxqServiceImpl extends ServiceImpl i @Override public List getXqWithBom(String from, String to) { - return baseMapper.getXqWithBom(from,to); + return t(from,to,"",""); + } + + private List t(String from, String to,String dcch,String pl){ + return baseMapper.getXqWithBom(from,to,dcch,pl); } //零件信息 diff --git a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml index 123796c..47be330 100644 --- a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml @@ -54,6 +54,12 @@ dm_sygdxq xq left join dm_bom bom on bom.dcch = xq.DC_CH and bom.pl = xq.DC_PL and bom.fd = xq.DC_FD where xq.xzglxq between #{from} and #{to} + + and xq.DC_CH=#{dcch} + + + and bom.pl=#{pl} + ) a where a.rn=1 order by a.xzglxq From 790d8b657c09a05091391c2898a9b461b3be84f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 30 Jul 2024 17:05:02 +0800 Subject: [PATCH 023/196] =?UTF-8?q?1.=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/bean/jhgk/Zyjh.java | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 src/main/java/com/dsic/gj_erp/bean/jhgk/Zyjh.java diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/Zyjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/Zyjh.java new file mode 100644 index 0000000..b643aef --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/Zyjh.java @@ -0,0 +1,123 @@ +package com.dsic.gj_erp.bean.jhgk; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class Zyjh { + + @TableId(value = "id", type = IdType.AUTO) + private String id; + + @ApiModelProperty(value = "产品") + private String dcCh; + + @ApiModelProperty(value = "数据来源船") + private String dcCh1; + + @ApiModelProperty(value = "批量") + private String dcPl; + + @ApiModelProperty(value = "领取类型") + @TableField("LQLB") + private String lqlb; + + @ApiModelProperty(value = "套料图号") + private String tzbh; + + @ApiModelProperty(value = "规格") + private String wpgg; + + @ApiModelProperty(value = "材质") + private String wpxh; + + @ApiModelProperty(value = "划线长度(米)") + private volatile Double hxcd; + private volatile Double dmcd; + + private String dmrq; + private String pkrq; + private String llrq; + + @ApiModelProperty(value = "切割长度(米)") + private Double qgcd; + + @ApiModelProperty(value = "曲标识") + private String qbs; + private String qjgrq; + + @ApiModelProperty(value = "坡口类型") + private Double pklx; + + @ApiModelProperty(value = "坡口长度") + private volatile Double pkcd; + + @ApiModelProperty(value = "零件数量") + private Double ljsl; + + @ApiModelProperty(value = "组立") + private String zl; + + @ApiModelProperty(value = "钢加大组结束") + private String gjjsDz; + + + @ApiModelProperty(value = "加工类型") + private String lx; + + @ApiModelProperty(value = "型材米数") + private Double xcms; + + @ApiModelProperty(value = "跨位") + private String kw; + + @ApiModelProperty(value = "上料日期") + private String slrq; + + private String slsb; + + @ApiModelProperty(value = "上料人员") + private String slry; + + @ApiModelProperty(value = "抛丸") + private String pw; + + @ApiModelProperty(value = "抛丸人员") + private String pwry; + + @ApiModelProperty(value = "抛丸日期") + private String pwrq; + + @ApiModelProperty(value = "划线设备") + private String hxsb; + + @ApiModelProperty(value = "划线人员") + private String hxry; + + @ApiModelProperty(value = "划线日期") + private String hxrq; + + @ApiModelProperty(value = "切割设备") + private String qgsb; + + @ApiModelProperty(value = "切割人员") + private String qgry; + + @ApiModelProperty(value = "切割日期") + private String qgrq; + + @ApiModelProperty(value = "抛丸设备") + private String pwsb; + + @ApiModelProperty(value = "分段号") + @TableField("DC_FD") + private String dcFd; + + @ApiModelProperty(value = "状态:0编辑 1提交 2下发") + private String zt; +} From 80b558c5368dd4fbb3dacd161360bf8fda434804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 9 Aug 2024 16:48:35 +0800 Subject: [PATCH 024/196] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E4=B8=8A=E6=96=99?= =?UTF-8?q?=E6=8B=96=E6=8B=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dsic/gj_erp/controller/jcsj/DmCzplpNewController.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java index a6ae8c7..4d62e62 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java @@ -46,6 +46,11 @@ public class DmCzplpNewController { return new ResultBean(map); } + @PostMapping("/openCzplBase") + @ResponseBody + public ResultBean openCzplBase(HttpServletRequest req,@RequestBody Map map) throws Exception, CustomException { + return new ResultBean(dmCzplpNewService.getCzplBase(map)); + } @PostMapping("/getCzplBase") @AuthFunction From 7a1e8e82e637ccbd38eea4067da7d22ae9e9b9ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 15 Aug 2024 11:55:46 +0800 Subject: [PATCH 025/196] =?UTF-8?q?1.=E7=90=86=E6=96=99,=E5=88=92=E7=BA=BF?= =?UTF-8?q?,=E5=88=87=E5=89=B2=E7=95=8C=E9=9D=A2=E7=BB=98=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/zyjh/ZyjhController.java | 24 +++++++++++++++++++ .../gj_erp/controller/zyjh/dto/ShangLiao.java | 10 ++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java new file mode 100644 index 0000000..4a24e2d --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -0,0 +1,24 @@ +package com.dsic.gj_erp.controller.zyjh; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; +import com.dsic.gj_erp.service.jhgk.DmYdjhService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("zyjh") +@AllArgsConstructor +public class ZyjhController { + + private final DmYdjhService ydjhService; + + @PostMapping("sl") + public ResultBean sl(@RequestBody ShangLiao sl){ + + return new ResultBean<>(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java new file mode 100644 index 0000000..1940b6c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java @@ -0,0 +1,10 @@ +package com.dsic.gj_erp.controller.zyjh.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ShangLiao { + +} From 9d0115150b0bd280808bd36e3b1c2b10548e1df7 Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 16 Aug 2024 10:40:54 +0800 Subject: [PATCH 026/196] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 5 + .../controller/jhgk/DmYdjhController.java | 64 ++++- .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 17 +- .../gj_erp/service/jhgk/DmYdjhService.java | 5 +- .../service/jhgk/impl/DmYdjhServiceImpl.java | 234 +++++++++++------- .../resources/mappers/jhgk/DmYdjhMapper.xml | 210 +++++++++++++++- 6 files changed, 425 insertions(+), 110 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 8d48ee5..cae9770 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -3,6 +3,7 @@ package com.dsic.gj_erp.bean.jhgk; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.dsic.gj_erp.bean.pgd.PgdTzjh; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -237,5 +238,9 @@ public class DmYdjh implements Serializable { private String jhlx="0"; private String jssjOld; + @TableField(exist = false) + private PgdTzjh pgdTzjh; + @TableField(exist = false) + private String color; } 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 bf017e6..1962351 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 @@ -2,6 +2,7 @@ package com.dsic.gj_erp.controller.jhgk; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -16,13 +17,19 @@ import com.dsic.gj_erp.service.jcsj.DmCzplpNewService; import com.dsic.gj_erp.service.jcsj.DmCzplpService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.kc.ImCkwpkwpService; +import org.apache.commons.lang3.StringUtils; +import org.apache.sis.internal.jaxb.metadata.EX_Extent; import org.mapstruct.factory.Mappers; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; +import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; @@ -51,7 +58,8 @@ public class DmYdjhController { @RequestMapping("/getList") @AuthFunction - public ResultBean getList(@RequestBody Map map){ + public ResultBean getList(@RequestBody Map map ) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); List list= service.list(new QueryWrapper() .eq(StrUtil.isNotEmpty(map.get("dcCh")),"dc_ch",map.get("dcCh")) .eq(StrUtil.isNotEmpty(map.get("zt")),"zt",map.get("zt")) @@ -68,6 +76,7 @@ public class DmYdjhController { List czplpNewList = czplpNewService.list(Wrappers.lambdaQuery() .eq(DmCzplpNew::getDcCh, key) ); + val.forEach(item->{ Map itemMap = BeanUtil.beanToMap(item); resultMap.add(itemMap); @@ -79,8 +88,47 @@ public class DmYdjhController { } }); czplpNewList.forEach(czplpNew->{ - if (item.getDcCh().equals(czplpNew.getDcCh())&&item.getDcPl().equals(czplpNew.getDcPl())){ - itemMap.put("czplpNew",czplpNew); + if (item.getDcCh().equals(czplpNew.getDcCh())&&item.getDcPl().equals(czplpNew.getDcPl())) { + /// 判断颜色 + itemMap.put("czplpNew", czplpNew); +// if (StringUtils.isBlank(czplpNew.getXfqLqb())|| StringUtils.isBlank(item.getSlrq())) { +// // corlor red +// itemMap.put("color", "red"); +// } else { +// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqLqb(), "yyyy/MM/dd"); +// DateTime dateStr2 = DateUtil.parse(item.getSlrq(), "yyyy/MM/dd"); +// int result = DateUtil.compare(dateStr1, dateStr2); +// if (result > 0) { +// System.out.println(dateStr1 + " is after " + dateStr2); +// itemMap.put("color", "red"); +// } else if (result < 0) { +// System.out.println(dateStr1 + " is before " + dateStr2); +// +// } else { +// System.out.println(dateStr1 + " is equal to " + dateStr2); +// itemMap.put("color", "yellow"); +// } +// } +// if (StringUtils.isBlank(czplpNew.getXfqTlt())||StringUtils.isBlank(item.getHxrq())) { +// // corlor yellow +// itemMap.put("color", "red"); +// } else { +// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqTlt(), "yyyy/MM/dd"); +// DateTime dateStr2 = DateUtil.parse(item.getHxrq(), "yyyy/MM/dd"); +// int result = DateUtil.compare(dateStr1, dateStr2); +// if (result > 0) { +// System.out.println(dateStr1 + " is after " + dateStr2); +// itemMap.put("color", "red"); +// } else if (result < 0) { +// System.out.println(dateStr1 + " is before " + dateStr2); +// +// } else { +// System.out.println(dateStr1 + " is equal to " + dateStr2); +// itemMap.put("color", "yellow"); +// } +// } + }else { + // itemMap.put("color", "red"); } }); }); @@ -104,7 +152,8 @@ public class DmYdjhController { @RequestMapping("/tj") @AuthFunction public ResultBean tj(@RequestBody List list){ - List idList=list.stream().map(DmYdjh::getId).collect(Collectors.toList()); + List collect = list.stream().filter(fst -> StringUtils.isBlank(fst.getColor())).collect(Collectors.toList()); + List idList=collect.stream().map(DmYdjh::getId).collect(Collectors.toList()); if (idList.size()>1000){ AtomicInteger index=new AtomicInteger(idList.size()/1000+1); @@ -132,10 +181,13 @@ public class DmYdjhController { @RequestMapping("/xf") @AuthFunction - public ResultBean xf(@RequestBody List list){ - service.xf(list); + public ResultBean xf(@RequestBody List list, HttpServletRequest request){ + service.xf(list,request); return new ResultBean(); } + + + } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 212c33d..112f245 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -20,11 +20,20 @@ import java.util.List; public interface DmYdjhMapper extends BaseMapper { List getSygdmx(String nextMonth); - List getTzjh(@Param("begin") String begin, @Param("end") String end); +// List getTzjh(@Param("begin") String begin, @Param("end") String end); + List getTzjh(@Param("list")List list,@Param("bzry") String bzry, @Param("bzrq") String bzrq); List getDhjh(@Param("begin") String begin, @Param("end") String end); - List getSljh(@Param("begin") String begin, @Param("end") String end); - List getPwjh(@Param("begin") String begin, @Param("end") String end); - List getQgjh(@Param("begin") String begin, @Param("end") String end); + List getSljh(@Param("list")List list,@Param("bzry") String bzry, @Param("bzrq") String bzrq); + List getPwjh(@Param("list")List list,@Param("bzry") String bzry, @Param("bzrq") String bzrq); + List getQgjh(@Param("list")List list,@Param("bzry") String bzry, @Param("bzrq") String bzrq); int xfbc(List ids); int tqlj(List ids); + + + + List getTzjh1(@Param("begin") String begin, @Param("end") String end); +// List getDhjh1(@Param("begin") String begin, @Param("end") String end); + List getSljh1(@Param("begin") String begin, @Param("end") String end); + List getPwjh1(@Param("begin") String begin, @Param("end") String end); + List getQgjh1(@Param("begin") String begin, @Param("end") String end); } 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 6e8d7af..dde6522 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 @@ -6,6 +6,7 @@ import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -25,6 +26,6 @@ public interface DmYdjhService extends IService { @Transactional Map hz2(String from, String to); - Map hz(List ydjhList); - void xf(List ydjhList); +// Map hz(List ydjhList); + void xf(List ydjhList, HttpServletRequest request); } 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 0a849fe..a72d26d 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 @@ -1,6 +1,7 @@ package com.dsic.gj_erp.service.jhgk.impl; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -14,12 +15,15 @@ import com.dsic.gj_erp.service.jhgk.DmQfxqService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.jiuzhou.SljhService; import com.dsic.gj_erp.service.pgd.*; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDate; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -69,7 +73,7 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme if (sygdmx.size() < 1) { System.out.println("请导入零件配套表信息!"); } - + // 判断要是不满足条件不可以提交 //TODO 重新排产 // pc(sygdMxList); @@ -89,111 +93,150 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme // 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")); - if (tzjhList.size()<1){ - baseMapper.getTzjh(begin,end); - tzjhList=tzjhService.list(new QueryWrapper().between("qgxqrq",begin,end) - .orderByAsc("czbh,pl,qgxqrq") - ); - } + List tzjhList= baseMapper.getTzjh1(begin,end); + //订货清单 - 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){ + List dhList=baseMapper.getDhjh(begin,end); - 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 slList= baseMapper.getSljh1(begin,end); + //抛丸计划 - 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 pwList= baseMapper.getPwjh1(begin,end); + //切割计划 - 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; - } + List qgList= baseMapper.getQgjh1(begin,end); + List list= this.list(new QueryWrapper() - @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"); - //图纸计划 + .eq("zt","0") + .ge( "jssj", DateUtil.beginOfMonth(DateUtil.parseDate(from)).toString("yyyy/MM/dd")) + .le( "jssj", DateUtil.endOfMonth(DateUtil.parseDate(to)).toString("yyyy/MM/dd")) + .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb") + ); + for(DmYdjh dmYdjh :list){ + PgdTzjh pgdTzjh = tzjhList.stream().filter(fst -> fst.getCzbh().equals(dmYdjh.getDcCh()) && fst.getPl().equals(dmYdjh.getDcPl()) + ).findFirst().orElse(null); + if(null!=pgdTzjh){ + dmYdjh.setPgdTzjh(pgdTzjh); + //领取表 早于上料日期 + // 套料图早于划线日期 + if(StringUtils.isBlank(pgdTzjh.getLqbxfrq())||StringUtils.isBlank(dmYdjh.getSlrq()) ){ + // corlor red + dmYdjh.setColor("red"); + }else{ - 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){ + DateTime dateStr1 = DateUtil.parse(pgdTzjh.getLqbxfrq(), "yyyy/MM/dd"); + DateTime dateStr2 = DateUtil.parse(dmYdjh.getSlrq(), "yyyy/MM/dd"); + int result = DateUtil.compare(dateStr1, dateStr2); + if (result > 0) { + System.out.println(dateStr1 + " is after " + dateStr2); + dmYdjh.setColor("red"); + } else if (result < 0) { + System.out.println(dateStr1 + " is before " + dateStr2); + + } else { + System.out.println(dateStr1 + " is equal to " + dateStr2); + dmYdjh.setColor("yellow"); + } + } + if(StringUtils.isBlank(pgdTzjh.getTltxfrq())||StringUtils.isBlank(dmYdjh.getHxrq()) ){ + // corlor yellow + dmYdjh.setColor("red"); + }else{ - dhService.saveBatch(dh); - dhList=dhService.list(new QueryWrapper().between("slxqrq",begin,end).orderByAsc("czbh,slxqrq")); + + DateTime dateStr1 = DateUtil.parse(pgdTzjh.getTltxfrq(), "yyyy/MM/dd"); + DateTime dateStr2 = DateUtil.parse(dmYdjh.getHxrq(), "yyyy/MM/dd"); + int result = DateUtil.compare(dateStr1, dateStr2); + if (result > 0) { + System.out.println(dateStr1 + " is after " + dateStr2); + dmYdjh.setColor("red"); + } else if (result < 0) { + System.out.println(dateStr1 + " is before " + dateStr2); + + } else { + System.out.println(dateStr1 + " is equal to " + dateStr2); + dmYdjh.setColor("yellow"); + } + } + }else { + dmYdjh.setColor("red"); } - } - //上料计划 - 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); + map.put("list",list); 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")); +// 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; +// } + @Resource private ApplicationEventPublisher publisher; //下发 派工单状态改为编制 生成零件信息 @Override - public void xf(List ydjhList) { - + public void xf(List ydjhList, HttpServletRequest request) { + String bzry= (String) request.getAttribute("yhms"); + String bzrq= DateUtil.format(DateUtil.date(), "yyyy/MM/dd"); //修改状态 List idList = ydjhList.stream().map(DmYdjh::getId).collect(Collectors.toList()); @@ -203,7 +246,14 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme this.update(new UpdateWrapper().set("zt", "2") .in("id", list) ); - baseMapper.xfbc(list); + + // 生成 数据 +// baseMapper.xfbc(list); + baseMapper.getTzjh(list,bzry,bzrq); + baseMapper.getSljh(list,bzry,bzrq); + baseMapper.getPwjh(list,bzry,bzrq); + baseMapper.getQgjh(list,bzry,bzrq); + baseMapper.tqlj(list); do { int i = index.decrementAndGet(); @@ -211,7 +261,12 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme this.update(new UpdateWrapper().set("zt", "2") .in("id", list1) ); - baseMapper.xfbc(list1); +// baseMapper.xfbc(list1); + baseMapper.getTzjh(list1,bzry,bzrq); + baseMapper.getSljh(list1,bzry,bzrq); + baseMapper.getPwjh(list1,bzry,bzrq); + baseMapper.getQgjh(list1,bzry,bzrq); + baseMapper.tqlj(list1); }while (index.get()>1); @@ -219,9 +274,16 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme this.update(new UpdateWrapper().set("zt", "2") .in("id", idList) ); - //修改汇总状态 改为 编制 - baseMapper.xfbc(idList); - //生成对应零件信息 bom->tzjhLj +// //修改汇总状态 改为 编制 +// baseMapper.xfbc(idList); +// //生成对应零件信息 bom->tzjhLj +// baseMapper.tqlj(idList); +// baseMapper.xfbc(idList); + baseMapper.getTzjh(idList,bzry,bzrq); + baseMapper.getSljh(idList,bzry,bzrq); + baseMapper.getPwjh(idList,bzry,bzrq); + baseMapper.getQgjh(idList,bzry,bzrq); + baseMapper.tqlj(idList); } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 9a13b35..965de1e 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -157,7 +157,56 @@ on dm_sygd_mx.dc_ch=t.DC_CH and dm_sygd_mx.dc_pl=t.DC_PL and dm_sygd_mx.tzbh=t.TZBH order BY t.xqsj,t.DC_CH,t.DC_PL - INSERT into pgd_tzjh( tzzt, zt, @@ -171,8 +220,47 @@ qgxqrq, qfxqrqxz, qfxqrqdz, - id + id,bzry,bzrq ) + SELECT + '00' as tzzt, + '01' as zt, + dm_ydjh.dc_ch as czbh, + dm_ydjh.dc_pl as pl, + dm_ydjh.dc_fd as fd, + dm_czplp_new.xfq_lqb as lqbxfrq, + dm_czplp_new.jsq_lqb as lqbjsrq, + dm_czplp_new.xfq_tlt as tltxfrq, + dm_czplp_new.jsq_tlt as tltjsrq, + MIN(dm_ydjh.qgrq) as qgxqrq, + MIN(dm_ydjh.jssj) as qfxqrqxz, + MIN(dm_ydjh.gjjs_dz) as qfxqrqdz, + REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','') + as id, + #{bzry}, + #{bzrq} + from + dm_ydjh + LEFT JOIN dm_czplp_new + on + dm_ydjh.dc_ch=dm_czplp_new.DC_CH and + dm_ydjh.dc_pl=dm_czplp_new.DC_pl + WHERE + dm_ydjh.id in + + #{id} + + GROUP BY + dm_ydjh.dc_ch, + dm_ydjh.dc_pl, + dm_ydjh.dc_fd, + dm_czplp_new.xfq_lqb, + dm_czplp_new.jsq_lqb, + dm_czplp_new.xfq_tlt, + dm_czplp_new.jsq_tlt + + + + + + + @@ -380,7 +533,9 @@ qgcd, hxkccd, qgkccd, - zt + zt, + bzry, + bzrq ) SELECT REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','')as id, @@ -402,9 +557,40 @@ qgcd, hxkc_cd as hxkccd, qgkc_cd as qgkccd, - '00' as zt + '01' as zt, + #{bzry}, + #{bzrq} + from dm_ydjh + where dm_ydjh.id in + + #{id} + + + + update pgd_tzjh From 7b4c613d2c514b3f5c077ac65aaa4c9b72e6d735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 16 Aug 2024 11:42:58 +0800 Subject: [PATCH 027/196] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E4=B8=8A=E6=96=99?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E7=95=8C=E9=9D=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/bean/zyjh/Ycldw.java | 22 ++++++++++ .../com/dsic/gj_erp/bean/zyjh/YcldwInfo.java | 42 +++++++++++++++++++ .../controller/zyjh/ZyjhController.java | 40 ++++++++++++++++-- .../gj_erp/mapper/zyjh/YcldwInfoMapper.java | 7 ++++ .../dsic/gj_erp/mapper/zyjh/YcldwMapper.java | 12 ++++++ .../resources/mappers/zyjh/YcldwMapper.xml | 40 ++++++++++++++++++ 6 files changed, 159 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java create mode 100644 src/main/resources/mappers/zyjh/YcldwMapper.xml diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java new file mode 100644 index 0000000..243da08 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java @@ -0,0 +1,22 @@ +package com.dsic.gj_erp.bean.zyjh; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * 预处理垛位 + */ +@Getter +@Setter +public class Ycldw { + + private Integer id; + private String name; + + @TableField(exist = false) + private List list; + +} diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java new file mode 100644 index 0000000..ac39ec8 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java @@ -0,0 +1,42 @@ +package com.dsic.gj_erp.bean.zyjh; + +import lombok.Getter; +import lombok.Setter; + +/** + * 预处理垛位层数信息 + */ +@Getter +@Setter +public class YcldwInfo { + + private String id; + private Integer dwId; + private Integer ceng; + private String czbh; + private String pl; + private String fd; + private String kw; + private String zl; + private String tlth; + + private String wph; + private String wpgg; + private String sljhrq; + private String qgjhrq; + private String bfr;//摆放人 + private String bfrq;//摆放日期 + private ZtEnum zt; + + private void baifang(){ + this.zt=ZtEnum.BF; + } + + private void paowan(){ + this.zt=ZtEnum.PW; + } + + private enum ZtEnum{ + BF,PW + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 4a24e2d..6522f4d 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -1,13 +1,19 @@ package com.dsic.gj_erp.controller.zyjh; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; +import com.dsic.gj_erp.mapper.zyjh.YcldwMapper; import com.dsic.gj_erp.service.jhgk.DmYdjhService; +import com.dsic.gj_erp.service.pgd.PgdSljhService; import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @RestController @RequestMapping("zyjh") @@ -16,9 +22,35 @@ public class ZyjhController { private final DmYdjhService ydjhService; + private final PgdSljhService pgdSljhService; + + private final YcldwMapper ycldwMapper; + + /** + * 获取上料计划 + */ + @PostMapping("sljh") + public ResultBean sljh(){ + String date = DateUtil.date().toString("yyyy/MM/dd"); + List list = ydjhService.list(Wrappers.lambdaQuery() + .le(DmYdjh::getSlrq, date) + .eq(DmYdjh::getZt, "2") + ); + return new ResultBean<>(list); + } + + /** + * 获取预处理垛位信息 + */ + @PostMapping("ycldw") + public ResultBean ycldw(){ + return new ResultBean<>(ycldwMapper.ycldwList()); + } + @PostMapping("sl") public ResultBean sl(@RequestBody ShangLiao sl){ return new ResultBean<>(); } + } diff --git a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java new file mode 100644 index 0000000..aba81ff --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java @@ -0,0 +1,7 @@ +package com.dsic.gj_erp.mapper.zyjh; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.zyjh.YcldwInfo; + +public interface YcldwInfoMapper extends BaseMapper { +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java new file mode 100644 index 0000000..d0d6d90 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java @@ -0,0 +1,12 @@ +package com.dsic.gj_erp.mapper.zyjh; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.zyjh.Ycldw; + +import java.util.List; + +public interface YcldwMapper extends BaseMapper { + + List ycldwList(); + +} diff --git a/src/main/resources/mappers/zyjh/YcldwMapper.xml b/src/main/resources/mappers/zyjh/YcldwMapper.xml new file mode 100644 index 0000000..22641ce --- /dev/null +++ b/src/main/resources/mappers/zyjh/YcldwMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + b.id info_id,b.ceng info_ceng,b.czbh info_czbh,b.pl info_pl,b.fd info_fd,b.kw info_kw,b.zl info_zl,b.tlth info_tlth, + b.wpgg info_wpgg,b.wph info_wph,b.sljhrq info_sljhrq,b.qgjhrq info_qgjhrq,b.bfr info_bfr,b.bfrq info_bfrq,b.zt info_zt + + + + From 3198082ec93b926057cf65769b999ab424e0bce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 16 Aug 2024 11:51:14 +0800 Subject: [PATCH 028/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=8F=90=E4=BA=A4=E6=97=B6,=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E7=AC=A6=E5=90=88=E6=9D=A1=E4=BB=B6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=97=B6=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/controller/jhgk/DmYdjhController.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 1962351..b97067f 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 @@ -13,6 +13,7 @@ import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmCzplpNew; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; +import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.jcsj.DmCzplpNewService; import com.dsic.gj_erp.service.jcsj.DmCzplpService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; @@ -151,8 +152,11 @@ public class DmYdjhController { @RequestMapping("/tj") @AuthFunction - public ResultBean tj(@RequestBody List list){ + public ResultBean tj(@RequestBody List list) throws CustomException { List collect = list.stream().filter(fst -> StringUtils.isBlank(fst.getColor())).collect(Collectors.toList()); + if (collect.isEmpty()){ + throw new CustomException(10009,"不满足提交条件,请检查"); + } List idList=collect.stream().map(DmYdjh::getId).collect(Collectors.toList()); if (idList.size()>1000){ From fa179b10a267f8840b7208eb530d3ddc5bfabdb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 22 Aug 2024 17:41:26 +0800 Subject: [PATCH 029/196] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E5=80=92=E5=89=81?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=8A=9F=E8=83=BD=202.=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E4=B8=8A=E6=96=99=E5=A4=9A=E7=AB=AF=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 2 + .../java/com/dsic/gj_erp/bean/zyjh/Ycldw.java | 9 +++ .../com/dsic/gj_erp/bean/zyjh/YcldwInfo.java | 21 +++++- .../controller/zyjh/ZyjhController.java | 73 +++++++++++++++---- .../gj_erp/controller/zyjh/dto/DaoDuo.java | 19 +++++ .../gj_erp/controller/zyjh/dto/ShangLiao.java | 25 +++++++ .../controller/zyjh/dto/SljhSearch.java | 13 ++++ .../gj_erp/mapper/zyjh/YcldwInfoMapper.java | 2 + .../gj_erp/service/zyjh/YcldwInfoService.java | 23 ++++++ .../gj_erp/service/zyjh/YcldwService.java | 17 +++++ .../dsic/gj_erp/service/zyjh/ZyjhService.java | 20 +++++ .../java/com/dsic/gj_erp/ws/WsConfig.java | 49 +++++++++++++ .../java/com/dsic/gj_erp/ws/WsHandler.java | 44 +++++++++++ .../com/dsic/gj_erp/ws/WsInitListener.java | 32 ++++++++ .../java/com/dsic/gj_erp/ws/WsProperties.java | 45 ++++++++++++ .../com/dsic/gj_erp/ws/WsStopListener.java | 32 ++++++++ src/main/resources/application-ws.yml | 10 +++ src/main/resources/application.properties | 4 +- .../resources/mappers/jhgk/DmQfxqMapper.xml | 8 +- .../resources/mappers/jhgk/DmYdjhMapper.xml | 2 +- .../mappers/zyjh/YcldwInfoMapper.xml | 8 ++ .../resources/mappers/zyjh/YcldwMapper.xml | 8 +- 22 files changed, 441 insertions(+), 25 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/dto/DaoDuo.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java create mode 100644 src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java create mode 100644 src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java create mode 100644 src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java create mode 100644 src/main/java/com/dsic/gj_erp/ws/WsConfig.java create mode 100644 src/main/java/com/dsic/gj_erp/ws/WsHandler.java create mode 100644 src/main/java/com/dsic/gj_erp/ws/WsInitListener.java create mode 100644 src/main/java/com/dsic/gj_erp/ws/WsProperties.java create mode 100644 src/main/java/com/dsic/gj_erp/ws/WsStopListener.java create mode 100644 src/main/resources/application-ws.yml create mode 100644 src/main/resources/mappers/zyjh/YcldwInfoMapper.xml diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index cae9770..a268774 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -243,4 +243,6 @@ public class DmYdjh implements Serializable { @TableField(exist = false) private String color; + private String sljhrq; + } diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java index 243da08..952d90b 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java @@ -1,6 +1,8 @@ package com.dsic.gj_erp.bean.zyjh; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import lombok.Getter; import lombok.Setter; @@ -13,10 +15,17 @@ import java.util.List; @Setter public class Ycldw { + @TableId(type = IdType.AUTO) private Integer id; private String name; @TableField(exist = false) private List list; + + private enum DwTypeEnum{ + YCL,//预处理垛位 + LLJ,//理料间垛位 + YPP,//预配盘垛位 + } } diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java index ac39ec8..cf829ee 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java @@ -1,5 +1,10 @@ package com.dsic.gj_erp.bean.zyjh; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; import lombok.Getter; import lombok.Setter; @@ -10,7 +15,9 @@ import lombok.Setter; @Setter public class YcldwInfo { - private String id; + @TableId(type = IdType.AUTO) + private Integer id; + private Integer dwId; private Integer ceng; private String czbh; @@ -28,6 +35,18 @@ public class YcldwInfo { private String bfrq;//摆放日期 private ZtEnum zt; + public static YcldwInfo of(ShangLiao sl){ + YcldwInfo info=new YcldwInfo(); + BeanUtil.copyProperties(sl,info); + info.sl(); + return info; + } + + private void sl(){ + this.bfrq= DateUtil.date().toString("yyyy/MM/dd"); + this.baifang(); + } + private void baifang(){ this.zt=ZtEnum.BF; } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 6522f4d..3f78d7b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -1,16 +1,22 @@ package com.dsic.gj_erp.controller.zyjh; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjh; -import com.dsic.gj_erp.bean.pgd.PgdSljh; +import com.dsic.gj_erp.bean.zyjh.YcldwInfo; +import com.dsic.gj_erp.controller.zyjh.dto.DaoDuo; import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; -import com.dsic.gj_erp.mapper.zyjh.YcldwMapper; -import com.dsic.gj_erp.service.jhgk.DmYdjhService; -import com.dsic.gj_erp.service.pgd.PgdSljhService; +import com.dsic.gj_erp.controller.zyjh.dto.SljhSearch; +import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.service.zyjh.YcldwInfoService; +import com.dsic.gj_erp.service.zyjh.YcldwService; +import com.dsic.gj_erp.service.zyjh.ZyjhService; +import com.dsic.gj_erp.ws.WsHandler; import lombok.AllArgsConstructor; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -20,21 +26,30 @@ import java.util.List; @AllArgsConstructor public class ZyjhController { - private final DmYdjhService ydjhService; + private final ZyjhService zyjhService; - private final PgdSljhService pgdSljhService; + private final YcldwService ycldwService; - private final YcldwMapper ycldwMapper; + private final YcldwInfoService ycldwInfoService; + + private final WsHandler wsHandler; /** - * 获取上料计划 + * 获取上料计划,所有派工单数据整合到月度计划中统一管理, + * 单独的派工单页面需要进行调整,从月度计划中获取对应工序数据 */ @PostMapping("sljh") - public ResultBean sljh(){ + public ResultBean sljh(@RequestBody SljhSearch search){ String date = DateUtil.date().toString("yyyy/MM/dd"); - List list = ydjhService.list(Wrappers.lambdaQuery() - .le(DmYdjh::getSlrq, date) + if (StrUtil.isAllNotEmpty(search.getSljhrq())){ + date=search.getSljhrq(); + } + List list = zyjhService.list(Wrappers.lambdaQuery() + .le(DmYdjh::getSljhrq, date) .eq(DmYdjh::getZt, "2") + .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getDcCh, search.getDcch()) + .eq(StrUtil.isNotEmpty(search.getPl()),DmYdjh::getDcPl, search.getPl()) + .eq(StrUtil.isNotEmpty(search.getKw()),DmYdjh::getKw, search.getKw()) ); return new ResultBean<>(list); } @@ -44,12 +59,42 @@ public class ZyjhController { */ @PostMapping("ycldw") public ResultBean ycldw(){ - return new ResultBean<>(ycldwMapper.ycldwList()); + return new ResultBean<>(ycldwService.ycldwList()); } @PostMapping("sl") - public ResultBean sl(@RequestBody ShangLiao sl){ + @Transactional(rollbackFor = Exception.class) + public ResultBean sl(@RequestBody ShangLiao sl) throws CustomException { + if (!sl.checkCkwp()){ + //throw new CustomException(10009,"物品库存不存在,或库存信息错误"); + } + + //更新预处理垛位信息 + YcldwInfo info=ycldwInfoService.updateForSl(sl); + + //更新月度计划上料相关字段 + zyjhService.updateForSl(sl); + //todo 更新库存信息 + + wsHandler.sendSlComplete((JSONObject)JSONObject.toJSON(info)); + return new ResultBean<>(); + } + + /** + * 倒垛 + */ + @PostMapping("daoduo") + @Transactional(rollbackFor = Exception.class) + public ResultBean daoduo(@RequestBody DaoDuo dd){ + if (dd.getLastCeng()!=dd.getCeng()||dd.getLastDuo()!=dd.getDuo()){ + int moveY=dd.getLastCeng()-dd.getCeng(); + int y=moveY>0?1:-1; + for (YcldwInfo info:dd.getMovedList()){ + ycldwInfoService.daoduo(info.getId(),y); + } + ycldwInfoService.daoduo(dd.getId(),dd.getCeng()); + } return new ResultBean<>(); } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/DaoDuo.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/DaoDuo.java new file mode 100644 index 0000000..c29007e --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/DaoDuo.java @@ -0,0 +1,19 @@ +package com.dsic.gj_erp.controller.zyjh.dto; + +import com.dsic.gj_erp.bean.zyjh.YcldwInfo; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class DaoDuo { + private int id; + private int lastCeng; + private int lastDuo; + private int ceng; + private int duo; + + private List movedList; +} diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java index 1940b6c..833c6f3 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java @@ -1,5 +1,8 @@ package com.dsic.gj_erp.controller.zyjh.dto; +import cn.hutool.core.util.ObjUtil; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.kc.ImCkwpkwp; import lombok.Getter; import lombok.Setter; @@ -7,4 +10,26 @@ import lombok.Setter; @Setter public class ShangLiao { + private DmYdjh ydjh; + private ImCkwpkwp ckwpkwp; + + private String pgdId;//只完成即可 + + private Integer dwId; + private Integer ceng; + private String czbh; + private String pl; + private String fd; + private String kw; + private String zl; + private String tlth; + private String wph; + private String wpgg; + private String sljhrq; + private String qgjhrq; + private String bfr;//摆放人 + + public boolean checkCkwp(){ + return ObjUtil.isNotEmpty(this.ckwpkwp); + } } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java new file mode 100644 index 0000000..7e209e7 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java @@ -0,0 +1,13 @@ +package com.dsic.gj_erp.controller.zyjh.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class SljhSearch { + private String dcch; + private String pl; + private String kw; + private String sljhrq; +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java index aba81ff..ab8b518 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java @@ -4,4 +4,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; public interface YcldwInfoMapper extends BaseMapper { + + void daoduo(Integer id,int y); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java new file mode 100644 index 0000000..27ad17a --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java @@ -0,0 +1,23 @@ +package com.dsic.gj_erp.service.zyjh; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.zyjh.Ycldw; +import com.dsic.gj_erp.bean.zyjh.YcldwInfo; +import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; +import com.dsic.gj_erp.mapper.zyjh.YcldwInfoMapper; +import com.dsic.gj_erp.mapper.zyjh.YcldwMapper; +import org.springframework.stereotype.Service; + +@Service +public class YcldwInfoService extends ServiceImpl { + + public YcldwInfo updateForSl(ShangLiao sl){ + YcldwInfo info=YcldwInfo.of(sl); + baseMapper.insert(info); + return info; + } + + public void daoduo(Integer id,int y){ + baseMapper.daoduo(id,y); + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java new file mode 100644 index 0000000..5128aeb --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java @@ -0,0 +1,17 @@ +package com.dsic.gj_erp.service.zyjh; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.zyjh.Ycldw; +import com.dsic.gj_erp.mapper.zyjh.YcldwMapper; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class YcldwService extends ServiceImpl { + + public List ycldwList(){ + return baseMapper.ycldwList(); + } + +} diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java new file mode 100644 index 0000000..f9bcd7c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -0,0 +1,20 @@ +package com.dsic.gj_erp.service.zyjh; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; +import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; +import org.springframework.stereotype.Service; + +@Service +public class ZyjhService extends ServiceImpl { + + public void updateForSl(ShangLiao sl){ + this.update(Wrappers.lambdaUpdate() + .set(DmYdjh::getZt,"21") + + .eq(DmYdjh::getId,sl.getYdjh().getId()) + ); + } +} diff --git a/src/main/java/com/dsic/gj_erp/ws/WsConfig.java b/src/main/java/com/dsic/gj_erp/ws/WsConfig.java new file mode 100644 index 0000000..8449dc6 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/ws/WsConfig.java @@ -0,0 +1,49 @@ +package com.dsic.gj_erp.ws; + +import com.corundumstudio.socketio.SocketConfig; +import com.corundumstudio.socketio.SocketIOServer; +import com.corundumstudio.socketio.Transport; +import com.corundumstudio.socketio.annotation.SpringAnnotationScanner; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Slf4j +@Configuration +public class WsConfig { + private final WsProperties properties; + + public WsConfig(WsProperties properties) { + this.properties = properties; + } + + @Bean + public SocketIOServer socketIOServer(){ + com.corundumstudio.socketio.Configuration config=new com.corundumstudio.socketio.Configuration(); + config.setHostname(properties.getHost()); + config.setPort(properties.getPort()); + SocketConfig socketConfig = new SocketConfig(); + socketConfig.setReuseAddress(true); + config.setSocketConfig(socketConfig); + config.setOrigin(":*:"); + config.setWorkerThreads(properties.getWorkCount()); + config.setAllowCustomRequests(properties.getAllowCustomRequests()); + config.setUpgradeTimeout(properties.getUpgradeTimeout()); + config.setPingTimeout(properties.getPingTimeout()); + config.setPingInterval(properties.getPingInterval()); + config.setMaxHttpContentLength(properties.getMaxHttpContentLength()); + config.setMaxFramePayloadLength(properties.getMaxFramePayloadLength()); + config.setTransports(Transport.WEBSOCKET,Transport.POLLING);//指定传输协议为WebSocket + log.info("注册webSocket成功:[{}]", properties); + return new SocketIOServer(config); + } + + /** + * 注册socket-io 注解 + * 开启SocketIOServer注解支持,比如 @OnConnect、@OnEvent + */ + @Bean + public SpringAnnotationScanner springAnnotationScanner(SocketIOServer socketIOServer) { + return new SpringAnnotationScanner(socketIOServer); + } +} diff --git a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java new file mode 100644 index 0000000..e7d3c0d --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java @@ -0,0 +1,44 @@ +package com.dsic.gj_erp.ws; + +import com.alibaba.fastjson.JSONObject; +import com.corundumstudio.socketio.SocketIOClient; +import com.corundumstudio.socketio.SocketIOServer; +import com.corundumstudio.socketio.annotation.OnConnect; +import com.corundumstudio.socketio.annotation.OnDisconnect; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Slf4j +@Component +@AllArgsConstructor +public class WsHandler { + + private final SocketIOServer socketIOServer; + + private final WsProperties properties; + + @OnDisconnect + public void onDisconnect(SocketIOClient client) { + if (client.getHandshakeData().getLocal().getPort()==properties.getPort()){ + Map> urlParams = client.getHandshakeData().getUrlParams(); + log.info("--------------------客户端已断开连接-------------------- {}", urlParams); + } + } + + @OnConnect + public void onConnect(SocketIOClient client) { + if (client.getHandshakeData().getLocal().getPort()==properties.getPort()){ + log.info("{}", client); + Map> urlParams = client.getHandshakeData().getUrlParams(); + log.info("链接开启,urlParams:{}", urlParams); + } + } + + public void sendSlComplete(JSONObject object) { + socketIOServer.getBroadcastOperations().sendEvent("slComplete", object); + } +} diff --git a/src/main/java/com/dsic/gj_erp/ws/WsInitListener.java b/src/main/java/com/dsic/gj_erp/ws/WsInitListener.java new file mode 100644 index 0000000..30fd3d6 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/ws/WsInitListener.java @@ -0,0 +1,32 @@ +package com.dsic.gj_erp.ws; + +import com.corundumstudio.socketio.SocketIOServer; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.stereotype.Component; + +/** + * 项目启动成功后,启动socket-io 服务 + * @Author manster + * @Date 2022/6/13 + **/ +@Slf4j +@Component +public class WsInitListener implements ApplicationListener { + + private final SocketIOServer socketIOServer; + + public WsInitListener(SocketIOServer socketIOServer) { + this.socketIOServer = socketIOServer; + } + + @Override + public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) { + socketIOServer.start(); + log.info("--------------------------------------"); + log.info("socket.io启动成功: " + socketIOServer.getConfiguration().getPort()); + log.info("--------------------------------------"); + } +} diff --git a/src/main/java/com/dsic/gj_erp/ws/WsProperties.java b/src/main/java/com/dsic/gj_erp/ws/WsProperties.java new file mode 100644 index 0000000..c8b1d2d --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/ws/WsProperties.java @@ -0,0 +1,45 @@ +package com.dsic.gj_erp.ws; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Getter +@Setter +@Configuration +@ConfigurationProperties(prefix = "ws") +public class WsProperties { + private String host; + + private Integer port; + + private Integer workCount; + + private Boolean allowCustomRequests; + + private Integer upgradeTimeout; + + private Integer pingTimeout; + + private Integer pingInterval; + + private Integer maxHttpContentLength; + + private Integer maxFramePayloadLength; + + @Override + public String toString() { + return "ImProperties{" + + "host='" + host + '\'' + + ", port=" + port + + ", workCount=" + workCount + + ", allowCustomRequests=" + allowCustomRequests + + ", upgradeTimeout=" + upgradeTimeout + + ", pingTimeout=" + pingTimeout + + ", pingInterval=" + pingInterval + + ", maxHttpContentLength=" + maxHttpContentLength + + ", maxFramePayloadLength=" + maxFramePayloadLength + + '}'; + } +} diff --git a/src/main/java/com/dsic/gj_erp/ws/WsStopListener.java b/src/main/java/com/dsic/gj_erp/ws/WsStopListener.java new file mode 100644 index 0000000..89fd5d0 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/ws/WsStopListener.java @@ -0,0 +1,32 @@ +package com.dsic.gj_erp.ws; + +import com.corundumstudio.socketio.SocketIOServer; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextClosedEvent; +import org.springframework.stereotype.Component; + +/** + * 项目关闭后,关闭socket-io 服务 + * @Author manster + * @Date 2022/6/13 + **/ +@Slf4j +@Component +public class WsStopListener implements ApplicationListener { + private final SocketIOServer socketIOServer; + + public WsStopListener(SocketIOServer socketIOServer) { + this.socketIOServer = socketIOServer; + } + + // 监听kill pid 无法监听 kill -9 pid + @Override + public void onApplicationEvent(ContextClosedEvent contextClosedEvent) { + socketIOServer.stop(); + log.info("--------------------------------------"); + log.info("socket.io 关闭成功"); + log.info("--------------------------------------"); + } +} \ No newline at end of file diff --git a/src/main/resources/application-ws.yml b/src/main/resources/application-ws.yml new file mode 100644 index 0000000..6a1e496 --- /dev/null +++ b/src/main/resources/application-ws.yml @@ -0,0 +1,10 @@ +ws: + host: 0.0.0.0 + port: 23456 + workCount: 100 + allowCustomRequests: true + upgradeTimeout: 10000 + pingTimeout: 60000 + pingInterval: 25000 + maxHttpContentLength: 1048576 + maxFramePayloadLength: 1048576 \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 5f9befc..8ad0969 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -22,8 +22,8 @@ spring.servlet.multipart.enabled = true server.port=8081 spring.datasource.master.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver -spring.datasource.master.url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP_Java -spring.datasource.master.jdbc-url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP_Java +spring.datasource.master.url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP +spring.datasource.master.jdbc-url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP spring.datasource.master.username=sa spring.datasource.master.password=gjerp spring.datasource.master.initialize=true diff --git a/src/main/resources/mappers/jhgk/DmQfxqMapper.xml b/src/main/resources/mappers/jhgk/DmQfxqMapper.xml index 2c64bf7..f7e41c2 100644 --- a/src/main/resources/mappers/jhgk/DmQfxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmQfxqMapper.xml @@ -23,17 +23,17 @@ dm_sygd_mx.lx, dm_sygd_mx.xcms, dm_sygd_mx.kw, - dm_sygd_mx.slrq, + dm_sygd_mx.slrq sljhrq, dm_sygd_mx.slry, dm_sygd_mx.pw, dm_sygd_mx.pwry, - dm_sygd_mx.pwrq, + dm_sygd_mx.pwrq pwjhrq, dm_sygd_mx.hxsb, dm_sygd_mx.hxry, - dm_sygd_mx.hxrq, + dm_sygd_mx.hxrq hxjhrq, dm_sygd_mx.qgsb, dm_sygd_mx.qgry, - dm_sygd_mx.qgrq, + dm_sygd_mx.qgrq qgjhrq, dm_sygd_mx.pwsb, dm_sygd_mx.DC_FD, dm_sygd_mx.jzbs, diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 965de1e..39210c9 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -396,7 +396,7 @@ (IM_CKWPKWP.KWH) AS kwh , (IM_CKWPKWP.CFCS1) AS cs, dm_ydjh.slrq as sljhrq, - '01' as zt,, + '01' as zt, #{bzry}, #{bzrq} from dm_ydjh LEFT JOIN IM_CKWPKWP on diff --git a/src/main/resources/mappers/zyjh/YcldwInfoMapper.xml b/src/main/resources/mappers/zyjh/YcldwInfoMapper.xml new file mode 100644 index 0000000..c0d5e8e --- /dev/null +++ b/src/main/resources/mappers/zyjh/YcldwInfoMapper.xml @@ -0,0 +1,8 @@ + + + + + + update ycldw_info set ceng=ceng+#{y} where id=#{id} + + diff --git a/src/main/resources/mappers/zyjh/YcldwMapper.xml b/src/main/resources/mappers/zyjh/YcldwMapper.xml index 22641ce..5984b74 100644 --- a/src/main/resources/mappers/zyjh/YcldwMapper.xml +++ b/src/main/resources/mappers/zyjh/YcldwMapper.xml @@ -7,6 +7,7 @@ + @@ -25,8 +26,9 @@ - b.id info_id,b.ceng info_ceng,b.czbh info_czbh,b.pl info_pl,b.fd info_fd,b.kw info_kw,b.zl info_zl,b.tlth info_tlth, - b.wpgg info_wpgg,b.wph info_wph,b.sljhrq info_sljhrq,b.qgjhrq info_qgjhrq,b.bfr info_bfr,b.bfrq info_bfrq,b.zt info_zt + b.id info_id,b.dw_id info_dw_id,b.ceng info_ceng,b.czbh info_czbh,b.pl info_pl,b.fd info_fd,b.kw info_kw,b.zl info_zl, + b.tlth info_tlth,b.wpgg info_wpgg,b.wph info_wph,b.sljhrq info_sljhrq,b.qgjhrq info_qgjhrq,b.bfr info_bfr, + b.bfrq info_bfrq,b.zt info_zt From e05c61bac98907a0d78d8c86e76995a2ee8a3b16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 27 Aug 2024 14:32:04 +0800 Subject: [PATCH 030/196] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E4=B8=8A=E6=96=99?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 3f78d7b..b006c3b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -93,7 +93,7 @@ public class ZyjhController { for (YcldwInfo info:dd.getMovedList()){ ycldwInfoService.daoduo(info.getId(),y); } - ycldwInfoService.daoduo(dd.getId(),dd.getCeng()); + ycldwInfoService.daoduo(dd.getId(),-moveY); } return new ResultBean<>(); } From d705df44f757a2d507a24e16a197a2a6c4f9aceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 27 Aug 2024 17:01:33 +0800 Subject: [PATCH 031/196] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E6=8A=9B=E4=B8=B8?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92=E6=89=A7=E8=A1=8C=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/zyjh/ZyjhController.java | 53 ++++++++++++++++--- .../gj_erp/controller/zyjh/dto/PgDto.java | 14 +++++ .../gj_erp/controller/zyjh/dto/PgdSearch.java | 17 ++++++ 3 files changed, 78 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index b006c3b..b517312 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -1,16 +1,15 @@ package com.dsic.gj_erp.controller.zyjh; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; -import com.dsic.gj_erp.controller.zyjh.dto.DaoDuo; -import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; -import com.dsic.gj_erp.controller.zyjh.dto.SljhSearch; -import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.controller.zyjh.dto.*; +import com.dsic.gj_erp.exception.ServiceException; import com.dsic.gj_erp.service.zyjh.YcldwInfoService; import com.dsic.gj_erp.service.zyjh.YcldwService; import com.dsic.gj_erp.service.zyjh.ZyjhService; @@ -19,6 +18,7 @@ import lombok.AllArgsConstructor; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.lang.reflect.Field; import java.util.List; @RestController @@ -34,6 +34,44 @@ public class ZyjhController { private final WsHandler wsHandler; + /** + * 作业计划执行,派工&反馈 + */ + @PostMapping("zx") + public ResultBean zx(@RequestBody PgDto dto) { + List list=dto.getList(); + try { + Field field=DmYdjh.class.getField(dto.getField()); + if (ObjUtil.isNotEmpty(field)){ + field.setAccessible(true); + String date=DateUtil.date().toString("yyyy/MM/dd"); + for(DmYdjh dmYdjh:list){ + field.set(dmYdjh,date); + } + } + zyjhService.updateBatchById(list); + return new ResultBean<>(); + } catch (NoSuchFieldException | IllegalAccessException e) { + throw new ServiceException(10001,"属性字段不存在"); + } + } + + /** + * 派工单查询 + */ + @PostMapping("pgd") + public ResultBean pgd(@RequestBody PgdSearch search){ + List list = zyjhService.list(Wrappers.query() + //执行查询 + .eq(StrUtil.isNotEmpty(search.getField()),search.getField(),search.getUser()) + .le(StrUtil.isNotEmpty(search.getJhrqField()),search.getJhrqField(), DateUtil.date().toString("yyyy/MM/dd")) + //跟踪查询 + .eq(StrUtil.isNotEmpty(search.getXqrq()),"xqrq",search.getXqrq()) + ); + return new ResultBean<>(list); + } + + /** * 获取上料计划,所有派工单数据整合到月度计划中统一管理, * 单独的派工单页面需要进行调整,从月度计划中获取对应工序数据 @@ -62,11 +100,14 @@ public class ZyjhController { return new ResultBean<>(ycldwService.ycldwList()); } + /** + * 上料 + */ @PostMapping("sl") @Transactional(rollbackFor = Exception.class) - public ResultBean sl(@RequestBody ShangLiao sl) throws CustomException { + public ResultBean sl(@RequestBody ShangLiao sl) { if (!sl.checkCkwp()){ - //throw new CustomException(10009,"物品库存不存在,或库存信息错误"); + throw new ServiceException(10009,"物品库存不存在,或库存信息错误"); } //更新预处理垛位信息 diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java new file mode 100644 index 0000000..37585d8 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java @@ -0,0 +1,14 @@ +package com.dsic.gj_erp.controller.zyjh.dto; + +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class PgDto { + private String field; + private List list; +} diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java new file mode 100644 index 0000000..51b3b33 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java @@ -0,0 +1,17 @@ +package com.dsic.gj_erp.controller.zyjh.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class PgdSearch { + + //执行查询 + private String field; + private String user; + private String jhrqField; + + //跟踪查询条件 + private String xqrq; +} From 63f940a69cdc1a8ff994963d068d27375aab4076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 3 Sep 2024 09:02:20 +0800 Subject: [PATCH 032/196] =?UTF-8?q?1.=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 40 ++++++++++++++++++- .../com/dsic/gj_erp/bean/zyjh/YcldwInfo.java | 2 +- .../controller/zyjh/ZyjhController.java | 8 +++- .../gj_erp/controller/zyjh/dto/PgDto.java | 1 + .../gj_erp/controller/zyjh/dto/PgdSearch.java | 1 + .../service/jhgk/impl/DmZrcjhServiceImpl.java | 1 + .../gj_erp/service/zyjh/YcldwInfoService.java | 2 +- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 3 +- .../resources/mappers/jhgk/DmQfxqMapper.xml | 6 +-- 9 files changed, 55 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index a268774..c3149ba 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.dsic.gj_erp.bean.pgd.PgdTzjh; +import com.dsic.gj_erp.exception.ServiceException; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.Getter; import java.io.Serializable; @@ -244,5 +247,40 @@ public class DmYdjh implements Serializable { private String color; private String sljhrq; - + private String pwpgrq; + + public void setZtForSl(){ + this.zt=ZyjhzxEnum.SLFK.code; + } + public static String getSlZt(){ + return ZyjhzxEnum.SLFK.code; + } + + public void setZtByZyjhzx(String type){ + ZyjhzxEnum zyjhzxEnum = ZyjhzxEnum.valueOf(type); + if (zyjhzxEnum==null){ + throw new ServiceException(10001,"作业计划执行内容不存在"); + } + this.zt=zyjhzxEnum.code; + } + + @AllArgsConstructor + private enum ZyjhzxEnum{ + SLFK("21"), + PWPG("31"), + PWFK("32"), + LLPG("41"), + LLFK("42"), + HXPG("51"), + HXFK("52"), + QGPG("61"), + QGFK("62"), + ; + @Getter + public String code; + } + + public static void main(String[] args) { + + } } diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java index cf829ee..1260acd 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java @@ -35,7 +35,7 @@ public class YcldwInfo { private String bfrq;//摆放日期 private ZtEnum zt; - public static YcldwInfo of(ShangLiao sl){ + public static YcldwInfo ofSl(ShangLiao sl){ YcldwInfo info=new YcldwInfo(); BeanUtil.copyProperties(sl,info); info.sl(); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index b517312..0acfe82 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -39,6 +39,9 @@ public class ZyjhController { */ @PostMapping("zx") public ResultBean zx(@RequestBody PgDto dto) { + if (StrUtil.isEmpty(dto.getZxZtName())) { + throw new ServiceException(10001,"作业计划执行内容不能为空"); + } List list=dto.getList(); try { Field field=DmYdjh.class.getField(dto.getField()); @@ -47,6 +50,7 @@ public class ZyjhController { String date=DateUtil.date().toString("yyyy/MM/dd"); for(DmYdjh dmYdjh:list){ field.set(dmYdjh,date); + dmYdjh.setZtByZyjhzx(dto.getZxZtName()); } } zyjhService.updateBatchById(list); @@ -64,6 +68,8 @@ public class ZyjhController { List list = zyjhService.list(Wrappers.query() //执行查询 .eq(StrUtil.isNotEmpty(search.getField()),search.getField(),search.getUser()) + .isNull(StrUtil.isEmpty(search.getField()),search.getField()) + .eq(StrUtil.isNotEmpty(search.getZt()),"zt",search.getZt()) .le(StrUtil.isNotEmpty(search.getJhrqField()),search.getJhrqField(), DateUtil.date().toString("yyyy/MM/dd")) //跟踪查询 .eq(StrUtil.isNotEmpty(search.getXqrq()),"xqrq",search.getXqrq()) @@ -107,7 +113,7 @@ public class ZyjhController { @Transactional(rollbackFor = Exception.class) public ResultBean sl(@RequestBody ShangLiao sl) { if (!sl.checkCkwp()){ - throw new ServiceException(10009,"物品库存不存在,或库存信息错误"); + //throw new ServiceException(10009,"物品库存不存在,或库存信息错误"); } //更新预处理垛位信息 diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java index 37585d8..ba60955 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java @@ -10,5 +10,6 @@ import java.util.List; @Setter public class PgDto { private String field; + private String zxZtName; private List list; } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java index 51b3b33..94c1ec0 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java @@ -8,6 +8,7 @@ import lombok.Setter; public class PgdSearch { //执行查询 + private String zt; private String field; private String user; private String jhrqField; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java index bfce8f2..61c94f8 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java @@ -139,6 +139,7 @@ public class DmZrcjhServiceImpl extends ServiceImpl impl dmZrcjh.setXh(dmZrcjhOne.getXh()); updateById(dmZrcjh); } + saveDmzrcjhList.add(dmZrcjh); } else { dmZrcjh.setBzr(bzr); dmZrcjh.setBzrq(day); diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java index 27ad17a..42e6074 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; public class YcldwInfoService extends ServiceImpl { public YcldwInfo updateForSl(ShangLiao sl){ - YcldwInfo info=YcldwInfo.of(sl); + YcldwInfo info=YcldwInfo.ofSl(sl); baseMapper.insert(info); return info; } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index f9bcd7c..7077439 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -12,8 +12,7 @@ public class ZyjhService extends ServiceImpl { public void updateForSl(ShangLiao sl){ this.update(Wrappers.lambdaUpdate() - .set(DmYdjh::getZt,"21") - + .set(DmYdjh::getZt,DmYdjh.getSlZt()) .eq(DmYdjh::getId,sl.getYdjh().getId()) ); } diff --git a/src/main/resources/mappers/jhgk/DmQfxqMapper.xml b/src/main/resources/mappers/jhgk/DmQfxqMapper.xml index f7e41c2..7f58f8a 100644 --- a/src/main/resources/mappers/jhgk/DmQfxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmQfxqMapper.xml @@ -27,13 +27,13 @@ dm_sygd_mx.slry, dm_sygd_mx.pw, dm_sygd_mx.pwry, - dm_sygd_mx.pwrq pwjhrq, + dm_sygd_mx.pwrq, dm_sygd_mx.hxsb, dm_sygd_mx.hxry, - dm_sygd_mx.hxrq hxjhrq, + dm_sygd_mx.hxrq, dm_sygd_mx.qgsb, dm_sygd_mx.qgry, - dm_sygd_mx.qgrq qgjhrq, + dm_sygd_mx.qgrq, dm_sygd_mx.pwsb, dm_sygd_mx.DC_FD, dm_sygd_mx.jzbs, From 56a4f65267e1b47599db4f1892f8f652c0ddcad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 4 Sep 2024 16:57:43 +0800 Subject: [PATCH 033/196] =?UTF-8?q?1.=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/pc/DataFactory.java | 101 ------------------ 1 file changed, 101 deletions(-) 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 d6bdf7a..c3f8427 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -412,107 +412,6 @@ public class DataFactory { return map.get(dcch); } - public static void 排产() { - 套料图所占工序的资源.clear(); - List<排产结果> list = 排产.list; - List 强占记录 = new ArrayList<>(); - list.clear(); - List 按需求日期排序的钢料需求 = getBean(DmSygdxqService.class).getXqWithBom(from, to); - - 按需求日期排序的钢料需求.forEach(钢料需求 -> { - 钢料需求.getBomList().forEach(bom -> { - Arrays.stream(Constant.工序.values()).forEach(gx -> { - if (StrUtil.isEmpty(gx.getCode())) return; - //todo 由于工序code存在多个值的情况,这里需要抽象套料图工序,修改后同时可支持多线程运算 - Optional first = 套料图工序对应关系.keySet().stream() - .filter(it -> it.startsWith(bom.getKw() + bom.getZl())) - .filter(it -> gx.getCode().contains(it.split("_")[1])).findFirst(); - first.ifPresent(_code -> { - if (ObjUtil.isNotEmpty(套料图工序对应关系.get(_code))) { - Integer cd = Constant.工序CD.get(gx); - DateTime parse = DateUtil.parse(钢料需求.getXzglxq(), "yyyy/MM/dd"); - DateTime dateTime = DateUtil.offsetDay(parse, cd); - 资源 _资源 = 提取资源(dateTime); - //除切割工序外默认需求数量都是1 - //todo 如果是切割工序需要获取切割长度 - double 需求数量 = bom.getTlsl().doubleValue(); - Optional.of(_资源).ifPresent(it -> { - 工序产能 工序产能 = null; - 资源 资源 = 套料图所占工序的资源.get(bom.getTzbh()); - if (资源 != null) { - 工序产能 = 资源.get工序产能MAP().get(gx); - } - if (工序产能 != null && 工序产能.get资源占用图纸表().contains(bom.getTzbh())) { - bom.set所在资源(it); - Optional<设备> _设备 = 工序产能.获取已占用设备(bom.getTzbh()); - _设备.ifPresent(bom::set所在设备); - } else { - 工序产能 = it.get工序产能MAP().get(gx); - Optional<设备> _设备 = 工序产能.获取可占用设备(需求数量); - 工序产能 final工序产能 = 工序产能; - _设备.ifPresent(tmp -> { - bom.set所在设备(tmp); - tmp.占用设备(bom.getTzbh(), 需求数量); - bom.set所在资源(it); - final工序产能.占用资源(bom.getTzbh(), 需求数量); - 套料图所占工序的资源.put(bom.getTzbh(), it); - }); - } - }); - - //没有可用资源是全局搜索可用资源,进行排产 - if (bom.get所在设备() == null) { - Optional<资源> 可用资源 = 搜索可用资源(gx, DateUtil.parse(from, "yyyy/MM/dd"), parse, 需求数量); - 可用资源.ifPresent(tmp资源 -> { - 工序产能 _工序产能 = tmp资源.get工序产能MAP().get(gx); - Optional<设备> _设备 = _工序产能.获取可占用设备(0); - _设备.ifPresent(tmp -> { - tmp.占用设备(bom.getTzbh(), 需求数量); - bom.set所在设备(tmp); - _工序产能.占用资源(bom.getTzbh(), 需求数量); - bom.set所在资源(tmp资源); - 套料图所占工序的资源.put(bom.getTzbh(), tmp资源); - }); - }); - } - - //没有可用资源放入月末(强占),待手工调整 - if (bom.get所在设备() == null) { - 强占记录.add(bom); - 资源 tmp资源 = 提取资源(DateUtil.endOfMonth(DateUtil.parse(钢料需求.getXzglxq(), "yyyy/MM/dd"))); - 工序产能 _工序产能 = tmp资源.get工序产能MAP().get(gx); - Optional<设备> _设备 = _工序产能.get设备().values().stream().findAny(); - bom.set所在设备(_设备.orElse(null)); - bom.set所在资源(tmp资源); - _工序产能.占用资源(bom.getTzbh(), 0); - 套料图所占工序的资源.put(bom.getTzbh(), tmp资源); - } - } - }); - }); - }); - }); -// Manager.排产结果=按需求日期排序的钢料需求; - //========调试打印=========== - 资源池.forEach((day,item)->{ - System.out.println("====打印资源==="); - System.out.println(day); - Map 工序产能MAP = item.get工序产能MAP(); - 工序产能MAP.forEach((工序,工序产能)->{ - if (工序产能.get资源占用图纸表().size()>0){ - System.out.println("工序:"+工序); - if ("2024/06/03".equals(day)){ - System.out.println(工序产能.get资源占用图纸表()); - } - System.out.println("工序产能:"+工序产能.get资源占用图纸表().size()); - } - }); - System.out.println("====打印资源完成==="); - }); - System.out.println(强占记录.size()); - //========调试打印结束=========== - } - public static Optional<资源> 搜索可用资源(Constant.工序 工序,Date 搜索起始日期,Date 搜索截止日期, double 需求数量){ return 资源池.values().stream().filter(资源->{ 工序产能 工序产能 = 资源.get工序产能MAP().get(工序); From 05e4df38f0a8efc23650af9ca35598f37d1f10d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 6 Sep 2024 09:44:37 +0800 Subject: [PATCH 034/196] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E6=8A=9B=E4=B8=B8?= =?UTF-8?q?=E6=B4=BE=E5=B7=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 0acfe82..9797e0e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -44,7 +44,7 @@ public class ZyjhController { } List list=dto.getList(); try { - Field field=DmYdjh.class.getField(dto.getField()); + Field field=DmYdjh.class.getDeclaredField(dto.getField()); if (ObjUtil.isNotEmpty(field)){ field.setAccessible(true); String date=DateUtil.date().toString("yyyy/MM/dd"); @@ -56,6 +56,7 @@ public class ZyjhController { zyjhService.updateBatchById(list); return new ResultBean<>(); } catch (NoSuchFieldException | IllegalAccessException e) { + e.printStackTrace(); throw new ServiceException(10001,"属性字段不存在"); } } From 47f650f42c2a8a6f537386ac09f83b2a32be446c Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 6 Sep 2024 17:06:26 +0800 Subject: [PATCH 035/196] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 97 ++++++++++++++- .../controller/pgd/PgdTzjhController.java | 8 +- .../controller/zyjh/ZyjhController.java | 114 +++++++++++++++++- .../gj_erp/controller/zyjh/dto/PgdSearch.java | 1 + .../controller/zyjh/dto/SljhSearch.java | 1 + .../dsic/gj_erp/service/zyjh/ZyjhService.java | 4 + 6 files changed, 221 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index c3149ba..cda5b49 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -241,13 +241,106 @@ public class DmYdjh implements Serializable { private String jhlx="0"; private String jssjOld; + + + + + @TableField(exist = false) private PgdTzjh pgdTzjh; @TableField(exist = false) private String color; - private String sljhrq; - private String pwpgrq; +// private String sljhrq; +// private String pwpgrq; + + // 生产状态 + private String sczt; // 生产状态:编制, 提交, 下达, 上料, 抛丸, 理料, 划线/切割, 完成 + + // 小组需求期和大组需求期 + private String slxzxqrq; // 小组需求期 + private String sldzxqrq; // 大组需求期 + + // 上料信息 + private Integer slkcdw; // 库存垛位 + private Integer slcs; // 层数 + private String slxhth; // 小合同号 + private String slhth; // 合同号 + private String slwlh; // 物料号 + private String slkcxx; // 所有库存信息 + private String slycldw; // 预处理垛位 + + // 派工及反馈 + private String slpgry; // 派工人 + private String slfkry; // 上料反馈人 + private String slfkrq; // 上料时间 + private String slbz; // 上料备注 + + // 抛丸信息 + private String pwxcldw; // 取自预处理垛位 + private Integer pwcs; // 取自层数 + private String pwpgry; // 派工人 + private String slpgrq; // 上料派工日期 + private String pwpgrq; // 抛丸派工日期 + private String pwfkry; // 抛丸反馈人 + private String pwfkrq; // 抛丸反馈日期 + private String pwbz; // 抛丸备注 + + // 理料信息 + private String lldw; // 理料垛位 + private Integer llcs; // 理料层数 + private String llpgry; // 派工人 + private String llpgrq; // 派工日期 + private String llry; // 施工人 + private String llfkry; // 反馈人 + private String llfkrq; // 反馈日期 + private String llbz; // 备注 + + // 划线信息 + private String hxdw; // 取自理料垛位 + private Integer hxcs; // 取自层数 + private String hxpgry; // 划线派工人 + private String hxpgrq; // 划线派工日期 + private String hxfkrq; // 划线反馈日期 + private String hxfkry; // 划线反馈人员 + private String hxjybs; // 划线借用标识 + private String hxjych; // 划线借用船号 + private String hxjypl; // 划线借用批量 + private String hxjyfd; // 划线借用分段 + private String hxjyzl; // 划线借用组立 + private String hxjykw; // 划线借用跨位 + private String hxjytlth; // 划线借用套料图号 + private String hxbz; // 划线备注 + + // 切割信息 + private String qgdw; // 取自理料垛位 + private Integer qgcs; // 取自层数 + private String qgpgry; // 划线派工人 + private String qgpgrq; // 划线派工日期 + private String qgfkrq; // 划线反馈日期 + private String qgfkry; // 划线反馈人员 + private String qgjybs; // 划线借用标识 + private String qgjych; // 划线借用船号 + private String qgjypl; // 划线借用批量 + private String qgjyfd; // 划线借用分段 + private String qgjyzl; // 划线借用组立 + private String qgjykw; // 划线借用跨位 + private String qgjytlth; // 划线借用套料图号 + private String qgbz; // 划线备注 + + // 标识信息 + private String qjgbs; // 曲加工标识 + private String pkbs; // 坡口标识 + private String ycbs; // 型材标识 + + // 计划日期 + private String hxjhrq; // 划线计划日期 + private String qgjhrq; // 切割计划日期 + private String zcljhrq; // 再处理计划日期 + private String sljhrq; // 上料计划日期 + private String pwjhrq; // 抛丸计划日期 + private String lljhrq; // 理料计划日期 + public void setZtForSl(){ this.zt=ZyjhzxEnum.SLFK.code; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index 846dde9..5c04e09 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -13,6 +13,7 @@ import com.dsic.gj_erp.bean.jcsj.DmDwxxp; import com.dsic.gj_erp.bean.jcsj.EmSbjgry; import com.dsic.gj_erp.bean.jhgk.DmTzjh; import com.dsic.gj_erp.bean.pgd.PgdTzjh; +import com.dsic.gj_erp.bean.zyjh.Ycldw; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.jcsj.DmBclqjbpService; import com.dsic.gj_erp.service.jcsj.DmBclqmxpService; @@ -21,6 +22,7 @@ import com.dsic.gj_erp.service.jcsj.EmSbjgryService; import com.dsic.gj_erp.service.jcsj.impl.DmDwxxpService; import com.dsic.gj_erp.service.pgd.PgdTzjhService; import com.dsic.gj_erp.service.sy.SYService; +import com.dsic.gj_erp.service.zyjh.YcldwService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -51,6 +53,9 @@ public class PgdTzjhController { @Autowired DmDwxxpService dwxxpService; + @Autowired + YcldwService ycldwService; + @Autowired @@ -124,9 +129,10 @@ public class PgdTzjhController { List bmbm = syService.em_sbjbb_ZM("bmbm"); // 多为 List dwxx = dwxxpService.list(); + List ycldws = ycldwService.ycldwList(); returnMap.put("cbbm", cbbm); returnMap.put("gxry", gxry); - returnMap.put("dwxx", dwxx); + returnMap.put("ycldws", ycldws); returnMap.put("bmbm", bmbm); return new ResultBean(returnMap); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 9797e0e..87413a4 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; @@ -18,6 +19,7 @@ import lombok.AllArgsConstructor; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Field; import java.util.List; @@ -60,6 +62,36 @@ public class ZyjhController { throw new ServiceException(10001,"属性字段不存在"); } } + @PostMapping("zxweb") + public ResultBean zxweb(@RequestBody PgDto dto,HttpServletRequest request) { + if (StrUtil.isEmpty(dto.getZxZtName())) { + throw new ServiceException(10001,"作业计划执行内容不能为空"); + } + List list=dto.getList(); + + try { + Field field=DmYdjh.class.getDeclaredField(dto.getField()); + Field fieldry=DmYdjh.class.getDeclaredField(dto.getFieldry()); + if (ObjUtil.isNotEmpty(field)){ + field.setAccessible(true); + String date=DateUtil.date().toString("yyyy/MM/dd"); + for(DmYdjh dmYdjh:list){ + field.set(dmYdjh,date); + dmYdjh.setZtByZyjhzx(dto.getZxZtName()); + + if(ObjUtil.isNotEmpty(fieldry)){ + fieldry.setAccessible(true); + fieldry.set(dmYdjh,request.getAttribute("yhms")); + } + } + + } + zyjhService.updateBatchById(list); + return new ResultBean<>(); + } catch (NoSuchFieldException | IllegalAccessException e) { + throw new ServiceException(10001,"属性字段不存在"); + } + } /** * 派工单查询 @@ -71,6 +103,7 @@ public class ZyjhController { .eq(StrUtil.isNotEmpty(search.getField()),search.getField(),search.getUser()) .isNull(StrUtil.isEmpty(search.getField()),search.getField()) .eq(StrUtil.isNotEmpty(search.getZt()),"zt",search.getZt()) + .eq(StrUtil.isNotEmpty(search.getDcch()),"dcch",search.getDcch()) .le(StrUtil.isNotEmpty(search.getJhrqField()),search.getJhrqField(), DateUtil.date().toString("yyyy/MM/dd")) //跟踪查询 .eq(StrUtil.isNotEmpty(search.getXqrq()),"xqrq",search.getXqrq()) @@ -79,6 +112,22 @@ public class ZyjhController { } + @PostMapping("pgdweb") + @AuthFunction + public ResultBean pgdweb(@RequestBody PgdSearch search){ + List list = zyjhService.list(Wrappers.query() + //执行查询 + .eq(StrUtil.isNotEmpty(search.getField()),search.getField(),search.getUser()) + .eq(StrUtil.isNotEmpty(search.getZt()),"zt",search.getZt()) + .eq(StrUtil.isNotEmpty(search.getDcch()),"dcch",search.getDcch()) + .le(StrUtil.isNotEmpty(search.getJhrqField()),search.getJhrqField(), DateUtil.date().toString("yyyy/MM/dd")) + //跟踪查询 + .eq(StrUtil.isNotEmpty(search.getXqrq()),"xqrq",search.getXqrq()) + ); + return new ResultBean<>(list); + } + + /** * 获取上料计划,所有派工单数据整合到月度计划中统一管理, * 单独的派工单页面需要进行调整,从月度计划中获取对应工序数据 @@ -91,7 +140,7 @@ public class ZyjhController { } List list = zyjhService.list(Wrappers.lambdaQuery() .le(DmYdjh::getSljhrq, date) - .eq(DmYdjh::getZt, "2") + .eq(StrUtil.isNotEmpty(search.getZt()),DmYdjh::getZt, search.getZt()) .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getDcCh, search.getDcch()) .eq(StrUtil.isNotEmpty(search.getPl()),DmYdjh::getDcPl, search.getPl()) .eq(StrUtil.isNotEmpty(search.getKw()),DmYdjh::getKw, search.getKw()) @@ -99,6 +148,22 @@ public class ZyjhController { return new ResultBean<>(list); } +// @PostMapping("sljhWeb") +// public ResultBean sljhWeb(@RequestBody SljhSearch search){ +// String date = DateUtil.date().toString("yyyy/MM/dd"); +// if (StrUtil.isAllNotEmpty(search.getSljhrq())){ +// date=search.getSljhrq(); +// } +// List list = zyjhService.list(Wrappers.lambdaQuery() +// .le(DmYdjh::getSljhrq, date) +// .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getZt, search.getZt()) +// .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getDcCh, search.getDcch()) +// .eq(StrUtil.isNotEmpty(search.getPl()),DmYdjh::getDcPl, search.getPl()) +// .eq(StrUtil.isNotEmpty(search.getKw()),DmYdjh::getKw, search.getKw()) +// ); +// return new ResultBean<>(list); +// } + /** * 获取预处理垛位信息 */ @@ -107,6 +172,53 @@ public class ZyjhController { return new ResultBean<>(ycldwService.ycldwList()); } + + + @PostMapping("slweb") + @Transactional(rollbackFor = Exception.class) + @AuthFunction + public ResultBean slweb(@RequestBody List ydjhs, HttpServletRequest request) { + + for(DmYdjh dmYdjh :ydjhs){ + ShangLiao shangLiao = new ShangLiao(); + dmYdjh.setSlfkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); + dmYdjh.setSlfkry( (String) request.getAttribute("yhms")); + shangLiao.setYdjh(dmYdjh); + // shangLiao.setCkwpkwp(); + // shangLiao.setPgdId(); + shangLiao.setDwId(dmYdjh.getSlkcdw()); + shangLiao.setCeng(dmYdjh.getSlcs()); + shangLiao.setCzbh(dmYdjh.getDcCh()); + shangLiao.setPl(dmYdjh.getDcPl()); + shangLiao.setFd(dmYdjh.getDcFd()); + shangLiao.setKw(dmYdjh.getKw()); + shangLiao.setZl(dmYdjh.getZl()); + shangLiao.setTlth(dmYdjh.getTzbh()); + // shangLiao.setWph(dmYdjh.getm); + shangLiao.setWpgg(dmYdjh.getWpgg()); + shangLiao.setSljhrq(dmYdjh.getSljhrq()); + shangLiao.setQgjhrq(dmYdjh.getSljhrq()); + shangLiao.setBfr( (String) request.getAttribute("yhms")); + //更新预处理垛位信息 + if (!shangLiao.checkCkwp()){ + //throw new ServiceException(10009,"物品库存不存在,或库存信息错误"); + } + YcldwInfo info=ycldwInfoService.updateForSl(shangLiao); + + //更新月度计划上料相关字段 + zyjhService.updateForSl(shangLiao); + + //todo 更新库存信息 + + wsHandler.sendSlComplete((JSONObject)JSONObject.toJSON(info)); + } + + + + + + return new ResultBean<>(); + } /** * 上料 */ diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java index 94c1ec0..aaf4f07 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java @@ -12,6 +12,7 @@ public class PgdSearch { private String field; private String user; private String jhrqField; + private String dcch; //跟踪查询条件 private String xqrq; diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java index 7e209e7..1408d5d 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java @@ -10,4 +10,5 @@ public class SljhSearch { private String pl; private String kw; private String sljhrq; + private String zt="2"; } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 7077439..6ea59cc 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -13,6 +13,10 @@ public class ZyjhService extends ServiceImpl { public void updateForSl(ShangLiao sl){ this.update(Wrappers.lambdaUpdate() .set(DmYdjh::getZt,DmYdjh.getSlZt()) + .set(DmYdjh::getSlkcdw,sl.getYdjh().getSlkcdw()) + .set(DmYdjh::getSlcs,sl.getYdjh().getSlcs()) + .set(DmYdjh::getSlfkrq,sl.getYdjh().getSlfkrq()) + .set(DmYdjh::getSlfkry,sl.getYdjh().getSlfkry()) .eq(DmYdjh::getId,sl.getYdjh().getId()) ); } From b2087d03c52f61a8eebe368c320db95a337088da Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 6 Sep 2024 17:06:54 +0800 Subject: [PATCH 036/196] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java index ba60955..9e5cc48 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java @@ -10,6 +10,7 @@ import java.util.List; @Setter public class PgDto { private String field; + private String fieldry; private String zxZtName; private List list; } From 230b7acd8385c703724b86b0bf01f42c425f3347 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, 7 Sep 2024 17:29:32 +0800 Subject: [PATCH 037/196] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E6=8A=9B=E4=B8=B8?= =?UTF-8?q?=E5=8F=8D=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java | 2 +- .../dsic/gj_erp/controller/zyjh/ZyjhController.java | 6 ++++++ .../com/dsic/gj_erp/controller/zyjh/dto/PgDto.java | 3 +++ .../com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java | 2 ++ .../com/dsic/gj_erp/service/zyjh/YcldwInfoService.java | 10 ++++++++-- src/main/java/com/dsic/gj_erp/ws/WsHandler.java | 4 ++++ src/main/resources/mappers/zyjh/YcldwInfoMapper.xml | 4 ++++ 7 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java index 1260acd..ae5f25f 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java @@ -51,7 +51,7 @@ public class YcldwInfo { this.zt=ZtEnum.BF; } - private void paowan(){ + public void paowan(){ this.zt=ZtEnum.PW; } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 87413a4..bae9d2e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -52,10 +52,16 @@ public class ZyjhController { String date=DateUtil.date().toString("yyyy/MM/dd"); for(DmYdjh dmYdjh:list){ field.set(dmYdjh,date); + dmYdjh.setJhlx(null); dmYdjh.setZtByZyjhzx(dto.getZxZtName()); } } + if ("PWFK".equals(dto.getZxZtName())){ + ycldwInfoService.updatePw(dto.getYcldwInfo()); + wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + } zyjhService.updateBatchById(list); + return new ResultBean<>(); } catch (NoSuchFieldException | IllegalAccessException e) { e.printStackTrace(); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java index 9e5cc48..de6ad39 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.controller.zyjh.dto; import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.zyjh.YcldwInfo; import lombok.Getter; import lombok.Setter; @@ -13,4 +14,6 @@ public class PgDto { private String fieldry; private String zxZtName; private List list; + + private YcldwInfo ycldwInfo; } diff --git a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java index ab8b518..2f3aa3b 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwInfoMapper.java @@ -6,4 +6,6 @@ import com.dsic.gj_erp.bean.zyjh.YcldwInfo; public interface YcldwInfoMapper extends BaseMapper { void daoduo(Integer id,int y); + + void pwfk(Integer ceng,Integer dwId); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java index 42e6074..c3bdf7a 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java @@ -1,13 +1,13 @@ package com.dsic.gj_erp.service.zyjh; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsic.gj_erp.bean.zyjh.Ycldw; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; import com.dsic.gj_erp.mapper.zyjh.YcldwInfoMapper; -import com.dsic.gj_erp.mapper.zyjh.YcldwMapper; import org.springframework.stereotype.Service; +import javax.transaction.Transactional; + @Service public class YcldwInfoService extends ServiceImpl { @@ -20,4 +20,10 @@ public class YcldwInfoService extends ServiceImpl { public void daoduo(Integer id,int y){ baseMapper.daoduo(id,y); } + + @Transactional(rollbackOn = Exception.class) + public void updatePw(YcldwInfo info){ + this.removeById(info.getId()); + baseMapper.pwfk(info.getCeng(),info.getDwId()); + } } diff --git a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java index e7d3c0d..8751cdc 100644 --- a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java +++ b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java @@ -41,4 +41,8 @@ public class WsHandler { public void sendSlComplete(JSONObject object) { socketIOServer.getBroadcastOperations().sendEvent("slComplete", object); } + + public void sendPwComplete(JSONObject object) { + socketIOServer.getBroadcastOperations().sendEvent("pwComplete", object); + } } diff --git a/src/main/resources/mappers/zyjh/YcldwInfoMapper.xml b/src/main/resources/mappers/zyjh/YcldwInfoMapper.xml index c0d5e8e..20a370a 100644 --- a/src/main/resources/mappers/zyjh/YcldwInfoMapper.xml +++ b/src/main/resources/mappers/zyjh/YcldwInfoMapper.xml @@ -5,4 +5,8 @@ update ycldw_info set ceng=ceng+#{y} where id=#{id} + + + update ycldw_info set ceng=ceng-1 where ceng>#{ceng} and dw_id=#{dwId} + From ffaca6cc90aad4f91011844455da4ff9a18644f1 Mon Sep 17 00:00:00 2001 From: xhj Date: Mon, 9 Sep 2024 14:56:13 +0800 Subject: [PATCH 038/196] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=BD=99=E6=96=99?= =?UTF-8?q?=E5=AE=9E=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 10 +- .../com/dsic/gj_erp/bean/kc/ImCkwpkwp.java | 111 +++++++++++ .../java/com/dsic/gj_erp/bean/kc/SlKc.java | 65 ++++++ .../com/dsic/gj_erp/bean/pbsc/MpYlxxp.java | 143 ++++++++++++++ .../controller/pbsc/MpYlxxpController.java | 19 ++ .../controller/pbsc/PbPwjhController.java | 96 +++++++++ .../controller/pgd/PgdSljhController.java | 186 +++++++++++++++++- .../controller/zyjh/ZyjhController.java | 7 +- .../gj_erp/mapper/kc/ImCkwpkwpMapper.java | 7 + .../gj_erp/mapper/pbsc/MpYlxxpMapper.java | 16 ++ .../gj_erp/service/pgsc/MpYlxxpService.java | 16 ++ .../service/pgsc/impl/MpYlxxpServiceImpl.java | 19 ++ .../service/pgsc/impl/PbscServiceImpl.java | 35 ++++ src/main/resources/mappers/kc/ImCkwpkwp.xml | 87 ++++++++ .../resources/mappers/pbsc/MpYlxxpMapper.xml | 58 ++++++ 15 files changed, 860 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java create mode 100644 src/main/java/com/dsic/gj_erp/bean/pbsc/MpYlxxp.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/pbsc/PbPwjhController.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/pbsc/MpYlxxpMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/service/pgsc/MpYlxxpService.java create mode 100644 src/main/java/com/dsic/gj_erp/service/pgsc/impl/MpYlxxpServiceImpl.java create mode 100644 src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java create mode 100644 src/main/resources/mappers/pbsc/MpYlxxpMapper.xml diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index cda5b49..6dcca8a 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -262,13 +262,14 @@ public class DmYdjh implements Serializable { private String sldzxqrq; // 大组需求期 // 上料信息 - private Integer slkcdw; // 库存垛位 - private Integer slcs; // 层数 + private String slkcdw; // 库存垛位 + private String slcs; // 层数 private String slxhth; // 小合同号 private String slhth; // 合同号 private String slwlh; // 物料号 private String slkcxx; // 所有库存信息 - private String slycldw; // 预处理垛位 + private Integer slycldw; // 预处理垛位 + private Integer slyclcs; // 预处理垛位 // 派工及反馈 private String slpgry; // 派工人 @@ -341,6 +342,8 @@ public class DmYdjh implements Serializable { private String pwjhrq; // 抛丸计划日期 private String lljhrq; // 理料计划日期 + private String kcbs; // 库存标识 + public void setZtForSl(){ this.zt=ZyjhzxEnum.SLFK.code; @@ -359,6 +362,7 @@ public class DmYdjh implements Serializable { @AllArgsConstructor private enum ZyjhzxEnum{ + SLPP("11"), // 上料匹配 SLFK("21"), PWPG("31"), PWFK("32"), diff --git a/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java b/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java index 5afbd51..cfb5c42 100644 --- a/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java +++ b/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java @@ -5,6 +5,8 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Getter; import lombok.Setter; +import java.math.BigDecimal; + /** * 库存信息 */ @@ -20,6 +22,7 @@ public class ImCkwpkwp { private String kwh;//垛位 @MppMultiId private String nbsbm; + private String ydid; private String cfcs1;//层数 @@ -31,4 +34,112 @@ public class ImCkwpkwp { private String qxkcl;//物品数量 private String wpzt;//ky:可用;dy:代用 + + private BigDecimal jjkcl; + private BigDecimal mfkcl; + private BigDecimal kcje; + private String khth; + private String dhh; + private String bsbs; + private String bssch; + private String ylrkbs; + private String jgflm; + private String ddh; +// private String ckh; +// private String wph; +// private String kwh; +// private String nbsbm; +// private String wpzt; +// private BigDecimal qxkcl; + private String rkrq; + private BigDecimal rkdj; + private String kslx; + private String ksbm; + private String dqbm; + private String kssx; + private String ddtz; + private String cph; + private BigDecimal ddxh; + private String bz; + private String sxrq; + private String wpph; + private BigDecimal djzl; + private BigDecimal zzl; + private String xgrq; + private String xgr; + private String cpbs; + private String hdlx; + private String lph; + private BigDecimal cfcs; + private BigDecimal qxkcl1; +// private String cfcs1; + private String ylzd1; + private String ylzd2; + private String ylzd3; + private String ylzd4; + private String ylzd5; + private String ylzd6; + private BigDecimal ylzd7; + private BigDecimal ylzd8; + private BigDecimal ylzd9; + private BigDecimal ylzd10; + private BigDecimal ylzd11; + private BigDecimal ylzd12; + private BigDecimal ylzd13; + private BigDecimal ylzd14; + private BigDecimal ylzd15; +// private String dcCh; +// private String dcCm; +// private String dcPl; +// private String dcFd; +// private String dcTh; + private String dcZl; + private String dcTz; + private String dcYj; + private String dcYs; + private String dcPb; + private String dcLph; + private String dcTpbh; + private String dcTpmc; + private String dcCh1; + private String dcCm1; + private String dcPl1; + private String flch; + private String flpl; + private String xz; + private String llr; + private String llrq; + private String zych; + private String zypl; + private String zylx; + private String rklx; + private String bgr; + private String bgrq; + private String yxz; + private String ybgr; + private String ybgrq; + private String ykwh; + private BigDecimal dbsl; + private String pwwz; + private String sldw; + private String gcddh; + private String jsczrq; + private String jsczry; + private String fph; + private BigDecimal dddj; + private BigDecimal hsdj; + private BigDecimal jse; + private BigDecimal fks1; + private BigDecimal hkje; + private BigDecimal ftyfje; + private BigDecimal ftyfse; + private String bzr; + private String bzrq; + private String sllsh; + private String dyry; + private String dyrq; + private String yprq; + private String ypsm; + + } diff --git a/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java b/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java new file mode 100644 index 0000000..5bd4e95 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java @@ -0,0 +1,65 @@ +package com.dsic.gj_erp.bean.kc; + +import lombok.Data; + +/** + * SlKc: + * 上料库存 + * @author xhj + * @date 2024/09/07 + */ +@Data +public class SlKc { + private String KWH; + private String SXRQ; + private String dzwz; + private String NBSBM; + private String BSBS; + private String BSSCH; + private String DQBM; + private String RKRQ; + private String KSBM; + private String KSSX; + private String KSLX; + private String CGFLM; + private String GCDDH; + private String WPPH; + private Double QXKCL; + private Double RKDJ; + private String KCJE; + private String DHH; + private String KHTH; + private String CPH; + private String DDTZ; + private String DDH; + private String BZ; + private String cpbs; + private String DDXH; + private String CFCS; + private String LPH; + private String CFCS1; + private String QXKCL1; + private String DCCH; + private String DCCM; + private String dcPl; + private String dcFd; + private String DCTH; + private String xz; + private String CKH; + private String WPH; + private String WPMC; + private String WPGG; + private String WPXH; + private String WPFLM; + private String dcTpbh; + private String ZYCH; + private String ZYPL; + private String ZYLX; + private String pwwz; + private String SLDW; + private String WPZT; + private String sllsh; + private String dyry; + private String dyrq; + private String ydid; +} diff --git a/src/main/java/com/dsic/gj_erp/bean/pbsc/MpYlxxp.java b/src/main/java/com/dsic/gj_erp/bean/pbsc/MpYlxxp.java new file mode 100644 index 0000000..1e7753b --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/pbsc/MpYlxxp.java @@ -0,0 +1,143 @@ +package com.dsic.gj_erp.bean.pbsc; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author xhj + * @since 2024-09-08 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="MpYlxxp对象", description="") +public class MpYlxxp implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "余料生成日期") + @TableField("SCRQ") + private String scrq; + + @ApiModelProperty(value = "余料使用日期") + @TableField("SYRQ") + private String syrq; + + @ApiModelProperty(value = "炉批号") + @TableField("DC_LPH") + private String dcLph; + + @ApiModelProperty(value = "工作中心") + @TableField("GZZX") + private String gzzx; + + @ApiModelProperty(value = "剩余材料存放_跨") + @TableField("YLCJBM") + private String ylcjbm; + + @ApiModelProperty(value = "剩余材料存放_垛位号") + @TableField("YLKWH") + private String ylkwh; + + @ApiModelProperty(value = "船号") + @TableField("DC_CH") + private String dcCh; + + @ApiModelProperty(value = "批量") + @TableField("DC_PL") + private String dcPl; + + @ApiModelProperty(value = "组立") + @TableField("DC_ZL") + private String dcZl; + + @ApiModelProperty(value = "余料计量单位") + @TableField("JLDW") + private String jldw; + + @ApiModelProperty(value = "余料生成日期") + @TableField("XGR") + private String xgr; + + @ApiModelProperty(value = "余料生成日期") + @TableField("XGRQ") + private String xgrq; + + @TableId(value = "ylsxh", type = IdType.ASSIGN_UUID) + private String ylsxh; + + private String tzbh1; + + private String ysrq; + + private String zt; + + private String hxbh; + + private Double ylzl; + + private String dcZl2; + + private Double ylzd4; + + private String wpxh; + + private String dcPl2; + + private Double t1; + + private String ylbh; + + private String ylzd1; + + private String dcCs; + + private Double sl; + + private String bzrq; + + private Double ylzd6; + + private String hxfl; + + private String bz; + + private Double l; + + private String dcTzbh2; + + private String ylzd3; + + @TableField("SYBS") + private String sybs; + + private String dcHx; + + private Double xh; + + private String ylzd2; + + private String bzry; + + private String tzbh; + + private Double ylzd5; + + private String wpgg; + + private Double b1; + + private String dcCh2; + + +} diff --git a/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java b/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java new file mode 100644 index 0000000..b0515be --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java @@ -0,0 +1,19 @@ +package com.dsic.gj_erp.controller.pbsc; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 前端控制器 + *

+ * + * @author xhj + * @since 2024-09-08 + */ +@RestController +@RequestMapping("/mpYlxxp") +public class MpYlxxpController { + +} + diff --git a/src/main/java/com/dsic/gj_erp/controller/pbsc/PbPwjhController.java b/src/main/java/com/dsic/gj_erp/controller/pbsc/PbPwjhController.java new file mode 100644 index 0000000..b032411 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/pbsc/PbPwjhController.java @@ -0,0 +1,96 @@ +package com.dsic.gj_erp.controller.pbsc; + + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsic.gj_erp.annotation.AuthFunction; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.pgd.PgdPwjh; +import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.service.pgd.PgdPwjhService; +import com.dsic.gj_erp.service.pgsc.impl.PbscServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** + *

+ * 前端控制器 + *

+ * + * @author xn + * @since 2023-11-13 + */ +@RestController +@RequestMapping("/pgdPwjh") +public class PbPwjhController { + + @Autowired + PgdPwjhService pgdPwjhService; + + @Autowired + PbscServiceImpl pbscService; + +// @PostMapping("/getPbPwList") +// @ResponseBody +// public ResultBean getPwPgd(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { +// +// return new ResultBean(pbscService.getPbPwList(map)); +// +// } +// +// @PostMapping("/savePwPgdXd") +// @ResponseBody +// @AuthFunction +// public ResultBean savePwPgdXd(HttpServletRequest req, @RequestBody List list) throws Exception, CustomException { +// pgdPwjhService.savePwPgdXd(list,req); +// return new ResultBean(); +// } +// +// @PostMapping("/savePwPgdXdBack") +// @ResponseBody +// @AuthFunction +// public ResultBean savePwPgdXdBack(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { +// pgdPwjhService.savePwPgdXdBack(list,req); +// return new ResultBean(); +// } +// +// +// +// @PostMapping("/savePwPgdFk") +// @ResponseBody +// @AuthFunction +// public ResultBean savePwPgdFk(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { +// pgdPwjhService.savePwPgdFk(list,req); +// return new ResultBean(); +// } +// +// @PostMapping("/savePwFk") +// @ResponseBody +// @AuthFunction +// public ResultBean savePwFk(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { +// pgdPwjhService.savePwFk(list,req); +// return new ResultBean(); +// } +// +// @PostMapping("/savePwjhPg") +// @ResponseBody +// @AuthFunction +// public ResultBean savePwjhPg(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { +// pgdPwjhService.savePwjhPg(list,req); +// return new ResultBean(); +// } +// +// @PostMapping("/savePwjhPgBack") +// @ResponseBody +// @AuthFunction +// public ResultBean savePwjhPgBack(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { +// pgdPwjhService.savePwjhPgBack(list,req); +// return new ResultBean(); +// } + +} + diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 1d5306a..a56b507 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -2,19 +2,33 @@ package com.dsic.gj_erp.controller.pgd; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.fd.DmCzjbb; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.kc.ImCkwpkwp; +import com.dsic.gj_erp.bean.kc.SlKc; +import com.dsic.gj_erp.bean.pgd.PgdPwjh; import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.mapper.kc.ImCkwpkwpMapper; +import com.dsic.gj_erp.service.fd.DmCzjbbService; +import com.dsic.gj_erp.service.jhgk.DmYdjhService; +import com.dsic.gj_erp.service.kc.ImCkwpkwpService; import com.dsic.gj_erp.service.pgd.PgdSljhService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -32,23 +46,167 @@ public class PgdSljhController { @Autowired PgdSljhService pgdSljhService; + @Autowired + DmYdjhService dmYdjhService; + + + @Autowired + ImCkwpkwpMapper imCkwpkwpMapper; + @Autowired + ImCkwpkwpService imCkwpkwpService; - @PostMapping("/getSljhPgd") + @Autowired + DmCzjbbService dmCzjbbService; + + + @PostMapping("/getKcAndSljh") @ResponseBody - public ResultBean getSljhPgd(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { - QueryWrapper qw =new QueryWrapper<>(); + public ResultBean getKcAndSljh(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + + + // 查询库存 + List slkcs = imCkwpkwpMapper.slxxKcList(map); + + QueryWrapper qw =new QueryWrapper<>(); + qw.eq(StrUtil.isNotEmpty((String)map.get("dcch")),"dc_ch",(String)map.get("dcch")); + qw.eq(StrUtil.isNotEmpty((String)map.get("pl")),"dc_pl",(String)map.get("pl")); + // 库存标识 不等于 01 没有匹配上 - qw.eq(StrUtil.isNotEmpty((String)map.get("dcch")),"czbh",(String)map.get("dcch")); - qw.eq(StrUtil.isNotEmpty((String)map.get("pl")),"pl",(String)map.get("pl")); - qw.eq(StrUtil.isNotEmpty((String)map.get("fd")),"fd",(String)map.get("fd")); - qw.eq(StrUtil.isNotEmpty((String)map.get("zt")),"zt",(String)map.get("zt")); - qw.orderBy(true,true,"czbh","pl","fd"); - return new ResultBean(pgdSljhService.list(qw)); + + if(map.get("rqopt").equals("01")){ + qw.ne("isnull(ZT,'')","11"); + }else if(map.get("rqopt").equals("02")) { + qw.eq("isnull(ZT,'')","11"); + } + + List ydjhs = dmYdjhService.list(qw); + // 查询上料计划 + Map retrunMap =new HashMap(); + retrunMap.put("slkcs",slkcs); + retrunMap.put("ydjhs",ydjhs); + return new ResultBean(retrunMap); + + } + + + @PostMapping("/getydjhByid") + @ResponseBody + public ResultBean getydjhByid(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + + + // 查询库存 + DmYdjh id = dmYdjhService.getById((String)map.get("id")); + return new ResultBean(id); } + @PostMapping("kcAdnSlBd") + @ResponseBody + public ResultBean kcAdnSlBd(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + String str= JSON.toJSONString(map.get("data1")); + List slKcs= JSONObject.parseArray(str, SlKc.class); + String str1= JSON.toJSONString(map.get("data2")); + Listydjhs= JSONObject.parseArray(str1, DmYdjh.class); + + List czList = dmCzjbbService.list(); + ListydupList=new ArrayList<>(); + ListckupList=new ArrayList<>(); + // 进行比对 + for(SlKc slKc :slKcs){ + // 获取船级社 + String cjs=""; + DmCzjbb dmCzjbb = czList.stream().filter(fst -> fst.getCzbh().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null); + + if(null!=dmCzjbb){ + cjs=dmCzjbb.getCjs(); + } + String cjs1=cjs; + DmYdjh dmYdjh = ydjhs.stream() + .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) + && fst.getWpgg().equalsIgnoreCase(slKc.getWPGG()) + && (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH()) + || (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH())) + ) + .findFirst() + .orElse(null); + + if(null!=dmYdjh){ + System.out.println("slKc = " + slKc); + dmYdjh.setSlkcdw(slKc.getKWH()); + System.out.println(slKc.getCFCS1()+dmYdjh.getId()); + dmYdjh.setSlcs(slKc.getCFCS1()); + dmYdjh.setSlxhth(slKc.getGCDDH()); + dmYdjh.setSlhth(slKc.getDcFd()); + dmYdjh.setSlwlh(slKc.getWPH()); + dmYdjh.setZt("11"); + dmYdjh.setKcbs("01"); + +// ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); +// imCkwpkwp.setCkh(slKc.getCKH()); +// imCkwpkwp.setWph(slKc.getWPH()); +// imCkwpkwp.setKwh(slKc.getKWH()); +// imCkwpkwp.setNbsbm(slKc.getNBSBM()); +// imCkwpkwp.setYdid(dmYdjh.getId()); +// imCkwpkwp.setZych(dmYdjh.getDcCh()); +// imCkwpkwp.setZypl(dmYdjh.getDcPl()); +// imCkwpkwp.setZylx(dmYdjh.getZl()); +// imCkwpkwp.setSldw(dmYdjh.getKw()); + ydupList.add(dmYdjh); + // ckupList.add(imCkwpkwp); + + + slKc.setZYCH(dmYdjh.getDcCh()); + slKc.setZYPL(dmYdjh.getDcPl()); + slKc.setZYLX(dmYdjh.getZl()); + slKc.setSLDW(dmYdjh.getKw()); + slKc.setYdid(dmYdjh.getId()); + ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 + ckupList.add(slKc); + } + // 填写 库存垛位 kwh 层数 cfcs1 小合同号 gcddh 合同工 dc_fd 物料号 wph 炉批号 lph + + } + Map retrunMap =new HashMap(); + retrunMap.put("slkcs",ckupList); + retrunMap.put("ydjhs",ydupList); + return new ResultBean(retrunMap); + } + + @PostMapping("kcAdnSlZx") + @ResponseBody + public void kcAdnSlZx(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + + String str= JSON.toJSONString(map.get("data1")); + List slKcs= JSONObject.parseArray(str, SlKc.class); + String str1= JSON.toJSONString(map.get("data2")); + Listydjhs= JSONObject.parseArray(str1, DmYdjh.class); + + + ListydupList=new ArrayList<>(); + ListckupList=new ArrayList<>(); + //String id = syService.f_getpjh("DM", "SYSTEM", "YLBH"); + for(SlKc slKc :slKcs){ + ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); + imCkwpkwp.setCkh(slKc.getCKH()); + imCkwpkwp.setWph(slKc.getWPH()); + imCkwpkwp.setKwh(slKc.getKWH()); + imCkwpkwp.setNbsbm(slKc.getNBSBM()); + imCkwpkwp.setYdid(slKc.getYdid()); + imCkwpkwp.setZych(slKc.getZYCH()); + imCkwpkwp.setZypl(slKc.getZYPL()); + imCkwpkwp.setZylx(slKc.getZYLX()); + imCkwpkwp.setSldw(slKc.getSLDW()); + ckupList.add(imCkwpkwp); + } + + imCkwpkwpService.updateBatchByMultiId(ckupList); + dmYdjhService.updateBatchById(ydjhs); + +// + + } @PostMapping("/saveSljhPg") @@ -101,5 +259,15 @@ public class PgdSljhController { return new ResultBean(); } + + +// @PostMapping("/getKcAndSljh") +// @ResponseBody +// @AuthFunction +// public ResultBean getKcAndSljh(HttpServletRequest req, @RequestBody Listlist) throws Exception, CustomException { +// pgdSljhService.getKcAndSljh(list,req); +// return new ResultBean(); +// } + } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 87413a4..ae29c58 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -63,6 +63,7 @@ public class ZyjhController { } } @PostMapping("zxweb") + @AuthFunction public ResultBean zxweb(@RequestBody PgDto dto,HttpServletRequest request) { if (StrUtil.isEmpty(dto.getZxZtName())) { throw new ServiceException(10001,"作业计划执行内容不能为空"); @@ -119,7 +120,7 @@ public class ZyjhController { //执行查询 .eq(StrUtil.isNotEmpty(search.getField()),search.getField(),search.getUser()) .eq(StrUtil.isNotEmpty(search.getZt()),"zt",search.getZt()) - .eq(StrUtil.isNotEmpty(search.getDcch()),"dcch",search.getDcch()) + .eq(StrUtil.isNotEmpty(search.getDcch()),"dc_ch",search.getDcch()) .le(StrUtil.isNotEmpty(search.getJhrqField()),search.getJhrqField(), DateUtil.date().toString("yyyy/MM/dd")) //跟踪查询 .eq(StrUtil.isNotEmpty(search.getXqrq()),"xqrq",search.getXqrq()) @@ -186,8 +187,8 @@ public class ZyjhController { shangLiao.setYdjh(dmYdjh); // shangLiao.setCkwpkwp(); // shangLiao.setPgdId(); - shangLiao.setDwId(dmYdjh.getSlkcdw()); - shangLiao.setCeng(dmYdjh.getSlcs()); + shangLiao.setDwId(dmYdjh.getSlycldw()); + shangLiao.setCeng(dmYdjh.getSlyclcs()); shangLiao.setCzbh(dmYdjh.getDcCh()); shangLiao.setPl(dmYdjh.getDcPl()); shangLiao.setFd(dmYdjh.getDcFd()); diff --git a/src/main/java/com/dsic/gj_erp/mapper/kc/ImCkwpkwpMapper.java b/src/main/java/com/dsic/gj_erp/mapper/kc/ImCkwpkwpMapper.java index a815f9f..5a14b84 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/kc/ImCkwpkwpMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/kc/ImCkwpkwpMapper.java @@ -1,7 +1,14 @@ package com.dsic.gj_erp.mapper.kc; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; +import com.dsic.gj_erp.bean.kc.SlKc; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import java.util.List; +import java.util.Map; + public interface ImCkwpkwpMapper extends MppBaseMapper { + + + List slxxKcList(Map map); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/pbsc/MpYlxxpMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pbsc/MpYlxxpMapper.java new file mode 100644 index 0000000..df41ee5 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/pbsc/MpYlxxpMapper.java @@ -0,0 +1,16 @@ +package com.dsic.gj_erp.mapper.pbsc; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.pbsc.MpYlxxp; + +/** + *

+ * Mapper 接口 + *

+ * + * @author xhj + * @since 2024-09-08 + */ +public interface MpYlxxpMapper extends BaseMapper { + +} diff --git a/src/main/java/com/dsic/gj_erp/service/pgsc/MpYlxxpService.java b/src/main/java/com/dsic/gj_erp/service/pgsc/MpYlxxpService.java new file mode 100644 index 0000000..250e075 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/pgsc/MpYlxxpService.java @@ -0,0 +1,16 @@ +package com.dsic.gj_erp.service.pgsc; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsic.gj_erp.bean.pbsc.MpYlxxp; + +/** + *

+ * 服务类 + *

+ * + * @author xhj + * @since 2024-09-08 + */ +public interface MpYlxxpService extends IService { + +} diff --git a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/MpYlxxpServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/MpYlxxpServiceImpl.java new file mode 100644 index 0000000..a1bdae6 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/MpYlxxpServiceImpl.java @@ -0,0 +1,19 @@ +package com.dsic.gj_erp.service.pgsc.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.pbsc.MpYlxxp; +import com.dsic.gj_erp.mapper.pbsc.MpYlxxpMapper; +import com.dsic.gj_erp.service.pgsc.MpYlxxpService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author xhj + * @since 2024-09-08 + */ +@Service +public class MpYlxxpServiceImpl extends ServiceImpl implements MpYlxxpService { + +} diff --git a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java new file mode 100644 index 0000000..983cf82 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java @@ -0,0 +1,35 @@ +package com.dsic.gj_erp.service.pgsc.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.pbsc.ImCrklsz; +import com.dsic.gj_erp.mapper.pbsc.ImCrklszMapper; +import com.dsic.gj_erp.service.pgsc.ImCrklszService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 服务实现类 + *

+ * + * @author xhj + * @since 2024-07-22 + */ +@Service +public class PbscServiceImpl { + + @Autowired + ImCrklszMapper imCrklszMapper; + + public ListgetPbPwList(Map map){ + List pbpwList = imCrklszMapper.getPbpwList(map); + return pbpwList; + + } + + + +} diff --git a/src/main/resources/mappers/kc/ImCkwpkwp.xml b/src/main/resources/mappers/kc/ImCkwpkwp.xml index c3f14ba..fea0204 100644 --- a/src/main/resources/mappers/kc/ImCkwpkwp.xml +++ b/src/main/resources/mappers/kc/ImCkwpkwp.xml @@ -2,4 +2,91 @@ + + + + diff --git a/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml b/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml new file mode 100644 index 0000000..5db8080 --- /dev/null +++ b/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SCRQ, SYRQ, DC_LPH, GZZX, YLCJBM, YLKWH, DC_CH, DC_PL, DC_ZL, JLDW, XGR, XGRQ, ylsxh, tzbh1, ysrq, zt, hxbh, ylzl, dc_zl2, ylzd4, wpxh, dc_pl2, t1, ylbh, ylzd1, dc_cs, sl, bzrq, ylzd6, hxfl, bz, l, dc_tzbh2, ylzd3, SYBS, dc_hx, xh, ylzd2, bzry, tzbh, ylzd5, wpgg, b1, dc_ch2 + + + From caea560790fd351a0ae69c362ad51646b95a53c3 Mon Sep 17 00:00:00 2001 From: xhj Date: Mon, 9 Sep 2024 14:59:06 +0800 Subject: [PATCH 039/196] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=BD=99=E6=96=99?= =?UTF-8?q?=E5=AE=9E=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/pgsc/impl/PbscServiceImpl.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java index 983cf82..9fb7ee7 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java @@ -21,14 +21,14 @@ import java.util.Map; @Service public class PbscServiceImpl { - @Autowired - ImCrklszMapper imCrklszMapper; - - public ListgetPbPwList(Map map){ - List pbpwList = imCrklszMapper.getPbpwList(map); - return pbpwList; - - } +// @Autowired +// ImCrklszMapper imCrklszMapper; + +// public ListgetPbPwList(Map map){ +// List pbpwList = imCrklszMapper.getPbpwList(map); +// return pbpwList; +// +// } From 9cf368cb1ee89afdacc945a1eb33dd85a46d5da0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 10 Sep 2024 13:35:04 +0800 Subject: [PATCH 040/196] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E7=90=86=E6=96=99?= =?UTF-8?q?=E3=80=81=E5=88=92=E7=BA=BF=E3=80=81=E5=88=87=E5=89=B2=E6=B4=BE?= =?UTF-8?q?=E5=B7=A5=E5=8F=8A=E5=8F=8D=E9=A6=88=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 6 +++- .../java/com/dsic/gj_erp/bean/zyjh/Ycldw.java | 4 ++- .../controller/pgd/PgdTzjhController.java | 2 +- .../controller/zyjh/ZyjhController.java | 28 +++++++++++++++++-- .../gj_erp/controller/zyjh/dto/PgDto.java | 1 + .../gj_erp/controller/zyjh/dto/ShangLiao.java | 2 ++ .../dsic/gj_erp/mapper/zyjh/YcldwMapper.java | 3 +- .../service/pgsc/impl/PbscServiceImpl.java | 3 -- .../gj_erp/service/zyjh/YcldwService.java | 4 +-- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 26 +++++++++++------ .../java/com/dsic/gj_erp/ws/WsHandler.java | 12 ++++++++ .../resources/mappers/zyjh/YcldwMapper.xml | 9 ++++-- 12 files changed, 77 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 6dcca8a..b2bba19 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -16,7 +16,7 @@ import java.io.Serializable; /** *

- * + * *

* * @author xn @@ -352,6 +352,10 @@ public class DmYdjh implements Serializable { return ZyjhzxEnum.SLFK.code; } + public static String getLLZt(){ + return ZyjhzxEnum.LLFK.code; + } + public void setZtByZyjhzx(String type){ ZyjhzxEnum zyjhzxEnum = ZyjhzxEnum.valueOf(type); if (zyjhzxEnum==null){ diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java index 952d90b..992e4e7 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java @@ -18,12 +18,14 @@ public class Ycldw { @TableId(type = IdType.AUTO) private Integer id; private String name; + private DwTypeEnum type; + private String tzbh; @TableField(exist = false) private List list; - private enum DwTypeEnum{ + public enum DwTypeEnum{ YCL,//预处理垛位 LLJ,//理料间垛位 YPP,//预配盘垛位 diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index 5c04e09..9395d51 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -129,7 +129,7 @@ public class PgdTzjhController { List bmbm = syService.em_sbjbb_ZM("bmbm"); // 多为 List dwxx = dwxxpService.list(); - List ycldws = ycldwService.ycldwList(); + List ycldws = ycldwService.ycldwList("ycl"); returnMap.put("cbbm", cbbm); returnMap.put("gxry", gxry); returnMap.put("ycldws", ycldws); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 40d50a9..4310148 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.zyjh.Ycldw; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; import com.dsic.gj_erp.controller.zyjh.dto.*; import com.dsic.gj_erp.exception.ServiceException; @@ -60,6 +61,18 @@ public class ZyjhController { ycldwInfoService.updatePw(dto.getYcldwInfo()); wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } + if ("HXFK".equals(dto.getZxZtName())){ + ycldwInfoService.updatePw(dto.getYcldwInfo()); + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + } + if ("QGFK".equals(dto.getZxZtName())){ + //无需划线,从理料间获取时才更新垛位信息 + if ("42".equals(dto.getZt())){ + ycldwInfoService.updatePw(dto.getYcldwInfo()); + } + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + } zyjhService.updateBatchById(list); return new ResultBean<>(); @@ -175,8 +188,8 @@ public class ZyjhController { * 获取预处理垛位信息 */ @PostMapping("ycldw") - public ResultBean ycldw(){ - return new ResultBean<>(ycldwService.ycldwList()); + public ResultBean ycldw(String type){ + return new ResultBean<>(ycldwService.ycldwList(type)); } @@ -206,6 +219,7 @@ public class ZyjhController { shangLiao.setSljhrq(dmYdjh.getSljhrq()); shangLiao.setQgjhrq(dmYdjh.getSljhrq()); shangLiao.setBfr( (String) request.getAttribute("yhms")); + shangLiao.setType(Ycldw.DwTypeEnum.YCL); //更新预处理垛位信息 if (!shangLiao.checkCkwp()){ //throw new ServiceException(10009,"物品库存不存在,或库存信息错误"); @@ -244,7 +258,15 @@ public class ZyjhController { //todo 更新库存信息 - wsHandler.sendSlComplete((JSONObject)JSONObject.toJSON(info)); + switch (sl.getType()){ + case YCL: + wsHandler.sendSlComplete((JSONObject)JSONObject.toJSON(info)); + break; + case LLJ: + wsHandler.sendLLComplete((JSONObject)JSONObject.toJSON(info)); + break; + } + return new ResultBean<>(); } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java index de6ad39..7140218 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java @@ -14,6 +14,7 @@ public class PgDto { private String fieldry; private String zxZtName; private List list; + private String zt; private YcldwInfo ycldwInfo; } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java index 833c6f3..2eab0ac 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java @@ -3,6 +3,7 @@ package com.dsic.gj_erp.controller.zyjh.dto; import cn.hutool.core.util.ObjUtil; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; +import com.dsic.gj_erp.bean.zyjh.Ycldw; import lombok.Getter; import lombok.Setter; @@ -28,6 +29,7 @@ public class ShangLiao { private String sljhrq; private String qgjhrq; private String bfr;//摆放人 + private Ycldw.DwTypeEnum type;//垛位类型 public boolean checkCkwp(){ return ObjUtil.isNotEmpty(this.ckwpkwp); diff --git a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java index d0d6d90..8c78d47 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java @@ -7,6 +7,5 @@ import java.util.List; public interface YcldwMapper extends BaseMapper { - List ycldwList(); - + List ycldwList(String type); } diff --git a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java index 9fb7ee7..79ef313 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java @@ -1,9 +1,6 @@ package com.dsic.gj_erp.service.pgsc.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsic.gj_erp.bean.pbsc.ImCrklsz; -import com.dsic.gj_erp.mapper.pbsc.ImCrklszMapper; -import com.dsic.gj_erp.service.pgsc.ImCrklszService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java index 5128aeb..92015f7 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java @@ -10,8 +10,8 @@ import java.util.List; @Service public class YcldwService extends ServiceImpl { - public List ycldwList(){ - return baseMapper.ycldwList(); + public List ycldwList(String type){ + return baseMapper.ycldwList(type); } } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 6ea59cc..be70175 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.service.zyjh; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmYdjh; @@ -11,13 +12,22 @@ import org.springframework.stereotype.Service; public class ZyjhService extends ServiceImpl { public void updateForSl(ShangLiao sl){ - this.update(Wrappers.lambdaUpdate() - .set(DmYdjh::getZt,DmYdjh.getSlZt()) - .set(DmYdjh::getSlkcdw,sl.getYdjh().getSlkcdw()) - .set(DmYdjh::getSlcs,sl.getYdjh().getSlcs()) - .set(DmYdjh::getSlfkrq,sl.getYdjh().getSlfkrq()) - .set(DmYdjh::getSlfkry,sl.getYdjh().getSlfkry()) - .eq(DmYdjh::getId,sl.getYdjh().getId()) - ); + LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate() + .set(DmYdjh::getSlkcdw, sl.getYdjh().getSlkcdw()) + .set(DmYdjh::getSlcs, sl.getYdjh().getSlcs()) + .set(DmYdjh::getSlfkrq, sl.getYdjh().getSlfkrq()) + .set(DmYdjh::getSlfkry, sl.getYdjh().getSlfkry()) + .eq(DmYdjh::getId, sl.getYdjh().getId()); + + switch (sl.getType()){ + case YCL: + wrapper.set(DmYdjh::getZt, DmYdjh.getSlZt()); + break; + case LLJ: + wrapper.set(DmYdjh::getZt, DmYdjh.getLLZt()); + } + + + this.update(wrapper); } } diff --git a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java index 8751cdc..5ee075c 100644 --- a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java +++ b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java @@ -45,4 +45,16 @@ public class WsHandler { public void sendPwComplete(JSONObject object) { socketIOServer.getBroadcastOperations().sendEvent("pwComplete", object); } + + public void sendLLComplete(JSONObject object) { + socketIOServer.getBroadcastOperations().sendEvent("llComplete", object); + } + + public void sendHXComplete(JSONObject object) { + socketIOServer.getBroadcastOperations().sendEvent("hxComplete", object); + } + + public void sendQGComplete(JSONObject object) { + socketIOServer.getBroadcastOperations().sendEvent("qgComplete", object); + } } diff --git a/src/main/resources/mappers/zyjh/YcldwMapper.xml b/src/main/resources/mappers/zyjh/YcldwMapper.xml index 5984b74..6996532 100644 --- a/src/main/resources/mappers/zyjh/YcldwMapper.xml +++ b/src/main/resources/mappers/zyjh/YcldwMapper.xml @@ -5,6 +5,8 @@ + + @@ -33,10 +35,13 @@ From c9227526a51fa3c3fc54fda12291ab0da7c27c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 10 Sep 2024 16:07:29 +0800 Subject: [PATCH 041/196] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E8=AF=AD=E9=9F=B3W?= =?UTF-8?q?S=E5=AE=A2=E6=88=B7=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 + .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 2 + .../java/com/dsic/gj_erp/ws/WsHandler.java | 4 + .../com/dsic/gj_erp/wsclient/Message.java | 100 ++++++++++++++++++ .../wsclient/WebSocketClientComponent.java | 36 +++++++ .../dsic/gj_erp/wsclient/WebSocketConfig.java | 14 +++ .../gj_erp/wsclient/WebSocketService.java | 59 +++++++++++ .../gj_erp/wsclient/handler/HeartHandler.java | 37 +++++++ .../wsclient/handler/IHandlerService.java | 9 ++ .../gj_erp/wsclient/handler/ZxHandler.java | 33 ++++++ src/main/resources/application-ws.yml | 5 +- 11 files changed, 302 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/dsic/gj_erp/wsclient/Message.java create mode 100644 src/main/java/com/dsic/gj_erp/wsclient/WebSocketClientComponent.java create mode 100644 src/main/java/com/dsic/gj_erp/wsclient/WebSocketConfig.java create mode 100644 src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java create mode 100644 src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java create mode 100644 src/main/java/com/dsic/gj_erp/wsclient/handler/IHandlerService.java create mode 100644 src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java diff --git a/pom.xml b/pom.xml index d31d483..5daf058 100644 --- a/pom.xml +++ b/pom.xml @@ -278,6 +278,10 @@ guava 21.0 + + org.springframework.boot + spring-boot-starter-websocket + diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index b2bba19..ca38272 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -254,6 +254,8 @@ public class DmYdjh implements Serializable { // private String sljhrq; // private String pwpgrq; + private String djh;//派工单号 + // 生产状态 private String sczt; // 生产状态:编制, 提交, 下达, 上料, 抛丸, 理料, 划线/切割, 完成 diff --git a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java index 5ee075c..81ccdbc 100644 --- a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java +++ b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java @@ -38,6 +38,10 @@ public class WsHandler { } } + public void whoIsSelect(JSONObject object){ + socketIOServer.getBroadcastOperations().sendEvent("whoIsSelect", object); + } + public void sendSlComplete(JSONObject object) { socketIOServer.getBroadcastOperations().sendEvent("slComplete", object); } diff --git a/src/main/java/com/dsic/gj_erp/wsclient/Message.java b/src/main/java/com/dsic/gj_erp/wsclient/Message.java new file mode 100644 index 0000000..a8b076f --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/wsclient/Message.java @@ -0,0 +1,100 @@ +package com.dsic.gj_erp.wsclient; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.annotation.JSONField; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NonNull; +import lombok.Setter; + +@Getter +@Setter +public class Message { + private String code; + private Msg msg; + @JSONField(serialize = false) + private CodeEnum codeEx; + @JSONField(serialize = false) + private Instructions instructions; + + public static Message reg(String id){ + Message message = new Message(); + message.setCode(CodeEnum.REG.getCode()); + message.setMsg(Msg.reg(id)); + message.formatCodeToEnum(CodeEnum.REG.getCode()); + return message; + } + + public static Message heart(String id){ + Message message = new Message(); + message.setCode(CodeEnum.HEART.getCode()); + message.setMsg(Msg.reg(id)); + message.formatCodeToEnum(CodeEnum.HEART.getCode()); + return message; + } + + public void formatInstructions(){ + if (this.getCodeEx()==CodeEnum.ZX){ + Instructions.valueOf(this.msg.getResult()); + } + } + + public void formatCodeToEnum(@NonNull String code){ + for (CodeEnum e:CodeEnum.values()){ + if (e.getCode().equals(code)){ + this.codeEx=e; + } + } + } + + public CodeEnum getEnumByCode(@NonNull String code){ + for (CodeEnum e:CodeEnum.values()){ + if (e.getCode().equals(code)){ + return e; + } + } + return null; + } + + @AllArgsConstructor + public enum CodeEnum{ + REG("9000"), + ZX("3000"), + RESULT("9002"), + HEART("9003"), + ; + + @Getter + private final String code; + } + + public enum Instructions{ + 大船大船,开始派工,开始报工,确认完毕 + } + + @Getter + @Setter + public static class Msg{ + private String erpId; + private String orderNumber; + private String actionType; + private String time; + private String deviceId; + private String result; + + private static Msg reg(String id){ + Msg msg = new Msg(); + msg.setErpId(id); + return msg; + } + } + + public JSONObject toJson(){ + return (JSONObject) JSONObject.toJSON(this); + } + + @Override + public String toString(){ + return JSONObject.toJSONString(this); + } +} diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketClientComponent.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketClientComponent.java new file mode 100644 index 0000000..46ce7d4 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketClientComponent.java @@ -0,0 +1,36 @@ +package com.dsic.gj_erp.wsclient; + + +import com.dsic.gj_erp.wsclient.handler.HeartHandler; +import lombok.AllArgsConstructor; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +@Component +@RequiredArgsConstructor +public class WebSocketClientComponent { + + @Value("${ws.client.url}") + private String url; + + @Value("${ws.client.id}") + private String erpId; + + private final WebSocketService webSocketService; + private final HeartHandler heartHandler; + + @PostConstruct + public void init() { + // 发送消息示例 + try { + webSocketService.connect(this.url); + webSocketService.sendMessage(Message.reg(this.erpId).toString()); + heartHandler.execute(Message.heart(erpId)); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketConfig.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketConfig.java new file mode 100644 index 0000000..a805d36 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketConfig.java @@ -0,0 +1,14 @@ +package com.dsic.gj_erp.wsclient; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.socket.client.WebSocketClient; +import org.springframework.web.socket.client.standard.StandardWebSocketClient; + +@Configuration +public class WebSocketConfig { + @Bean + public WebSocketClient webSocketClient() { + return new StandardWebSocketClient(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java new file mode 100644 index 0000000..22653a6 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java @@ -0,0 +1,59 @@ +package com.dsic.gj_erp.wsclient; + +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.web.socket.TextMessage; +import org.springframework.web.socket.WebSocketSession; +import org.springframework.web.socket.client.WebSocketClient; +import org.springframework.web.socket.client.WebSocketConnectionManager; +import org.springframework.web.socket.handler.TextWebSocketHandler; + +@Service +@AllArgsConstructor +public class WebSocketService extends TextWebSocketHandler { + + private WebSocketSession session; + + private final WebSocketClient client; + + + public void connect(String uri) { + WebSocketConnectionManager manager = new WebSocketConnectionManager(client, this, uri); + manager.start(); + } + + public void disconnect() throws Exception { + if (session != null && session.isOpen()) { + session.close(); + } + } + + public void sendMessage(String message) throws Exception { + if (session != null && session.isOpen()) { + session.sendMessage(new TextMessage(message)); + } else { + throw new IllegalStateException("WebSocket is not connected."); + } + } + + @Override + public void afterConnectionEstablished(WebSocketSession session) throws Exception { + this.session = session; // 处理连接后保存session + } + + @Override + protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { + System.out.println("Received: " + message.getPayload()); + Message msg= JSONObject.parseObject(message.getPayload(),Message.class); + switch (msg.getCodeEx()){ + case REG: + break; + case ZX: + break; + + + } + } + +} diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java new file mode 100644 index 0000000..3458f45 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java @@ -0,0 +1,37 @@ +package com.dsic.gj_erp.wsclient.handler; + +import cn.hutool.cron.CronUtil; +import cn.hutool.cron.task.Task; +import com.alibaba.fastjson.JSONObject; +import com.dsic.gj_erp.wsclient.Message; +import com.dsic.gj_erp.wsclient.WebSocketService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class HeartHandler implements IHandlerService{ + + private final WebSocketService webSocketService; + + private boolean scheduleStartFlag=false; + + @Override + public void execute(Message message) { + if (this.scheduleStartFlag){ + return; + } + CronUtil.schedule("*/30 * * * * *", (Task) () -> { + try { + webSocketService.sendMessage(message.toString()); + } catch (Exception e) { + e.printStackTrace(); + } + }); + + // 支持秒级别定时任务 + CronUtil.setMatchSecond(true); + CronUtil.start(); + this.scheduleStartFlag=true; + } +} diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/IHandlerService.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/IHandlerService.java new file mode 100644 index 0000000..93c06ec --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/IHandlerService.java @@ -0,0 +1,9 @@ +package com.dsic.gj_erp.wsclient.handler; + +import com.alibaba.fastjson.JSONObject; +import com.dsic.gj_erp.wsclient.Message; + +public interface IHandlerService { + + void execute(Message message); +} diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java new file mode 100644 index 0000000..734173e --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java @@ -0,0 +1,33 @@ +package com.dsic.gj_erp.wsclient.handler; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.service.jhgk.DmYdjhService; +import com.dsic.gj_erp.ws.WsHandler; +import com.dsic.gj_erp.wsclient.Message; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class ZxHandler implements IHandlerService{ + + private final DmYdjhService ydjhService; + private final WsHandler wsHandler; + + @Override + public void execute(Message message) { + String djh=message.getMsg().getOrderNumber(); + DmYdjh one = ydjhService.getOne(Wrappers.lambdaQuery().eq(DmYdjh::getDjh, djh)); + switch (message.getInstructions()){ + case 开始派工: + case 开始报工: + JSONObject object=new JSONObject(); + object.put("zyjh",one); + wsHandler.whoIsSelect(object); + break; + + } + } +} diff --git a/src/main/resources/application-ws.yml b/src/main/resources/application-ws.yml index 6a1e496..e7f3638 100644 --- a/src/main/resources/application-ws.yml +++ b/src/main/resources/application-ws.yml @@ -7,4 +7,7 @@ ws: pingTimeout: 60000 pingInterval: 25000 maxHttpContentLength: 1048576 - maxFramePayloadLength: 1048576 \ No newline at end of file + maxFramePayloadLength: 1048576 + client: + url: ws://127.0.0.1:9000 + id: abc \ No newline at end of file From a22446e6284b843d2336b5d4ce8e131d36b69c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 11 Sep 2024 16:24:19 +0800 Subject: [PATCH 042/196] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E8=AF=AD=E9=9F=B3W?= =?UTF-8?q?S=E5=8F=8A=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92=E6=89=A7?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/zyjh/ZyjhController.java | 29 +++++++++++++-- .../gj_erp/controller/zyjh/dto/PgDto.java | 1 + .../gj_erp/controller/zyjh/dto/PgdSearch.java | 1 + .../jhgk/impl/DmJtsyjhServiceImpl.java | 1 + .../java/com/dsic/gj_erp/ws/WsHandler.java | 4 +-- .../com/dsic/gj_erp/wsclient/Message.java | 36 +++++++++++++------ .../wsclient/WebSocketClientComponent.java | 3 ++ .../gj_erp/wsclient/WebSocketService.java | 12 +++++-- .../gj_erp/wsclient/handler/HeartHandler.java | 5 +-- .../wsclient/handler/IHandlerService.java | 3 +- .../gj_erp/wsclient/handler/ZxHandler.java | 15 ++++---- 11 files changed, 79 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 4310148..97b89aa 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -16,6 +16,9 @@ import com.dsic.gj_erp.service.zyjh.YcldwInfoService; import com.dsic.gj_erp.service.zyjh.YcldwService; import com.dsic.gj_erp.service.zyjh.ZyjhService; import com.dsic.gj_erp.ws.WsHandler; +import com.dsic.gj_erp.wsclient.Message; +import com.dsic.gj_erp.wsclient.WebSocketClientComponent; +import com.dsic.gj_erp.wsclient.WebSocketService; import lombok.AllArgsConstructor; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; @@ -37,6 +40,9 @@ public class ZyjhController { private final WsHandler wsHandler; + private final WebSocketService webSocketService; + private final WebSocketClientComponent webSocketClientComponent; + /** * 作业计划执行,派工&反馈 */ @@ -75,10 +81,27 @@ public class ZyjhController { } zyjhService.updateBatchById(list); + if (dto.getAudioFlag()){ + Message result = Message.result(webSocketClientComponent.getErpId(), "1"); + webSocketService.sendMessage(result.toString()); + } + return new ResultBean<>(); } catch (NoSuchFieldException | IllegalAccessException e) { e.printStackTrace(); - throw new ServiceException(10001,"属性字段不存在"); + if (dto.getAudioFlag()){ + Message result = Message.result(webSocketClientComponent.getErpId(), "0"); + try { + webSocketService.sendMessage(result.toString()); + } catch (Exception ex) { + e.printStackTrace(); + throw new ServiceException(10001,"执行失败"); + } + } + throw new ServiceException(10001,"反馈属性不存在"); + } catch (Exception e) { + e.printStackTrace(); + throw new ServiceException(10001,"执行失败"); } } @PostMapping("zxweb") @@ -121,8 +144,8 @@ public class ZyjhController { List list = zyjhService.list(Wrappers.query() //执行查询 .eq(StrUtil.isNotEmpty(search.getField()),search.getField(),search.getUser()) - .isNull(StrUtil.isEmpty(search.getField()),search.getField()) - .eq(StrUtil.isNotEmpty(search.getZt()),"zt",search.getZt()) +// .isNull(StrUtil.isEmpty(search.getField()),search.getField()) + .eq(StrUtil.isNotEmpty(search.getZt()),"zt",search.getZt()).or(StrUtil.isNotEmpty(search.getZtHx()),it->it.eq("zt",search.getZtHx())) .eq(StrUtil.isNotEmpty(search.getDcch()),"dcch",search.getDcch()) .le(StrUtil.isNotEmpty(search.getJhrqField()),search.getJhrqField(), DateUtil.date().toString("yyyy/MM/dd")) //跟踪查询 diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java index 7140218..3306171 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java @@ -15,6 +15,7 @@ public class PgDto { private String zxZtName; private List list; private String zt; + private Boolean audioFlag=false; private YcldwInfo ycldwInfo; } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java index aaf4f07..cb5b3c4 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgdSearch.java @@ -9,6 +9,7 @@ public class PgdSearch { //执行查询 private String zt; + private String ztHx;//划线状态,用于切割查询,切割可以查询理料完成和划线完成的所有工单 private String field; private String user; private String jhrqField; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmJtsyjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmJtsyjhServiceImpl.java index 429792d..a76a306 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmJtsyjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmJtsyjhServiceImpl.java @@ -57,6 +57,7 @@ public class DmJtsyjhServiceImpl extends ServiceImpl i if(StringUtils.isNotEmpty(json.getString("Zt"))){ queryWrapper.eq("zt",json.getString("Zt")); } + queryWrapper.orderByAsc("DC_CH","DC_PL","DC_FD"); List dmTzjhs=dmJtsyjhMapper.selectList(queryWrapper); return dmTzjhs; } diff --git a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java index 81ccdbc..029203a 100644 --- a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java +++ b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java @@ -38,8 +38,8 @@ public class WsHandler { } } - public void whoIsSelect(JSONObject object){ - socketIOServer.getBroadcastOperations().sendEvent("whoIsSelect", object); + public void zyjhzx(JSONObject object){ + socketIOServer.getBroadcastOperations().sendEvent("zyjhzx", object); } public void sendSlComplete(JSONObject object) { diff --git a/src/main/java/com/dsic/gj_erp/wsclient/Message.java b/src/main/java/com/dsic/gj_erp/wsclient/Message.java index a8b076f..0000627 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/Message.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/Message.java @@ -10,7 +10,7 @@ import lombok.Setter; @Getter @Setter public class Message { - private String code; + private int code; private Msg msg; @JSONField(serialize = false) private CodeEnum codeEx; @@ -33,39 +33,46 @@ public class Message { return message; } + public static Message result(String id,String result){ + Message message = new Message(); + message.setCode(CodeEnum.RESULT.getCode()); + message.setMsg(Msg.success(id,result)); + return message; + } + public void formatInstructions(){ if (this.getCodeEx()==CodeEnum.ZX){ Instructions.valueOf(this.msg.getResult()); } } - public void formatCodeToEnum(@NonNull String code){ + public void formatCodeToEnum(@NonNull int code){ for (CodeEnum e:CodeEnum.values()){ - if (e.getCode().equals(code)){ + if (e.getCode()==code){ this.codeEx=e; } } } - public CodeEnum getEnumByCode(@NonNull String code){ + public CodeEnum getEnumByCode(@NonNull int code){ for (CodeEnum e:CodeEnum.values()){ - if (e.getCode().equals(code)){ + if (e.getCode()==code){ return e; } } return null; } + @Getter @AllArgsConstructor public enum CodeEnum{ - REG("9000"), - ZX("3000"), - RESULT("9002"), - HEART("9003"), + REG(9000), + ZX(3000), + RESULT(9002), + HEART(9003), ; - @Getter - private final String code; + private final int code; } public enum Instructions{ @@ -87,6 +94,13 @@ public class Message { msg.setErpId(id); return msg; } + + private static Msg success(String id,String code){ + Msg msg = new Msg(); + msg.setErpId(id); + msg.setResult(code); + return msg; + } } public JSONObject toJson(){ diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketClientComponent.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketClientComponent.java index 46ce7d4..9fdbc40 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketClientComponent.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketClientComponent.java @@ -3,6 +3,7 @@ package com.dsic.gj_erp.wsclient; import com.dsic.gj_erp.wsclient.handler.HeartHandler; import lombok.AllArgsConstructor; +import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -16,6 +17,7 @@ public class WebSocketClientComponent { @Value("${ws.client.url}") private String url; + @Getter @Value("${ws.client.id}") private String erpId; @@ -33,4 +35,5 @@ public class WebSocketClientComponent { e.printStackTrace(); } } + } diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java index 22653a6..375d287 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java @@ -1,7 +1,10 @@ package com.dsic.gj_erp.wsclient; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; -import lombok.AllArgsConstructor; +import com.dsic.gj_erp.wsclient.handler.ZxHandler; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.WebSocketSession; @@ -9,14 +12,17 @@ import org.springframework.web.socket.client.WebSocketClient; import org.springframework.web.socket.client.WebSocketConnectionManager; import org.springframework.web.socket.handler.TextWebSocketHandler; +@Slf4j @Service -@AllArgsConstructor +@RequiredArgsConstructor public class WebSocketService extends TextWebSocketHandler { private WebSocketSession session; private final WebSocketClient client; + private final ZxHandler zxHandler; + public void connect(String uri) { WebSocketConnectionManager manager = new WebSocketConnectionManager(client, this, uri); @@ -48,8 +54,10 @@ public class WebSocketService extends TextWebSocketHandler { Message msg= JSONObject.parseObject(message.getPayload(),Message.class); switch (msg.getCodeEx()){ case REG: + log.info("设备{},连接成功",msg.getMsg().getDeviceId()); break; case ZX: + zxHandler.execute(msg); break; diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java index 3458f45..42387ba 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java @@ -17,9 +17,9 @@ public class HeartHandler implements IHandlerService{ private boolean scheduleStartFlag=false; @Override - public void execute(Message message) { + public boolean execute(Message message) { if (this.scheduleStartFlag){ - return; + return true; } CronUtil.schedule("*/30 * * * * *", (Task) () -> { try { @@ -33,5 +33,6 @@ public class HeartHandler implements IHandlerService{ CronUtil.setMatchSecond(true); CronUtil.start(); this.scheduleStartFlag=true; + return true; } } diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/IHandlerService.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/IHandlerService.java index 93c06ec..7fe8506 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/handler/IHandlerService.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/IHandlerService.java @@ -1,9 +1,8 @@ package com.dsic.gj_erp.wsclient.handler; -import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.wsclient.Message; public interface IHandlerService { - void execute(Message message); + boolean execute(Message message); } diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java index 734173e..fc28f0d 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java @@ -17,17 +17,14 @@ public class ZxHandler implements IHandlerService{ private final WsHandler wsHandler; @Override - public void execute(Message message) { + public boolean execute(Message message) { String djh=message.getMsg().getOrderNumber(); DmYdjh one = ydjhService.getOne(Wrappers.lambdaQuery().eq(DmYdjh::getDjh, djh)); - switch (message.getInstructions()){ - case 开始派工: - case 开始报工: - JSONObject object=new JSONObject(); - object.put("zyjh",one); - wsHandler.whoIsSelect(object); - break; + JSONObject object=new JSONObject(); + object.put("zyjh",one); + object.put("zt",one.getZt()); + wsHandler.zyjhzx(object); - } + return true; } } From 2a3f0c85d1d9a2977fb60b90938234179d600560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 12 Sep 2024 10:47:29 +0800 Subject: [PATCH 043/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=88=92=E7=BA=BF?= =?UTF-8?q?=E5=88=87=E5=89=B2=E7=95=8C=E9=9D=A2=E6=93=8D=E4=BD=9C=E6=97=B6?= =?UTF-8?q?=E6=9D=BF=E6=9D=90=E5=9B=BE=E7=89=87=E9=94=99=E4=BD=8D=E9=97=AE?= =?UTF-8?q?=E9=A2=98=202.=E4=B8=8A=E6=96=99=E7=90=86=E6=96=99=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E6=97=B6=E5=A2=9E=E5=8A=A0=E4=BD=9C=E4=B8=9A=E8=AE=A1?= =?UTF-8?q?=E5=88=92id=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java | 2 ++ .../com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java | 1 + .../dsic/gj_erp/service/jhgk/impl/DmYdjhServiceImpl.java | 8 -------- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java index ae5f25f..b08bb4f 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java @@ -20,6 +20,8 @@ public class YcldwInfo { private Integer dwId; private Integer ceng; + + private String ydid; private String czbh; private String pl; private String fd; diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java index 2eab0ac..f26b074 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java @@ -17,6 +17,7 @@ public class ShangLiao { private String pgdId;//只完成即可 private Integer dwId; + private String ydid; private Integer ceng; private String czbh; private String pl; 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 a72d26d..ee125b0 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 @@ -248,11 +248,7 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme ); // 生成 数据 -// baseMapper.xfbc(list); baseMapper.getTzjh(list,bzry,bzrq); - baseMapper.getSljh(list,bzry,bzrq); - baseMapper.getPwjh(list,bzry,bzrq); - baseMapper.getQgjh(list,bzry,bzrq); baseMapper.tqlj(list); do { @@ -261,11 +257,7 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme this.update(new UpdateWrapper().set("zt", "2") .in("id", list1) ); -// baseMapper.xfbc(list1); baseMapper.getTzjh(list1,bzry,bzrq); - baseMapper.getSljh(list1,bzry,bzrq); - baseMapper.getPwjh(list1,bzry,bzrq); - baseMapper.getQgjh(list1,bzry,bzrq); baseMapper.tqlj(list1); }while (index.get()>1); From c6630dce1a7926073684b1a0454ca0e52b3b36b9 Mon Sep 17 00:00:00 2001 From: xhj Date: Thu, 12 Sep 2024 11:34:12 +0800 Subject: [PATCH 044/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jcsj/DmBchxylp.java | 4 + .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 2 +- .../java/com/dsic/gj_erp/bean/kc/SlKc.java | 5 + .../controller/pgd/PgdSljhController.java | 209 +++++++++++++++++- .../controller/pgd/PgdTzjhController.java | 20 +- .../controller/zyjh/ZyjhController.java | 73 +++--- .../gj_erp/mapper/jcsj/DmBchxylpMapper.java | 1 + .../com/dsic/gj_erp/service/sy/SYService.java | 4 + .../gj_erp/service/zyjh/YcldwInfoService.java | 27 ++- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 4 +- .../mappers/jcsj/DmBchxylpMapper.xml | 50 +++++ src/main/resources/mappers/kc/ImCkwpkwp.xml | 22 +- 12 files changed, 354 insertions(+), 67 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBchxylp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBchxylp.java index 2e88e25..d1dad3c 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBchxylp.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBchxylp.java @@ -129,5 +129,9 @@ public class DmBchxylp implements Serializable { private String drbs; + @ApiModelProperty(value = "物品规格1") + @TableField(exist = false) + private String wpgg1; + } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index ca38272..233ab1a 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -368,7 +368,7 @@ public class DmYdjh implements Serializable { @AllArgsConstructor private enum ZyjhzxEnum{ - SLPP("11"), // 上料匹配 + SLPP("11"), // 上料匹配 比对库存给上垛位 SLFK("21"), PWPG("31"), PWFK("32"), diff --git a/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java b/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java index 5bd4e95..9c1d93d 100644 --- a/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java +++ b/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java @@ -2,6 +2,8 @@ package com.dsic.gj_erp.bean.kc; import lombok.Data; +import java.util.List; + /** * SlKc: * 上料库存 @@ -62,4 +64,7 @@ public class SlKc { private String dyry; private String dyrq; private String ydid; + private Integer xh; + + private List list; } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index a56b507..c0473c4 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.controller.pgd; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -14,12 +15,16 @@ import com.dsic.gj_erp.bean.kc.SlKc; import com.dsic.gj_erp.bean.pgd.PgdPwjh; import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.dsic.gj_erp.bean.pgd.PgdTzjh; +import com.dsic.gj_erp.bean.sy.Dm_zhbmp; +import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.mapper.kc.ImCkwpkwpMapper; import com.dsic.gj_erp.service.fd.DmCzjbbService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.kc.ImCkwpkwpService; import com.dsic.gj_erp.service.pgd.PgdSljhService; +import com.dsic.gj_erp.service.sy.SYService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -58,7 +63,96 @@ public class PgdSljhController { @Autowired DmCzjbbService dmCzjbbService; + @Autowired + SYService syService; + + @Autowired + Dm_zhbmpRepository dm_zhbmpRepository; + + @PostMapping("/slPrint") + @ResponseBody + public ResultBean slPrint(HttpServletRequest req, @RequestBody List list) throws Exception, CustomException { + //ls_lsh = F_GETPJH("MM",'00',"MSMS") + String id = syService.f_getpjh("MM", "00", "MSMS"); + //dw_1.object.sllsh[ll_ii] = ls_lsh + //dw_1.object.dyry[ll_ii] = gs_user + //dw_1.object.dyrq[ll_ii] = ls_datetime + ListydupList=new ArrayList<>(); + ListckupList=new ArrayList<>(); + for(SlKc slKc: list){ + if(StringUtils.isBlank(slKc.getSllsh())){ + ImCkwpkwp imCkwpkwp = new ImCkwpkwp(); + imCkwpkwp.setCkh(slKc.getCKH()); + imCkwpkwp.setWph(slKc.getWPH()); + imCkwpkwp.setKwh(slKc.getKWH()); + imCkwpkwp.setNbsbm(slKc.getNBSBM()); + imCkwpkwp.setSllsh(id); + imCkwpkwp.setDyrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); + imCkwpkwp.setDyry((String) req.getAttribute("yhms")); + ckupList.add(imCkwpkwp); + // slKc.setDyrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd")); + } + if(StringUtils.isNotBlank(slKc.getYdid())){ + DmYdjh ydjh =new DmYdjh(); + // 库存主键 没存 + ydjh.setId(slKc.getYdid()); + ydjh.setZt("11"); + ydupList.add(ydjh); + } + } + + dmYdjhService.updateBatchById(ydupList); + imCkwpkwpService.updateBatchByMultiId(ckupList); + + + List qgkws = dm_zhbmpRepository.findByBMLB("QGKW"); + List zylxs = dm_zhbmpRepository.findByBMLB("zylx"); + List pwwzs = dm_zhbmpRepository.findByBMLB("pwwz"); + List dhql = dm_zhbmpRepository.findByBMLB("DHQL"); + List wpzts = dm_zhbmpRepository.findByBMLB("WPZT"); + + Map qgKwMap = qgkws.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); + Map zylxMap = zylxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); + Map pwwzMap = pwwzs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); + Map dhqlMap = dhql.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); + Map wpztMap = wpzts.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); + Integer sh=1; + for(SlKc slKc: list){ + slKc.setXh(sh); + sh++; + slKc.setZYLX(zylxMap.get(slKc.getZYLX())); + slKc.setSLDW(qgKwMap.get(slKc.getSLDW())); + slKc.setWPZT(wpztMap.get(slKc.getWPZT())); + + } + int ceil = (int) (Math.ceil((double) list.size() / 40)); + List slKcList= new ArrayList<>(); + if(ceil>1){ + for(int i=0;i ydjhs = dmYdjhService.list(qw); + // List ydjhs = dmYdjhService.list(qw); // 查询上料计划 Map retrunMap =new HashMap(); retrunMap.put("slkcs",slkcs); - retrunMap.put("ydjhs",ydjhs); + retrunMap.put("ydjhs",null); return new ResultBean(retrunMap); } + + @PostMapping("/getKcAndSljh1") + @ResponseBody + public ResultBean getKcAndSljh1(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + + + // 查询库存 + //List slkcs = imCkwpkwpMapper.slxxKcList(map); + + QueryWrapper qw =new QueryWrapper<>(); + qw.eq(StrUtil.isNotEmpty((String)map.get("xqdcch")),"dc_ch",(String)map.get("xqdcch")); + qw.eq(StrUtil.isNotEmpty((String)map.get("xqpl")),"dc_pl",(String)map.get("xqpl")); + // 库存标识 不等于 01 没有匹配上 + + + + if(map.get("rqopt").equals("01")){ + qw.eq("isnull(ZT,'')","2"); + }else if(map.get("rqopt").equals("02")) { + qw.eq("isnull(ZT,'')","2").ne("isnull(slkcdw,'')",""); + }else if(map.get("rqopt").equals("03")) { + qw.eq("isnull(ZT,'')","11"); + } + + List ydjhs = dmYdjhService.list(qw); + // 查询上料计划 + + return new ResultBean(ydjhs); + + } + + @PostMapping("/getydjhByid") @ResponseBody public ResultBean getydjhByid(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { // 查询库存 - DmYdjh id = dmYdjhService.getById((String)map.get("id")); - return new ResultBean(id); + List list = dmYdjhService.list(new QueryWrapper().eq("id", (String) map.get("id"))); + + return new ResultBean(list); } @@ -124,7 +251,7 @@ public class PgdSljhController { } String cjs1=cjs; DmYdjh dmYdjh = ydjhs.stream() - .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) + .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) &&StringUtils.isNotBlank(fst.getWpgg()) && fst.getWpgg().equalsIgnoreCase(slKc.getWPGG()) && (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH()) || (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH())) @@ -140,8 +267,8 @@ public class PgdSljhController { dmYdjh.setSlxhth(slKc.getGCDDH()); dmYdjh.setSlhth(slKc.getDcFd()); dmYdjh.setSlwlh(slKc.getWPH()); - dmYdjh.setZt("11"); - dmYdjh.setKcbs("01"); + dmYdjh.setSlycldw((Integer) map.get("dw")); + // ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); // imCkwpkwp.setCkh(slKc.getCKH()); @@ -156,11 +283,13 @@ public class PgdSljhController { ydupList.add(dmYdjh); // ckupList.add(imCkwpkwp); - + slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); slKc.setZYCH(dmYdjh.getDcCh()); slKc.setZYPL(dmYdjh.getDcPl()); - slKc.setZYLX(dmYdjh.getZl()); + // slKc.setZYLX(dmYdjh.getZl()); slKc.setSLDW(dmYdjh.getKw()); + slKc.setDHH(dmYdjh.getSljhrq()); + //slKc.setPwwz(dmYdjh.getKw()); slKc.setYdid(dmYdjh.getId()); ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 ckupList.add(slKc); @@ -176,7 +305,7 @@ public class PgdSljhController { @PostMapping("kcAdnSlZx") @ResponseBody - public void kcAdnSlZx(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + public ResultBean kcAdnSlZx(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { String str= JSON.toJSONString(map.get("data1")); List slKcs= JSONObject.parseArray(str, SlKc.class); @@ -198,12 +327,15 @@ public class PgdSljhController { imCkwpkwp.setZypl(slKc.getZYPL()); imCkwpkwp.setZylx(slKc.getZYLX()); imCkwpkwp.setSldw(slKc.getSLDW()); + imCkwpkwp.setPwwz(slKc.getPwwz()); + imCkwpkwp.setBz(slKc.getBZ()); + imCkwpkwp.setDhh(slKc.getDHH()); ckupList.add(imCkwpkwp); } imCkwpkwpService.updateBatchByMultiId(ckupList); dmYdjhService.updateBatchById(ydjhs); - + return new ResultBean(); // } @@ -269,5 +401,60 @@ public class PgdSljhController { // return new ResultBean(); // } + + public String getLx(String lqlb ,String zl){ +// 1000 数中大 +// 1001 数小 +// 1002 数中 +// 1003 数大 +// 1004 数曲 + +// 1005 手小 +// 1006 手中 +// 1007 手大 +// 1008 手中大 +// 1009 焊接机器人肘板 -- + + +// 1010 手工 +// 1020 数控 + if("1010".equals(lqlb)){ + if("1110".equals(zl)){ //数中大 + return "1000"; + } + if("1010".equals(zl)){ //数小 + return "1001"; + } + if("1020".equals(zl)){ //数中 + return "1002"; + } + if("1060".equals(zl)){ //数大 + return "1003"; + } + if("4207".equals(zl)||"1090".equals(zl)){ //数大 + return "1004"; + } + + } + if("1020".equals(lqlb)){ + if("1110".equals(zl)){ //手中大 + return "1008"; + } + if("1010".equals(zl)){ //数小 + return "1005"; + } + if("1020".equals(zl)){ //数中 + return "1006"; + } + if("1060".equals(zl)){ //数大 + return "1007"; + } + } + + if("4230".equals(zl)){ //焊接机器人肘板 + return "1009"; + } + return ""; + } } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index 9395d51..a9637aa 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -13,7 +13,9 @@ import com.dsic.gj_erp.bean.jcsj.DmDwxxp; import com.dsic.gj_erp.bean.jcsj.EmSbjgry; import com.dsic.gj_erp.bean.jhgk.DmTzjh; import com.dsic.gj_erp.bean.pgd.PgdTzjh; +import com.dsic.gj_erp.bean.sy.Dm_zhbmp; import com.dsic.gj_erp.bean.zyjh.Ycldw; +import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.jcsj.DmBclqjbpService; import com.dsic.gj_erp.service.jcsj.DmBclqmxpService; @@ -55,7 +57,8 @@ public class PgdTzjhController { DmDwxxpService dwxxpService; @Autowired YcldwService ycldwService; - + @Autowired + Dm_zhbmpRepository dm_zhbmpRepository; @Autowired @@ -135,6 +138,21 @@ public class PgdTzjhController { returnMap.put("ycldws", ycldws); returnMap.put("bmbm", bmbm); + List qgkws = dm_zhbmpRepository.findByBMLB("QGKW"); + List zylxs = dm_zhbmpRepository.findByBMLB("zylx"); + List pwwzs = dm_zhbmpRepository.findByBMLB("pwwz"); + List dhql = dm_zhbmpRepository.findByBMLB("DHQL"); + +// Map qgKwMap = qgkws.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); +// Map zylxMap = zylxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); +// Map pwwzMap = pwwzs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); +// Map dhqlMap = dhql.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); + returnMap.put("qgkw", qgkws); + returnMap.put("zylx", zylxs); + returnMap.put("pwwz", pwwzs); + returnMap.put("dhql", dhql); + /// zylx 流向 pwwz 抛丸位置 // QGKW 切割跨位 + return new ResultBean(returnMap); } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 97b89aa..0606763 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; @@ -25,7 +26,9 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Field; +import java.util.HashMap; import java.util.List; +import java.util.Map; @RestController @RequestMapping("zyjh") @@ -129,7 +132,32 @@ public class ZyjhController { } } + if ("PWFK".equals(dto.getZxZtName())){ + List ycldwInfos = ycldwInfoService.updatePwWeb(list); + for(YcldwInfo y :ycldwInfos){ + wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(y)); + } + + } + if ("HXFK".equals(dto.getZxZtName())){ + List ycldwInfos = ycldwInfoService.updatePwWeb(list); + for(YcldwInfo y :ycldwInfos){ + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(y)); + } + + } + if ("QGFK".equals(dto.getZxZtName())){ + //无需划线,从理料间获取时才更新垛位信息 + if ("42".equals(dto.getZt())){ + ycldwInfoService.updatePwWeb(list); + } + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + } zyjhService.updateBatchById(list); + + + return new ResultBean<>(); } catch (NoSuchFieldException | IllegalAccessException e) { throw new ServiceException(10001,"属性字段不存在"); @@ -217,52 +245,7 @@ public class ZyjhController { - @PostMapping("slweb") - @Transactional(rollbackFor = Exception.class) - @AuthFunction - public ResultBean slweb(@RequestBody List ydjhs, HttpServletRequest request) { - - for(DmYdjh dmYdjh :ydjhs){ - ShangLiao shangLiao = new ShangLiao(); - dmYdjh.setSlfkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - dmYdjh.setSlfkry( (String) request.getAttribute("yhms")); - shangLiao.setYdjh(dmYdjh); - // shangLiao.setCkwpkwp(); - // shangLiao.setPgdId(); - shangLiao.setDwId(dmYdjh.getSlycldw()); - shangLiao.setCeng(dmYdjh.getSlyclcs()); - shangLiao.setCzbh(dmYdjh.getDcCh()); - shangLiao.setPl(dmYdjh.getDcPl()); - shangLiao.setFd(dmYdjh.getDcFd()); - shangLiao.setKw(dmYdjh.getKw()); - shangLiao.setZl(dmYdjh.getZl()); - shangLiao.setTlth(dmYdjh.getTzbh()); - // shangLiao.setWph(dmYdjh.getm); - shangLiao.setWpgg(dmYdjh.getWpgg()); - shangLiao.setSljhrq(dmYdjh.getSljhrq()); - shangLiao.setQgjhrq(dmYdjh.getSljhrq()); - shangLiao.setBfr( (String) request.getAttribute("yhms")); - shangLiao.setType(Ycldw.DwTypeEnum.YCL); - //更新预处理垛位信息 - if (!shangLiao.checkCkwp()){ - //throw new ServiceException(10009,"物品库存不存在,或库存信息错误"); - } - YcldwInfo info=ycldwInfoService.updateForSl(shangLiao); - - //更新月度计划上料相关字段 - zyjhService.updateForSl(shangLiao); - - //todo 更新库存信息 - wsHandler.sendSlComplete((JSONObject)JSONObject.toJSON(info)); - } - - - - - - return new ResultBean<>(); - } /** * 上料 */ diff --git a/src/main/java/com/dsic/gj_erp/mapper/jcsj/DmBchxylpMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jcsj/DmBchxylpMapper.java index 1ff96e1..c0cbd73 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jcsj/DmBchxylpMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jcsj/DmBchxylpMapper.java @@ -18,5 +18,6 @@ public interface DmBchxylpMapper extends BaseMapper { public List getBcTJlList(Map map); + public List getYlListAdd(Map map); } diff --git a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java index bc9cbce..c417f6b 100644 --- a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java +++ b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java @@ -179,6 +179,10 @@ public class SYService { if (f_qz.equals("年月")){ f_qz= DateUtil.format(DateUtil.date(),"yyMM"); } + + if (f_qz.equals("年月日")){ + f_qz= DateUtil.format(DateUtil.date(),"yyMMdd"); + } } //确定编码前缀值结束 diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java index c3bdf7a..61a2279 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java @@ -1,12 +1,16 @@ package com.dsic.gj_erp.service.zyjh; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; import com.dsic.gj_erp.mapper.zyjh.YcldwInfoMapper; import org.springframework.stereotype.Service; import javax.transaction.Transactional; +import java.util.ArrayList; +import java.util.List; @Service public class YcldwInfoService extends ServiceImpl { @@ -23,7 +27,26 @@ public class YcldwInfoService extends ServiceImpl { @Transactional(rollbackOn = Exception.class) public void updatePw(YcldwInfo info){ - this.removeById(info.getId()); - baseMapper.pwfk(info.getCeng(),info.getDwId()); + + this.removeById(info.getId()); + baseMapper.pwfk(info.getCeng(),info.getDwId()); + + + } + + @Transactional(rollbackOn = Exception.class) + public List updatePwWeb(List list){ + List ad =new ArrayList<>(); + for(DmYdjh info :list){ + YcldwInfo ydid = this.getOne(new QueryWrapper().eq("ydid", info.getId())); + if(null!= ydid){ + ad.add(ydid); + } + this.remove(new QueryWrapper().eq("ydid",info.getId())); + + } + + + return ad; } } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index be70175..58634a8 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -13,8 +13,8 @@ public class ZyjhService extends ServiceImpl { public void updateForSl(ShangLiao sl){ LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate() - .set(DmYdjh::getSlkcdw, sl.getYdjh().getSlkcdw()) - .set(DmYdjh::getSlcs, sl.getYdjh().getSlcs()) + .set(DmYdjh::getSlycldw, sl.getYdjh().getSlycldw()) + .set(DmYdjh::getSlyclcs, sl.getYdjh().getSlyclcs()) .set(DmYdjh::getSlfkrq, sl.getYdjh().getSlfkrq()) .set(DmYdjh::getSlfkry, sl.getYdjh().getSlfkry()) .eq(DmYdjh::getId, sl.getYdjh().getId()); diff --git a/src/main/resources/mappers/jcsj/DmBchxylpMapper.xml b/src/main/resources/mappers/jcsj/DmBchxylpMapper.xml index c4cf664..5e50cc7 100644 --- a/src/main/resources/mappers/jcsj/DmBchxylpMapper.xml +++ b/src/main/resources/mappers/jcsj/DmBchxylpMapper.xml @@ -114,4 +114,54 @@ order by dc_ch,dc_pl,dc_zl,tzbh + + + diff --git a/src/main/resources/mappers/kc/ImCkwpkwp.xml b/src/main/resources/mappers/kc/ImCkwpkwp.xml index fea0204..23e1dc3 100644 --- a/src/main/resources/mappers/kc/ImCkwpkwp.xml +++ b/src/main/resources/mappers/kc/ImCkwpkwp.xml @@ -77,16 +77,28 @@ and IM_CKWPKWP.dc_ch=#{dcch} - - and IM_CKWPKWP.dc_pl=#{pl} + + and IM_CKWPKWP.dzwz=#{ql} - and ( isnull(IM_CKWPKWP.ydid,'')='' and isnull(IM_CKWPKWP.sllsh,'')='' ) + + and isnull(IM_CKWPKWP.zych,'')='' + -- and ( isnull(IM_CKWPKWP.ydid,'')='' and isnull(IM_CKWPKWP.sllsh,'')='' ) - and (isnull(IM_CKWPKWP.ydid,'')<>'' or isnull(IM_CKWPKWP.sllsh,'')<>'') + and isnull(IM_CKWPKWP.zych,'')<>'' and isnull(IM_CKWPKWP.sllsh,'')='' +-- and (isnull(IM_CKWPKWP.ydid,'')<>'' or isnull(IM_CKWPKWP.sllsh,'')<>'') + + + + and isnull(IM_CKWPKWP.zych,'')<>'' and isnull(IM_CKWPKWP.sllsh,'')<>'' + + + + and isnull(IM_CKWPKWP.zych,'')<>'' and isnull(IM_CKWPKWP.sllsh,'')<>'' + - order by IM_CKWPKWP.kwh,IM_CKWPKWP.cfcs1 + order by IM_CKWPKWP.kwh,IM_CKWPKWP.cfcs1 desc From cf4c229609150eb40be0c5f5a6d2cc92bd1f1f22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 12 Sep 2024 14:36:51 +0800 Subject: [PATCH 045/196] =?UTF-8?q?1.=E5=9D=A1=E5=8F=A3=E3=80=81=E6=9B=B2?= =?UTF-8?q?=E5=8A=A0=E5=B7=A5=E3=80=81=E6=89=93=E7=A3=A8=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=88=B0=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmSygdMx.java | 1 + .../service/jhgk/impl/DmYdjhServiceImpl.java | 40 ++++++++++++++----- .../resources/mappers/jhgk/DmQfxqMapper.xml | 5 ++- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java index 736891b..a40f32f 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java @@ -235,6 +235,7 @@ public class DmSygdMx implements Serializable { this.qjgrq=date; break; case 打磨: + this.dmrq=date; break; case 号料: break; 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 ee125b0..1974e37 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 @@ -3,6 +3,7 @@ package com.dsic.gj_erp.service.jhgk.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +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.extension.service.impl.ServiceImpl; @@ -15,9 +16,11 @@ import com.dsic.gj_erp.service.jhgk.DmQfxqService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.jiuzhou.SljhService; import com.dsic.gj_erp.service.pgd.*; +import io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -232,24 +235,42 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme @Resource private ApplicationEventPublisher publisher; + @Autowired + private RedisTemplate redisTemplate; + //下发 派工单状态改为编制 生成零件信息 @Override + @Transactional(rollbackFor = Exception.class) public void xf(List ydjhList, HttpServletRequest request) { String bzry= (String) request.getAttribute("yhms"); String bzrq= DateUtil.format(DateUtil.date(), "yyyy/MM/dd"); - //修改状态 + + //工单号 + List updateList = ydjhList.stream().map(item -> { + Long increment = redisTemplate.opsForHash().increment("ZYJH_GDH::", item.getSljhrq(), 1); + DmYdjh dmYdjh = new DmYdjh(); + dmYdjh.setId(item.getId()); + dmYdjh.setZt("2"); + dmYdjh.setDjh(StrUtil.format("{}{}",item.getSljhrq().replace("/",""), String.format("%03d",increment))); + return dmYdjh; + }).collect(Collectors.toList()); + + this.updateBatchById(updateList); + List idList = ydjhList.stream().map(DmYdjh::getId).collect(Collectors.toList()); if (idList.size() > 100) { List list = idList.subList(idList.size() / 100 * 100, idList.size()); AtomicInteger index = new AtomicInteger(idList.size() / 100 + 1); - this.update(new UpdateWrapper().set("zt", "2") - .in("id", list) - ); + +// this.update(new UpdateWrapper().set("zt", "2") +// .in("id", list) +// ); // 生成 数据 baseMapper.getTzjh(list,bzry,bzrq); + //作业计划零件数据 baseMapper.tqlj(list); do { int i = index.decrementAndGet(); @@ -259,23 +280,22 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme ); baseMapper.getTzjh(list1,bzry,bzrq); + //作业计划零件数据 baseMapper.tqlj(list1); }while (index.get()>1); }else { - this.update(new UpdateWrapper().set("zt", "2") - .in("id", idList) - ); +// this.update(new UpdateWrapper().set("zt", "2") +// .in("id", idList) +// ); // //修改汇总状态 改为 编制 // baseMapper.xfbc(idList); // //生成对应零件信息 bom->tzjhLj // baseMapper.tqlj(idList); // baseMapper.xfbc(idList); baseMapper.getTzjh(idList,bzry,bzrq); - baseMapper.getSljh(idList,bzry,bzrq); - baseMapper.getPwjh(idList,bzry,bzrq); - baseMapper.getQgjh(idList,bzry,bzrq); + //作业计划零件数据 baseMapper.tqlj(idList); } diff --git a/src/main/resources/mappers/jhgk/DmQfxqMapper.xml b/src/main/resources/mappers/jhgk/DmQfxqMapper.xml index 7f58f8a..83d1cbe 100644 --- a/src/main/resources/mappers/jhgk/DmQfxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmQfxqMapper.xml @@ -54,7 +54,10 @@ dm_sygd_mx.bcqpyld, dm_sygd_mx.ylbhgg, dm_sygd_mx.xxr, - dm_qfxq.dzglxq as gjjs_dz + dm_sygd_mx.pkrq, + dm_sygd_mx.qjgrq, + dm_sygd_mx.dmrq + dm_qfxq.dzglxq as gjjs_dz from (SELECT * from ( SELECT From 06e4abc78bf50af91951c5a7087844162b43e455 Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 13 Sep 2024 15:39:13 +0800 Subject: [PATCH 046/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 2 + .../com/dsic/gj_erp/bean/pbsc/MpYlxxp.java | 11 +- .../controller/pbsc/MpYlxxpController.java | 151 +++++++++++++++++- .../controller/pgd/PgdSljhController.java | 12 +- .../controller/zyjh/ZyjhController.java | 13 +- .../gj_erp/mapper/pbsc/MpYlxxpMapper.java | 5 + .../service/jhgk/impl/DmYdjhServiceImpl.java | 4 +- .../service/pgd/impl/PgdDmjhServiceImpl.java | 2 +- .../service/pgd/impl/PgdPkjhServiceImpl.java | 2 +- .../service/pgd/impl/PgdQmjhServiceImpl.java | 2 +- .../resources/mappers/jhgk/DmYdjhMapper.xml | 22 ++- src/main/resources/mappers/kc/ImCkwpkwp.xml | 6 + .../resources/mappers/pbsc/MpYlxxpMapper.xml | 43 +++++ 13 files changed, 252 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 233ab1a..eb503de 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -49,6 +49,8 @@ public class DmYdjh implements Serializable { @ApiModelProperty(value = "规格") private String wpgg; + @TableField(exist = false) + private String wpxh1; @ApiModelProperty(value = "材质") private String wpxh; diff --git a/src/main/java/com/dsic/gj_erp/bean/pbsc/MpYlxxp.java b/src/main/java/com/dsic/gj_erp/bean/pbsc/MpYlxxp.java index 1e7753b..18c9240 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pbsc/MpYlxxp.java +++ b/src/main/java/com/dsic/gj_erp/bean/pbsc/MpYlxxp.java @@ -9,6 +9,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; +import java.math.BigDecimal; /** *

@@ -84,7 +85,7 @@ public class MpYlxxp implements Serializable { private String hxbh; - private Double ylzl; + private BigDecimal ylzl; private String dcZl2; @@ -94,7 +95,7 @@ public class MpYlxxp implements Serializable { private String dcPl2; - private Double t1; + private BigDecimal t1; private String ylbh; @@ -102,7 +103,7 @@ public class MpYlxxp implements Serializable { private String dcCs; - private Double sl; + private BigDecimal sl; private String bzrq; @@ -112,7 +113,7 @@ public class MpYlxxp implements Serializable { private String bz; - private Double l; + private BigDecimal l; private String dcTzbh2; @@ -135,7 +136,7 @@ public class MpYlxxp implements Serializable { private String wpgg; - private Double b1; + private BigDecimal b1; private String dcCh2; diff --git a/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java b/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java index b0515be..ab03480 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java @@ -1,11 +1,31 @@ package com.dsic.gj_erp.controller.pbsc; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsic.gj_erp.annotation.AuthFunction; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jcsj.DmBchxylp; +import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; +import com.dsic.gj_erp.bean.pbsc.MpYlxxp; +import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.mapper.jcsj.DmBchxylpMapper; +import com.dsic.gj_erp.service.jcsj.DmBchxylpService; +import com.dsic.gj_erp.service.pgsc.MpYlxxpService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** *

- * 前端控制器 + * 前端控制器 *

* * @author xhj @@ -14,6 +34,131 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/mpYlxxp") public class MpYlxxpController { + @Autowired + MpYlxxpService mpYlxxpService; + @Autowired + DmBchxylpMapper dmBchxylpMapper; + + @PostMapping("/getYlList") + @ResponseBody + public ResultBean getYlList(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq(StrUtil.isNotEmpty((String) map.get("dcch")), "dc_ch", (String) map.get("dcch")); + qw.eq(StrUtil.isNotEmpty((String) map.get("pl")), "dc_pl", (String) map.get("pl")); + return new ResultBean(mpYlxxpService.list(qw)); + } + + @PostMapping("/getYlListAdd") + @ResponseBody + public ResultBean getYlListAdd(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + return new ResultBean(dmBchxylpMapper.getYlListAdd(map)); + } + + @PostMapping("/getYlListAddZx") + @ResponseBody + @AuthFunction + public ResultBean getYlListAddZx(HttpServletRequest req, @RequestBody List list) throws Exception, CustomException { + List rList =new ArrayList<>(); + for (DmBchxylp dmBchxylp : list) { + // 判断 是否重复导入 + List list1 = mpYlxxpService.list(new QueryWrapper().eq("DC_CH", dmBchxylp.getDcCh()).eq("ylbh", dmBchxylp.getYlbh())); + if (list1.size() > 0) { + continue; + } + MpYlxxp mpYlxxp = new MpYlxxp(); + mpYlxxp.setHxbh(dmBchxylp.getHxbh()); + mpYlxxp.setXh(dmBchxylp.getXh()); + mpYlxxp.setDcCh(dmBchxylp.getDcCh()); + mpYlxxp.setDcPl(dmBchxylp.getDcPl()); + mpYlxxp.setSl(dmBchxylp.getSl()); + mpYlxxp.setDcHx(dmBchxylp.getYlzd1()); + mpYlxxp.setDcZl(dmBchxylp.getDcZl()); + mpYlxxp.setWpgg(dmBchxylp.getWpgg()); + mpYlxxp.setWpxh(dmBchxylp.getWpxh()); + String ls_wpgg = dmBchxylp.getWpgg(); + int li_pos = ls_wpgg.indexOf('*'); // 查找 '*' 的位置 + double ldgg = 0; + String ls_gg = ""; + // 如果找到 '*' 符号 + if (li_pos > 0) { + // 提取 '*' 前的子字符串 + ls_gg = ls_wpgg.substring(0, li_pos); + ldgg = Double.parseDouble(ls_wpgg.substring(0, li_pos)); + } +// 将字符串转换为 BigDecimal(如果是数值型) + BigDecimal t1Value; + try { + t1Value = new BigDecimal(ls_gg); + } catch (NumberFormatException e) { + // 处理转换异常 + t1Value = BigDecimal.ZERO; // 或根据需要设置默认值 + } + mpYlxxp.setT1(t1Value); + String ls_ly_wpgg = dmBchxylp.getYlgg(); // 示例数据 + // String ls_gg = "example3"; // 示例数据 + String ls_gg1 = ""; + String ls_gg2 = ""; + String ls_gg3 = ""; + int li_pos1 = ls_ly_wpgg.indexOf('*'); // 查找 '*' 的位置 + // 如果找到 '*' + if (li_pos1 > 0) { + // 提取 '*' 前的子字符串 + ls_gg1 = ls_ly_wpgg.substring(0, li_pos1); + // 提取 '*' 后的子字符串 + ls_gg2 = ls_ly_wpgg.substring(li_pos1 + 1); + } + // 拼接 ls_gg 和 ls_ly_wpgg 生成 ls_gg3 + ls_gg3 = ls_gg + "*" + ls_ly_wpgg; + // 转换 ls_gg1 和 ls_gg2 为 BigDecimal + BigDecimal b1Value = BigDecimal.ZERO; + BigDecimal lValue = BigDecimal.ZERO; + BigDecimal ylzlValue = BigDecimal.ZERO; + BigDecimal ls_ggDecimal = BigDecimal.ZERO; + try { + b1Value = new BigDecimal(ls_gg1); + lValue = new BigDecimal(ls_gg2); + ls_ggDecimal = new BigDecimal(ls_gg); + } catch (NumberFormatException e) { + // 处理转换错误 + // 设置默认值为 0 + b1Value = BigDecimal.ZERO; + lValue = BigDecimal.ZERO; + ls_ggDecimal = BigDecimal.ZERO; + } + // 计算 ylzl = round(dec(ls_gg)*dec(ls_gg2)*dec(ls_gg1)*7850/1000000000, 3) + BigDecimal multiplier = new BigDecimal(7850); + BigDecimal divisor = new BigDecimal(1000000000); + ylzlValue = ls_ggDecimal.multiply(lValue).multiply(b1Value).multiply(multiplier).divide(divisor, 3, RoundingMode.HALF_UP); + mpYlxxp.setB1(b1Value); + mpYlxxp.setL(lValue); + mpYlxxp.setYlzl(ylzlValue); + mpYlxxp.setTzbh(dmBchxylp.getTzbh()); + mpYlxxp.setYlbh(dmBchxylp.getYlbh()); + mpYlxxp.setYlzd1(ls_gg3); + mpYlxxp.setZt("01"); + mpYlxxp.setBzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); + mpYlxxp.setBzry((String) req.getAttribute("yhms")); + rList.add(mpYlxxp); + } + return new ResultBean(rList); + } + + @PostMapping("/delYlxx") + @ResponseBody + public ResultBean delYlxx(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + return new ResultBean(mpYlxxpService.removeById((String) map.get("ylsxh"))); + } + + + @PostMapping("/saveYl") + @ResponseBody + public ResultBean saveYl(HttpServletRequest req, @RequestBody List list) throws Exception, CustomException { + for(MpYlxxp mpYlxxp :list){ + if(StringUtils.isBlank(mpYlxxp.getYlsxh())){ + } + } + return new ResultBean(); + } } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index c0473c4..360733a 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -210,7 +210,16 @@ public class PgdSljhController { List ydjhs = dmYdjhService.list(qw); // 查询上料计划 + List czList = dmCzjbbService.list(); + for(DmYdjh dmYdjh :ydjhs){ + String cjs=""; + DmCzjbb dmCzjbb = czList.stream().filter(fst -> fst.getCzbh().equalsIgnoreCase(dmYdjh.getDcCh())).findFirst().orElse(null); + if(null!=dmCzjbb){ + cjs=dmCzjbb.getCjs(); + dmYdjh.setWpxh1(cjs+dmYdjh.getWpxh()); + } + } return new ResultBean(ydjhs); } @@ -224,6 +233,7 @@ public class PgdSljhController { // 查询库存 List list = dmYdjhService.list(new QueryWrapper().eq("id", (String) map.get("id"))); + return new ResultBean(list); } @@ -251,7 +261,7 @@ public class PgdSljhController { } String cjs1=cjs; DmYdjh dmYdjh = ydjhs.stream() - .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) &&StringUtils.isNotBlank(fst.getWpgg()) + .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) &&StringUtils.isNotBlank(fst.getWpgg())&& StringUtils.isNotBlank(fst.getWpxh()) && fst.getWpgg().equalsIgnoreCase(slKc.getWPGG()) && (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH()) || (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH())) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 0606763..e497b41 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -148,11 +148,14 @@ public class ZyjhController { } if ("QGFK".equals(dto.getZxZtName())){ //无需划线,从理料间获取时才更新垛位信息 - if ("42".equals(dto.getZt())){ - ycldwInfoService.updatePwWeb(list); + //if ("42".equals(dto.getZt())){ + List ycldwInfos = ycldwInfoService.updatePwWeb(list); + //} + for(YcldwInfo y :ycldwInfos){ + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(y)); + wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(y)); } - wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); - wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + } zyjhService.updateBatchById(list); @@ -189,7 +192,7 @@ public class ZyjhController { List list = zyjhService.list(Wrappers.query() //执行查询 .eq(StrUtil.isNotEmpty(search.getField()),search.getField(),search.getUser()) - .eq(StrUtil.isNotEmpty(search.getZt()),"zt",search.getZt()) + .eq(StrUtil.isNotEmpty(search.getZt()),"zt",search.getZt()).or(StrUtil.isNotEmpty(search.getZtHx()),it->it.eq("zt",search.getZtHx())) .eq(StrUtil.isNotEmpty(search.getDcch()),"dc_ch",search.getDcch()) .le(StrUtil.isNotEmpty(search.getJhrqField()),search.getJhrqField(), DateUtil.date().toString("yyyy/MM/dd")) //跟踪查询 diff --git a/src/main/java/com/dsic/gj_erp/mapper/pbsc/MpYlxxpMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pbsc/MpYlxxpMapper.java index df41ee5..59a3f54 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pbsc/MpYlxxpMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pbsc/MpYlxxpMapper.java @@ -3,6 +3,9 @@ package com.dsic.gj_erp.mapper.pbsc; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.pbsc.MpYlxxp; +import java.util.List; +import java.util.Map; + /** *

* Mapper 接口 @@ -13,4 +16,6 @@ import com.dsic.gj_erp.bean.pbsc.MpYlxxp; */ public interface MpYlxxpMapper extends BaseMapper { + List czzjList(Map map); + } 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 ee125b0..3a43474 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 @@ -121,13 +121,13 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme dmYdjh.setPgdTzjh(pgdTzjh); //领取表 早于上料日期 // 套料图早于划线日期 - if(StringUtils.isBlank(pgdTzjh.getLqbxfrq())||StringUtils.isBlank(dmYdjh.getSlrq()) ){ + if(StringUtils.isBlank(pgdTzjh.getLqbxfrq())||StringUtils.isBlank(dmYdjh.getSljhrq()) ){ // corlor red dmYdjh.setColor("red"); }else{ DateTime dateStr1 = DateUtil.parse(pgdTzjh.getLqbxfrq(), "yyyy/MM/dd"); - DateTime dateStr2 = DateUtil.parse(dmYdjh.getSlrq(), "yyyy/MM/dd"); + DateTime dateStr2 = DateUtil.parse(dmYdjh.getSljhrq(), "yyyy/MM/dd"); int result = DateUtil.compare(dateStr1, dateStr2); if (result > 0) { System.out.println(dateStr1 + " is after " + dateStr2); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java index a5f10c7..8399f91 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java @@ -68,7 +68,7 @@ public class PgdDmjhServiceImpl extends ServiceImpl impl DmYdjhLj e= new DmYdjhLj(); e.setDmFkry((String) request.getAttribute("yhms")); e.setDmFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - e.setDmZt("04"); + e.setDmZt("03"); e.setDmFkyy(f.getDmFkyy()); e.setId(f.getId()); ups.add(e); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java index 0efdb4a..7710308 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java @@ -67,7 +67,7 @@ public class PgdPkjhServiceImpl extends ServiceImpl impl DmYdjhLj e= new DmYdjhLj(); e.setPkFkry((String) request.getAttribute("yhms")); e.setPkFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - e.setPkZt("04"); + e.setPkZt("03"); e.setPkFkyy(f.getPkFkyy()); e.setId(f.getId()); ups.add(e); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java index f85465a..9c4b0ef 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java @@ -78,7 +78,7 @@ public class PgdQmjhServiceImpl extends ServiceImpl impl DmYdjhLj e= new DmYdjhLj(); e.setQjgFkry((String) request.getAttribute("yhms")); e.setQjgFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); - e.setQjgZt("04"); + e.setQjgZt("03"); e.setId(f.getId()); ups.add(e); }); diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 39210c9..320e58b 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -664,7 +664,11 @@ pkbs, dmbs, dmcd, - qbs + qbs, + qjg_zt, + pk_zt, + dm_zt + ) SELECT REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','') as id, @@ -687,10 +691,20 @@ '' as gylx, dm_bom.pklx as pklx, dm_bom.pkcd as pkcd, - dm_bom.pkbs as pkbs, - dm_bom.dmbs as dmbs, + case when isnull(dm_ydjh.pkrq,'')<>'' + then 'Y' + else '' end , + case when isnull(dm_ydjh.dmrq,'')<>'' + then 'Y' + else '' end , + + dm_bom.dmcd as dmcd, - dm_bom.qbs as qbs + case when isnull(dm_ydjh.qjgrq,'')<>'' + then 'Y' + else '' end, + '01', + '01','01' from dm_ydjh,dm_bom LEFT JOIN dm_qfxq on dm_qfxq.DC_CH=dm_bom.dcch and dm_qfxq.DC_PL=dm_bom.pl and dm_qfxq.DC_FD=dm_bom.fd WHERE diff --git a/src/main/resources/mappers/kc/ImCkwpkwp.xml b/src/main/resources/mappers/kc/ImCkwpkwp.xml index 23e1dc3..8e4038a 100644 --- a/src/main/resources/mappers/kc/ImCkwpkwp.xml +++ b/src/main/resources/mappers/kc/ImCkwpkwp.xml @@ -80,6 +80,12 @@ and IM_CKWPKWP.dzwz=#{ql} + + and IM_CKWPKWP.wpgg=#{wpgg} + + + and IM_CKWPKWP.wpxh=#{wpxh} + and isnull(IM_CKWPKWP.zych,'')='' diff --git a/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml b/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml index 5db8080..e719118 100644 --- a/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml +++ b/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml @@ -55,4 +55,47 @@ SCRQ, SYRQ, DC_LPH, GZZX, YLCJBM, YLKWH, DC_CH, DC_PL, DC_ZL, JLDW, XGR, XGRQ, ylsxh, tzbh1, ysrq, zt, hxbh, ylzl, dc_zl2, ylzd4, wpxh, dc_pl2, t1, ylbh, ylzd1, dc_cs, sl, bzrq, ylzd6, hxfl, bz, l, dc_tzbh2, ylzd3, SYBS, dc_hx, xh, ylzd2, bzry, tzbh, ylzd5, wpgg, b1, dc_ch2 + + From 585f330c22a4c0006edef63949e01197ab955274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 13 Sep 2024 15:54:27 +0800 Subject: [PATCH 047/196] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E7=9C=8B=E6=9D=BF?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 9 +-- .../controller/kban/KbanController.java | 65 +++++++++++++++++++ .../com/dsic/gj_erp/controller/kban/dto.java | 9 +++ .../controller/yuyin/YuyinController.java | 32 +++++++++ .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 11 ++++ .../dsic/gj_erp/service/zyjh/ZyjhService.java | 30 +++++++++ .../com/dsic/gj_erp/wsclient/Message.java | 16 ++++- .../gj_erp/wsclient/WebSocketService.java | 9 +-- .../gj_erp/wsclient/handler/HeartHandler.java | 1 + src/main/resources/application-ws.yml | 2 +- .../resources/mappers/jhgk/DmYdjhMapper.xml | 34 ++++++++++ 11 files changed, 208 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/kban/dto.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/yuyin/YuyinController.java diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index eb503de..b1e9139 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -380,12 +380,13 @@ public class DmYdjh implements Serializable { HXFK("52"), QGPG("61"), QGFK("62"), + //7预留其他工序 + + //坡口,曲面,打磨 + PK("81"), QM("82"),DM("83"), + WC("99")//完成 ; @Getter public String code; } - - public static void main(String[] args) { - - } } diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java new file mode 100644 index 0000000..eb3d562 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -0,0 +1,65 @@ +package com.dsic.gj_erp.controller.kban; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.service.zyjh.ZyjhService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("kban") +@AllArgsConstructor +public class KbanController { + + private final ZyjhService zyjhService; + + /** + * 各垮计划完成情况 + */ + @GetMapping("gxjhwcqk") + public ResultBean gxjhwcqk(){ + List> gxjhwcqk = zyjhService.gxjhwcqk(); + return new ResultBean<>(gxjhwcqk); + } + + /** + * 各月份产量(吨) + */ + @GetMapping("gyfcl") + public ResultBean gyfcl(){ + return new ResultBean<>(zyjhService.gyfcl()); + } + + /** + * 计划完成情况(吨) + */ + @GetMapping("jhwcqk") + public ResultBean jhwcqk(){ + return new ResultBean<>(zyjhService.jhwcqk()); + } + + /** + * 各垮产量 + */ + @GetMapping("gekuachaliang") + public ResultBean gekuachaliang(){ + return new ResultBean<>(zyjhService.gekuachaliang()); + } + + /** + * 考勤情况 + */ + @GetMapping("kq") + public ResultBean kq(){ + Map map=new HashMap<>(); + map.put("出勤",283); + map.put("请假",15); + map.put("缺勤",2); + return new ResultBean<>(map); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/dto.java b/src/main/java/com/dsic/gj_erp/controller/kban/dto.java new file mode 100644 index 0000000..b17aeca --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/kban/dto.java @@ -0,0 +1,9 @@ +package com.dsic.gj_erp.controller.kban; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class dto { +} diff --git a/src/main/java/com/dsic/gj_erp/controller/yuyin/YuyinController.java b/src/main/java/com/dsic/gj_erp/controller/yuyin/YuyinController.java new file mode 100644 index 0000000..a3c04fc --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/yuyin/YuyinController.java @@ -0,0 +1,32 @@ +package com.dsic.gj_erp.controller.yuyin; + +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.wsclient.WebSocketClientComponent; +import com.dsic.gj_erp.wsclient.WebSocketService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.socket.WebSocketSession; + +@RestController +@RequestMapping("yuyin") +@RequiredArgsConstructor +public class YuyinController { + + private final WebSocketService socketService; + + private final WebSocketClientComponent clientComponent; + + /** + * 重连语音上报websocket服务器 + */ + @GetMapping("recon") + public ResultBean recon(){ + WebSocketSession session = socketService.getSession(); + if (session==null){ + clientComponent.init(); + } + return new ResultBean<>(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 112f245..f8173c1 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.pgd.*; +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** *

@@ -36,4 +38,13 @@ public interface DmYdjhMapper extends BaseMapper { List getSljh1(@Param("begin") String begin, @Param("end") String end); List getPwjh1(@Param("begin") String begin, @Param("end") String end); List getQgjh1(@Param("begin") String begin, @Param("end") String end); + + @MapKey("kw") + Map gekuachaliang(String from,String to,String zt); + + List> jhwcqk(String from,String to); + + List> gyfcl(); + + List> gxjhwcqk(String from,String to); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 58634a8..9def921 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -1,5 +1,7 @@ package com.dsic.gj_erp.service.zyjh; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -8,9 +10,37 @@ import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; + @Service public class ZyjhService extends ServiceImpl { + public List> gxjhwcqk(){ + DateTime date = DateUtil.lastMonth(); + String from= DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to =DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return baseMapper.gxjhwcqk(from,to); + } + + public List> gyfcl(){ + return baseMapper.gyfcl(); + } + + public List> jhwcqk(){ + DateTime date = DateUtil.lastMonth(); + String from= DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to =DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return baseMapper.jhwcqk(from,to); + } + + public Map gekuachaliang(){ + DateTime date = DateUtil.lastMonth(); + String from= DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to =DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return baseMapper.gekuachaliang(from,to,"11"); + } + public void updateForSl(ShangLiao sl){ LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate() .set(DmYdjh::getSlycldw, sl.getYdjh().getSlycldw()) diff --git a/src/main/java/com/dsic/gj_erp/wsclient/Message.java b/src/main/java/com/dsic/gj_erp/wsclient/Message.java index 0000627..9f5f84c 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/Message.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/Message.java @@ -17,6 +17,13 @@ public class Message { @JSONField(serialize = false) private Instructions instructions; + public CodeEnum getCodeEx(){ + if (this.codeEx==null){ + this.formatCodeToEnum(); + } + return this.codeEx; + } + public static Message reg(String id){ Message message = new Message(); message.setCode(CodeEnum.REG.getCode()); @@ -46,6 +53,10 @@ public class Message { } } + public void formatCodeToEnum(){ + this.formatCodeToEnum(this.code); + } + public void formatCodeToEnum(@NonNull int code){ for (CodeEnum e:CodeEnum.values()){ if (e.getCode()==code){ @@ -60,7 +71,7 @@ public class Message { return e; } } - return null; + return CodeEnum.DEFAULT; } @Getter @@ -70,6 +81,9 @@ public class Message { ZX(3000), RESULT(9002), HEART(9003), + ERROR(3001), + TIP(3002), + DEFAULT(0) ; private final int code; diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java index 375d287..e1fd638 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java @@ -1,6 +1,5 @@ package com.dsic.gj_erp.wsclient; -import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.wsclient.handler.ZxHandler; import lombok.RequiredArgsConstructor; @@ -50,7 +49,7 @@ public class WebSocketService extends TextWebSocketHandler { @Override protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { - System.out.println("Received: " + message.getPayload()); + log.info("语音上报:{}",message.getPayload()); Message msg= JSONObject.parseObject(message.getPayload(),Message.class); switch (msg.getCodeEx()){ case REG: @@ -59,9 +58,11 @@ public class WebSocketService extends TextWebSocketHandler { case ZX: zxHandler.execute(msg); break; - - } } + public WebSocketSession getSession(){ + return this.session; + } + } diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java index 42387ba..efbff54 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java @@ -23,6 +23,7 @@ public class HeartHandler implements IHandlerService{ } CronUtil.schedule("*/30 * * * * *", (Task) () -> { try { + System.out.println("心跳"); webSocketService.sendMessage(message.toString()); } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/resources/application-ws.yml b/src/main/resources/application-ws.yml index e7f3638..2e17433 100644 --- a/src/main/resources/application-ws.yml +++ b/src/main/resources/application-ws.yml @@ -9,5 +9,5 @@ ws: maxHttpContentLength: 1048576 maxFramePayloadLength: 1048576 client: - url: ws://127.0.0.1:9000 + url: ws://192.168.13.9:9000 id: abc \ No newline at end of file diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 320e58b..8e70fd0 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -1,3 +1,4 @@ + @@ -74,6 +75,38 @@ + + + + + + + + + update pgd_tzjh set zt='01' From 8262f93328be2dfeb38ed3c20effb61373e5b37a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 13 Sep 2024 17:25:43 +0800 Subject: [PATCH 048/196] =?UTF-8?q?1.web=E7=AB=AF=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E9=A1=B5=E9=9D=A2=E6=98=BE=E7=A4=BA=E7=9B=B4?= =?UTF-8?q?=E8=A7=82=E5=9B=BE=E5=92=8C=E7=9C=8B=E6=9D=BF=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java index a0d67e4..0544c65 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java @@ -92,6 +92,9 @@ public class DmSygdMxController { Map map=new HashMap<>(); //// 1.根据上料时间 从近到远排序 List list=service.list(new QueryWrapper().between("jssj",mapObj.get("beginTime"),mapObj.get("endTime"))); + if(list.size()==0){ + return new ResultBean(); + } list = list.stream() .filter(mx -> Objects.nonNull(mx.getJssj())) .sorted(Comparator.comparing(DmSygdMx::getJssj, Comparator.nullsLast(Comparator.naturalOrder()))).collect(Collectors.toList()); From ec15261a49deaecef119b3602460f07db6206ad0 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, 14 Sep 2024 08:44:13 +0800 Subject: [PATCH 049/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mappers/jhgk/DmQfxqMapper.xml | 6 ++++++ src/main/resources/mappers/jhgk/DmYdjhMapper.xml | 1 - src/main/resources/mappers/pbsc/MpYlxxpMapper.xml | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/resources/mappers/jhgk/DmQfxqMapper.xml b/src/main/resources/mappers/jhgk/DmQfxqMapper.xml index 83d1cbe..5c5c196 100644 --- a/src/main/resources/mappers/jhgk/DmQfxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmQfxqMapper.xml @@ -23,17 +23,23 @@ dm_sygd_mx.lx, dm_sygd_mx.xcms, dm_sygd_mx.kw, + dm_sygd_mx.slrq, dm_sygd_mx.slrq sljhrq, dm_sygd_mx.slry, + dm_sygd_mx.llrq, + dm_sygd_mx.llrq lljhrq, dm_sygd_mx.pw, dm_sygd_mx.pwry, dm_sygd_mx.pwrq, + dm_sygd_mx.pwrq pwjhrq, dm_sygd_mx.hxsb, dm_sygd_mx.hxry, dm_sygd_mx.hxrq, + dm_sygd_mx.hxrq hxjhrq, dm_sygd_mx.qgsb, dm_sygd_mx.qgry, dm_sygd_mx.qgrq, + dm_sygd_mx.qgrq qgjhrq, dm_sygd_mx.pwsb, dm_sygd_mx.DC_FD, dm_sygd_mx.jzbs, diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 8e70fd0..39e5bf4 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -1,4 +1,3 @@ - diff --git a/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml b/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml index e719118..10b3e9b 100644 --- a/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml +++ b/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml @@ -85,8 +85,8 @@ ELSE 0 END , FHZT = CASE WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) >=10 AND (RTRIM(MP_DHSJ.dc_tpmc) = RTRIM(QC_ZBSDZP.GG) AND RTRIM(MP_DHSJ.dc_tpbh) = RTRIM(QC_ZBSDZP.CZ)) THEN '符合' - WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) >=10 AND (RTRIM(MP_DHSJ.dc_tpmc) <> RTRIM(QC_ZBSDZP.GG) OR RTRIM(MP_DHSJ.dc_tpbh) <> RTRIM(QC_ZBSDZP.CZ)) THEN '不符' - WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) < 10 THEN '' + WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) >=10 AND (RTRIM(MP_DHSJ.dc_tpmc) <> RTRIM(QC_ZBSDZP.GG) OR RTRIM(MP_DHSJ.dc_tpbh) <> RTRIM(QC_ZBSDZP.CZ)) THEN '不符' + WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) < 10 THEN '' END, '' as xz, qc_zbsdzp.gdh , From b9480d5d33d784e7e86549f5849641d6b6df1533 Mon Sep 17 00:00:00 2001 From: xhj Date: Sat, 14 Sep 2024 10:47:25 +0800 Subject: [PATCH 050/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/kc/ImCkwpkwp.java | 507 ++++++++++++++---- 1 file changed, 416 insertions(+), 91 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java b/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java index cfb5c42..9e93bfb 100644 --- a/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java +++ b/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java @@ -1,7 +1,11 @@ package com.dsic.gj_erp.bean.kc; +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 com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -22,123 +26,444 @@ public class ImCkwpkwp { private String kwh;//垛位 @MppMultiId private String nbsbm; - private String ydid; +// private String ydid; +// +// private String cfcs1;//层数 +// +// private String dcCh; +// private String dcPl; +// private String dcFd; +// private String dcTh; +// +// private String qxkcl;//物品数量 +// private String wpzt;//ky:可用;dy:代用 +// +// +// private BigDecimal jjkcl; +// private BigDecimal mfkcl; +// private BigDecimal kcje; +// private String khth; +// private String dhh; +// private String bsbs; +// private String bssch; +// private String ylrkbs; +// private String jgflm; +// private String ddh; +//// private String ckh; +//// private String wph; +//// private String kwh; +//// private String nbsbm; +//// private String wpzt; +//// private BigDecimal qxkcl; +// private String rkrq; +// private BigDecimal rkdj; +// private String kslx; +// private String ksbm; +// private String dqbm; +// private String kssx; +// private String ddtz; +// private String cph; +// private BigDecimal ddxh; +// private String bz; +// private String sxrq; +// private String wpph; +// private BigDecimal djzl; +// private BigDecimal zzl; +// private String xgrq; +// private String xgr; +// private String cpbs; +// private String hdlx; +// private String lph; +// private BigDecimal cfcs; +// private BigDecimal qxkcl1; +//// private String cfcs1; +// private String ylzd1; +// private String ylzd2; +// private String ylzd3; +// private String ylzd4; +// private String ylzd5; +// private String ylzd6; +// private BigDecimal ylzd7; +// private BigDecimal ylzd8; +// private BigDecimal ylzd9; +// private BigDecimal ylzd10; +// private BigDecimal ylzd11; +// private BigDecimal ylzd12; +// private BigDecimal ylzd13; +// private BigDecimal ylzd14; +// private BigDecimal ylzd15; +//// private String dcCh; +//// private String dcCm; +//// private String dcPl; +//// private String dcFd; +//// private String dcTh; +// private String dcZl; +// private String dcTz; +// private String dcYj; +// private String dcYs; +// private String dcPb; +// private String dcLph; +// private String dcTpbh; +// private String dcTpmc; +// private String dcCh1; +// private String dcCm1; +// private String dcPl1; +// private String flch; +// private String flpl; +// private String xz; +// private String llr; +// private String llrq; +// private String zych; +// private String zypl; +// private String zylx; +// private String rklx; +// private String bgr; +// private String bgrq; +// private String yxz; +// private String ybgr; +// private String ybgrq; +// private String ykwh; +// private BigDecimal dbsl; +// private String pwwz; +// private String sldw; +// private String gcddh; +// private String jsczrq; +// private String jsczry; +// private String fph; +// private BigDecimal dddj; +// private BigDecimal hsdj; +// private BigDecimal jse; +// private BigDecimal fks1; +// private BigDecimal hkje; +// private BigDecimal ftyfje; +// private BigDecimal ftyfse; +// private String bzr; +// private String bzrq; +// private String sllsh; +// private String dyry; +// private String dyrq; +// private String yprq; +// private String ypsm; - private String cfcs1;//层数 + @ApiModelProperty(value = "炉批号") + @TableField("LPH") + private String lph; + + @ApiModelProperty(value = "存放层数") + @TableField("CFCS") + private BigDecimal cfcs; + @ApiModelProperty(value = "船号") + @TableField("DC_CH") private String dcCh; + + @ApiModelProperty(value = "船名") + @TableField("DC_CM") + private String dcCm; + + @ApiModelProperty(value = "批量") + @TableField("DC_PL") private String dcPl; - private String dcFd; - private String dcTh; - private String qxkcl;//物品数量 - private String wpzt;//ky:可用;dy:代用 + @ApiModelProperty(value = "分段") + @TableField("DC_FD") + private String dcFd; + @ApiModelProperty(value = "图号") + @TableField("DC_TH") + private String dcTh; - private BigDecimal jjkcl; - private BigDecimal mfkcl; - private BigDecimal kcje; - private String khth; - private String dhh; - private String bsbs; - private String bssch; - private String ylrkbs; - private String jgflm; - private String ddh; -// private String ckh; -// private String wph; -// private String kwh; -// private String nbsbm; -// private String wpzt; -// private BigDecimal qxkcl; - private String rkrq; - private BigDecimal rkdj; - private String kslx; - private String ksbm; - private String dqbm; - private String kssx; - private String ddtz; - private String cph; - private BigDecimal ddxh; - private String bz; - private String sxrq; - private String wpph; - private BigDecimal djzl; - private BigDecimal zzl; - private String xgrq; - private String xgr; - private String cpbs; - private String hdlx; - private String lph; - private BigDecimal cfcs; - private BigDecimal qxkcl1; -// private String cfcs1; - private String ylzd1; - private String ylzd2; - private String ylzd3; - private String ylzd4; - private String ylzd5; - private String ylzd6; - private BigDecimal ylzd7; - private BigDecimal ylzd8; - private BigDecimal ylzd9; - private BigDecimal ylzd10; - private BigDecimal ylzd11; - private BigDecimal ylzd12; - private BigDecimal ylzd13; - private BigDecimal ylzd14; - private BigDecimal ylzd15; -// private String dcCh; -// private String dcCm; -// private String dcPl; -// private String dcFd; -// private String dcTh; + @ApiModelProperty(value = "组立") + @TableField("DC_ZL") private String dcZl; + + @ApiModelProperty(value = "特征") + @TableField("DC_TZ") private String dcTz; + + @ApiModelProperty(value = "依据") + @TableField("DC_YJ") private String dcYj; + + @ApiModelProperty(value = "页数") + @TableField("DC_YS") private String dcYs; + + @ApiModelProperty(value = "拼板") + @TableField("DC_PB") private String dcPb; + + @ApiModelProperty(value = "炉批号") + @TableField("DC_LPH") private String dcLph; + + @ApiModelProperty(value = "托盘编号") + @TableField("DC_TPBH") private String dcTpbh; + + @ApiModelProperty(value = "托盘名称") + @TableField("DC_TPMC") private String dcTpmc; + + @ApiModelProperty(value = "船号") + @TableField("DC_CH1") private String dcCh1; + + @ApiModelProperty(value = "船名") + @TableField("DC_CM1") private String dcCm1; + + @ApiModelProperty(value = "批量") + @TableField("DC_PL1") private String dcPl1; - private String flch; - private String flpl; - private String xz; - private String llr; + + @ApiModelProperty(value = "抛丸位置") + @TableField("PWWZ") + private String pwwz; + + @ApiModelProperty(value = "抛丸位置") + @TableField("SLDW") + private String sldw; + + @ApiModelProperty(value = "船级社") + @TableField("CJS") + private String cjs; + + @TableField("YLZD5") + private String ylzd5; + + @TableField("KSBM") + private String ksbm; + + @TableField("LLRQ") private String llrq; - private String zych; - private String zypl; + + @TableField("QXKCL1") + private BigDecimal qxkcl1; + + @TableField("YBGRQ") + private String ybgrq; + + + + @TableField("YLZD13") + private BigDecimal ylzd13; + + private String bzrq; + + @TableField("RKRQ") + private String rkrq; + + @TableField("DDTZ") + private String ddtz; + + private BigDecimal jse; + + @TableField("YLZD2") + private String ylzd2; + + @TableField("ZYLX") private String zylx; - private String rklx; - private String bgr; + + @TableField("XGRQ") + private String xgrq; + + @TableField("HDLX") + private String hdlx; + + @TableField("BGRQ") private String bgrq; - private String yxz; - private String ybgr; - private String ybgrq; - private String ykwh; - private BigDecimal dbsl; - private String pwwz; - private String sldw; - private String gcddh; + + private String dyrq; + + @TableField("KCJE") + private BigDecimal kcje; + + private BigDecimal ftyfje; + + + + @TableField("RKDJ") + private BigDecimal rkdj; + private String jsczrq; - private String jsczry; - private String fph; - private BigDecimal dddj; - private BigDecimal hsdj; - private BigDecimal jse; + private BigDecimal fks1; - private BigDecimal hkje; - private BigDecimal ftyfje; + + @TableField("XZ") + private String xz; + + @TableField("BZ") + private String bz; + + @TableField("RKLX") + private String rklx; + + @TableField("XGR") + private String xgr; + + @TableField("YXZ") + private String yxz; + private BigDecimal ftyfse; - private String bzr; - private String bzrq; + + @TableField("YLZD11") + private BigDecimal ylzd11; + + @TableField("BSBS") + private String bsbs; + + + @TableField("DDDJ") + private BigDecimal dddj; + + @TableField("YLZD8") + private BigDecimal ylzd8; + + @TableField("CFCS1") + private String cfcs1; + + @TableField("ZYCH") + private String zych; + + @TableField("DJZL") + private BigDecimal djzl; + + @TableField("JGFLM") + private String jgflm; + + @TableField("WPZT") + private String wpzt; + + @TableField("YLZD14") + private BigDecimal ylzd14; + private String sllsh; - private String dyry; - private String dyrq; + + @TableField("CPH") + private String cph; + + @TableField("YLZD3") + private String ylzd3; + + @TableField("YLZD9") + private BigDecimal ylzd9; + + @TableField("FLCH") + private String flch; + + private BigDecimal hsdj; + + @TableField("ZYPL") + private String zypl; + + @TableField("ZZL") + private BigDecimal zzl; + + @TableField("CPBS") + private String cpbs; + private String yprq; + + @TableField("DDH") + private String ddh; + + @TableField("KHTH") + private String khth; + + @TableField("YLZD15") + private BigDecimal ylzd15; + + @TableField("DQBM") + private String dqbm; + + private String jsczry; + + @TableField("HKJE") + private BigDecimal hkje; + + @TableField("YLZD6") + private String ylzd6; + + @TableField("SXRQ") + private String sxrq; + + @TableField("LLR") + private String llr; + + @TableField("YKWH") + private String ykwh; + + @TableField("JJKCL") + private BigDecimal jjkcl; + + + + @TableField("YLZD12") + private BigDecimal ylzd12; + + private String ydid; + + @TableField("BSSCH") + private String bssch; + + @TableField("YLZD7") + private BigDecimal ylzd7; + + @TableField("KSSX") + private String kssx; + + private String fph; + + @TableField("YLZD1") + private String ylzd1; + + @TableField("WPPH") + private String wpph; + + @TableField("DBSL") + private BigDecimal dbsl; + + @TableField("QXKCL") + private BigDecimal qxkcl; + + @TableField("MFKCL") + private BigDecimal mfkcl; + + private String dyry; + + @TableField("YLRKBS") + private String ylrkbs; + + @TableField("YLZD4") + private String ylzd4; + + @TableField("YLZD10") + private BigDecimal ylzd10; + + @TableField("FLPL") + private String flpl; + + @TableField("KSLX") + private String kslx; + + @TableField("GCDDH") + private String gcddh; + + @TableField("DDXH") + private BigDecimal ddxh; + + @TableField("BGR") + private String bgr; + + @TableField("YBGR") + private String ybgr; + + private String bzr; + + @TableField("DHH") + private String dhh; + private String ypsm; From e0f95175eedba97650eab2221ea7fe1c4d4b78f9 Mon Sep 17 00:00:00 2001 From: xhj Date: Sat, 14 Sep 2024 11:25:38 +0800 Subject: [PATCH 051/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pgd/PgdSljhController.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 360733a..c85224e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.fd.DmCzjbb; +import com.dsic.gj_erp.bean.jcsj.DmCbxxp; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; import com.dsic.gj_erp.bean.kc.SlKc; @@ -20,6 +21,7 @@ import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.mapper.kc.ImCkwpkwpMapper; import com.dsic.gj_erp.service.fd.DmCzjbbService; +import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.kc.ImCkwpkwpService; import com.dsic.gj_erp.service.pgd.PgdSljhService; @@ -60,8 +62,13 @@ public class PgdSljhController { @Autowired ImCkwpkwpService imCkwpkwpService; +// @Autowired +// DmCzjbbService dmCzjbbService; @Autowired - DmCzjbbService dmCzjbbService; + DmCbxxpService dmCbxxpService; + + + @Autowired SYService syService; @@ -210,10 +217,10 @@ public class PgdSljhController { List ydjhs = dmYdjhService.list(qw); // 查询上料计划 - List czList = dmCzjbbService.list(); + List czList = dmCbxxpService.list(); for(DmYdjh dmYdjh :ydjhs){ String cjs=""; - DmCzjbb dmCzjbb = czList.stream().filter(fst -> fst.getCzbh().equalsIgnoreCase(dmYdjh.getDcCh())).findFirst().orElse(null); + DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(dmYdjh.getDcCh())).findFirst().orElse(null); if(null!=dmCzjbb){ cjs=dmCzjbb.getCjs(); @@ -247,14 +254,14 @@ public class PgdSljhController { String str1= JSON.toJSONString(map.get("data2")); Listydjhs= JSONObject.parseArray(str1, DmYdjh.class); - List czList = dmCzjbbService.list(); + List czList = dmCbxxpService.list(); ListydupList=new ArrayList<>(); ListckupList=new ArrayList<>(); // 进行比对 for(SlKc slKc :slKcs){ // 获取船级社 String cjs=""; - DmCzjbb dmCzjbb = czList.stream().filter(fst -> fst.getCzbh().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null); + DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null); if(null!=dmCzjbb){ cjs=dmCzjbb.getCjs(); From f5ca895ae0625dc3a273a3d33d6d57f33147357d Mon Sep 17 00:00:00 2001 From: xhj Date: Sat, 14 Sep 2024 16:55:55 +0800 Subject: [PATCH 052/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BD=99=E6=96=99?= =?UTF-8?q?=EF=BC=8C=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pbsc/MpYlxxpController.java | 12 +++++ .../gj_erp/service/pgsc/MpYlxxpService.java | 7 +++ .../service/pgsc/impl/MpYlxxpServiceImpl.java | 12 +++++ .../resources/mappers/pbsc/MpYlxxpMapper.xml | 52 +++++++++++-------- 4 files changed, 62 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java b/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java index ab03480..0e9e5c0 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java @@ -39,6 +39,9 @@ public class MpYlxxpController { @Autowired DmBchxylpMapper dmBchxylpMapper; + + + @PostMapping("/getYlList") @ResponseBody public ResultBean getYlList(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { @@ -160,5 +163,14 @@ public class MpYlxxpController { } return new ResultBean(); } + + @PostMapping("/czzjList") + @ResponseBody + public ResultBean czzjList(HttpServletRequest req, @RequestBody Map map ) throws Exception, CustomException { + List maps = mpYlxxpService.czzjList(map); + return new ResultBean(maps); + } + + } diff --git a/src/main/java/com/dsic/gj_erp/service/pgsc/MpYlxxpService.java b/src/main/java/com/dsic/gj_erp/service/pgsc/MpYlxxpService.java index 250e075..149d3c3 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgsc/MpYlxxpService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgsc/MpYlxxpService.java @@ -3,6 +3,9 @@ package com.dsic.gj_erp.service.pgsc; import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.pbsc.MpYlxxp; +import java.util.List; +import java.util.Map; + /** *

* 服务类 @@ -13,4 +16,8 @@ import com.dsic.gj_erp.bean.pbsc.MpYlxxp; */ public interface MpYlxxpService extends IService { + + + public List czzjList(Map map); + } diff --git a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/MpYlxxpServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/MpYlxxpServiceImpl.java index a1bdae6..f004557 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/MpYlxxpServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/MpYlxxpServiceImpl.java @@ -3,8 +3,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.pbsc.MpYlxxp; import com.dsic.gj_erp.mapper.pbsc.MpYlxxpMapper; import com.dsic.gj_erp.service.pgsc.MpYlxxpService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; + /** *

* 服务实现类 @@ -16,4 +20,12 @@ import org.springframework.stereotype.Service; @Service public class MpYlxxpServiceImpl extends ServiceImpl implements MpYlxxpService { + @Autowired + MpYlxxpMapper mpYlxxpMapper; + + + @Override + public List czzjList(Map map) { + return mpYlxxpMapper.czzjList(map); + } } diff --git a/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml b/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml index 10b3e9b..c2e210f 100644 --- a/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml +++ b/src/main/resources/mappers/pbsc/MpYlxxpMapper.xml @@ -59,42 +59,52 @@ SELECT DISTINCT RTRIM(MP_DHSJ.DHH) AS DHH, RTRIM(MP_DHSJ.WPH) AS WPH, - MP_DHSJ.DHSL, - RTRIM(MP_DHSJ.DC_CH) as DC_CH, - RTRIM(MP_DHSJ.DC_PL) as DC_PL, - - RTRIM(MP_DHSJ.DC_TH ) as DC_TH, - - - RTRIM(MP_DHSJ.DC_PB ) as DC_PB, - + RTRIM(MP_DHSJ.DC_TH) as DC_TH, + RTRIM(MP_DHSJ.DC_PB) as DC_PB, MP_DHSJ.DC_LPH, - RTRIM(MP_DHSJ.sjksrqg) as sjksrqg, - RTRIM(DM_WPJBP.WPMC) AS WPMC, - RTRIM(MP_DHSJ.dc_tpmc) AS WPGG , - RTRIM(MP_DHSJ.dc_tpbh) AS WPXH , + RTRIM(MP_DHSJ.dc_tpmc) AS WPGG, + RTRIM(MP_DHSJ.dc_tpbh) AS WPXH, RTRIM(QC_ZBSDZP.ZBSH) AS ZBSH, RTRIM(QC_ZBSDZP.GG) AS GG, RTRIM(QC_ZBSDZP.CZ) AS CZ, - ZJZT = CASE WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) >=10 THEN 1 - ELSE 0 - END , - FHZT = CASE WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) >=10 AND (RTRIM(MP_DHSJ.dc_tpmc) = RTRIM(QC_ZBSDZP.GG) AND RTRIM(MP_DHSJ.dc_tpbh) = RTRIM(QC_ZBSDZP.CZ)) THEN '符合' - WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) >=10 AND (RTRIM(MP_DHSJ.dc_tpmc) <> RTRIM(QC_ZBSDZP.GG) OR RTRIM(MP_DHSJ.dc_tpbh) <> RTRIM(QC_ZBSDZP.CZ)) THEN '不符' + ZJZT = CASE WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) >= 10 THEN 1 ELSE 0 END, + FHZT = CASE + WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) >= 10 + AND (RTRIM(MP_DHSJ.dc_tpmc) = RTRIM(QC_ZBSDZP.GG) + AND RTRIM(MP_DHSJ.dc_tpbh) = RTRIM(QC_ZBSDZP.CZ)) THEN '符合' + WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) >= 10 + AND (RTRIM(MP_DHSJ.dc_tpmc) <> RTRIM(QC_ZBSDZP.GG) + OR RTRIM(MP_DHSJ.dc_tpbh) <> RTRIM(QC_ZBSDZP.CZ)) THEN '不符' WHEN LEN(RTRIM(QC_ZBSDZP.ZBSH)) < 10 THEN '' END, '' as xz, - qc_zbsdzp.gdh , + qc_zbsdzp.gdh, qc_zbsdzp.ylzd2 + FROM MP_DHSJ + LEFT JOIN DM_WPJBP ON MP_DHSJ.WPH = DM_WPJBP.WPH + LEFT JOIN QC_ZBSDZP ON MP_DHSJ.DC_LPH = QC_ZBSDZP.LPH + + + + where 1=1 + + + + and MP_DHSJ.DC_CH=#{dcch} + - FROM MP_DHSJ,DM_WPJBP,QC_ZBSDZP - WHERE MP_DHSJ.WPH *= DM_WPJBP.WPH + + and MP_DHSJ.dc_pl>=#{dcpl} and MP_DHSJ.dc_pl<=#{dcpl1} + + + and MP_DHSJ.dc_pl=#{dcpl} + From 5ee08bb33607947746a3a2f19b6408fb4ccf382a Mon Sep 17 00:00:00 2001 From: xhj Date: Sat, 14 Sep 2024 17:11:56 +0800 Subject: [PATCH 053/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BD=99=E6=96=99?= =?UTF-8?q?=EF=BC=8C=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index c85224e..fe1a890 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -208,7 +208,7 @@ public class PgdSljhController { if(map.get("rqopt").equals("01")){ - qw.eq("isnull(ZT,'')","2"); + qw.eq("isnull(ZT,'')","2").eq("isnull(slkcdw,'')",""); }else if(map.get("rqopt").equals("02")) { qw.eq("isnull(ZT,'')","2").ne("isnull(slkcdw,'')",""); }else if(map.get("rqopt").equals("03")) { From 0b6aa4c268416a6341683db325529dc9324590d7 Mon Sep 17 00:00:00 2001 From: xhj Date: Sat, 14 Sep 2024 17:38:48 +0800 Subject: [PATCH 054/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BD=99=E6=96=99?= =?UTF-8?q?=EF=BC=8C=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 2 +- .../service/jhgk/impl/DmYdjhServiceImpl.java | 12 +++- .../resources/mappers/jhgk/DmYdjhMapper.xml | 66 ++++++++++++++++++- 3 files changed, 76 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index f8173c1..9297d5e 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -34,7 +34,7 @@ public interface DmYdjhMapper extends BaseMapper { List getTzjh1(@Param("begin") String begin, @Param("end") String end); -// List getDhjh1(@Param("begin") String begin, @Param("end") String end); + List getDhjh1(List ids); List getSljh1(@Param("begin") String begin, @Param("end") String end); List getPwjh1(@Param("begin") String begin, @Param("end") String end); List getQgjh1(@Param("begin") String begin, @Param("end") String end); 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 84ca794..5e39906 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 @@ -143,14 +143,14 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme dmYdjh.setColor("yellow"); } } - if(StringUtils.isBlank(pgdTzjh.getTltxfrq())||StringUtils.isBlank(dmYdjh.getHxrq()) ){ + if(StringUtils.isBlank(pgdTzjh.getTltxfrq())||StringUtils.isBlank(dmYdjh.getHxjhrq()) ){ // corlor yellow dmYdjh.setColor("red"); }else{ DateTime dateStr1 = DateUtil.parse(pgdTzjh.getTltxfrq(), "yyyy/MM/dd"); - DateTime dateStr2 = DateUtil.parse(dmYdjh.getHxrq(), "yyyy/MM/dd"); + DateTime dateStr2 = DateUtil.parse(dmYdjh.getHxjhrq(), "yyyy/MM/dd"); int result = DateUtil.compare(dateStr1, dateStr2); if (result > 0) { System.out.println(dateStr1 + " is after " + dateStr2); @@ -259,6 +259,14 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme List idList = ydjhList.stream().map(DmYdjh::getId).collect(Collectors.toList()); + + List dh= baseMapper.getDhjh1(idList); + if (dh.size()>0){ + + dhService.saveBatch(dh); + + } + if (idList.size() > 100) { List list = idList.subList(idList.size() / 100 * 100, idList.size()); AtomicInteger index = new AtomicInteger(idList.size() / 100 + 1); diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 39e5bf4..25af359 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -387,7 +387,71 @@ ORDER BY dm_ydjh.dc_ch, dm_ydjh.dc_pl - + + diff --git a/src/main/resources/mappers/pgd/PgdQmjhMapper.xml b/src/main/resources/mappers/pgd/PgdQmjhMapper.xml index 9c23f21..5aabc22 100644 --- a/src/main/resources/mappers/pgd/PgdQmjhMapper.xml +++ b/src/main/resources/mappers/pgd/PgdQmjhMapper.xml @@ -43,70 +43,129 @@ czbh, pl, fd, kw, zl, tlth, ptblx, ljbh, ljmc, ljgg, ljcz, wpfl, jldw, sl, qjgjhrq, qfxqrqxz, qfxqrqdz, gylx, qjgfzry, qsbbh, qjgry, qjgksrq, qjgjsrq, zt, bzry, bzrq, xfry, xfrq, fkry, fkrq, fkyy, id - SELECT - dm_ydjh_lj.czbh as lczbh, - dm_ydjh_lj.pl as lpl , - dm_ydjh_lj.fd as lfd, - dm_ydjh_lj.kw as lkw, - dm_ydjh_lj.zl as lzl, - dm_ydjh_lj.tlth as ltlth, - dm_ydjh_lj.ptblx as lptblx, - dm_ydjh_lj.ljbh as ljbh, - dm_ydjh_lj.ljmc as lljmc, - dm_ydjh_lj.ljgg as lljgg, - dm_ydjh_lj.ljcz as lljcz, - dm_ydjh_lj.wpfl as lwpfl, - dm_ydjh_lj.jldw as ljldw, - dm_ydjh_lj.sl as lsl, - dm_ydjh_lj.qfxqrqxz as lqfxqrqxz, - dm_ydjh_lj.qfxqrqdz as lqfxqrqdz, - dm_ydjh_lj.gylx as gylx, + dm_ydjh_lj.id, + dm_ydjh_lj.czbh, + dm_ydjh_lj.pl, + dm_ydjh_lj.fd, + dm_ydjh_lj.kw, + dm_ydjh_lj.zl, + dm_ydjh_lj.tlth, + dm_ydjh_lj.ptblx, + dm_ydjh_lj.ljbh, + dm_ydjh_lj.ljmc, + dm_ydjh_lj.ljgg, + dm_ydjh_lj.ljcz, + dm_ydjh_lj.wpfl, + dm_ydjh_lj.jldw, + dm_ydjh_lj.sl, + dm_ydjh_lj.dmjhrq, + dm_ydjh_lj.qfxqrqxz, + dm_ydjh_lj.qfxqrqdz, + dm_ydjh_lj.gylx, + dm_ydjh_lj.dmfzry, + dm_ydjh_lj.dmsbbh, + dm_ydjh_lj.dmcd, + dm_ydjh_lj.dmry, + dm_ydjh_lj.dmksrq, + dm_ydjh_lj.dmjsrq, + dm_ydjh_lj.dm_zt, + dm_ydjh_lj.dm_bzry, + dm_ydjh_lj.dm_bzrq, + dm_ydjh_lj.dm_xfry, + dm_ydjh_lj.dm_xfrq, + dm_ydjh_lj.dm_fkry, + dm_ydjh_lj.dm_fkrq, + dm_ydjh_lj.dm_fkyy, + dm_ydjh_lj.pkjhrq, + dm_ydjh_lj.pkfzry, + dm_ydjh_lj.pksbbh, + dm_ydjh_lj.pklx, + dm_ydjh_lj.pkcd, + dm_ydjh_lj.pkry, + dm_ydjh_lj.pkksrq, + dm_ydjh_lj.pkjsrq, + dm_ydjh_lj.pk_zt, + dm_ydjh_lj.pk_bzry, + dm_ydjh_lj.pk_bzrq, + dm_ydjh_lj.pk_xfry, + dm_ydjh_lj.pk_xfrq, + dm_ydjh_lj.pk_fkry, + dm_ydjh_lj.pk_fkrq, + dm_ydjh_lj.pk_fkyy, + dm_ydjh_lj.qjgjhrq, + dm_ydjh_lj.qjgfzry, + dm_ydjh_lj.qsbbh, + dm_ydjh_lj.qjgry, + dm_ydjh_lj.qjgksrq, + dm_ydjh_lj.qjgjsrq, + dm_ydjh_lj.qjg_zt, + dm_ydjh_lj.qjg_bzry, + dm_ydjh_lj.qjg_bzrq, + dm_ydjh_lj.qjg_xfry, + dm_ydjh_lj.qjg_xfrq, + dm_ydjh_lj.qjg_fkry, + dm_ydjh_lj.qjg_fkrq, + dm_ydjh_lj.qjg_fkyy, + dm_ydjh_lj.pkbs, + dm_ydjh_lj.dmbs, + dm_ydjh_lj.qbs, + dm_ydjh_lj.qdr, + dm_ydjh_lj.pkdr, + dm_ydjh_lj.dmdr, + dm_ydjh_lj.dscdw, + dm_ydjh_lj.dscry, + dm_ydjh_lj.djsry, + dm_ydjh_lj.djsrq, + dm_ydjh_lj.qscdw, + dm_ydjh_lj.qscry, + dm_ydjh_lj.qjsry, + dm_ydjh_lj.qjsrq, + dm_ydjh_lj.pscdw, + dm_ydjh_lj.pscry, + dm_ydjh_lj.pjsry, + dm_ydjh_lj.pjsrq, + dm_ydjh_lj.lsh, + dm_ydjh_lj.ppzt, + dm_ydjh_lj.rkry, + dm_ydjh_lj.rkrq, + dm_ydjh_lj.qrry, + dm_ydjh_lj.qrrq, + dm_ydjh_lj.qq, + dm_ydjh_lj.dw, + dm_ydjh_lj.qgdh, + dm_ydjh_lj.pgdh, + dm_ydjh_lj.dgdh, + dm_ydjh.slfkry, + dm_ydjh.slfkrq, + dm_ydjh.pwfkry, + dm_ydjh.pwfkrq, + dm_ydjh.llfkry, + dm_ydjh.llfkrq, + dm_ydjh.hxfkrq, + dm_ydjh.hxfkry, + dm_ydjh.qgfkrq, + dm_ydjh.qgfkry, + dm_ydjh.hxjhrq, + dm_ydjh.qgjhrq, + dm_ydjh.zcljhrq, + dm_ydjh.sljhrq, + dm_ydjh.pwjhrq, + dm_ydjh.lljhrq - dm_ydjh_lj.id, - pgd_qgjh.czbh, - pgd_qgjh.pl, - pgd_qgjh.fd, - pgd_qgjh.zl, - pgd_qgjh.lqlb, - pgd_qgjh.kw, - pgd_qgjh.tlth, - pgd_qgjh.wpgg, - pgd_qgjh.wpcz, - pgd_qgjh.wpzl, - pgd_qgjh.qgjhrq, - pgd_qgjh.qfxqrqxz, - pgd_qgjh.qfxqrqdz, - pgd_qgjh.pwjhwgrq, - pgd_qgjh.qgfzry, - pgd_qgjh.hxsbbh, - pgd_qgjh.hxcd, - pgd_qgjh.hxkccd, - pgd_qgjh.qgsbbh, - pgd_qgjh.qgcd, - pgd_qgjh.qgkccd, - pgd_qgjh.hxry, - pgd_qgjh.hxksrq, - pgd_qgjh.hxjsrq, - pgd_qgjh.qgry, - pgd_qgjh.qgksrq, - pgd_qgjh.qgjsrq, - pgd_qgjh.zt, - pgd_qgjh.bzry, - pgd_qgjh.bzrq, - pgd_qgjh.xfry, - pgd_qgjh.xfrq, - pgd_qgjh.fkry, - pgd_qgjh.fkrq, - pgd_qgjh.fkyy FROM - pgd_qgjh LEFT JOIN dm_ydjh_lj on pgd_qgjh.czbh=dm_ydjh_lj.czbh and pgd_qgjh.pl= dm_ydjh_lj.pl and pgd_qgjh.tlth =dm_ydjh_lj.tlth - where 1=1 + dm_ydjh_lj LEFT JOIN dm_ydjh on dm_ydjh.dc_ch=dm_ydjh_lj.czbh and dm_ydjh.dc_pl= dm_ydjh_lj.pl and dm_ydjh.tzbh =dm_ydjh_lj.tlth + and + + dm_ydjh.dc_pl= dm_ydjh_lj.fd + + where 1=1 and dm_ydjh_lj.czbh=#{dcch} @@ -117,33 +176,237 @@ and dm_ydjh_lj.tlth=#{tlth} + + and dm_ydjh_lj.kw=#{qgkw} + + + + + + and dm_ydjh_lj.dw=#{dw} + + + + and dm_ydjh_lj.qq=#{qq} + + + + and isnull(dm_ydjh.qgfkrq,'')!='' + + + - and isnull(dm_ydjh_lj.qdr,'')='' - - and ISNULL(dm_ydjh_lj.qbs,'')='Y' + + + and ISNULL(dm_ydjh_lj.qjg_zt,'')=#{zt} - and isnull(dm_ydjh_lj.dmdr,'')='' - - and ISNULL(dm_ydjh_lj.dmbs,'')='Y' + + and ISNULL(dm_ydjh_lj.dm_zt,'')=#{zt} - and isnull(dm_ydjh_lj.pkdr,'')='' - - and ISNULL(dm_ydjh_lj.pkdr,'')='Y' + + and ISNULL(dm_ydjh_lj.pk_zt,'')=#{zt} + order by czbh,pl,fd + + + + + + + From 6b67c6c3f688d1da6c9d2e648bce94277ac202b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 17 Sep 2024 20:16:25 +0800 Subject: [PATCH 060/196] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E4=BC=98=E5=8C=96?= =?UTF-8?q?=202.=E5=A2=9E=E5=8A=A0=E9=9B=B6=E4=BB=B6=E6=B4=BE=E5=B7=A5?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pgd/PgdQmjhController.java | 22 +++++++++++++++++++ .../resources/mappers/pgd/PgdQmjhMapper.xml | 18 +++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java index e0f4d2a..d07fc37 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.controller.pgd; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; @@ -42,6 +43,24 @@ public class PgdQmjhController { @Autowired PgdQmjhMapper pgdQmjhMapper; + @PostMapping("pg") + public ResultBean pg(@RequestBody List list){ + String date = DateUtil.date().toString("yyyy/MM/dd"); + list.forEach(item->{ + if ("Y".equals(item.getPkbs())){ + item.setPkXfrq(date); + } + if ("Y".equals(item.getQbs())){ + item.setQjgXfrq(date); + } + if ("Y".equals(item.getDmbs())){ + item.setDmXfrq(date); + } + }); + dmYdjhLjService.updateBatchById(list); + return new ResultBean<>(); + } + @PostMapping("/getQmPgd") @@ -54,6 +73,9 @@ public class PgdQmjhController { qw.eq(StrUtil.isNotEmpty((String)map.get("pl")),"pl",(String)map.get("pl")); qw.eq(StrUtil.isNotEmpty((String)map.get("fd")),"fd",(String)map.get("fd")); qw.eq(StrUtil.isNotEmpty((String)map.get("zt")),"qjg_zt",(String)map.get("zt")); + qw.eq(StrUtil.isNotEmpty((String)map.get("dmry")),"dmry",(String)map.get("dmry")); + qw.eq(StrUtil.isNotEmpty((String)map.get("pkry")),"pkry",(String)map.get("pkry")); + qw.eq(StrUtil.isNotEmpty((String)map.get("qjgry")),"qjgry",(String)map.get("qjgry")); List dmYdjhLjs = pgdQmjhMapper.selectQmByQgAndJh(map); // qw.eq("qbs","Y"); diff --git a/src/main/resources/mappers/pgd/PgdQmjhMapper.xml b/src/main/resources/mappers/pgd/PgdQmjhMapper.xml index 5aabc22..7f48384 100644 --- a/src/main/resources/mappers/pgd/PgdQmjhMapper.xml +++ b/src/main/resources/mappers/pgd/PgdQmjhMapper.xml @@ -166,6 +166,24 @@ dm_ydjh.dc_pl= dm_ydjh_lj.fd where 1=1 + + and dm_ydjh_lj.pkry=#{pkry} + + + and dm_ydjh_lj.pkry=#{pkry} + + + and dm_ydjh_lj.dmry=#{dmry} + + + and dm_ydjh_lj.qbs=#{qbs} + + + and dm_ydjh_lj.pkbs=#{pkbs} + + + and dm_ydjh_lj.dmbs=#{dmbs} + and dm_ydjh_lj.czbh=#{dcch} From 2830cc56080ce9770d060b9037c6b555e5d74227 Mon Sep 17 00:00:00 2001 From: xhj Date: Wed, 18 Sep 2024 19:31:47 +0800 Subject: [PATCH 061/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/controller/pgd/PgdTzjhController.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index 230c09d..5b91f77 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -144,20 +144,27 @@ public class PgdTzjhController { returnMap.put("ycldws", ycldws); returnMap.put("bmbm", bmbm); - List qgkws = dm_zhbmpRepository.findByBMLB("QGKW"); + List qgkws1 = dm_zhbmpRepository.findByBMLB("QGKW"); + Listqgkws=new ArrayList<>(); + for (Dm_zhbmp qgkw : qgkws1) { + if(qgkw.getBmsm().equals("1") || qgkw.getBmsm().equals("2")|| qgkw.getBmsm().equals("3")||qgkw.getBmsm().equals("4") ){ + continue; + } + qgkws.add(qgkw); + } List zylxs = dm_zhbmpRepository.findByBMLB("zylx"); List pwwzs = dm_zhbmpRepository.findByBMLB("pwwz"); List dhql = dm_zhbmpRepository.findByBMLB("DHQL"); - List resourcesCodes = dmBzryService.list(new QueryWrapper().select("DISTINCT resources_code as resourcesCode ") - .eq("flag_status", "1").ne("isnull(resources_code,'')","").orderBy(true,true,"resources_code")); + List resourcesCodes = dmBzryService.list(new QueryWrapper().select("DISTINCT zyq as zyq ") + .eq("flag_status", "1").in("zyq","二区","三区","四区","五区").orderBy(true,true,"zyq")); List zyqs = dmBzryService.list(new QueryWrapper().select(" resources_code","zyq") .eq("flag_status", "1").ne("isnull(resources_code,'')","").groupBy("resources_code","zyq").orderBy(true,true,"resources_code")); List zyrys= dmBzryService.list(new QueryWrapper() - .eq("flag_status", "1").ne("isnull(zyq,'')","").orderBy(true,true,"zyq")); + .eq("flag_status", "1").ne("isnull(zyq,'')","").in("zyq","二区","三区","四区","五区").orderBy(true,true,"zyq")); List kwxxs = dm_zhbmpRepository.findByBMLB("PBBM"); From 3f6611d5f9a050b4578ae753d90e832d84a90f19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 19 Sep 2024 17:25:32 +0800 Subject: [PATCH 062/196] =?UTF-8?q?1.=E6=9B=B4=E6=96=B0=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmSygdxq.java | 3 ++ .../com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java | 4 +- .../controller/pgd/PgdQmjhController.java | 14 +------ .../controller/yuyin/YuyinController.java | 5 ++- .../gj_erp/mapper/jhgk/DmSygdxqMapper.java | 1 + .../gj_erp/service/jhgk/DmSygdxqService.java | 1 + .../jhgk/impl/DmSygdxqServiceImpl.java | 40 ++++++++++++++++++- .../gj_erp/service/pgd/PgdQmjhService.java | 1 + .../service/pgd/impl/PgdQmjhServiceImpl.java | 39 ++++++++++++++++++ .../java/com/dsic/gj_erp/ws/WsHandler.java | 4 ++ .../com/dsic/gj_erp/wsclient/Message.java | 2 + .../gj_erp/wsclient/WebSocketService.java | 5 +++ .../gj_erp/wsclient/handler/HeartHandler.java | 19 ++++++++- .../gj_erp/wsclient/handler/TipHandler.java | 23 +++++++++++ .../gj_erp/wsclient/handler/ZxHandler.java | 13 +++--- src/main/resources/application-ws.yml | 2 +- .../resources/mappers/jhgk/DmSygdxqMapper.xml | 37 +++++++++++++++++ .../resources/mappers/pgd/PgdQmjhMapper.xml | 12 +++--- 18 files changed, 196 insertions(+), 29 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/wsclient/handler/TipHandler.java diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdxq.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdxq.java index 91f5654..6fca9dd 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdxq.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdxq.java @@ -95,4 +95,7 @@ public class DmSygdxq implements Serializable { @TableField(exist = false) private List bomList; + @TableField(exist = false) + private String mbcz;//目标船 + } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java index 5a7e760..8e18e87 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java @@ -321,7 +321,9 @@ public class DmYdjhLj implements Serializable { @TableField(exist = false) private String lljhrq; // 理料计划日期 - + public boolean checkZt(){ + return !"03".equals(this.pkZt)||!"03".equals(this.qjgZt)||!"03".equals(this.dmZt); + } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java index d07fc37..78f0eee 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java @@ -45,19 +45,7 @@ public class PgdQmjhController { @PostMapping("pg") public ResultBean pg(@RequestBody List list){ - String date = DateUtil.date().toString("yyyy/MM/dd"); - list.forEach(item->{ - if ("Y".equals(item.getPkbs())){ - item.setPkXfrq(date); - } - if ("Y".equals(item.getQbs())){ - item.setQjgXfrq(date); - } - if ("Y".equals(item.getDmbs())){ - item.setDmXfrq(date); - } - }); - dmYdjhLjService.updateBatchById(list); + pgdQmjhService.pg(list); return new ResultBean<>(); } diff --git a/src/main/java/com/dsic/gj_erp/controller/yuyin/YuyinController.java b/src/main/java/com/dsic/gj_erp/controller/yuyin/YuyinController.java index a3c04fc..bec6334 100644 --- a/src/main/java/com/dsic/gj_erp/controller/yuyin/YuyinController.java +++ b/src/main/java/com/dsic/gj_erp/controller/yuyin/YuyinController.java @@ -22,10 +22,13 @@ public class YuyinController { * 重连语音上报websocket服务器 */ @GetMapping("recon") - public ResultBean recon(){ + public ResultBean recon() throws Exception { WebSocketSession session = socketService.getSession(); if (session==null){ clientComponent.init(); + }else { + socketService.disconnect(); + clientComponent.init(); } return new ResultBean<>(); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java index b38d403..e0b4180 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java @@ -19,6 +19,7 @@ import java.util.List; */ public interface DmSygdxqMapper extends BaseMapper { + List getXqWithBom2(String from,String to,String dcch,String pl); List getXqWithBom(String from,String to,String dcch,String pl); List getSygdLjMx(String begin,String end); diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdxqService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdxqService.java index 009db9c..f110f7c 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdxqService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdxqService.java @@ -19,4 +19,5 @@ public interface DmSygdxqService extends IService { void saveDzList(List list, String username, String day); List getXqWithBom(String from, String to); + List getXqWithBom2(String from, String to); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java index 46ae476..0641498 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java @@ -7,12 +7,17 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; 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.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.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.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmSygdxqOldService; import com.dsic.gj_erp.service.jhgk.DmSygdxqService; @@ -21,6 +26,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Optional; /** *

@@ -39,6 +45,11 @@ public class DmSygdxqServiceImpl extends ServiceImpl i DmSygdMxService sygdMxService; @Autowired DmBomService bomService; + @Autowired + DmCbxxpService dmCbxxpService; + @Autowired + private DmBomServiceImpl dmBomServiceImpl; + @Override @Transactional public void saveXzList(List list,String username,String day){ @@ -133,8 +144,35 @@ public class DmSygdxqServiceImpl extends ServiceImpl i return t(from,to,"",""); } + @Override + public List getXqWithBom2(String from, String to) { + return t2(from,to,"",""); + } + private List t(String from, String to,String dcch,String pl){ - return baseMapper.getXqWithBom(from,to,dcch,pl); + List xqWithBom = baseMapper.getXqWithBom(from, to, dcch, pl); + for (DmSygdxq xq : xqWithBom) { + if (ObjUtil.isEmpty(xq.getBomList())){ + //从系列船取bom + //获取系列船信息 + DmCbxxp one = dmCbxxpService.getOne(Wrappers.lambdaQuery() + .eq(DmCbxxp::getCbbm, xq.getDcCh()) + ); + Optional.ofNullable(one).ifPresent(item->{ + List bomList = bomService.list(Wrappers.lambdaQuery() + .eq(DmBom::getDcch, xq.getDcCh()) + .eq(DmBom::getPl, xq.getDcPl()) + .eq(DmBom::getFd, xq.getDcFd()) + ); + xq.setBomList(bomList); + }); + } + } + return xqWithBom; + } + + private List t2(String from, String to,String dcch,String pl){ + return baseMapper.getXqWithBom2(from,to,dcch,pl); } //零件信息 diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java index 71efea5..b278726 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java @@ -20,6 +20,7 @@ import java.util.Map; */ public interface PgdQmjhService extends IService { + void pg(List list); void saveQmPgdJs(List qmjhs, HttpServletRequest request); void saveQmPgdXd(List qmjhs, HttpServletRequest request); void saveQmPgdFk(List qmjhs, HttpServletRequest request); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java index 83d5b73..3fd3c53 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; @@ -42,6 +43,44 @@ public class PgdQmjhServiceImpl extends ServiceImpl impl @Autowired SYService syService; + @Transactional(rollbackFor = Exception.class) + public void pg(List list){ + String date = DateUtil.date().toString("yyyy/MM/dd"); + list.stream().filter(DmYdjhLj::checkZt) + .forEach(item->{ + if ("Y".equals(item.getPkbs())){ + if (StrUtil.isEmpty(item.getPgdh())){ + String gdh = syService.f_getpjh("MM", "00", "LJLJ"); + item.setPgdh(gdh); + } + item.setPkXfrq(date); + }else{ + item.setPkXfrq(""); + } + + if ("Y".equals(item.getQbs())){ + if (StrUtil.isEmpty(item.getQgdh())){ + String gdh = syService.f_getpjh("MM", "00", "LJLJ"); + item.setQgdh(gdh); + } + item.setQjgXfrq(date); + }else{ + item.setQjgXfrq(""); + } + + if ("Y".equals(item.getDmbs())){ + if (StrUtil.isEmpty(item.getDgdh())){ + String gdh = syService.f_getpjh("MM", "00", "LJLJ"); + item.setDgdh(gdh); + } + item.setDmXfrq(date); + }else{ + item.setDmXfrq(""); + } + }); + dmYdjhLjService.updateBatchById(list); + } + @Override public void saveQmPgdJs(List qmjhs, HttpServletRequest request) { Listups= new ArrayList<>(); diff --git a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java index 029203a..1b5f5af 100644 --- a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java +++ b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java @@ -38,6 +38,10 @@ public class WsHandler { } } + public void tip(JSONObject object){ + socketIOServer.getBroadcastOperations().sendEvent("tip", object); + } + public void zyjhzx(JSONObject object){ socketIOServer.getBroadcastOperations().sendEvent("zyjhzx", object); } diff --git a/src/main/java/com/dsic/gj_erp/wsclient/Message.java b/src/main/java/com/dsic/gj_erp/wsclient/Message.java index 9f5f84c..e3693c6 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/Message.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/Message.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.wsclient; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; import lombok.AllArgsConstructor; @@ -16,6 +17,7 @@ public class Message { private CodeEnum codeEx; @JSONField(serialize = false) private Instructions instructions; + private long receiveTime= DateUtil.date().getTime();//毫秒级别 public CodeEnum getCodeEx(){ if (this.codeEx==null){ diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java index e1fd638..fac7ab6 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.wsclient; import com.alibaba.fastjson.JSONObject; +import com.dsic.gj_erp.wsclient.handler.TipHandler; import com.dsic.gj_erp.wsclient.handler.ZxHandler; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -21,6 +22,7 @@ public class WebSocketService extends TextWebSocketHandler { private final WebSocketClient client; private final ZxHandler zxHandler; + private final TipHandler tipHandler; public void connect(String uri) { @@ -55,6 +57,9 @@ public class WebSocketService extends TextWebSocketHandler { case REG: log.info("设备{},连接成功",msg.getMsg().getDeviceId()); break; + case TIP: + tipHandler.execute(msg); + break; case ZX: zxHandler.execute(msg); break; diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java index efbff54..d71cdb0 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/HeartHandler.java @@ -5,7 +5,9 @@ import cn.hutool.cron.task.Task; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.wsclient.Message; import com.dsic.gj_erp.wsclient.WebSocketService; +import lombok.Getter; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @Service @@ -16,16 +18,31 @@ public class HeartHandler implements IHandlerService{ private boolean scheduleStartFlag=false; + @Value("${ws.client.url}") + private String url; + + @Getter + @Value("${ws.client.id}") + private String erpId; + @Override public boolean execute(Message message) { if (this.scheduleStartFlag){ return true; } - CronUtil.schedule("*/30 * * * * *", (Task) () -> { + CronUtil.schedule("*/10 * * * * *", (Task) () -> { try { System.out.println("心跳"); webSocketService.sendMessage(message.toString()); } catch (Exception e) { + if (webSocketService.getSession()==null){ + webSocketService.connect(this.url); + try { + webSocketService.sendMessage(Message.reg(this.erpId).toString()); + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } e.printStackTrace(); } }); diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/TipHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/TipHandler.java new file mode 100644 index 0000000..ebe47b9 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/TipHandler.java @@ -0,0 +1,23 @@ +package com.dsic.gj_erp.wsclient.handler; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.service.jhgk.DmYdjhService; +import com.dsic.gj_erp.ws.WsHandler; +import com.dsic.gj_erp.wsclient.Message; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class TipHandler implements IHandlerService{ + + private final WsHandler wsHandler; + + @Override + public boolean execute(Message message) { + wsHandler.tip(message.toJson()); + return true; + } +} diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java index fc28f0d..f4cd546 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java @@ -9,6 +9,8 @@ import com.dsic.gj_erp.wsclient.Message; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Optional; + @Service @AllArgsConstructor public class ZxHandler implements IHandlerService{ @@ -20,11 +22,12 @@ public class ZxHandler implements IHandlerService{ public boolean execute(Message message) { String djh=message.getMsg().getOrderNumber(); DmYdjh one = ydjhService.getOne(Wrappers.lambdaQuery().eq(DmYdjh::getDjh, djh)); - JSONObject object=new JSONObject(); - object.put("zyjh",one); - object.put("zt",one.getZt()); - wsHandler.zyjhzx(object); - + Optional.ofNullable(one).ifPresent(item->{ + JSONObject object=new JSONObject(); + object.put("zyjh",one); + object.put("zt",one.getZt()); + wsHandler.zyjhzx(object); + }); return true; } } diff --git a/src/main/resources/application-ws.yml b/src/main/resources/application-ws.yml index 2e17433..e7f3638 100644 --- a/src/main/resources/application-ws.yml +++ b/src/main/resources/application-ws.yml @@ -9,5 +9,5 @@ ws: maxHttpContentLength: 1048576 maxFramePayloadLength: 1048576 client: - url: ws://192.168.13.9:9000 + url: ws://127.0.0.1:9000 id: abc \ No newline at end of file diff --git a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml index 64ab5a0..001baca 100644 --- a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml @@ -64,6 +64,43 @@ where a.rn=1 order by a.xzglxq + + select * from( + SELECT + a.DC_CH,a.DC_PL, a.xzglxq, a.dzglxq as gjjs_dz, + b.dc_ch1, b.LQLB, b.tzbh, b.wpgg, b.wpxh, b.hxcd, b.qgcd, b.qbs, b.pklx, b.pkcd, b.ljsl, + b.zl, b.lx, b.xcms, b.kw, b.slrq, b.slrq sljhrq, b.slry, b.llrq, b.llrq lljhrq, b.pw, b.pwry, + b.pwrq, b.pwrq pwjhrq, b.hxsb, b.hxry, b.hxrq, b.hxrq hxjhrq, b.qgsb, b.qgry, b.qgrq, b.qgrq qgjhrq, + b.pwsb, b.DC_FD, b.jzbs, b.jzsb, b.jzry, b.dcCh2, b.gjks, b.gxsj, b.hxkc_cd, b.qgkc_cd, b.jssj, b.zt, + b.xcgs, b.bclqzl, b.bcshzl, b.bcylzl, b.bcljtlzl, b.bcqpyld, b.ylbhgg, b.xxr, b.pkrq, b.qjgrq, b.dmrq, + row_number() over(partition by a.DC_CH,a.DC_PL,b.tzbh order by a.xzglxq ) rn + from + dm_qfxq a left JOIN dm_sygd_mx b + on a.dc_pl=b.dc_pl and a.DC_CH=b.dc_ch and a.DC_FD=b.dc_fd + where a.id in + + #{item} + + ) a + where a.rn =1 + ORDER BY a.xzglxq,a.DC_CH,a.DC_PL + + + + + update pgd_tzjh set zt='01' From b7f50399402c13bf176d016aa92f3bc696c87e4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 9 Oct 2024 14:55:39 +0800 Subject: [PATCH 067/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=9A=84bug=202.=E9=A2=84=E9=85=8D?= =?UTF-8?q?=E7=9B=98=E5=9E=9B=E4=BD=8D=E5=A2=9E=E5=8A=A0=E5=B1=82=E6=95=B0?= =?UTF-8?q?=E4=BF=A1=E6=81=AF,=E5=A2=9E=E5=8A=A0=E9=A2=84=E9=85=8D?= =?UTF-8?q?=E7=9B=98=E4=BD=8D=E7=BD=AE=E9=A6=96=E6=AC=A1=E6=91=86=E6=94=BE?= =?UTF-8?q?=E6=97=B6=E7=A1=AE=E5=AE=9A=E8=88=B9=E5=8F=B7=E3=80=81=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E3=80=81=E5=88=86=E6=AE=B5,=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E6=91=86=E6=94=BE=E6=97=B6=E6=97=B6=E6=8F=90=E9=86=92=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java | 6 ++++++ .../com/dsic/gj_erp/controller/jcsj/DmDwxxpController.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java index 3e5cdd5..3e80c66 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java @@ -20,4 +20,10 @@ public class DmDwxxp implements Serializable { @MppMultiId private String qy;//区域 + + private String dcCh; + + private String dcPl; + + private String dcFd; } diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmDwxxpController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmDwxxpController.java index 7dd2d6a..aed259c 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmDwxxpController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmDwxxpController.java @@ -29,7 +29,7 @@ public class DmDwxxpController { }catch (Exception e){ throw new RuntimeException("同一个区域存在相同垛位号,禁止保存"); } - if (map.get("remove").size()>0){ + if (map.get("remove")!=null&& !map.get("remove").isEmpty()){ map.get("remove").forEach(dwxxpService::deleteByMultiId); } From 8fb1306eff5ed1e925faacb42c95899da232ad6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 10 Oct 2024 17:26:19 +0800 Subject: [PATCH 068/196] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E4=B8=AD=E6=97=A5?= =?UTF-8?q?=E7=A8=8B=E5=92=8C=E6=89=B9=E9=87=8F=E8=A1=A8=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/Test.java | 27 +- .../com/dsic/gj_erp/bean/jcsj/DmCzplp.java | 19 ++ .../com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java | 26 +- .../com/dsic/gj_erp/bean/jhgk/DmZrcjh.java | 24 ++ .../gj_erp/bean/jhgk/excel/ZrcAndPlb.java | 40 +++ ...日程批量表合并导入控制器.java | 263 ++++++++++++++++++ .../dsic/gj_erp/listeners/ExcelZrcAndPlb.java | 31 +++ .../java/com/dsic/gj_erp/pc/DataFactory.java | 1 + 8 files changed, 418 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/jhgk/excel/ZrcAndPlb.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java create mode 100644 src/main/java/com/dsic/gj_erp/listeners/ExcelZrcAndPlb.java diff --git a/src/main/java/com/dsic/gj_erp/Test.java b/src/main/java/com/dsic/gj_erp/Test.java index 99cadc4..818685e 100644 --- a/src/main/java/com/dsic/gj_erp/Test.java +++ b/src/main/java/com/dsic/gj_erp/Test.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp; +import cn.hutool.core.util.StrUtil; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.springframework.boot.SpringApplication; @@ -16,22 +17,24 @@ import java.util.regex.Pattern; public class Test { public static void main(String[] args) throws IOException { + + System.out.println(StrUtil.padPre("1",3,"0")); //String aaa="gagagag"; //System.out.println(aaa.split("@")[0]); //System.out.println("aaa = " + String.format("%03d",1)); - String pdfFilePath = "E:/B046HC103HN第046批量数控套料图2023-05-11.pdf"; // PDF文件路径 - PDDocument document = PDDocument.load(new File(pdfFilePath)); - PDFTextStripper stripper = new PDFTextStripper(); - String text = stripper.getText(document); - document.close(); - - // 输出提取的文本到控制台 - System.out.println(text); - - // 可以选择将文本写入文件 - String outputPath = "E:/B046HC103HN第046批量数控套料图2023-05-11.txt"; // 输出文本文件路径 - Files.write(Paths.get(outputPath), text.getBytes()); +// String pdfFilePath = "E:/B046HC103HN第046批量数控套料图2023-05-11.pdf"; // PDF文件路径 +// PDDocument document = PDDocument.load(new File(pdfFilePath)); +// PDFTextStripper stripper = new PDFTextStripper(); +// String text = stripper.getText(document); +// document.close(); +// +// // 输出提取的文本到控制台 +// System.out.println(text); +// +// // 可以选择将文本写入文件 +// String outputPath = "E:/B046HC103HN第046批量数控套料图2023-05-11.txt"; // 输出文本文件路径 +// Files.write(Paths.get(outputPath), text.getBytes()); } } diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplp.java index 1e49a44..95c38ae 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplp.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplp.java @@ -1,9 +1,12 @@ package com.dsic.gj_erp.bean.jcsj; +import cn.hutool.core.date.DateUtil; 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 com.dsic.gj_erp.bean.jhgk.excel.ZrcAndPlb; +import com.dsic.gj_erp.exception.ServiceException; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -97,4 +100,20 @@ public class DmCzplp implements Serializable { private BigDecimal zl; + public static DmCzplp createByExcel(String dcCh,ZrcAndPlb item,String yhms){ + DmCzplp dmCzplp = new DmCzplp(); + dmCzplp.setDcCh(dcCh); + dmCzplp.setDcFd(item.getMfd()); + try { + dmCzplp.setZl(new BigDecimal(item.getTon())); + }catch (Exception e){ + throw new ServiceException(10001,"吨位不是数字"); + } + + dmCzplp.setDcPl(item.getDcPl()); + dmCzplp.setLrr(yhms); + dmCzplp.setLrrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd")); + return dmCzplp; + } + } diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java index 5c33927..dbf2b5d 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java @@ -1,8 +1,12 @@ package com.dsic.gj_erp.bean.jcsj; +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.dsic.gj_erp.bean.jhgk.DmZrcjh; +import com.dsic.gj_erp.bean.jhgk.excel.ZrcAndPlb; +import com.dsic.gj_erp.exception.ServiceException; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -170,5 +174,25 @@ public class DmCzplpNew implements Serializable { private String xfqLqb1; - + public static DmCzplpNew createByExcel(String dcCh, String fd, ZrcAndPlb item){ + DmCzplpNew plp = new DmCzplpNew(); + plp.setDcCh(dcCh); + plp.setDcPl(item.getDcPl()); + plp.setDcFd(fd); + try { + plp.setZl(new BigDecimal(item.getTon())); + }catch (Exception e){ + throw new ServiceException(10001,"吨位不是数字"); + } + plp.setGjks(item.getGjks()); + plp.setGjksZrc(item.getGjks()); + plp.setDzjsq(item.getGjjs()); + plp.setDzjsqZrc(item.getGjjs()); + plp.setXfqTlt(item.getTlt()); + plp.setXfqLqb(item.getBclqb()); + plp.setXfqDhqd(item.getDhqd()); + plp.setBcdq(item.getGldq()); + plp.setZt("0"); + return plp; + } } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java index dc58f84..4bf117d 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java @@ -1,9 +1,12 @@ package com.dsic.gj_erp.bean.jhgk; +import cn.hutool.core.util.StrUtil; import com.alibaba.excel.annotation.ExcelIgnore; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.dsic.gj_erp.bean.jhgk.excel.ZrcAndPlb; +import com.dsic.gj_erp.exception.ServiceException; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -137,4 +140,25 @@ public class DmZrcjh implements Serializable { @ApiModelProperty(value = "编制日期 yyyy/MM/dd") private String bzrq; + + public static DmZrcjh createByExcel(String dcCh, String fd, ZrcAndPlb item){ + DmZrcjh dmZrcjh = new DmZrcjh(); + dmZrcjh.setDcCh(dcCh); + dmZrcjh.setDcPl(item.getDcPl()); + dmZrcjh.setDcFd(fd); + try { + dmZrcjh.setZl(Double.valueOf(item.getTon())); + }catch (Exception e){ + throw new ServiceException(10001,"吨位不是数字"); + } + dmZrcjh.setGjks(item.getGjks()); + dmZrcjh.setGjjsDz(item.getGjjs()); + dmZrcjh.setGjjsXz(item.getGjjs()); + dmZrcjh.setXfqTlt(item.getTlt()); + dmZrcjh.setXfqLqb(item.getBclqb()); + dmZrcjh.setXfqDhqd(item.getDhqd()); + dmZrcjh.setBcdq(item.getGldq()); + dmZrcjh.setZt("0"); + return dmZrcjh; + } } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/ZrcAndPlb.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/ZrcAndPlb.java new file mode 100644 index 0000000..4024734 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/ZrcAndPlb.java @@ -0,0 +1,40 @@ +package com.dsic.gj_erp.bean.jhgk.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ZrcAndPlb { + + @ExcelProperty(value = "批量号") + public String dcPl; + + @ExcelProperty(value = "包含分段") + public String mfd; + + @ExcelProperty(value = "吨位") + public String ton; + + @ExcelProperty(value = "钢加结束") + public String gjjs; + + @ExcelProperty(value = "钢加开始") + public String gjks; + + @ExcelProperty(value = "套料图") + public String tlt; + + @ExcelProperty(value = "板材领取表") + public String bclqb; + + @ExcelProperty(value = "订货清单发放") + public String dhqd; + + @ExcelProperty(value = "钢料到齐时间") + public String gldq; + + @ExcelProperty(value = "备注") + public String bz; +} diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java new file mode 100644 index 0000000..0737792 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java @@ -0,0 +1,263 @@ +package com.dsic.gj_erp.controller.jhgk; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jcsj.DmCzplp; +import com.dsic.gj_erp.bean.jcsj.DmCzplpNew; +import com.dsic.gj_erp.bean.jhgk.DmTzjh; +import com.dsic.gj_erp.bean.jhgk.DmZrcjh; +import com.dsic.gj_erp.bean.jhgk.DmZrcjhOld; +import com.dsic.gj_erp.bean.jhgk.excel.ZrcAndPlb; +import com.dsic.gj_erp.listeners.ExcelZrcAndPlb; +import com.dsic.gj_erp.service.jcsj.DmCzplpNewService; +import com.dsic.gj_erp.service.jcsj.DmCzplpService; +import com.dsic.gj_erp.service.jhgk.DmTzjhService; +import com.dsic.gj_erp.service.jhgk.DmZrcjhOldService; +import com.dsic.gj_erp.service.jhgk.DmZrcjhService; +import com.dsic.gj_erp.service.sy.SYService; +import lombok.AllArgsConstructor; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +@RestController +@RequestMapping("zrcAndPlb") +@AllArgsConstructor +public class 中日程批量表合并导入控制器 { + + private final DmZrcjhService zrcjhService; + private final DmCzplpNewService czplpNewService; + private final DmTzjhService dmTzjhService; + private final DmCzplpService dmCzplpService; + private final SYService syService; + private final DmZrcjhOldService oldService; + + @PostMapping("upload") + @Transactional(rollbackFor = Exception.class) + public ResultBean upload(@RequestParam("file") MultipartFile file,String dcCh, HttpServletRequest req) throws IOException { + ExcelZrcAndPlb excelZrcAndPlb = new ExcelZrcAndPlb(); + EasyExcel.read(file.getInputStream(), ZrcAndPlb.class, excelZrcAndPlb).sheet(0).headRowNumber(1).doRead(); + List objList = excelZrcAndPlb.getList(); + + List zrcjhList=new ArrayList<>(); + List plList=new ArrayList<>(); + List dmCzplpList=new ArrayList<>(); + + String bzr = (String) req.getAttribute("yhms"); + String day=DateUtil.date().toString("yyyy/MM/dd"); + for(ZrcAndPlb item:objList){ + String[] fds = item.getMfd().split("/"); + List fdList = czplpNewService.list(new QueryWrapper().eq("dc_pl", item.getDcPl()).eq("dc_ch", dcCh)); + boolean remove = czplpNewService.remove(new QueryWrapper().eq("dc_pl", item.getDcPl()).eq("dc_ch", dcCh)); + + for (String fd:fds){ + if (StrUtil.isNotEmpty(fd)){ + //中日程 + DmZrcjh dmZrcjh = DmZrcjh.createByExcel(dcCh, fd, item); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DC_CH", dmZrcjh.getDcCh()); + queryWrapper.eq("DC_PL", dmZrcjh.getDcPl()); + queryWrapper.eq("DC_FD", dmZrcjh.getDcFd()); + DmZrcjh dmZrcjhOne = zrcjhService.getOne(queryWrapper); + if (ObjectUtil.isNotEmpty(dmZrcjhOne)) { + //存进备份表 + DmZrcjhOld old= BeanUtil.copyProperties(dmZrcjhOne, DmZrcjhOld.class); + oldService.save(old); + String dmZrcjhOneBzr = dmZrcjhOne.getBzr(); + String dmZrcjhOneBzrq = dmZrcjhOne.getBzrq(); + if (!dmZrcjhOneBzr.contains(bzr)) { + dmZrcjh.setBzr(StrUtil.format("{}@{}",dmZrcjhOneBzr , bzr)); + dmZrcjh.setBzrq(StrUtil.format("{}@{}",dmZrcjhOneBzrq , day)); + dmZrcjh.setXh(dmZrcjhOne.getXh()); + } + zrcjhService.updateById(dmZrcjh); + } else { + dmZrcjh.setBzr(bzr); + dmZrcjh.setBzrq(day); + zrcjhList.add(dmZrcjh); + } + + //批量表 + DmCzplpNew plb = DmCzplpNew.createByExcel(dcCh, fd, item); + String id = syService.f_getpjh("DM", "DM", "CZPL"); + plb.setId(id); + if (remove){ + try { + fdList.stream().filter(fst -> plb.getDcPl().equals(fst.getDcPl())) + .findFirst().ifPresent(it->updateCzPlp(plb,it)); + }catch (Exception ignored){} + } + plList.add(plb); + + //旧表数据,仅当首次导入时写入即可 + if (!remove){ + DmCzplp plp = DmCzplp.createByExcel(dcCh, item, (String) req.getAttribute("yhms")); + plp.setId(id); + dmCzplpList.add(plp); + } + } + } + } + zrcjhService.saveBatch(zrcjhList,500); + + if (!plList.isEmpty()) { + czplpNewService.saveBatch(plList,500); + + //生成图纸计划并保存到数据库中 + Listtzjhs=new ArrayList<>(); + plList.forEach(e->{ + List list1 = dmTzjhService.list(new QueryWrapper().eq("dc_ch", e.getDcCh()).eq("dc_pl", e.getDcPl()).eq("dc_fd",e.getDcFd())); + if(list1.isEmpty()){ + DmTzjh tzjh=new DmTzjh(); + tzjh.setDcPl(e.getDcPl()); + tzjh.setDcFd(e.getDcFd()); + tzjh.setDcCh(e.getDcCh()); + tzjh.setXfqTlt(e.getXfqTlt()); + tzjh.setXfqLqb(e.getXfqLqb()); + tzjh.setXfqPtb(e.getXfqPtb()); + tzjhs.add(tzjh); + } + + }); + dmTzjhService.saveBatch(tzjhs); + } + + if (!dmCzplpList.isEmpty()) { + dmCzplpService.saveBatch(dmCzplpList); + } + + return new ResultBean<>(); + } + + private void updateCzPlp(DmCzplpNew czplpNew,DmCzplpNew czplp){ + String rq =""; + String rqsm = ""; + int xfqLqb = DateUtil.compare(DateUtil.parse(czplpNew.getXfqLqb()), DateUtil.parse(czplp.getXfqLqb()), "MM"); + if (xfqLqb == 0) { + xfqLqb = DateUtil.compare(DateUtil.parse(czplpNew.getXfqLqb()), DateUtil.parse(czplp.getXfqLqb())); + if (xfqLqb != 0) { + rqsm = "变更"; + rq = czplp.getXfqLqb() + " " + czplpNew.getXfqLqb(); + }else{ + rqsm = czplp.getXfqLqb1sm(); + rq = czplp.getXfqLqb1() ; + } + } else if (xfqLqb < 0) { + rqsm = "托期"; + rq = czplp.getXfqLqb() + " " + czplpNew.getXfqLqb(); + } else if (xfqLqb > 0) { + rqsm = "延期"; + rq = czplp.getXfqLqb() + " " + czplpNew.getXfqLqb(); + } + czplpNew.setXfqLqb1sm(rqsm); + czplpNew.setXfqLqb1(rq); + int xzjsq = DateUtil.compare(DateUtil.parse(czplpNew.getXzjsq()), DateUtil.parse(czplp.getXzjsq()), "MM"); + if (xzjsq == 0) { + xzjsq = DateUtil.compare(DateUtil.parse(czplpNew.getXzjsq()), DateUtil.parse(czplp.getXzjsq())); + if (xzjsq != 0) { + rqsm = "变更"; + rq = czplp.getXzjsq() + " " + czplpNew.getXzjsq(); + }else{ + rqsm = czplp.getXzjsqsm(); + rq = czplp.getXzjsq1() ; + } + } else if (xzjsq < 0) { + rqsm = "托期"; + rq = czplp.getXzjsq() + " " + czplpNew.getXzjsq(); + } else if (xzjsq > 0) { + rqsm = "延期"; + rq = czplp.getXzjsq() + " " + czplpNew.getXzjsq(); + } + czplpNew.setXzjsq1(rq); + czplpNew.setXzjsqsm(rqsm); + int xfqTlt = DateUtil.compare(DateUtil.parse(czplpNew.getXfqTlt()), DateUtil.parse(czplp.getXfqTlt()), "MM"); + if (xfqTlt == 0) { + xfqTlt = DateUtil.compare(DateUtil.parse(czplpNew.getXfqTlt()), DateUtil.parse(czplp.getXfqTlt())); + if (xfqTlt != 0) { + rqsm = "变更"; + rq = czplp.getXfqTlt() + " " + czplpNew.getXfqTlt(); + }else{ + rqsm = czplp.getXfqTltsm(); + rq = czplp.getXfqTlt1() ; + } + } else if (xfqTlt < 0) { + rqsm = "托期"; + rq = czplp.getXfqTlt() + " " + czplpNew.getXfqTlt(); + } else if (xfqTlt > 0) { + rqsm = "延期"; + rq = czplp.getXfqTlt() + " " + czplpNew.getXfqTlt(); + } + czplpNew.setXfqTltsm(rqsm); + czplpNew.setXfqTlt1(rq); + int dzjsq = DateUtil.compare(DateUtil.parse(czplpNew.getDzjsq()), DateUtil.parse(czplp.getDzjsq()), "MM"); + if (dzjsq == 0) { + dzjsq = DateUtil.compare(DateUtil.parse(czplpNew.getDzjsq()), DateUtil.parse(czplp.getDzjsq())); + if (dzjsq != 0) { + rqsm = "变更"; + rq = czplp.getDzjsq() + " " + czplpNew.getDzjsq(); + }else{ + rqsm = czplp.getDzjsqsm(); + rq = czplp.getDzjsq1() ; + } + } else if (dzjsq < 0) { + rqsm = "托期"; + rq = czplp.getDzjsq() + " " + czplpNew.getDzjsq(); + } else if (dzjsq > 0) { + rqsm = "延期"; + rq = czplp.getDzjsq() + " " + czplpNew.getDzjsq(); + } + czplpNew.setDzjsqsm(rqsm); + czplpNew.setDzjsq1(rq); + int gjks = DateUtil.compare(DateUtil.parse(czplpNew.getGjks()), DateUtil.parse(czplp.getGjks()), "MM"); + if (gjks == 0) { + gjks = DateUtil.compare(DateUtil.parse(czplpNew.getGjks()), DateUtil.parse(czplp.getGjks())); + if (gjks != 0) { + rqsm = "变更"; + rq = czplp.getGjks() + " " + czplpNew.getGjks(); + }else{ + rqsm = czplp.getGjkssm(); + rq = czplp.getGjks1() ; + } + } else if (gjks < 0) { + rqsm = "托期"; + rq = czplp.getGjks() + " " + czplpNew.getGjks(); + } else if (gjks > 0) { + rqsm = "延期"; + rq = czplp.getGjks() + " " + czplpNew.getGjks(); + } + czplpNew.setGjks1(rq); + czplpNew.setGjkssm(rqsm); + int xfqDhqd = DateUtil.compare(DateUtil.parse(czplpNew.getXfqDhqd()), DateUtil.parse(czplp.getXfqDhqd()), "MM"); + if (xfqDhqd == 0) { + xfqDhqd = DateUtil.compare(DateUtil.parse(czplpNew.getXfqDhqd()), DateUtil.parse(czplp.getXfqDhqd())); + if (xfqDhqd != 0) { + rqsm = "变更"; + rq = czplp.getXfqDhqd() + " " + czplpNew.getXfqDhqd(); + }else{ + rqsm = czplp.getXfqDhqd1sm(); + rq = czplp.getXfqDhqd1() ; + } + } else if (xfqDhqd < 0) { + rqsm = "托期"; + rq = czplp.getXfqDhqd() + " " + czplpNew.getXfqDhqd(); + } else if (xfqDhqd > 0) { + rqsm = "延期"; + rq = czplp.getXfqDhqd() + " " + czplpNew.getXfqDhqd(); + } + czplpNew.setXfqDhqd1(rq); + czplpNew.setXfqDhqd1sm(rqsm); + } +} diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelZrcAndPlb.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelZrcAndPlb.java new file mode 100644 index 0000000..cd09012 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelZrcAndPlb.java @@ -0,0 +1,31 @@ +package com.dsic.gj_erp.listeners; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.dsic.gj_erp.bean.jhgk.excel.ZrcAndPlb; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +@Getter +public class ExcelZrcAndPlb extends AnalysisEventListener { + + private List list; + + @Override + public void invoke(ZrcAndPlb zrcAndPlb, AnalysisContext analysisContext) { + zrcAndPlb.setDcPl(StrUtil.padPre(zrcAndPlb.getDcPl(),3,"0")); + list.add(zrcAndPlb); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + + public ExcelZrcAndPlb(){ + this.list=new ArrayList<>(); + } +} 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 af52692..03aff28 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -77,6 +77,7 @@ public class DataFactory { try { 均衡预占(按批次合并); }catch (Exception e){ + e.printStackTrace(); throw new ServiceException(10001,"排产结果异常"); }finally { 清理冗余数据(list); From 3dce0ecf30d8e4127c2e006ce7cde11a07143841 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 11 Oct 2024 13:27:24 +0800 Subject: [PATCH 069/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=89=8D=E6=96=B9?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E8=AE=A1=E5=88=92=E7=AE=A1=E7=90=86=E8=88=B9?= =?UTF-8?q?=E5=8F=B7=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E4=B8=8D=E8=BF=87=E6=BB=A4=E9=97=AE=E9=A2=98=202.=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=89=8D=E6=96=B9=E9=9C=80=E6=B1=82=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E6=97=A0=E6=B3=95=E6=90=BA?= =?UTF-8?q?=E5=B8=A6=E8=88=B9=E5=8F=B7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java index 92eac54..0ee9e49 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java @@ -53,6 +53,7 @@ public class DmQfxqController { @AuthFunction public ResultBean getList(@RequestBody DmQfxq qfxq) { List list = service.list(new QueryWrapper() + .eq(StrUtil.isNotEmpty(qfxq.getDcCh()), "dc_ch", qfxq.getDcCh()) .eq(StrUtil.isNotEmpty(qfxq.getXzglxq()), "substring(Xzglxq,0,8) ", qfxq.getXzglxq()) .eq(StrUtil.isNotEmpty(qfxq.getZt()), "zt", qfxq.getZt()) .orderByAsc("DC_CH,cast(dc_pl as int),DC_FD")); From c318a32890f5770a4c8acc20913e200fea182101 Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 11 Oct 2024 14:54:35 +0800 Subject: [PATCH 070/196] =?UTF-8?q?=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmSygdMx.java | 21 + .../gj_erp/bean/jhgk/excel/JhxfExcel.java | 207 +++++++++ .../controller/jhgk/DmSygdMxController.java | 24 ++ .../gj_erp/listeners/ExcelJhxfListener.java | 154 +++++++ .../gj_erp/service/jhgk/DmSygdMxService.java | 5 + .../jhgk/impl/DmSygdMxServiceImpl.java | 395 +++++++++++++++++- .../java/com/dsic/gj_erp/util/MyString.java | 22 + 7 files changed, 827 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java create mode 100644 src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java index a40f32f..b029d78 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java @@ -206,6 +206,27 @@ public class DmSygdMx implements Serializable { private String dmgxbm; private String qjggxbm; + @ApiModelProperty(value = "面板挤边") + private String mbjb; + @ApiModelProperty(value = "七垮型材米数") + private String qkxcms; + @ApiModelProperty(value = "型材面板") + private String xcmb; + @ApiModelProperty(value = "分段需求/小组配送结束") + private String fdxq; + @ApiModelProperty(value = "光电结束") + private String gdjs; + @ApiModelProperty(value = "备注") + private String bz; + + private String bzry; + private String bzrq; + private String drbs; + + + + + public void 更新排产信息(Constant.工序 _工序,String date){ switch(_工序){ diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java new file mode 100644 index 0000000..fd09752 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java @@ -0,0 +1,207 @@ +package com.dsic.gj_erp.bean.jhgk.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * JhxfExcel: + * + * @author xhj + * @date 2024/10/09 + */ +@Data +public class JhxfExcel { + + + @ExcelProperty("产品") + private String dcCh; + + @ExcelProperty("批量") + private String dcPl; + + @ExcelProperty("分段") + private String dcFd; + + + + + @ApiModelProperty(value = "板数") + @ExcelProperty("板数") + private String bs1; + + @ApiModelProperty(value = "上料") + @ExcelProperty("上料") + @DateTimeFormat("yyyy/MM/dd") + private String sl; + + @ApiModelProperty(value = "型材抛丸") + @ExcelProperty("型材抛丸") + @DateTimeFormat("yyyy/MM/dd") + private String xcpw; + + @ApiModelProperty(value = "抛丸") + @ExcelProperty("抛丸") + @DateTimeFormat("yyyy/MM/dd") + private String pw; + + @ApiModelProperty(value = "一垮龙门板数") + @ExcelProperty("一垮龙门板数") + private String yklm; + + @ApiModelProperty(value = "一垮数控板数") + @ExcelProperty("一垮数控板数") + private String yksk; + + @ExcelProperty("大板切割开始") + @DateTimeFormat("yyyy/MM/dd") + private String dbqgks; + + @ApiModelProperty(value = "坡口切割结束") + @ExcelProperty("坡口切割结束") + @DateTimeFormat("yyyy/MM/dd") + private String ykpkjs; + + @ExcelProperty("二垮龙门板数") + private String eklmbs; + + @ExcelProperty("龙门切割开始") + @DateTimeFormat("yyyy/MM/dd") + private String lmqgks; + + @ExcelProperty("龙门切割结束") + @DateTimeFormat("yyyy/MM/dd") + private String lmqgjs; + + + + + + @ApiModelProperty(value = "二垮数控板数") + @ExcelProperty("二垮数控板数") + private String eksk; + + + + + + @ApiModelProperty(value = "数控切割开始") + @ExcelProperty(value ="数控切割开始",index=16) + @DateTimeFormat("yyyy/MM/dd") + private String ekskks; + + @ApiModelProperty(value = "坡口切割结束") + @ExcelProperty(value ="坡口切割结束",index=17) + @DateTimeFormat("yyyy/MM/dd") + private String ekpkjs; + + @ApiModelProperty(value = "三垮数控板数") + @ExcelProperty("三垮数控板数") + private String sksk; + + @ApiModelProperty(value = "数控切割开始") + @ExcelProperty(value ="数控切割开始",index=19) + @DateTimeFormat("yyyy/MM/dd") + private String skskqgks; + + @ApiModelProperty(value = "坡口切割结束") + @ExcelProperty(value ="坡口切割结束",index=20) + @DateTimeFormat("yyyy/MM/dd") + private String skpkjs; + + @ApiModelProperty(value = "三垮平铁板数") + @ExcelProperty("三垮平铁板数") + private String skpt; + + @ApiModelProperty(value = "平铁切割开始") + @ExcelProperty("平铁切割开始") + @DateTimeFormat("yyyy/MM/dd") + private String ptks; + + @ApiModelProperty(value = "平铁切割结束") + @ExcelProperty("平铁切割结束") + @DateTimeFormat("yyyy/MM/dd") + private String ptjs; + + @ApiModelProperty(value = "曲平铁转结束") + @ExcelProperty("曲平铁转结束") + @DateTimeFormat("yyyy/MM/dd") + private String qpt_zjs; + + @ApiModelProperty(value = "曲平铁结束") + @ExcelProperty("曲平铁结束") + @DateTimeFormat("yyyy/MM/dd") + private String qptjs; + + @ApiModelProperty(value = "曲外板结束") + @ExcelProperty("曲外板结束") + @DateTimeFormat("yyyy/MM/dd") + private String qwbjs; + + @ApiModelProperty(value = "组立") + @ExcelProperty("组立") + private String zl; + + + @ApiModelProperty(value = "腹板板数") + @ExcelProperty("腹板板数") + private String fbbs; + + @ApiModelProperty(value = "腹板切割开始") + @ExcelProperty("腹板切割开始") + @DateTimeFormat("yyyy/MM/dd") + private String fbqgks; + + @ApiModelProperty(value = "腹板切割结束") + @ExcelProperty("腹板切割结束") + @DateTimeFormat("yyyy/MM/dd") + private String fbqgjs; + + + @ApiModelProperty(value = "数控板数") + @ExcelProperty("数控板数") + + private String skbs; + + @ApiModelProperty(value = "数控切割开始") + @ExcelProperty(value = "数控切割开始",index = 32) + @DateTimeFormat("yyyy/MM/dd") + private String skqgks; + + + + + + + + @ApiModelProperty(value = "坡口切割结束") + @ExcelProperty(value = "坡口切割结束",index = 33) + @DateTimeFormat("yyyy/MM/dd") + private String pkqgjs; + + + @ApiModelProperty(value = "面板挤边") + @ExcelProperty("面板挤边") + @DateTimeFormat("yyyy/MM/dd") + private String mbjb; + @ApiModelProperty(value = "七垮型材米数") + @ExcelProperty("七垮型材米数") + private String qkxcms; + @ApiModelProperty(value = "型材面板") + @ExcelProperty("型材面板") + @DateTimeFormat("yyyy/MM/dd") + private String xcmb; + @ApiModelProperty(value = "分段需求/小组配送结束") + @ExcelProperty("小组配送结束") + @DateTimeFormat("yyyy/MM/dd") + private String fdxq; + @ApiModelProperty(value = "光电结束") + @ExcelProperty("光电结束") + @DateTimeFormat("yyyy/MM/dd") + private String gdjs; + @ApiModelProperty(value = "备注") + @ExcelProperty("备注") + private String bz; + +} diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java index 0544c65..55a4b0b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java @@ -3,6 +3,7 @@ package com.dsic.gj_erp.controller.jhgk; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; @@ -11,22 +12,29 @@ import com.dsic.gj_erp.bean.jcsj.DmCzplpNew; import com.dsic.gj_erp.bean.jcsj.EmGcrl; import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.bean.jcsj.EmSbjbb; +import com.dsic.gj_erp.bean.jcsj.excel.PlExcel; import com.dsic.gj_erp.bean.jhgk.DmQfxq; import com.dsic.gj_erp.bean.jhgk.DmSygd; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjhxf; +import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; import com.dsic.gj_erp.handler.ComputePlan; +import com.dsic.gj_erp.listeners.ExcelJhxfListener; +import com.dsic.gj_erp.listeners.ExcelPlListener; import com.dsic.gj_erp.pc.Manager; import com.dsic.gj_erp.pc.排产; import com.dsic.gj_erp.service.jcsj.EmGcrlService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.sy.SYService; +import com.sun.org.apache.bcel.internal.generic.RETURN; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; import java.util.*; import java.util.concurrent.Semaphore; import java.util.stream.Collectors; @@ -144,5 +152,21 @@ public class DmSygdMxController { return service.tqSygd(from,to); } + + @RequestMapping("/ydjhImport") + @AuthFunction + public ResultBean ydjhImport(@RequestParam("file") MultipartFile file , String isupload, HttpServletRequest req) throws IOException { + + + ExcelJhxfListener objectListener = new ExcelJhxfListener(); + EasyExcel.read(file.getInputStream(), JhxfExcel.class, objectListener).sheet(0).headRowNumber(1).doRead(); + List objList = objectListener.getObjectList(); + + service.ydjhImport(objList); + return new ResultBean(); + + + } + } diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java new file mode 100644 index 0000000..c100a34 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java @@ -0,0 +1,154 @@ +package com.dsic.gj_erp.listeners; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; +import com.dsic.gj_erp.util.ObjConvertUtils; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Excel通用监听器 + */ +public class ExcelJhxfListener extends AnalysisEventListener { + + private static final int BATCH_COUNT = 5; + + List objectList = new ArrayList<>(); + List headList = new ArrayList<>(); + private String sheetName; + + List datas = new ArrayList(); + + private String dcch; + private String dcpl; + + @Override + public void invoke(JhxfExcel excelDemo, AnalysisContext analysisContext) { + //每解析一行数据,就会调用该方法一次 + //正常在这里调用数据处理得办法 + + //一条数据添加到暂时存储的存储结构中 + + + if(StringUtils.isBlank(excelDemo.getDcCh())){ + excelDemo.setDcCh(dcch); + }else{ + dcch=excelDemo.getDcCh(); + } + if(StringUtils.isBlank(excelDemo.getDcPl())){ + excelDemo.setDcPl(dcpl); + }else{ + dcpl=excelDemo.getDcPl(); + } + boolean a=false; + // 9个数量都为空 不导入 + if(StringUtils.isBlank(excelDemo.getBs1()) && + StringUtils.isBlank(excelDemo.getYklm())&& + StringUtils.isBlank(excelDemo.getYksk())&& + StringUtils.isBlank(excelDemo.getEklmbs())&& + StringUtils.isBlank(excelDemo.getEksk())&& + StringUtils.isBlank(excelDemo.getSksk())&& + StringUtils.isBlank(excelDemo.getSkpt())&& + StringUtils.isBlank(excelDemo.getFbbs())&& + StringUtils.isBlank(excelDemo.getSkbs()) + ){ + a=true; + } + + + boolean b = ObjConvertUtils.checkObjAllFieldsIsNull(excelDemo); + if(!b && !a){ + datas.add(excelDemo); + } + // + + + + + + // 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM + if (datas.size() >= BATCH_COUNT) { + saveData(); + // 存储完成清理 list + datas.clear(); + } + } + + + + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + //获取sheetName + saveData(); + sheetName = context.readSheetHolder().getSheetName(); +// LOGGER.info("所有数据解析完成!"); + } + + //获取表头 + @Override + public void invokeHeadMap(Map headMap, AnalysisContext context) { + //把表头数据加入到存储结构中 + headList.add(headMap); + } + + /** + * 入库 + */ + private void saveData() { + //添加到返回的存储结构中,也可直接存储到数据库 + objectList.addAll(datas); + } + + public List getDatas() { + return datas; + } + + public void setDatas(List datas) { + this.datas = datas; + } + + public List getObjectList() { + return objectList; + } + + public void setObjectList(List objectList) { + this.objectList = objectList; + } + + public String getSheetName() { + return sheetName; + } + + public void setSheetName(String sheetName) { + this.sheetName = sheetName; + } + + public List getHeadList() { + return headList; + } + + public void setHeadList(List headList) { + this.headList = headList; + } + + public String getDcch() { + return dcch; + } + + public void setDcch(String dcch) { + this.dcch = dcch; + } + + public String getDcpl() { + return dcpl; + } + + public void setDcpl(String dcpl) { + this.dcpl = dcpl; + } +} diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java index e2ab9c6..ef90c35 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java @@ -2,9 +2,11 @@ package com.dsic.gj_erp.service.jhgk; import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jcsj.excel.PlExcel; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjhxf; import com.dsic.gj_erp.bean.jhgk.dto.*; +import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; import org.springframework.web.bind.annotation.RequestBody; import java.util.HashMap; @@ -32,4 +34,7 @@ public interface DmSygdMxService extends IService { List tqSygd1(String begin, String end); Object cgjhdhqk(Map map); + + + void ydjhImport(List objList); } 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 d976b20..2a601db 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 @@ -9,12 +9,15 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; 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.jcsj.*; import com.dsic.gj_erp.bean.jhgk.*; import com.dsic.gj_erp.bean.jhgk.dto.*; +import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; import com.dsic.gj_erp.bean.sy.Dm_zhbmp; import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.handler.ComputePlan; @@ -22,6 +25,8 @@ import com.dsic.gj_erp.handler.dto.RealCapacity; import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jhgk.*; +import com.dsic.gj_erp.util.MyString; +import io.swagger.annotations.ApiModelProperty; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -171,6 +176,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl i return baseMapper.cgjhdhqk(map); } + + /** * 三月滚动需求期排产 * 滚动需求期信息,提取相应的BOM数据,后合并到套料图级别 @@ -936,6 +943,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i if ("5".equals(item.getKw())){ eksk2.updateAndGet(v -> v + 1); } + if ("14".equals(item.getKw())){ sksk.updateAndGet(v -> v + 1); } @@ -965,6 +973,10 @@ public class DmSygdMxServiceImpl extends ServiceImpl i val.stream().filter(item->StrUtil.isNotEmpty(item.getPwrq())) .min(Comparator.comparing(DmSygdMx::getPwrq)).ifPresent(item -> dmYdjhxf.setPw(item.getPwrq())); + + val.stream().filter(item->StrUtil.isNotEmpty(item.getGdjs())) + .min(Comparator.comparing(DmSygdMx::getPwrq)).ifPresent(item -> dmYdjhxf.setGdjs(item.getGdjs())); + //一跨龙门数量 dmYdjhxf.setYklm(yklm.get()+""); //一跨数控数量 @@ -989,7 +1001,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl i dmYdjhxf.setSkpt(skpt.get()+""); val.stream().filter(item->"6".equals(item.getKw())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setPtks(item.getQgrq())); - + val.stream().filter(item->"6".equals(item.getKw())) + .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setPtjs(item.getQjgrq())); dmYdjhxf.setSkbs(skbs.get()+""); val.stream().filter(item->"15".equals(item.getKw())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkqgks(item.getQgrq())); @@ -998,6 +1011,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl i val.stream().filter(item->"11".equals(item.getKw())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkbs2(item.getQgrq())); + val.stream().filter(item->"7".equals(item.getKw())) + .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setYkpkjs(item.getQgrq())); + dmYdjhxf.setFdxq(val.get(0).getJssj()); list2.add(dmYdjhxf); }); @@ -1045,4 +1061,381 @@ public class DmSygdMxServiceImpl extends ServiceImpl i return this.tqSygd2(begin,end); } + + + @Override + public void ydjhImport(List objList) { + // 1,同产品与批量视为一条记录 dcch dcpl + // 2,板数是否为空 不为空循环板数增加记录(还有一个其他集合) bs1=7 + //3,后续数量中 bs2=2 bs3=5 其中两条rq='2024/10/25' 另外五条rq='2024/10/23' + String dcch=""; + String dcpl=""; + + int zz=0; + int num=0; + int zsl=0; + List overlist=new ArrayList<>(); + Map> map =new HashMap(); + for (int i = 0; i < objList.size(); i++) { + JhxfExcel jhxfExcel = objList.get(i); + + + if(!dcch.equals(jhxfExcel.getDcCh()) || !dcpl.equals(jhxfExcel.getDcPl())){ + //if(StringUtils.isBlank(dcch)){ + dcch=jhxfExcel.getDcCh(); + //} + // if(StringUtils.isBlank(dcpl)){ + dcpl=jhxfExcel.getDcPl(); + num=0; + zsl=0; + zz=0; + // } + //进行循环 + String bs1 = jhxfExcel.getBs1(); + // int num=0; + if(StringUtils.isNotBlank(bs1)){ + num= MyString.convertStringToNumber(bs1); + } + List insertsOne= new ArrayList<>(); + if(num>0){ + + for (int j = 0; j < num; j++) { + // 生成数据 + DmSygdMx sygdMx= new DmSygdMx(); + sygdMx.setDcCh(jhxfExcel.getDcCh()); + sygdMx.setDcPl(jhxfExcel.getDcPl()); + sygdMx.setDcFd(jhxfExcel.getDcFd()); + sygdMx.setSlrq(jhxfExcel.getSl()); + sygdMx.setPwrq(jhxfExcel.getPw()); + sygdMx.setZl(jhxfExcel.getZl()); + sygdMx.setJssj(jhxfExcel.getFdxq()); + +// @ApiModelProperty(value = "面板挤边") +// private String mbjb; +// @ApiModelProperty(value = "七垮型材米数") +// private String qkxcms; +// @ApiModelProperty(value = "型材面板") +// private String xcmb; +// @ApiModelProperty(value = "分段需求/小组配送结束") +// private String fdxq; +// @ApiModelProperty(value = "光电结束") +// private String gdjs; +// @ApiModelProperty(value = "备注") +// private String bz; +// +// private String bzry; +// private String bzrq; + + sygdMx.setMbjb(jhxfExcel.getMbjb()); + sygdMx.setQkxcms(jhxfExcel.getQkxcms()); + sygdMx.setXcmb(jhxfExcel.getXcmb()); + sygdMx.setFdxq(jhxfExcel.getFdxq()); + sygdMx.setGdjs(jhxfExcel.getGdjs()); + sygdMx.setBz(jhxfExcel.getBz()); + + insertsOne.add(sygdMx); + } + }else{ + continue; + } + int yklm=0; + if(StringUtils.isNotBlank(jhxfExcel.getYklm())){ + yklm= MyString.convertStringToNumber(jhxfExcel.getYklm()); + } + if(yklm>0){ + zz=yklm; + + + for (int j = 0; j < yklm; j++) { + // 生成数据 + insertsOne.get(j).setKw("7"); + insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs()); + zsl++; + if(zsl>num){ + continue; + } + } + } + + int yksk=0; + if(StringUtils.isNotBlank(jhxfExcel.getYksk())){ + yksk= MyString.convertStringToNumber(jhxfExcel.getYksk()); + } + if(yksk>0){ + for (int j = 0; j < yksk; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("8"); + insertsOne.get(zz+j).setQgrq(jhxfExcel.getYkpkjs()); + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+yksk; + } + int eklmbs=0; + if(StringUtils.isNotBlank(jhxfExcel.getEklmbs())){ + eklmbs= MyString.convertStringToNumber(jhxfExcel.getEksk()); + } + if(eklmbs>0){ + + for (int j = 0; j < eklmbs; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("5"); + insertsOne.get(zz+j).setQgrq(jhxfExcel.getLmqgks()); + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+eklmbs; + } + + int eksk=0; + if(StringUtils.isNotBlank(jhxfExcel.getEksk())){ + eksk= MyString.convertStringToNumber(jhxfExcel.getEksk()); + } + if(eksk>0){ + + for (int j = 0; j < eksk; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("9");/// 2跨超长超宽曲板 // 2跨T型材腹板 //2跨超长超宽板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getEkskks()); + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+eksk; + } + int sksk=0; + if(StringUtils.isNotBlank(jhxfExcel.getSksk())){ + sksk= MyString.convertStringToNumber(jhxfExcel.getSksk()); + } + if(sksk>0){ + + for (int j = 0; j < sksk; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("14");///3跨曲板 // 3跨厚板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkskqgks()); + + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+sksk; + } + int skpt=0; + if(StringUtils.isNotBlank(jhxfExcel.getSkpt())){ + skpt= MyString.convertStringToNumber(jhxfExcel.getSkpt()); + } + if(skpt>0){ + + for (int j = 0; j < skpt; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("6");///3跨曲板 // 3跨厚板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getPtks()); + insertsOne.get(zz+j).setQjgrq(jhxfExcel.getQptjs()); + + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+skpt; + } + + int skbs=0; + if(StringUtils.isNotBlank(jhxfExcel.getSkbs())){ + skbs= MyString.convertStringToNumber(jhxfExcel.getSkbs()); + } + if(skbs>0){ + + for (int j = 0; j < skbs; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("15");///3跨曲板 // 3跨厚板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkqgks()); + + + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+skbs; + } + map.put(dcch+dcpl,insertsOne); + + }{ + List insertsOne = map.get(dcch + dcpl); + + + int yklm=0; + if(StringUtils.isNotBlank(jhxfExcel.getYklm())){ + yklm= MyString.convertStringToNumber(jhxfExcel.getYklm()); + } + if(yklm>0){ + zz=yklm; + + + for (int j = 0; j < yklm; j++) { + // 生成数据 + insertsOne.get(j).setKw("7"); + insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs()); + zsl++; + if(zsl>num){ + continue; + } + } + } + + int yksk=0; + if(StringUtils.isNotBlank(jhxfExcel.getYksk())){ + yksk= MyString.convertStringToNumber(jhxfExcel.getYksk()); + } + if(yksk>0){ + for (int j = 0; j num){ + continue; + } + } + zz=zz+yksk; + } + int eklmbs=0; + if(StringUtils.isNotBlank(jhxfExcel.getEklmbs())){ + eklmbs= MyString.convertStringToNumber(jhxfExcel.getEksk()); + } + if(eklmbs>0){ + + for (int j = 0; j < eklmbs; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("5"); + insertsOne.get(zz+j).setQgrq(jhxfExcel.getLmqgks()); + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+eklmbs; + } + + int eksk=0; + if(StringUtils.isNotBlank(jhxfExcel.getEksk())){ + eksk= MyString.convertStringToNumber(jhxfExcel.getEksk()); + } + if(eksk>0){ + + for (int j = 0; j < eksk; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("9");/// 2跨超长超宽曲板 // 2跨T型材腹板 //2跨超长超宽板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getEkskks()); + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+eksk; + } + int sksk=0; + if(StringUtils.isNotBlank(jhxfExcel.getSksk())){ + sksk= MyString.convertStringToNumber(jhxfExcel.getSksk()); + } + if(sksk>0){ + + for (int j = 0; j < sksk; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("14");///3跨曲板 // 3跨厚板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkskqgks()); + + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+sksk; + } + int skpt=0; + if(StringUtils.isNotBlank(jhxfExcel.getSkpt())){ + skpt= MyString.convertStringToNumber(jhxfExcel.getSkpt()); + } + if(skpt>0){ + + for (int j = 0; j < skpt; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("6");///3跨曲板 // 3跨厚板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getPtks()); + insertsOne.get(zz+j).setQjgrq(jhxfExcel.getQptjs()); + + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+skpt; + } + + int skbs=0; + if(StringUtils.isNotBlank(jhxfExcel.getSkbs())){ + skbs= MyString.convertStringToNumber(jhxfExcel.getSkbs()); + } + if(skbs>0){ + + for (int j = 0; j < skbs; j++) { + // 生成数据 + insertsOne.get(zz+j).setKw("15");///3跨曲板 // 3跨厚板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkqgks()); + + + + zsl++; + if(zsl>num){ + continue; + } + } + zz=zz+skbs; + } + map.put(dcch+dcpl,insertsOne); + } + + + + + } + + for (Map.Entry> entry : map.entrySet()) { + String key = entry.getKey(); + List value = entry.getValue(); + + // 打印键和值 + System.out.println("Key: " + key); + System.out.println("Value: " + value); + + // 如果需要,这里还可以进一步遍历List + for (DmSygdMx item : value) { + // 对每个DmSygdMx对象进行操作 + System.out.println("DmSygdMx Object: " + item); + + /// 简单根据 船号 批量 删除后重复导入 + this.remove(new QueryWrapper().eq("dc_ch",item.getDcCh()).eq("dc_pl",item.getDcPl()) + .eq("dc_fd",item.getDcFd()) + ); + + + + + } + for (DmSygdMx item : value) { + item.setId(IdWorker.get32UUID()); + item.setDrbs("Y"); + this.save(item); + } + } + } + + } diff --git a/src/main/java/com/dsic/gj_erp/util/MyString.java b/src/main/java/com/dsic/gj_erp/util/MyString.java index bfd571a..b4f4ec9 100644 --- a/src/main/java/com/dsic/gj_erp/util/MyString.java +++ b/src/main/java/com/dsic/gj_erp/util/MyString.java @@ -24,6 +24,28 @@ public class MyString { return sb.toString(); } + public static Integer convertStringToNumber(String str) { + // 判断字符串是否为 null 或者空字符串 + if (str == null || str.isEmpty()) { + return null; // 这里返回 null 或者其他逻辑 + } + + // 判断字符串是否为数字 + for (char c : str.toCharArray()) { + if (!Character.isDigit(c)) { + return null; // 这里返回 null 或者其他逻辑 + } + } + + try { + // 将字符串转换为数字 + return Integer.parseInt(str); + } catch (NumberFormatException e) { + e.printStackTrace(); + return null; // 转换失败时返回 null + } + } + /** * findtest 个数 * @param srcText From 2efce27ab9e7df488a7c2c3bc640976311b71ec9 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, 12 Oct 2024 14:16:09 +0800 Subject: [PATCH 071/196] 1.111 --- .../com/dsic/gj_erp/controller/jhgk/DmSygdxqController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdxqController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdxqController.java index a602412..9521679 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdxqController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdxqController.java @@ -52,7 +52,8 @@ public class DmSygdxqController { .eq(StrUtil.isNotEmpty(map.get("dcCh")),"dc_ch",map.get("dcCh")) .ge(StrUtil.isNotEmpty(map.get("beginTime")), "xzglxq", DateUtil.beginOfMonth(DateUtil.parseDate(map.get("beginTime")))) .le(StrUtil.isNotEmpty(map.get("endTime")), "xzglxq", DateUtil.endOfMonth(DateUtil.parseDate(map.get("endTime")))) - .orderByAsc("dc_ch, cast(dc_pl as int),xzglxq")); +// .orderByAsc("dc_ch, cast(dc_pl as int),xzglxq")); + .orderByAsc("dc_ch, dc_pl,xzglxq")); return new ResultBean(list); } From f0e35bbce9008633282d02fe6c0116ea79584322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 15 Oct 2024 10:59:52 +0800 Subject: [PATCH 072/196] =?UTF-8?q?1.=E6=B8=85=E7=90=86=E6=97=A0=E6=95=88?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E9=A1=B9=202.=E4=BF=AE=E5=A4=8D=E9=98=85?= =?UTF-8?q?=E8=AF=BB=E8=AE=A1=E5=88=92=E6=9F=A5=E8=AF=A2=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84bug=203.=E5=A2=9E=E5=8A=A0ws?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E8=B0=83=E8=AF=95=E7=8E=AF=E5=A2=83=204.?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7=E7=8E=AF=E5=A2=83ws?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E8=AE=BF=E9=97=AE=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/bean/jcsj/DmBom.java | 1 - .../com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java | 2 -- .../com/dsic/gj_erp/bean/jcsj/EmGcrl.java | 1 - .../com/dsic/gj_erp/bean/jcsj/EmGcrlDto.java | 11 ---------- .../com/dsic/gj_erp/bean/jcsj/EmSbjbb.java | 5 ++++- .../com/dsic/gj_erp/bean/jcsj/EmSbjgry.java | 2 -- .../com/dsic/gj_erp/bean/jcsj/EmSbrydyp.java | 2 -- .../com/dsic/gj_erp/bean/jcsj/EmSbwxjh.java | 2 -- .../com/dsic/gj_erp/bean/jhgk/DmJtsyjh.java | 2 -- .../com/dsic/gj_erp/bean/jhgk/DmSygd.java | 1 - .../com/dsic/gj_erp/bean/jhgk/DmSygdMx.java | 1 - .../com/dsic/gj_erp/bean/jhgk/DmTzjh.java | 2 -- .../com/dsic/gj_erp/bean/jhgk/DmXbjh.java | 2 -- .../com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java | 1 - .../com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java | 5 ----- .../com/dsic/gj_erp/bean/jhgk/DmZrcjh.java | 1 - .../com/dsic/gj_erp/bean/jhgk/dto/Dhdto.java | 1 - .../com/dsic/gj_erp/bean/jhgk/dto/Pldto.java | 3 --- .../dsic/gj_erp/bean/jhgk/dto/Xbjhdto.java | 1 - .../gj_erp/bean/jhgk/excel/GdxqExcel.java | 7 ------- .../gj_erp/bean/jhgk/excel/GdxqExcel1.java | 6 ------ .../dsic/gj_erp/bean/jhgk/excel/SyExcel.java | 2 -- .../com/dsic/gj_erp/bean/jiuzhou/Sljh.java | 2 -- .../com/dsic/gj_erp/bean/kc/ImCkwpkwp.java | 2 -- .../com/dsic/gj_erp/bean/pgd/DmPpxxb.java | 8 +++----- .../java/com/dsic/gj_erp/bean/pgd/PgdDh.java | 3 ++- .../com/dsic/gj_erp/bean/pgd/PgdDmjh.java | 3 ++- .../com/dsic/gj_erp/bean/pgd/PgdPkjh.java | 3 ++- .../com/dsic/gj_erp/bean/pgd/PgdPwjh.java | 3 ++- .../com/dsic/gj_erp/bean/pgd/PgdQgjh.java | 3 ++- .../com/dsic/gj_erp/bean/pgd/PgdQmjh.java | 3 ++- .../com/dsic/gj_erp/bean/pgd/PgdSljh.java | 3 ++- .../com/dsic/gj_erp/bean/pgd/PgdTzjh.java | 3 ++- .../java/com/dsic/gj_erp/bean/pgd/Qmqz.java | 4 ++-- .../com/dsic/gj_erp/bean/sy/SyDictItem.java | 2 -- .../java/com/dsic/gj_erp/bean/sy/SyLog.java | 1 - .../config/MyPhysicalNamingStrategy.java | 1 - .../controller/jhgk/DmSygdMxController.java | 17 ---------------- ...日程批量表合并导入控制器.java | 13 +++++++----- .../gj_erp/dao/jcsj/EmGcrlRepository.java | 1 - .../gj_erp/dao/jcsj/EmSbjbbRepository.java | 1 - .../gj_erp/dao/jcsj/EmSbrydypRepository.java | 1 - .../gj_erp/dao/jhgk/DmJtsyjhRepository.java | 1 - .../gj_erp/mapper/jcsj/EmSbjbbMapper.java | 8 -------- .../gj_erp/mapper/jcsj/EmSbjgryMapper.java | 1 - .../gj_erp/mapper/jhgk/DmJtsyjhMapper.java | 1 - .../gj_erp/mapper/jhgk/DmSygdxqMapper.java | 2 -- .../dsic/gj_erp/mapper/pgd/DmPpxxbMapper.java | 1 - .../dsic/gj_erp/mapper/pgd/PgdDhMapper.java | 2 +- .../dsic/gj_erp/mapper/pgd/PgdDmjhMapper.java | 2 +- .../dsic/gj_erp/mapper/pgd/PgdPkjhMapper.java | 2 +- .../dsic/gj_erp/mapper/pgd/PgdPwjhMapper.java | 2 +- .../dsic/gj_erp/mapper/pgd/PgdQgjhMapper.java | 2 +- .../dsic/gj_erp/mapper/pgd/PgdQmjhMapper.java | 3 +-- .../dsic/gj_erp/mapper/pgd/PgdSljhMapper.java | 2 +- .../dsic/gj_erp/mapper/pgd/PgdTzjhMapper.java | 2 +- .../mapper/txzz/应付账款Mapper.java | 1 - .../dsic/gj_erp/mapper/txzz/盘点Mapper.java | 1 - .../dsic/gj_erp/mapper/txzz/退货Mapper.java | 1 - .../mapper/txzz/采购订单Mapper.java | 1 - .../java/com/dsic/gj_erp/pc/DataFactory.java | 5 ++++- src/main/java/com/dsic/gj_erp/pc/Manager.java | 1 - .../com/dsic/gj_erp/pc/dto/工序产能.java | 2 -- .../java/com/dsic/gj_erp/pc/dto/资源.java | 1 - .../gj_erp/pc/service/三月滚动接口.java | 2 -- .../gj_erp/pc/service/工序CD接口.java | 1 - .../订货计划滚动信息接口.java | 2 -- .../gj_erp/pc/service/设备产能接口.java | 5 ++++- .../gj_erp/service/jcsj/EmGcrlService.java | 1 - .../jcsj/impl/BomUploadServiceImpl.java | 6 ------ .../service/jcsj/impl/DmBomServiceImpl.java | 2 -- .../service/jcsj/impl/EmGcrlServiceImpl.java | 11 +++------- .../service/jcsj/impl/EmSbcnpServiceImpl.java | 1 - .../service/jcsj/impl/EmSbjbbServiceImpl.java | 2 -- .../jcsj/impl/EmSbjgryServiceImpl.java | 10 ---------- .../jcsj/impl/EmSbrydypServiceImpl.java | 1 - .../jhgk/impl/DmSygdMxServiceImpl.java | 6 +++++- .../gj_erp/service/pgd/DmPpxxbService.java | 1 - .../dsic/gj_erp/service/pgd/PgdDhService.java | 3 +-- .../gj_erp/service/pgd/PgdDmjhService.java | 4 +--- .../gj_erp/service/pgd/PgdPkjhService.java | 3 +-- .../gj_erp/service/pgd/PgdPwjhService.java | 3 +-- .../gj_erp/service/pgd/PgdQgjhService.java | 3 +-- .../gj_erp/service/pgd/PgdQmjhService.java | 3 +-- .../gj_erp/service/pgd/PgdSljhService.java | 3 +-- .../gj_erp/service/pgd/PgdTzjhService.java | 2 +- .../service/pgd/impl/PgdDhServiceImpl.java | 4 +--- .../service/pgd/impl/PgdDmjhServiceImpl.java | 5 +---- .../service/pgd/impl/PgdPkjhServiceImpl.java | 4 +--- .../service/pgd/impl/PgdPwjhServiceImpl.java | 3 +-- .../service/pgd/impl/PgdQgjhServiceImpl.java | 4 +--- .../service/pgd/impl/PgdQmjhServiceImpl.java | 4 +--- .../service/pgd/impl/PgdSljhServiceImpl.java | 9 +-------- .../service/pgd/impl/PgdTzjhServiceImpl.java | 4 +--- .../com/dsic/gj_erp/service/sy/SYService.java | 5 ----- .../sy/impl/SyDictItemServiceImpl.java | 2 +- .../service/sy/impl/SyDictServiceImpl.java | 4 ++-- .../java/com/dsic/gj_erp/util/ExcelUtil.java | 4 ---- .../java/com/dsic/gj_erp/util/FileUtil.java | 1 - .../java/com/dsic/gj_erp/util/IPUtils.java | 20 ++++++++++--------- .../com/dsic/gj_erp/ws/WsInitListener.java | 1 - .../com/dsic/gj_erp/ws/WsStopListener.java | 1 - src/main/resources/application-localws.yml | 13 ++++++++++++ src/main/resources/application-ws.yml | 4 ++-- 104 files changed, 102 insertions(+), 247 deletions(-) create mode 100644 src/main/resources/application-localws.yml diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBom.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBom.java index d5610e6..12a68b7 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBom.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBom.java @@ -9,7 +9,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import org.springframework.data.annotation.Id; import java.io.Serializable; import java.math.BigDecimal; diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java index dbf2b5d..9ebb6b9 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java @@ -1,10 +1,8 @@ package com.dsic.gj_erp.bean.jcsj; -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.dsic.gj_erp.bean.jhgk.DmZrcjh; import com.dsic.gj_erp.bean.jhgk.excel.ZrcAndPlb; import com.dsic.gj_erp.exception.ServiceException; import io.swagger.annotations.ApiModel; diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java index b4501a6..bb45952 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import io.swagger.models.auth.In; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrlDto.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrlDto.java index ecfc921..cf73d2e 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrlDto.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrlDto.java @@ -1,20 +1,9 @@ package com.dsic.gj_erp.bean.jcsj; -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 com.dsic.gj_erp.bean.jhgk.DmSygdxq; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; -import javax.persistence.Entity; -import javax.persistence.Id; -import java.io.Serializable; import java.math.BigDecimal; -import java.util.List; /** *

diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjbb.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjbb.java index 8f0b0e9..07e576b 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjbb.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjbb.java @@ -1,6 +1,9 @@ package com.dsic.gj_erp.bean.jcsj; -import com.baomidou.mybatisplus.annotation.*; +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.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjgry.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjgry.java index f8a324f..dee6ef1 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjgry.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjgry.java @@ -1,9 +1,7 @@ package com.dsic.gj_erp.bean.jcsj; import com.alibaba.excel.annotation.format.DateTimeFormat; -import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbrydyp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbrydyp.java index d9c296f..b9df005 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbrydyp.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbrydyp.java @@ -1,10 +1,8 @@ package com.dsic.gj_erp.bean.jcsj; -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 com.github.jeffreyning.mybatisplus.anno.MppMultiId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbwxjh.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbwxjh.java index ccec210..b36d318 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbwxjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbwxjh.java @@ -9,8 +9,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import javax.persistence.Entity; -import javax.persistence.Id; import java.io.Serializable; /** diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJtsyjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJtsyjh.java index 1219fb5..b61cd54 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJtsyjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJtsyjh.java @@ -6,10 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; import javax.persistence.Entity; import javax.persistence.Id; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygd.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygd.java index 88051a1..5e4bbad 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygd.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygd.java @@ -9,7 +9,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; -import java.util.List; /** *

diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java index b029d78..a820ec4 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java @@ -13,7 +13,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; -import java.math.BigDecimal; /** *

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 0a3eb43..81709d1 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 @@ -9,8 +9,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import javax.persistence.Entity; -import javax.persistence.Id; import java.io.Serializable; /** diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java index 9834ad5..8630bce 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java @@ -1,8 +1,6 @@ package com.dsic.gj_erp.bean.jhgk; -import com.alibaba.excel.annotation.ExcelProperty; 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.ApiModel; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java index 8e18e87..982e872 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java @@ -7,7 +7,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import org.apache.poi.ooxml.POIXMLDocumentPart; import java.io.Serializable; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java index dcb781b..1c8aaed 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhxf.java @@ -1,12 +1,7 @@ package com.dsic.gj_erp.bean.jhgk; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; import java.io.Serializable; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java index 4bf117d..f6a8032 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java @@ -1,6 +1,5 @@ package com.dsic.gj_erp.bean.jhgk; -import cn.hutool.core.util.StrUtil; import com.alibaba.excel.annotation.ExcelIgnore; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Dhdto.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Dhdto.java index 9fc1a9f..67c953f 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Dhdto.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Dhdto.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.bean.jhgk.dto; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Pldto.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Pldto.java index 0a77c86..97657d5 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Pldto.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Pldto.java @@ -1,11 +1,8 @@ package com.dsic.gj_erp.bean.jhgk.dto; import com.dsic.gj_erp.bean.jcsj.DmCzplpNew; -import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import lombok.Data; -import java.util.List; - @Data public class Pldto extends DmCzplpNew { diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Xbjhdto.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Xbjhdto.java index a990497..e7d345d 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Xbjhdto.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/dto/Xbjhdto.java @@ -4,7 +4,6 @@ import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmXbjh; import lombok.Data; -import java.math.BigDecimal; import java.util.List; @Data diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/GdxqExcel.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/GdxqExcel.java index 27e99eb..f29197c 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/GdxqExcel.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/GdxqExcel.java @@ -3,15 +3,8 @@ package com.dsic.gj_erp.bean.jhgk.excel; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; /** *

diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/GdxqExcel1.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/GdxqExcel1.java index 8beba9f..8a6a051 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/GdxqExcel1.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/GdxqExcel1.java @@ -3,14 +3,8 @@ package com.dsic.gj_erp.bean.jhgk.excel; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; /** *

diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/SyExcel.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/SyExcel.java index 162df6c..92e7a6e 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/SyExcel.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/SyExcel.java @@ -1,9 +1,7 @@ package com.dsic.gj_erp.bean.jhgk.excel; import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.format.DateTimeFormat; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/dsic/gj_erp/bean/jiuzhou/Sljh.java b/src/main/java/com/dsic/gj_erp/bean/jiuzhou/Sljh.java index 3ba8303..ad3f32c 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jiuzhou/Sljh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jiuzhou/Sljh.java @@ -7,8 +7,6 @@ import com.dsic.gj_erp.bean.jhgk.DmYdjh; import lombok.Getter; import lombok.Setter; -import java.util.Random; - @Getter @Setter @TableName("im_slxx") diff --git a/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java b/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java index 9e93bfb..bfb6773 100644 --- a/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java +++ b/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java @@ -1,8 +1,6 @@ package com.dsic.gj_erp.bean.kc; -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 com.github.jeffreyning.mybatisplus.anno.MppMultiId; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/DmPpxxb.java b/src/main/java/com/dsic/gj_erp/bean/pgd/DmPpxxb.java index 5f55447..ec49116 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/DmPpxxb.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/DmPpxxb.java @@ -1,17 +1,15 @@ package com.dsic.gj_erp.bean.pgd; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; -import java.io.Serializable; - +import com.baomidou.mybatisplus.annotation.TableName; import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDh.java index 68b3327..c9c2fa0 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDh.java @@ -2,12 +2,13 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDmjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDmjh.java index 6973b85..636baa5 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDmjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdDmjh.java @@ -2,12 +2,13 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPkjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPkjh.java index 3ac9acf..5eece15 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPkjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPkjh.java @@ -2,12 +2,13 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java index 1304dc3..99f2230 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdPwjh.java @@ -2,12 +2,13 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java index 9fabac8..0625d95 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQgjh.java @@ -2,12 +2,13 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQmjh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQmjh.java index bb7d0ac..e989dab 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQmjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdQmjh.java @@ -2,12 +2,13 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java index 0e28c4c..d9af066 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/PgdSljh.java @@ -2,12 +2,13 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* 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 90d0b67..c6080ad 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,12 +2,13 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* diff --git a/src/main/java/com/dsic/gj_erp/bean/pgd/Qmqz.java b/src/main/java/com/dsic/gj_erp/bean/pgd/Qmqz.java index 78a2951..6bba1f9 100644 --- a/src/main/java/com/dsic/gj_erp/bean/pgd/Qmqz.java +++ b/src/main/java/com/dsic/gj_erp/bean/pgd/Qmqz.java @@ -1,12 +1,12 @@ package com.dsic.gj_erp.bean.pgd; import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableField; -import java.io.Serializable; import io.swagger.annotations.ApiModel; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; + /** *

* diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/SyDictItem.java b/src/main/java/com/dsic/gj_erp/bean/sy/SyDictItem.java index 465bd72..282b6af 100644 --- a/src/main/java/com/dsic/gj_erp/bean/sy/SyDictItem.java +++ b/src/main/java/com/dsic/gj_erp/bean/sy/SyDictItem.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.bean.sy; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -12,7 +11,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; -import java.math.BigDecimal; /** *

diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/SyLog.java b/src/main/java/com/dsic/gj_erp/bean/sy/SyLog.java index 692c323..013ede4 100644 --- a/src/main/java/com/dsic/gj_erp/bean/sy/SyLog.java +++ b/src/main/java/com/dsic/gj_erp/bean/sy/SyLog.java @@ -3,7 +3,6 @@ package com.dsic.gj_erp.bean.sy; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.extension.activerecord.Model; - import com.dsic.gj_erp.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/dsic/gj_erp/config/MyPhysicalNamingStrategy.java b/src/main/java/com/dsic/gj_erp/config/MyPhysicalNamingStrategy.java index 685c5fb..b1facbb 100644 --- a/src/main/java/com/dsic/gj_erp/config/MyPhysicalNamingStrategy.java +++ b/src/main/java/com/dsic/gj_erp/config/MyPhysicalNamingStrategy.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.config; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; import org.hibernate.boot.model.naming.Identifier; import org.hibernate.boot.model.naming.PhysicalNamingStrategy; import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment; diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java index 55a4b0b..a929cdb 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java @@ -1,42 +1,25 @@ package com.dsic.gj_erp.controller.jhgk; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jcsj.DmCzplpNew; -import com.dsic.gj_erp.bean.jcsj.EmGcrl; import com.dsic.gj_erp.bean.jcsj.EmSbcnp; -import com.dsic.gj_erp.bean.jcsj.EmSbjbb; -import com.dsic.gj_erp.bean.jcsj.excel.PlExcel; -import com.dsic.gj_erp.bean.jhgk.DmQfxq; -import com.dsic.gj_erp.bean.jhgk.DmSygd; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjhxf; import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; -import com.dsic.gj_erp.handler.ComputePlan; import com.dsic.gj_erp.listeners.ExcelJhxfListener; -import com.dsic.gj_erp.listeners.ExcelPlListener; -import com.dsic.gj_erp.pc.Manager; -import com.dsic.gj_erp.pc.排产; import com.dsic.gj_erp.service.jcsj.EmGcrlService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; -import com.dsic.gj_erp.service.sy.SYService; -import com.sun.org.apache.bcel.internal.generic.RETURN; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.*; -import java.util.concurrent.Semaphore; import java.util.stream.Collectors; /** diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java index 0737792..efc1c84 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmCzplp; import com.dsic.gj_erp.bean.jcsj.DmCzplpNew; @@ -46,6 +47,7 @@ public class 中日程批量表合并导入控制器 { private final DmZrcjhOldService oldService; @PostMapping("upload") + @AuthFunction @Transactional(rollbackFor = Exception.class) public ResultBean upload(@RequestParam("file") MultipartFile file,String dcCh, HttpServletRequest req) throws IOException { ExcelZrcAndPlb excelZrcAndPlb = new ExcelZrcAndPlb(); @@ -75,15 +77,16 @@ public class 中日程批量表合并导入控制器 { if (ObjectUtil.isNotEmpty(dmZrcjhOne)) { //存进备份表 DmZrcjhOld old= BeanUtil.copyProperties(dmZrcjhOne, DmZrcjhOld.class); + old.setXh(null); oldService.save(old); String dmZrcjhOneBzr = dmZrcjhOne.getBzr(); String dmZrcjhOneBzrq = dmZrcjhOne.getBzrq(); if (!dmZrcjhOneBzr.contains(bzr)) { dmZrcjh.setBzr(StrUtil.format("{}@{}",dmZrcjhOneBzr , bzr)); dmZrcjh.setBzrq(StrUtil.format("{}@{}",dmZrcjhOneBzrq , day)); - dmZrcjh.setXh(dmZrcjhOne.getXh()); } - zrcjhService.updateById(dmZrcjh); + dmZrcjh.setXh(dmZrcjhOne.getXh()); + zrcjhList.add(dmZrcjh); } else { dmZrcjh.setBzr(bzr); dmZrcjh.setBzrq(day); @@ -99,8 +102,8 @@ public class 中日程批量表合并导入控制器 { fdList.stream().filter(fst -> plb.getDcPl().equals(fst.getDcPl())) .findFirst().ifPresent(it->updateCzPlp(plb,it)); }catch (Exception ignored){} + plList.add(plb); } - plList.add(plb); //旧表数据,仅当首次导入时写入即可 if (!remove){ @@ -111,7 +114,7 @@ public class 中日程批量表合并导入控制器 { } } } - zrcjhService.saveBatch(zrcjhList,500); + zrcjhService.saveOrUpdateBatch(zrcjhList,500); if (!plList.isEmpty()) { czplpNewService.saveBatch(plList,500); @@ -139,7 +142,7 @@ public class 中日程批量表合并导入控制器 { dmCzplpService.saveBatch(dmCzplpList); } - return new ResultBean<>(); + return new ResultBean<>(zrcjhList); } private void updateCzPlp(DmCzplpNew czplpNew,DmCzplpNew czplp){ diff --git a/src/main/java/com/dsic/gj_erp/dao/jcsj/EmGcrlRepository.java b/src/main/java/com/dsic/gj_erp/dao/jcsj/EmGcrlRepository.java index 95a9059..95cf6eb 100644 --- a/src/main/java/com/dsic/gj_erp/dao/jcsj/EmGcrlRepository.java +++ b/src/main/java/com/dsic/gj_erp/dao/jcsj/EmGcrlRepository.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.dao.jcsj; import com.dsic.gj_erp.bean.jcsj.EmGcrl; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/dsic/gj_erp/dao/jcsj/EmSbjbbRepository.java b/src/main/java/com/dsic/gj_erp/dao/jcsj/EmSbjbbRepository.java index efda05b..4cdaa49 100644 --- a/src/main/java/com/dsic/gj_erp/dao/jcsj/EmSbjbbRepository.java +++ b/src/main/java/com/dsic/gj_erp/dao/jcsj/EmSbjbbRepository.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.dao.jcsj; import com.dsic.gj_erp.bean.jcsj.EmSbjbb; -import com.dsic.gj_erp.bean.sy.Dm_zhbmlbp; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/dsic/gj_erp/dao/jcsj/EmSbrydypRepository.java b/src/main/java/com/dsic/gj_erp/dao/jcsj/EmSbrydypRepository.java index ee76802..5da5616 100644 --- a/src/main/java/com/dsic/gj_erp/dao/jcsj/EmSbrydypRepository.java +++ b/src/main/java/com/dsic/gj_erp/dao/jcsj/EmSbrydypRepository.java @@ -1,6 +1,5 @@ package com.dsic.gj_erp.dao.jcsj; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.bean.jcsj.EmSbrydyp; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; diff --git a/src/main/java/com/dsic/gj_erp/dao/jhgk/DmJtsyjhRepository.java b/src/main/java/com/dsic/gj_erp/dao/jhgk/DmJtsyjhRepository.java index cb5db63..54e7fdc 100644 --- a/src/main/java/com/dsic/gj_erp/dao/jhgk/DmJtsyjhRepository.java +++ b/src/main/java/com/dsic/gj_erp/dao/jhgk/DmJtsyjhRepository.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.dao.jhgk; import com.dsic.gj_erp.bean.jhgk.DmJtsyjh; -import com.dsic.gj_erp.bean.jhgk.DmXbjh; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbjbbMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbjbbMapper.java index a1fb2a2..70adf07 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbjbbMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbjbbMapper.java @@ -1,18 +1,10 @@ package com.dsic.gj_erp.mapper.jcsj; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.jcsj.EmSbjbb; -import org.mapstruct.Mapper; -import java.io.Serializable; -import java.util.Collection; import java.util.List; -import java.util.Map; -import java.util.function.Function; /** *

diff --git a/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbjgryMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbjgryMapper.java index d5d70d3..4edd813 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbjgryMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbjgryMapper.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.mapper.jcsj; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.bean.jcsj.EmSbjgry; /** diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmJtsyjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmJtsyjhMapper.java index 6289d9d..00c78bc 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmJtsyjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmJtsyjhMapper.java @@ -3,7 +3,6 @@ package com.dsic.gj_erp.mapper.jhgk; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.jhgk.DmJtsyjh; -import io.lettuce.core.dynamic.annotation.Param; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java index e0b4180..79a7bc5 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java @@ -2,10 +2,8 @@ package com.dsic.gj_erp.mapper.jhgk; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; import com.dsic.gj_erp.bean.jhgk.DmSygdxq; -import org.apache.ibatis.annotations.Param; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/mapper/pgd/DmPpxxbMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pgd/DmPpxxbMapper.java index 7e66d8a..b77ae32 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pgd/DmPpxxbMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pgd/DmPpxxbMapper.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.mapper.pgd; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.pgd.DmPpxxb; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdDhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdDhMapper.java index b600521..4f9b3c7 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdDhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdDhMapper.java @@ -1,7 +1,7 @@ package com.dsic.gj_erp.mapper.pgd; -import com.dsic.gj_erp.bean.pgd.PgdDh; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.pgd.PgdDh; /** *

diff --git a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdDmjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdDmjhMapper.java index a756191..ed0ae99 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdDmjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdDmjhMapper.java @@ -1,7 +1,7 @@ package com.dsic.gj_erp.mapper.pgd; -import com.dsic.gj_erp.bean.pgd.PgdDmjh; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.pgd.PgdDmjh; /** *

diff --git a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdPkjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdPkjhMapper.java index ff77df2..abd38d8 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdPkjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdPkjhMapper.java @@ -1,7 +1,7 @@ package com.dsic.gj_erp.mapper.pgd; -import com.dsic.gj_erp.bean.pgd.PgdPkjh; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.pgd.PgdPkjh; /** *

diff --git a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdPwjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdPwjhMapper.java index 8e60cbe..47e1b90 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdPwjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdPwjhMapper.java @@ -1,7 +1,7 @@ package com.dsic.gj_erp.mapper.pgd; -import com.dsic.gj_erp.bean.pgd.PgdPwjh; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.pgd.PgdPwjh; /** *

diff --git a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdQgjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdQgjhMapper.java index 350a2e0..d53f257 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdQgjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdQgjhMapper.java @@ -1,7 +1,7 @@ package com.dsic.gj_erp.mapper.pgd; -import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.pgd.PgdQgjh; /** *

diff --git a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdQmjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdQmjhMapper.java index 7c3a54f..a6bede6 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdQmjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdQmjhMapper.java @@ -1,9 +1,8 @@ package com.dsic.gj_erp.mapper.pgd; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.pgd.PgdQmjh; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsic.gj_erp.bean.pgd.Qmqz; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdSljhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdSljhMapper.java index 3725126..39ff74a 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdSljhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdSljhMapper.java @@ -1,7 +1,7 @@ package com.dsic.gj_erp.mapper.pgd; -import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.pgd.PgdSljh; /** *

diff --git a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdTzjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdTzjhMapper.java index c8016c1..0037445 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdTzjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/pgd/PgdTzjhMapper.java @@ -1,7 +1,7 @@ package com.dsic.gj_erp.mapper.pgd; -import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.pgd.PgdTzjh; /** *

diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/应付账款Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/应付账款Mapper.java index 37cdb6d..f4a484f 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/txzz/应付账款Mapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/应付账款Mapper.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.mapper.txzz; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsic.gj_erp.bean.jt.入库; import com.dsic.gj_erp.bean.jt.应付账款; import org.apache.ibatis.annotations.Mapper; diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/盘点Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/盘点Mapper.java index 83af2da..0dcbe14 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/txzz/盘点Mapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/盘点Mapper.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.mapper.txzz; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsic.gj_erp.bean.jt.入库; import com.dsic.gj_erp.bean.jt.盘点; import org.apache.ibatis.annotations.Mapper; diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/退货Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/退货Mapper.java index 8644722..faf5fc1 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/txzz/退货Mapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/退货Mapper.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.mapper.txzz; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsic.gj_erp.bean.jt.入库; import com.dsic.gj_erp.bean.jt.退货; import org.apache.ibatis.annotations.Mapper; diff --git a/src/main/java/com/dsic/gj_erp/mapper/txzz/采购订单Mapper.java b/src/main/java/com/dsic/gj_erp/mapper/txzz/采购订单Mapper.java index c6872ca..de2869e 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/txzz/采购订单Mapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/txzz/采购订单Mapper.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.mapper.txzz; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsic.gj_erp.bean.jt.入库; import com.dsic.gj_erp.bean.jt.采购订单; import org.apache.ibatis.annotations.Mapper; 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 03aff28..45eb3ea 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -19,7 +19,10 @@ import com.dsic.gj_erp.pc.dto.data.钢料需求; import com.dsic.gj_erp.pc.dto.gx.*; import com.dsic.gj_erp.pc.dto.sb.*; import com.dsic.gj_erp.pc.dto.tlt.*; -import com.dsic.gj_erp.pc.dto.*; +import com.dsic.gj_erp.pc.dto.套料图工序; +import com.dsic.gj_erp.pc.dto.工序产能; +import com.dsic.gj_erp.pc.dto.设备; +import com.dsic.gj_erp.pc.dto.资源; import com.dsic.gj_erp.pc.service.工序CD接口; import com.dsic.gj_erp.pc.service.订货计划滚动信息接口; import com.dsic.gj_erp.pc.service.设备产能接口; diff --git a/src/main/java/com/dsic/gj_erp/pc/Manager.java b/src/main/java/com/dsic/gj_erp/pc/Manager.java index 023a28f..62c9eaf 100644 --- a/src/main/java/com/dsic/gj_erp/pc/Manager.java +++ b/src/main/java/com/dsic/gj_erp/pc/Manager.java @@ -3,7 +3,6 @@ package com.dsic.gj_erp.pc; import com.dsic.gj_erp.bean.jcsj.EmGcrl; import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.pc.dto.data.Bom; -import com.dsic.gj_erp.pc.dto.data.钢料需求; import com.dsic.gj_erp.pc.dto.资源; import java.util.ArrayList; diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/工序产能.java b/src/main/java/com/dsic/gj_erp/pc/dto/工序产能.java index f542138..68901ca 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/工序产能.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/工序产能.java @@ -6,8 +6,6 @@ import com.dsic.gj_erp.pc.service.工序排产处理接口; import lombok.Getter; import lombok.Setter; -import java.util.ArrayList; -import java.util.List; import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentLinkedDeque; diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java index a6e32f4..9769f50 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.pc.dto; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.pc.Constant; import com.dsic.gj_erp.pc.dto.data.Bom; diff --git a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java index 91eab79..9d60d51 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.pc.service; 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.dsic.gj_erp.bean.ResultBean; @@ -15,7 +14,6 @@ import com.dsic.gj_erp.pc.Manager; import com.dsic.gj_erp.service.jhgk.DmSygdMxLjService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmSygdService; -import com.dsic.gj_erp.service.jhgk.impl.DmSygdMxLjServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/dsic/gj_erp/pc/service/工序CD接口.java b/src/main/java/com/dsic/gj_erp/pc/service/工序CD接口.java index 6d56d34..fc257c1 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/工序CD接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/工序CD接口.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.pc.service; import com.dsic.gj_erp.pc.工序CD; -import com.dsic.gj_erp.pc.设备产能; import lombok.AllArgsConstructor; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CachePut; diff --git a/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java b/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java index 64a8a26..431a04e 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/订货计划滚动信息接口.java @@ -1,7 +1,5 @@ package com.dsic.gj_erp.pc.service; -import com.dsic.gj_erp.bean.jhgk.DmSygd; -import com.dsic.gj_erp.pc.工序CD; import com.dsic.gj_erp.pc.订货计划; import lombok.AllArgsConstructor; import org.springframework.cache.annotation.CacheEvict; diff --git a/src/main/java/com/dsic/gj_erp/pc/service/设备产能接口.java b/src/main/java/com/dsic/gj_erp/pc/service/设备产能接口.java index 82590e6..a85fe4a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/设备产能接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/设备产能接口.java @@ -8,7 +8,10 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; @Service @AllArgsConstructor diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/EmGcrlService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/EmGcrlService.java index 454c84c..e193d82 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/EmGcrlService.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/EmGcrlService.java @@ -4,7 +4,6 @@ package com.dsic.gj_erp.service.jcsj; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.jcsj.EmGcrl; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 0d1dfc3..6f583a8 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.service.jcsj.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.dsic.gj_erp.bean.ResultBean; @@ -18,14 +17,9 @@ import com.dsic.gj_erp.service.jcsj.*; import com.dsic.gj_erp.service.jhgk.DmTzjhService; import com.dsic.gj_erp.service.sy.SYService; import org.apache.commons.lang3.StringUtils; -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.text.PDFTextStripper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import javax.script.ScriptException; 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 bddad2e..de178f2 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 @@ -1,6 +1,5 @@ package com.dsic.gj_erp.service.jcsj.impl; -import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -12,7 +11,6 @@ import com.dsic.gj_erp.bean.jcsj.vo.BomVO; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.mapper.jcsj.DmBomMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmGcrlServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmGcrlServiceImpl.java index 4f1d906..6b93557 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmGcrlServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmGcrlServiceImpl.java @@ -1,29 +1,24 @@ package com.dsic.gj_erp.service.jcsj.impl; -import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jcsj.EmGcrl; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.dao.jcsj.EmGcrlRepository; import com.dsic.gj_erp.mapper.jcsj.EmGcrlMapper; import com.dsic.gj_erp.service.jcsj.EmGcrlService; -import io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Repository; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.text.SimpleDateFormat; import java.time.DayOfWeek; import java.time.LocalDate; -import java.time.Period; -import java.time.Year; import java.time.format.DateTimeFormatter; import java.time.temporal.WeekFields; -import java.util.*; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; /** *

diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbcnpServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbcnpServiceImpl.java index 4fbf036..9139f5e 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbcnpServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbcnpServiceImpl.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.service.jcsj.impl; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jcsj.EmSbcnp; diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbjbbServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbjbbServiceImpl.java index 0251e8a..99af377 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbjbbServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbjbbServiceImpl.java @@ -1,10 +1,8 @@ package com.dsic.gj_erp.service.jcsj.impl; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.request.EmSbjbbBean; import com.dsic.gj_erp.dao.jcsj.EmSbjbbRepository; diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbjgryServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbjgryServiceImpl.java index cb87b18..dd056f9 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbjgryServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbjgryServiceImpl.java @@ -1,22 +1,12 @@ package com.dsic.gj_erp.service.jcsj.impl; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.bean.jcsj.EmSbjgry; -import com.dsic.gj_erp.mapper.jcsj.EmSbcnpMapper; import com.dsic.gj_erp.mapper.jcsj.EmSbjgryMapper; -import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jcsj.EmSbjgryService; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import java.util.List; -import java.util.stream.Collectors; - /** *

* 服务实现类 diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbrydypServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbrydypServiceImpl.java index 2355052..d4638cb 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbrydypServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbrydypServiceImpl.java @@ -15,7 +15,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** *

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 2a601db..3b81dbc 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 @@ -26,7 +26,6 @@ import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jhgk.*; import com.dsic.gj_erp.util.MyString; -import io.swagger.annotations.ApiModelProperty; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -912,6 +911,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i List list2=new ArrayList<>(); //按批次合并为一行 collect.forEach((key,val)->{ + List tzbhList=new ArrayList<>(); Set plSet=new HashSet<>(); DmYdjhxf dmYdjhxf = new DmYdjhxf(); dmYdjhxf.setDcCh(key.split("_")[0]); @@ -927,6 +927,10 @@ public class DmSygdMxServiceImpl extends ServiceImpl i AtomicReference skbs= new AtomicReference<>(0); AtomicReference skbs2= new AtomicReference<>(0); val.forEach(item-> { + if (tzbhList.contains(item.getTzbh())){ + return; + } + tzbhList.add(item.getTzbh()); plSet.add(item.getDcFd()); if (slkw.contains(item.getKw())){ bs.updateAndGet(v -> v + 1); diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/DmPpxxbService.java b/src/main/java/com/dsic/gj_erp/service/pgd/DmPpxxbService.java index c4c712b..3280fdf 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/DmPpxxbService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/DmPpxxbService.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.service.pgd; import com.dsic.gj_erp.bean.pgd.DmPpxxb; -import com.baomidou.mybatisplus.extension.service.IService; import com.github.jeffreyning.mybatisplus.service.IMppService; /** diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdDhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdDhService.java index 5961366..b17d354 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdDhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdDhService.java @@ -1,8 +1,7 @@ package com.dsic.gj_erp.service.pgd; -import com.dsic.gj_erp.bean.pgd.PgdDh; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.pgd.PgdTzjh; +import com.dsic.gj_erp.bean.pgd.PgdDh; import javax.servlet.http.HttpServletRequest; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdDmjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdDmjhService.java index e8d1567..5b01d54 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdDmjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdDmjhService.java @@ -1,10 +1,8 @@ package com.dsic.gj_erp.service.pgd; +import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.pgd.PgdDmjh; -import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.pgd.PgdPkjh; -import com.dsic.gj_erp.bean.pgd.Qmqz; import javax.servlet.http.HttpServletRequest; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdPkjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdPkjhService.java index 5f701cd..1002924 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdPkjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdPkjhService.java @@ -1,9 +1,8 @@ package com.dsic.gj_erp.service.pgd; +import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.pgd.PgdPkjh; -import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.pgd.PgdQmjh; import javax.servlet.http.HttpServletRequest; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdPwjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdPwjhService.java index a58d591..dc069cf 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdPwjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdPwjhService.java @@ -1,8 +1,7 @@ package com.dsic.gj_erp.service.pgd; -import com.dsic.gj_erp.bean.pgd.PgdDh; -import com.dsic.gj_erp.bean.pgd.PgdPwjh; import com.baomidou.mybatisplus.extension.service.IService; +import com.dsic.gj_erp.bean.pgd.PgdPwjh; import javax.servlet.http.HttpServletRequest; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQgjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQgjhService.java index 7ea12b2..ebae263 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQgjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQgjhService.java @@ -1,8 +1,7 @@ package com.dsic.gj_erp.service.pgd; -import com.dsic.gj_erp.bean.pgd.PgdPwjh; -import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.baomidou.mybatisplus.extension.service.IService; +import com.dsic.gj_erp.bean.pgd.PgdQgjh; import javax.servlet.http.HttpServletRequest; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java index b278726..830f6cf 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdQmjhService.java @@ -1,9 +1,8 @@ package com.dsic.gj_erp.service.pgd; +import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; -import com.dsic.gj_erp.bean.pgd.PgdPwjh; import com.dsic.gj_erp.bean.pgd.PgdQmjh; -import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.pgd.Qmqz; import javax.servlet.http.HttpServletRequest; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java index aacb981..8a44904 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdSljhService.java @@ -1,8 +1,7 @@ package com.dsic.gj_erp.service.pgd; -import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.pgd.PgdTzjh; +import com.dsic.gj_erp.bean.pgd.PgdSljh; import javax.servlet.http.HttpServletRequest; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java index ed0483d..a2cef74 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java @@ -1,7 +1,7 @@ package com.dsic.gj_erp.service.pgd; -import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.baomidou.mybatisplus.extension.service.IService; +import com.dsic.gj_erp.bean.pgd.PgdTzjh; import javax.servlet.http.HttpServletRequest; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDhServiceImpl.java index 9b306e9..f81ccfb 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDhServiceImpl.java @@ -1,17 +1,15 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.pgd.PgdDh; -import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.mapper.pgd.PgdDhMapper; import com.dsic.gj_erp.service.pgd.PgdDhService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; -import java.util.Date; import java.util.List; /** diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java index b169f48..55255d8 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdDmjhServiceImpl.java @@ -1,15 +1,12 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.pgd.PgdDmjh; -import com.dsic.gj_erp.bean.pgd.PgdPkjh; -import com.dsic.gj_erp.bean.pgd.PgdPwjh; -import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.dsic.gj_erp.mapper.pgd.PgdDmjhMapper; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.dsic.gj_erp.service.pgd.PgdDmjhService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.service.sy.SYService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java index 3552b67..fba5607 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPkjhServiceImpl.java @@ -1,14 +1,12 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.pgd.PgdPkjh; -import com.dsic.gj_erp.bean.pgd.PgdQgjh; -import com.dsic.gj_erp.bean.pgd.PgdQmjh; import com.dsic.gj_erp.mapper.pgd.PgdPkjhMapper; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.dsic.gj_erp.service.pgd.PgdPkjhService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.service.sy.SYService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPwjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPwjhServiceImpl.java index 537bd45..2dfe317 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPwjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdPwjhServiceImpl.java @@ -1,11 +1,10 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.pgd.PgdPwjh; -import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.dsic.gj_erp.mapper.pgd.PgdPwjhMapper; import com.dsic.gj_erp.service.pgd.PgdPwjhService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQgjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQgjhServiceImpl.java index e80dd0c..7375eb2 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQgjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQgjhServiceImpl.java @@ -1,12 +1,10 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; -import com.dsic.gj_erp.bean.pgd.PgdPwjh; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.pgd.PgdQgjh; -import com.dsic.gj_erp.bean.pgd.PgdSljh; import com.dsic.gj_erp.mapper.pgd.PgdQgjhMapper; import com.dsic.gj_erp.service.pgd.PgdQgjhService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java index 3fd3c53..fbbf77a 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdQmjhServiceImpl.java @@ -4,15 +4,13 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; -import com.dsic.gj_erp.bean.pgd.PgdPkjh; -import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.dsic.gj_erp.bean.pgd.PgdQmjh; import com.dsic.gj_erp.bean.pgd.Qmqz; import com.dsic.gj_erp.mapper.pgd.PgdQmjhMapper; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.dsic.gj_erp.service.pgd.PgdQmjhService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.service.sy.SYService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java index 4bd22e1..b890506 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdSljhServiceImpl.java @@ -2,14 +2,10 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.dsic.gj_erp.bean.jhgk.DmZrcjh; -import com.dsic.gj_erp.bean.pgd.PgdDh; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.pgd.PgdSljh; -import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.mapper.pgd.PgdSljhMapper; -import com.dsic.gj_erp.pc.Manager; import com.dsic.gj_erp.service.pgd.PgdSljhService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -19,9 +15,6 @@ import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; -import static com.dsic.gj_erp.pc.Manager.from; -import static com.dsic.gj_erp.pc.Manager.to; - /** *

* 服务实现类 diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java index 9a8c273..983bda0 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java @@ -3,6 +3,7 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jcsj.DmBchxjbp; import com.dsic.gj_erp.bean.jcsj.DmBclqjbp; import com.dsic.gj_erp.bean.pgd.PgdTzjh; @@ -10,10 +11,7 @@ import com.dsic.gj_erp.mapper.pgd.PgdTzjhMapper; import com.dsic.gj_erp.service.jcsj.DmBchxjbpService; import com.dsic.gj_erp.service.jcsj.DmBclqjbpService; import com.dsic.gj_erp.service.pgd.PgdTzjhService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; -import lombok.Data; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java index c417f6b..35463d2 100644 --- a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java +++ b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java @@ -6,29 +6,24 @@ import cn.hutool.core.util.ObjectUtil; import com.dsic.gj_erp.bean.sy.*; import com.dsic.gj_erp.dao.sy.*; import com.dsic.gj_erp.mapper.SyuserMapper; -import com.dsic.gj_erp.util.MD5Util; import com.querydsl.core.Tuple; import com.querydsl.core.types.dsl.BooleanExpression; import com.querydsl.jpa.impl.JPAQueryFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestBody; import javax.annotation.PostConstruct; import javax.persistence.EntityManager; -import javax.xml.bind.DatatypeConverter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import static com.alibaba.excel.util.StringUtils.isEmpty; - /** * 系统安全子系统处理逻辑 */ diff --git a/src/main/java/com/dsic/gj_erp/service/sy/impl/SyDictItemServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/sy/impl/SyDictItemServiceImpl.java index 93615a4..20bd3b5 100644 --- a/src/main/java/com/dsic/gj_erp/service/sy/impl/SyDictItemServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/sy/impl/SyDictItemServiceImpl.java @@ -9,8 +9,8 @@ import com.dsic.gj_erp.service.sy.SyDictItemService; import com.dsic.gj_erp.util.CacheConstant; import com.dsic.gj_erp.util.ConditionSelect; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/service/sy/impl/SyDictServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/sy/impl/SyDictServiceImpl.java index 79257ed..7e02866 100644 --- a/src/main/java/com/dsic/gj_erp/service/sy/impl/SyDictServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/sy/impl/SyDictServiceImpl.java @@ -7,9 +7,9 @@ import com.dsic.gj_erp.bean.sy.SyDict; import com.dsic.gj_erp.bean.tree.ProjectTreeVo; import com.dsic.gj_erp.mapper.SyDictMapper; import com.dsic.gj_erp.service.sy.SyDictService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/util/ExcelUtil.java b/src/main/java/com/dsic/gj_erp/util/ExcelUtil.java index ae3b11c..2daccf4 100644 --- a/src/main/java/com/dsic/gj_erp/util/ExcelUtil.java +++ b/src/main/java/com/dsic/gj_erp/util/ExcelUtil.java @@ -1,9 +1,6 @@ package com.dsic.gj_erp.util; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.dsic.gj_erp.bean.jhgk.DmJtsyjh; -import com.dsic.gj_erp.bean.jhgk.DmXbjh; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -13,7 +10,6 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; -import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; diff --git a/src/main/java/com/dsic/gj_erp/util/FileUtil.java b/src/main/java/com/dsic/gj_erp/util/FileUtil.java index 873759a..0f0061c 100644 --- a/src/main/java/com/dsic/gj_erp/util/FileUtil.java +++ b/src/main/java/com/dsic/gj_erp/util/FileUtil.java @@ -10,7 +10,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Optional; -import java.util.UUID; import java.util.concurrent.atomic.AtomicReference; public class FileUtil { diff --git a/src/main/java/com/dsic/gj_erp/util/IPUtils.java b/src/main/java/com/dsic/gj_erp/util/IPUtils.java index dc893a2..0a2c640 100644 --- a/src/main/java/com/dsic/gj_erp/util/IPUtils.java +++ b/src/main/java/com/dsic/gj_erp/util/IPUtils.java @@ -1,15 +1,17 @@ package com.dsic.gj_erp.util; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; + import org.apache.commons.lang3.StringUtils; + import org.slf4j.Logger; + import org.slf4j.LoggerFactory; -import javax.servlet.http.HttpServletRequest; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.*; -import java.util.Enumeration; + import javax.servlet.http.HttpServletRequest; + import java.io.BufferedReader; + import java.io.IOException; + import java.io.InputStreamReader; + import java.net.Inet4Address; + import java.net.InetAddress; + import java.net.NetworkInterface; + import java.util.Enumeration; /** * IP地址 diff --git a/src/main/java/com/dsic/gj_erp/ws/WsInitListener.java b/src/main/java/com/dsic/gj_erp/ws/WsInitListener.java index 30fd3d6..d37146f 100644 --- a/src/main/java/com/dsic/gj_erp/ws/WsInitListener.java +++ b/src/main/java/com/dsic/gj_erp/ws/WsInitListener.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.ws; import com.corundumstudio.socketio.SocketIOServer; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/dsic/gj_erp/ws/WsStopListener.java b/src/main/java/com/dsic/gj_erp/ws/WsStopListener.java index 89fd5d0..63b1dbf 100644 --- a/src/main/java/com/dsic/gj_erp/ws/WsStopListener.java +++ b/src/main/java/com/dsic/gj_erp/ws/WsStopListener.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.ws; import com.corundumstudio.socketio.SocketIOServer; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextClosedEvent; import org.springframework.stereotype.Component; diff --git a/src/main/resources/application-localws.yml b/src/main/resources/application-localws.yml new file mode 100644 index 0000000..fbc2ea4 --- /dev/null +++ b/src/main/resources/application-localws.yml @@ -0,0 +1,13 @@ +ws: + host: 0.0.0.0 + port: 23456 + workCount: 100 + allowCustomRequests: true + upgradeTimeout: 10000 + pingTimeout: 60000 + pingInterval: 25000 + maxHttpContentLength: 1048576 + maxFramePayloadLength: 1048576 + client: + url: ws://192.168.18.1:9000 + id: 100000000001 \ No newline at end of file diff --git a/src/main/resources/application-ws.yml b/src/main/resources/application-ws.yml index 2e17433..c6a5680 100644 --- a/src/main/resources/application-ws.yml +++ b/src/main/resources/application-ws.yml @@ -9,5 +9,5 @@ ws: maxHttpContentLength: 1048576 maxFramePayloadLength: 1048576 client: - url: ws://192.168.13.9:9000 - id: abc \ No newline at end of file + url: ws://127.0.0.1:9000 + id: 100000000001 \ No newline at end of file From 76e7fe7d66768706b3a3e8edfa115eacdb205317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 16 Oct 2024 10:23:52 +0800 Subject: [PATCH 073/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E5=99=A8=E7=89=88=E6=9C=AC=E9=97=AE=E9=A2=98=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=9A=84excel=E4=B8=8A=E4=BC=A0=E9=AA=8C=E8=AF=81=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jhgk/三月滚动排产控制器.java | 7 +++--- ...日程批量表合并导入控制器.java | 5 +++- .../gj_erp/pc/service/三月滚动接口.java | 23 +++++++++---------- .../jhgk/impl/DmSygdMxServiceImpl.java | 11 +++++++-- 4 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java index 7e8d38e..e1d552f 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java @@ -49,7 +49,7 @@ public class 三月滚动排产控制器 { } catch (RuntimeException e) { e.printStackTrace(); ResultBean resultBean = new ResultBean<>(); - resultBean.setStatus(10000); + resultBean.setStatus(10001); resultBean.setSuccess(false); resultBean.setMessage(e.getMessage()); return resultBean; @@ -69,17 +69,18 @@ public class 三月滚动排产控制器 { HashMap map = new HashMap<>(); if (from.equals(Manager.from)&&to.equals(Manager.to)){ - semaphore.release(); map.put("zy",Manager.资源池); + semaphore.release(); return new ResultBean<>(map); } try { 排产.execute(from,to); + map.put("zy",Manager.资源池); }finally { semaphore.release(); } - map.put("zy",Manager.资源池); + return new ResultBean<>(map); } diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java index efc1c84..3b6449d 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/中日程批量表合并导入控制器.java @@ -61,6 +61,9 @@ public class 中日程批量表合并导入控制器 { String bzr = (String) req.getAttribute("yhms"); String day=DateUtil.date().toString("yyyy/MM/dd"); for(ZrcAndPlb item:objList){ + if (item.getMfd()==null){ + continue; + } String[] fds = item.getMfd().split("/"); List fdList = czplpNewService.list(new QueryWrapper().eq("dc_pl", item.getDcPl()).eq("dc_ch", dcCh)); boolean remove = czplpNewService.remove(new QueryWrapper().eq("dc_pl", item.getDcPl()).eq("dc_ch", dcCh)); @@ -102,8 +105,8 @@ public class 中日程批量表合并导入控制器 { fdList.stream().filter(fst -> plb.getDcPl().equals(fst.getDcPl())) .findFirst().ifPresent(it->updateCzPlp(plb,it)); }catch (Exception ignored){} - plList.add(plb); } + plList.add(plb); //旧表数据,仅当首次导入时写入即可 if (!remove){ diff --git a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java index 9d60d51..b20c400 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java @@ -33,8 +33,6 @@ public class 三月滚动接口 { private final DmSygdMxService sygdMxService; private final DmSygdService sygdService; - - @Transactional public ResultBean 生成三月滚动(String begin, String end) { //清理历史数据 @@ -74,17 +72,18 @@ public class 三月滚动接口 { sygdMxService.saveBatch(mxList,500); - ljList.forEach(lj-> mxList.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,500); + new Thread(()->{ + ljList.forEach(lj-> mxList.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,500); + }).start(); List list= sygdMxService.tqSygd1(begin,end); - ResultBean r = new ResultBean(list); - return r; + return new ResultBean<>(list); } } 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 3b81dbc..d2ba251 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 @@ -906,8 +906,12 @@ public class DmSygdMxServiceImpl extends ServiceImpl i private List tqSygd2(String begin,String end){ List slkw=Arrays.asList("7","8","9","5","6","15","11","14"); - List list = this.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, begin, end)); + List list = this.list(Wrappers.lambdaQuery() + .between(DmSygdMx::getJssj, begin, end) + .orderBy(true,true,DmSygdMx::getDcCh,DmSygdMx::getDcPl,DmSygdMx::getSlrq) + ); Map> collect = list.stream().collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl())); + List list2=new ArrayList<>(); //按批次合并为一行 collect.forEach((key,val)->{ @@ -1005,8 +1009,10 @@ public class DmSygdMxServiceImpl extends ServiceImpl i dmYdjhxf.setSkpt(skpt.get()+""); val.stream().filter(item->"6".equals(item.getKw())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setPtks(item.getQgrq())); + val.stream().filter(item->"6".equals(item.getKw())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setPtjs(item.getQjgrq())); + dmYdjhxf.setSkbs(skbs.get()+""); val.stream().filter(item->"15".equals(item.getKw())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkqgks(item.getQgrq())); @@ -1021,7 +1027,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl i dmYdjhxf.setFdxq(val.get(0).getJssj()); list2.add(dmYdjhxf); }); - return list2; +// return list2.stream().sorted(Comparator.comparing(item -> item.getDcCh() +"_"+ item.getDcPl()+"_"+item.getSl())).collect(Collectors.toList()); + return list2.stream().sorted(Comparator.comparing(DmYdjhxf::getSl)).collect(Collectors.toList()); } @Transactional From 97ba5d2f7ba06ec8330c2e30934aae6508cc4b44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 16 Oct 2024 11:44:39 +0800 Subject: [PATCH 074/196] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E6=9C=88=E5=BA=A6?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=AF=BC=E5=85=A5=E6=97=B6=E5=90=8C=E6=AD=A5?= =?UTF-8?q?bom=E7=9A=84=E9=80=BB=E8=BE=91=202.=E4=BF=AE=E6=AD=A3=E6=9C=88?= =?UTF-8?q?=E5=BA=A6=E8=AE=A1=E5=88=92=E5=AF=BC=E5=85=A5=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E5=8F=82=E6=95=B0=E7=BC=BA=E5=A4=B1=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmSygdMx.java | 26 +++++++++++++++++ .../jhgk/impl/DmSygdMxServiceImpl.java | 28 +++++++++++++++---- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java index a820ec4..d26184c 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java @@ -6,6 +6,7 @@ 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.dsic.gj_erp.bean.jcsj.DmBom; import com.dsic.gj_erp.pc.Constant; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -317,4 +318,29 @@ public class DmSygdMx implements Serializable { return mx; } + public void setBomData(DmBom bom){ + this.lqlb=bom.getLqlb(); + this.tzbh=bom.getTzbh(); + this.wpgg=bom.getWpgg(); + this.wpxh=bom.getWpcz(); + this.hxcd=bom.getHxcd().doubleValue(); + this.dmcd=bom.getDmcd().doubleValue(); + this.qgcd=bom.getQgcd().doubleValue(); + this.qbs=bom.getQbs(); + try { + this.pklx=Double.valueOf(bom.getPklx()); + }catch (Exception ignored){} + this.pkcd=bom.getPkcd().doubleValue(); + this.ljsl=bom.getLjsl().doubleValue(); + this.zl=bom.getZl(); + this.xcms=bom.getXcshms().doubleValue(); + this.kw=bom.getKw(); + this.dcFd=bom.getFd(); + this.bclqzl=bom.getBclqzl().doubleValue(); + this.bcshzl=bom.getBcshzl().doubleValue(); + this.bcylzl=bom.getBcylzl().doubleValue(); + this.bcljtlzl=bom.getBcljtlzl().doubleValue(); + this.bcqpyld=bom.getBcqpyld().doubleValue(); + this.ylbhgg=bom.getYlbhgg(); + } } 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 d2ba251..c9106f0 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 @@ -23,6 +23,7 @@ import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.handler.ComputePlan; import com.dsic.gj_erp.handler.dto.RealCapacity; import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper; +import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jhgk.*; import com.dsic.gj_erp.util.MyString; @@ -61,6 +62,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl i private EmSbcnpService sbcnpService; @Autowired Dm_zhbmpRepository dm_zhbmpRepository; + @Autowired + DmBomService bomService; public Map> getMxMap(String begin,String end){ @@ -1276,10 +1279,10 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } zz=zz+skbs; } - map.put(dcch+dcpl,insertsOne); + map.put(dcch+"_"+dcpl,insertsOne); }{ - List insertsOne = map.get(dcch + dcpl); + List insertsOne = map.get(dcch +"_"+ dcpl); int yklm=0; @@ -1410,7 +1413,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } zz=zz+skbs; } - map.put(dcch+dcpl,insertsOne); + map.put(dcch+"_"+dcpl,insertsOne);//这里改为用"_"分割,方便后面逻辑调用 } @@ -1426,6 +1429,22 @@ public class DmSygdMxServiceImpl extends ServiceImpl i System.out.println("Key: " + key); System.out.println("Value: " + value); + //todo 支持导入有基础数据的月度计划 +// String ch=key.split("_")[0]; +// String pl=key.split("_")[1]; +// List bomList=bomService.list(Wrappers.lambdaQuery().eq(DmBom::getDcch,ch).eq(DmBom::getPl,pl)); +// +// //补充基础数据 +// //fixme 这里有个冲突 ,如果导入的数量比bom少,多次导入时无法确认哪些bom被占用 +// if (ObjectUtil.isNotEmpty(bomList)){ +// int size=Math.min(value.size(),bomList.size()); +// for (int i=0;i for (DmSygdMx item : value) { // 对每个DmSygdMx对象进行操作 @@ -1436,9 +1455,6 @@ public class DmSygdMxServiceImpl extends ServiceImpl i .eq("dc_fd",item.getDcFd()) ); - - - } for (DmSygdMx item : value) { item.setId(IdWorker.get32UUID()); From a7befc9804701c6c1d4810050dbaee51d3d91e5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 16 Oct 2024 16:58:26 +0800 Subject: [PATCH 075/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=89=A7=E8=A1=8C=E4=B8=8A=E6=96=99=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6=E9=94=99=E8=AF=AF=E7=9A=84bug=202.?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E7=BC=96?= =?UTF-8?q?=E5=88=B6=E7=9A=84=E9=80=89=E6=8B=A9=E5=88=97=203.=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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 c9106f0..9e59df4 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 @@ -972,9 +972,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl i dmYdjhxf.setBs(Double.valueOf(bs.get())); //上料日期 - DmSygdMx minSlrq=val.stream().filter(item->StrUtil.isNotEmpty(item.getSlrq())) - .min(Comparator.comparing(DmSygdMx::getSlrq)).get(); - dmYdjhxf.setSl(minSlrq.getSlrq()); + val.stream().filter(item->StrUtil.isNotEmpty(item.getSlrq())) + .min(Comparator.comparing(DmSygdMx::getSlrq)).ifPresent(item->dmYdjhxf.setSl(item.getSlrq())); //型材抛丸日期 val.stream().filter(item -> "16".equals(item.getKw())) From e0786c6043f48326e96a74a0f2fa465ccfb9de1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 21 Oct 2024 17:16:16 +0800 Subject: [PATCH 076/196] =?UTF-8?q?1.=E5=88=A0=E9=99=A4=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E9=A1=B9=202.=E5=A2=9E=E5=8A=A0=E6=9C=88=E5=BA=A6=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E5=AF=BC=E5=85=A5=E6=97=B6=E6=94=AF=E6=8C=81=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=B7=B2=E4=B8=8B=E5=8F=91=E6=9C=88=E5=BA=A6=E8=AE=A1?= =?UTF-8?q?=E5=88=92=203.=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E6=97=B6=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E8=AE=A1=E5=88=92,=E4=BD=9C=E4=B8=9A=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E4=B8=8D=E5=86=8D=E6=A0=B9=E6=8D=AE=E5=8F=8C=E5=91=A8?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=AF=BC=E5=85=A5=E6=97=B6=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/GjErpApplication.java | 4 - src/main/java/com/dsic/gj_erp/Test.java | 11 - .../com/dsic/gj_erp/bean/jhgk/DmSygdMx.java | 44 +++- .../dsic/gj_erp/controller/ApiController.java | 5 - .../dsic/gj_erp/controller/SYController.java | 8 +- .../controller/fd/DmXqdwcjcdController.java | 1 - .../controller/jcsj/BomUploadController.java | 1 - .../controller/jcsj/DmBomController.java | 18 +- .../controller/jcsj/DmBzryController.java | 2 - .../controller/jcsj/DmCzplpNewController.java | 1 - .../controller/jcsj/EmGcrlController.java | 2 - .../controller/jcsj/EmSbcnpController.java | 3 - .../controller/jcsj/EmSbjbbController.java | 2 - .../controller/jcsj/EmSbjgryController.java | 5 - .../controller/jcsj/EmSbwxjhController.java | 4 - .../controller/jhgk/DmDhqdpController.java | 1 - .../controller/jhgk/DmJtsyjhController.java | 1 - .../controller/jhgk/DmQfxqController.java | 8 +- .../controller/jhgk/DmSygdController.java | 17 +- .../controller/jhgk/DmSygdxqController.java | 8 +- .../controller/jhgk/DmTzjhController.java | 4 - .../controller/jhgk/DmXbjhController.java | 2 - .../controller/jhgk/DmYdjhController.java | 7 - .../controller/jhgk/DmZrcjhController.java | 3 - .../jhgk/三月滚动排产控制器.java | 5 +- .../controller/kban/KbanController.java | 4 - .../controller/pbsc/MpYlxxpController.java | 2 - .../controller/pbsc/PbPwjhController.java | 13 +- .../controller/pgd/DmPpxxbController.java | 4 - .../controller/pgd/PgdDhController.java | 1 - .../controller/pgd/PgdDmjhController.java | 2 - .../controller/pgd/PgdPkjhController.java | 2 - .../controller/pgd/PgdPwjhController.java | 1 - .../controller/pgd/PgdQgjhController.java | 1 - .../controller/pgd/PgdQmjhController.java | 4 - .../controller/pgd/PgdSljhController.java | 4 - .../controller/pgd/PgdTzjhController.java | 18 +- .../controller/sy/SyDictItemController.java | 2 - .../controller/sy/SyUserLogController.java | 12 +- .../txzz/jhgl/DmMateriaController.java | 6 +- .../txzz/jhgl/TpbhPlanController.java | 2 - .../txzz/供应商管理Controller.java | 15 +- .../controller/txzz/入库Controller.java | 15 +- .../controller/txzz/出库Controller.java | 15 +- .../txzz/发票管理Controller.java | 15 +- .../txzz/应付账款Controller.java | 15 +- .../txzz/应收账款Controller.java | 15 +- .../controller/txzz/盘点Controller.java | 15 +- .../controller/txzz/退货Controller.java | 15 +- .../txzz/采购订单Controller.java | 15 +- .../java/com/dsic/gj_erp/datasync/Config.java | 2 - .../com/dsic/gj_erp/datasync/DataHandler.java | 1 - .../gj_erp/mapper/jhgk/DmSygdMxMapper.java | 2 + .../com/dsic/gj_erp/service/ApiService.java | 1 - .../gj_erp/service/jcsj/EmSbcnpService.java | 3 - .../gj_erp/service/jcsj/EmSbjbbService.java | 2 - .../gj_erp/service/jcsj/EmSbjgryService.java | 4 - .../gj_erp/service/jcsj/EmSbrydypService.java | 3 - .../gj_erp/service/jcsj/EmSbwxjhService.java | 1 - .../gj_erp/service/jhgk/DmDhqdpService.java | 3 - .../gj_erp/service/jhgk/DmJtsyjhService.java | 1 - .../gj_erp/service/jhgk/DmQfxqService.java | 5 - .../gj_erp/service/jhgk/DmSygdMxService.java | 3 - .../gj_erp/service/jhgk/DmSygdService.java | 7 +- .../gj_erp/service/jhgk/DmTzjhService.java | 3 - .../gj_erp/service/jhgk/DmYdjhService.java | 1 - .../gj_erp/service/jhgk/DmZrcjhService.java | 1 - .../service/jhgk/impl/DmDhqdpServiceImpl.java | 3 - .../jhgk/impl/DmJtsyjhServiceImpl.java | 3 - .../service/jhgk/impl/DmQfxqServiceImpl.java | 48 ++-- .../jhgk/impl/DmSygdMxServiceImpl.java | 225 ++++++++++-------- .../service/jhgk/impl/DmSygdServiceImpl.java | 105 +++++--- .../service/jhgk/impl/DmTzjhServiceImpl.java | 4 +- .../service/jhgk/impl/DmXbjhServiceImpl.java | 6 +- .../service/jhgk/impl/DmYdjhServiceImpl.java | 2 - .../service/jhgk/impl/DmZrcjhServiceImpl.java | 4 +- .../service/pgsc/impl/PbscServiceImpl.java | 5 - .../service/txzz/DmMateriaServiceImpl.java | 8 +- .../txzz/impl/供应商管理ServiceImpl.java | 4 +- .../service/txzz/impl/入库ServiceImpl.java | 5 +- .../service/txzz/impl/出库ServiceImpl.java | 4 +- .../txzz/impl/发票管理ServiceImpl.java | 4 +- .../txzz/impl/应付账款ServiceImpl.java | 4 +- .../txzz/impl/应收账款ServiceImpl.java | 4 +- .../service/txzz/impl/盘点ServiceImpl.java | 4 +- .../service/txzz/impl/退货ServiceImpl.java | 4 +- .../txzz/impl/采购订单ServiceImpl.java | 4 +- .../service/xiaochi/XiaoChiService.java | 2 - .../gj_erp/wsclient/handler/TipHandler.java | 4 - .../gj_erp/wsclient/handler/ZxHandler.java | 5 - .../resources/mappers/jhgk/DmSygdMxMapper.xml | 3 + 91 files changed, 369 insertions(+), 518 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/GjErpApplication.java b/src/main/java/com/dsic/gj_erp/GjErpApplication.java index bf6f0ff..f446a6b 100644 --- a/src/main/java/com/dsic/gj_erp/GjErpApplication.java +++ b/src/main/java/com/dsic/gj_erp/GjErpApplication.java @@ -7,18 +7,14 @@ import com.jcraft.jsch.Session; import com.querydsl.jpa.impl.JPAQueryFactory; import org.modelmapper.ModelMapper; import org.modelmapper.convention.MatchingStrategies; -import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration; -import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.transaction.annotation.EnableTransactionManagement; import springfox.documentation.swagger2.annotations.EnableSwagger2; -import javax.annotation.PostConstruct; import javax.persistence.EntityManager; import java.util.Properties; diff --git a/src/main/java/com/dsic/gj_erp/Test.java b/src/main/java/com/dsic/gj_erp/Test.java index 818685e..b4ad045 100644 --- a/src/main/java/com/dsic/gj_erp/Test.java +++ b/src/main/java/com/dsic/gj_erp/Test.java @@ -1,19 +1,8 @@ package com.dsic.gj_erp; import cn.hutool.core.util.StrUtil; -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.text.PDFTextStripper; -import org.springframework.boot.SpringApplication; -import java.io.File; import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.time.LocalDate; -import java.time.Period; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; public class Test { public static void main(String[] args) throws IOException { diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java index d26184c..3d6fb22 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java @@ -323,24 +323,46 @@ public class DmSygdMx implements Serializable { this.tzbh=bom.getTzbh(); this.wpgg=bom.getWpgg(); this.wpxh=bom.getWpcz(); - this.hxcd=bom.getHxcd().doubleValue(); - this.dmcd=bom.getDmcd().doubleValue(); - this.qgcd=bom.getQgcd().doubleValue(); + try { + this.hxcd=bom.getHxcd().doubleValue(); + }catch (Exception ignored){} + try { + this.dmcd=bom.getDmcd().doubleValue(); + }catch (Exception ignored){} + try { + this.qgcd=bom.getQgcd().doubleValue(); + }catch (Exception ignored){} this.qbs=bom.getQbs(); try { this.pklx=Double.valueOf(bom.getPklx()); }catch (Exception ignored){} - this.pkcd=bom.getPkcd().doubleValue(); - this.ljsl=bom.getLjsl().doubleValue(); + try { + this.pkcd=bom.getPkcd().doubleValue(); + }catch (Exception ignored){} + try { + this.ljsl=bom.getLjsl().doubleValue(); + }catch (Exception ignored){} this.zl=bom.getZl(); - this.xcms=bom.getXcshms().doubleValue(); + try { + this.xcms=bom.getXcshms().doubleValue(); + }catch (Exception ignored){} this.kw=bom.getKw(); this.dcFd=bom.getFd(); - this.bclqzl=bom.getBclqzl().doubleValue(); - this.bcshzl=bom.getBcshzl().doubleValue(); - this.bcylzl=bom.getBcylzl().doubleValue(); - this.bcljtlzl=bom.getBcljtlzl().doubleValue(); - this.bcqpyld=bom.getBcqpyld().doubleValue(); + try { + this.bclqzl=bom.getBclqzl().doubleValue(); + }catch (Exception ignored){} + try { + this.bcshzl=bom.getBcshzl().doubleValue(); + }catch (Exception ignored){} + try { + this.bcylzl=bom.getBcylzl().doubleValue(); + }catch (Exception ignored){} + try { + this.bcljtlzl=bom.getBcljtlzl().doubleValue(); + }catch (Exception ignored){} + try { + this.bcqpyld=bom.getBcqpyld().doubleValue(); + }catch (Exception ignored){} this.ylbhgg=bom.getYlbhgg(); } } diff --git a/src/main/java/com/dsic/gj_erp/controller/ApiController.java b/src/main/java/com/dsic/gj_erp/controller/ApiController.java index a775ce2..f931326 100644 --- a/src/main/java/com/dsic/gj_erp/controller/ApiController.java +++ b/src/main/java/com/dsic/gj_erp/controller/ApiController.java @@ -1,15 +1,11 @@ package com.dsic.gj_erp.controller; -import cn.hutool.core.util.StrUtil; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.request.LoginBean; -import com.dsic.gj_erp.bean.sy.User; -import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.mapper.SyuserMapper; import com.dsic.gj_erp.service.ApiService; import com.dsic.gj_erp.service.sy.SYService; -import com.dsic.gj_erp.util.IPUtils; import com.dsic.gj_erp.util.MD5Util; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; @@ -21,7 +17,6 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; -import java.net.InetAddress; import java.util.Map; @Api(tags = "系统级API") diff --git a/src/main/java/com/dsic/gj_erp/controller/SYController.java b/src/main/java/com/dsic/gj_erp/controller/SYController.java index f5f7be2..9e900ac 100644 --- a/src/main/java/com/dsic/gj_erp/controller/SYController.java +++ b/src/main/java/com/dsic/gj_erp/controller/SYController.java @@ -1,12 +1,9 @@ package com.dsic.gj_erp.controller; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.convert.Convert; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jhgk.DmQfxq; import com.dsic.gj_erp.bean.sy.*; import com.dsic.gj_erp.service.sy.SYService; import io.swagger.annotations.Api; @@ -14,7 +11,10 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/controller/fd/DmXqdwcjcdController.java b/src/main/java/com/dsic/gj_erp/controller/fd/DmXqdwcjcdController.java index 3164c40..4790e36 100644 --- a/src/main/java/com/dsic/gj_erp/controller/fd/DmXqdwcjcdController.java +++ b/src/main/java/com/dsic/gj_erp/controller/fd/DmXqdwcjcdController.java @@ -6,7 +6,6 @@ import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.fd.DmXqdwcjcd; import com.dsic.gj_erp.service.fd.DmXqdwcjcdService; -import io.swagger.annotations.Authorization; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java index 645ede2..e336898 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java @@ -24,7 +24,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java index 65902a5..167e400 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java @@ -6,29 +6,19 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmBom; -import com.dsic.gj_erp.bean.jcsj.DmTltpdf; -import com.dsic.gj_erp.bean.jcsj.excel.PlExcel; import com.dsic.gj_erp.bean.jcsj.vo.BomVO; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.jcsj.DmBomService; -import com.dsic.gj_erp.service.jcsj.DmTltpdfService; import com.dsic.gj_erp.service.jcsj.impl.BomUploadServiceImpl; import com.dsic.gj_erp.service.sy.SYService; -import com.dsic.gj_erp.util.FileUtil; import org.apache.commons.lang3.StringUtils; -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.text.PDFTextStripper; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBzryController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBzryController.java index 0b326bb..917598b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBzryController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBzryController.java @@ -7,11 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmBzry; -import com.dsic.gj_erp.bean.jcsj.DmBzzz; import com.dsic.gj_erp.bean.sy.Dm_zhbmp; import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.service.jcsj.DmBzryService; -import com.dsic.gj_erp.service.jcsj.DmBzzzService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java index 4d62e62..9c244a9 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java @@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; -import java.util.Collections; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java index d294dd5..55aa61e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java @@ -6,9 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.EmGcrl; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.service.jcsj.EmGcrlService; -import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbcnpController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbcnpController.java index f4e8027..a0dccda 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbcnpController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbcnpController.java @@ -6,10 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.EmSbcnp; -import com.dsic.gj_erp.bean.jcsj.EmSbwxjh; -import com.dsic.gj_erp.bean.request.EmSbwxjhBean; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; -import com.dsic.gj_erp.service.jcsj.EmSbwxjhService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjbbController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjbbController.java index 68ce468..c8d55b1 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjbbController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjbbController.java @@ -5,7 +5,6 @@ import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.request.EmSbjbbBean; -import com.dsic.gj_erp.bean.sy.Dm_zhbmp; import com.dsic.gj_erp.service.jcsj.EmSbjbbService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -18,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** *

diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjgryController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjgryController.java index 78a4647..dff899d 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjgryController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjgryController.java @@ -1,16 +1,11 @@ package com.dsic.gj_erp.controller.jcsj; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; -import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.jcsj.EmSbjgry; -import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jcsj.EmSbjgryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbwxjhController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbwxjhController.java index bce33cf..7bcdc0f 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbwxjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbwxjhController.java @@ -3,15 +3,11 @@ package com.dsic.gj_erp.controller.jcsj; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.jcsj.EmSbwxjh; -import com.dsic.gj_erp.bean.request.EmSbjbbBean; import com.dsic.gj_erp.bean.request.EmSbwxjhBean; -import com.dsic.gj_erp.service.jcsj.EmSbjbbService; import com.dsic.gj_erp.service.jcsj.EmSbwxjhService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.aspectj.lang.annotation.Around; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmDhqdpController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmDhqdpController.java index fd6b51d..1f22180 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmDhqdpController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmDhqdpController.java @@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmDhqdp; -import com.dsic.gj_erp.bean.jhgk.DmZrcjh; import com.dsic.gj_erp.service.jhgk.DmDhqdpService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmJtsyjhController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmJtsyjhController.java index 9b18c7e..eeb78e3 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmJtsyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmJtsyjhController.java @@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmJtsyjh; -import com.dsic.gj_erp.bean.jhgk.DmXbjh; import com.dsic.gj_erp.service.jhgk.DmJtsyjhService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java index 0ee9e49..d8143a0 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java @@ -2,24 +2,19 @@ package com.dsic.gj_erp.controller.jhgk; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmCbxxp; -import com.dsic.gj_erp.bean.jcsj.EmSbjgry; import com.dsic.gj_erp.bean.jhgk.DmQfxq; import com.dsic.gj_erp.bean.jhgk.excel.GdxqExcel; import com.dsic.gj_erp.bean.jhgk.excel.GdxqExcel1; -import com.dsic.gj_erp.bean.jhgk.excel.QfExcel; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.listeners.ExcelGdxq1Listener; import com.dsic.gj_erp.listeners.ExcelGdxqListener; -import com.dsic.gj_erp.listeners.ExcelQFListener; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.dsic.gj_erp.service.jhgk.DmQfxqService; import org.springframework.beans.factory.annotation.Autowired; @@ -105,7 +100,8 @@ public class DmQfxqController { list2.add(qfxq); } } - service.generateYdjh(list2); + //下面代码注释是因为不再根据前方需求导入时生成作业计划,改为月度计划审批时生成 +// service.generateYdjh(list2); return new ResultBean(list2); } diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java index d9fbda1..1d840a8 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java @@ -1,26 +1,17 @@ package com.dsic.gj_erp.controller.jhgk; -import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jcsj.EmGcrl; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; -import com.dsic.gj_erp.bean.jhgk.*; -import com.dsic.gj_erp.bean.jhgk.excel.QfExcel; +import com.dsic.gj_erp.bean.jhgk.DmSygd; +import com.dsic.gj_erp.bean.jhgk.DmYdjhxf; import com.dsic.gj_erp.bean.jhgk.excel.SyExcel; import com.dsic.gj_erp.exception.CustomException; -import com.dsic.gj_erp.listeners.ExcelQFListener; import com.dsic.gj_erp.listeners.ExcelSYListener; -import com.dsic.gj_erp.service.jcsj.EmGcrlService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmSygdService; -import com.dsic.gj_erp.service.sy.SYService; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -29,7 +20,6 @@ import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** *

@@ -47,8 +37,7 @@ public class DmSygdController { DmSygdService service; @Resource DmSygdMxService mxService; - @Autowired - private EmGcrlService gcrlService; + @RequestMapping("/getList") @AuthFunction public ResultBean getList(@RequestBody DmSygd sygd){ diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdxqController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdxqController.java index 9521679..f7c304c 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdxqController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdxqController.java @@ -3,14 +3,11 @@ package com.dsic.gj_erp.controller.jhgk; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jhgk.DmQfxq; import com.dsic.gj_erp.bean.jhgk.DmSygdxq; import com.dsic.gj_erp.bean.jhgk.excel.GdxqExcel; import com.dsic.gj_erp.bean.jhgk.excel.GdxqExcel1; @@ -22,11 +19,10 @@ import com.dsic.gj_erp.service.jhgk.DmSygdxqService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import springfox.documentation.spring.web.json.Json; import javax.servlet.http.HttpServletRequest; -import java.util.*; -import java.util.stream.Collectors; +import java.util.List; +import java.util.Map; /** *

diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmTzjhController.java index 1c79c6f..ce502a7 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmTzjhController.java @@ -4,10 +4,7 @@ package com.dsic.gj_erp.controller.jhgk; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jcsj.EmSbwxjh; import com.dsic.gj_erp.bean.jhgk.DmTzjh; -import com.dsic.gj_erp.bean.request.EmSbwxjhBean; -import com.dsic.gj_erp.service.jcsj.EmSbwxjhService; import com.dsic.gj_erp.service.jhgk.DmTzjhService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -17,7 +14,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; import java.util.List; /** diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java index c34ffea..723fe05 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java @@ -3,9 +3,7 @@ package com.dsic.gj_erp.controller.jhgk; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jhgk.DmTzjh; import com.dsic.gj_erp.bean.jhgk.DmXbjh; -import com.dsic.gj_erp.service.jhgk.DmTzjhService; import com.dsic.gj_erp.service.jhgk.DmXbjhService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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 4f2e914..aff4b95 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 @@ -2,7 +2,6 @@ package com.dsic.gj_erp.controller.jhgk; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -15,12 +14,9 @@ import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.jcsj.DmCzplpNewService; -import com.dsic.gj_erp.service.jcsj.DmCzplpService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.kc.ImCkwpkwpService; import org.apache.commons.lang3.StringUtils; -import org.apache.sis.internal.jaxb.metadata.EX_Extent; -import org.mapstruct.factory.Mappers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -31,14 +27,11 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; -import java.time.LocalDate; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import java.util.stream.Stream; /** *

diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmZrcjhController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmZrcjhController.java index 5aaf735..65d6bd1 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmZrcjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmZrcjhController.java @@ -4,10 +4,7 @@ package com.dsic.gj_erp.controller.jhgk; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jhgk.DmTzjh; -import com.dsic.gj_erp.bean.jhgk.DmXbjh; import com.dsic.gj_erp.bean.jhgk.DmZrcjh; -import com.dsic.gj_erp.service.jhgk.DmTzjhService; import com.dsic.gj_erp.service.jhgk.DmZrcjhService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java index e1d552f..8b4de0d 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/三月滚动排产控制器.java @@ -11,7 +11,10 @@ import com.dsic.gj_erp.pc.service.设备产能接口; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; import java.util.concurrent.Semaphore; import java.util.stream.Collectors; diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index 68daf7f..3db0bcb 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -3,12 +3,8 @@ package com.dsic.gj_erp.controller.kban; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmBzry; -import com.dsic.gj_erp.bean.jcsj.DmCbxxp; -import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.service.jcsj.DmBzryService; -import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.dsic.gj_erp.service.zyjh.ZyjhService; -import com.google.common.collect.ImmutableMap; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java b/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java index 0e9e5c0..66dd242 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pbsc/MpYlxxpController.java @@ -6,11 +6,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmBchxylp; -import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.pbsc.MpYlxxp; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.mapper.jcsj.DmBchxylpMapper; -import com.dsic.gj_erp.service.jcsj.DmBchxylpService; import com.dsic.gj_erp.service.pgsc.MpYlxxpService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/controller/pbsc/PbPwjhController.java b/src/main/java/com/dsic/gj_erp/controller/pbsc/PbPwjhController.java index b032411..fa30c5c 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pbsc/PbPwjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pbsc/PbPwjhController.java @@ -1,20 +1,11 @@ package com.dsic.gj_erp.controller.pbsc; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.dsic.gj_erp.annotation.AuthFunction; -import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.pgd.PgdPwjh; -import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.pgd.PgdPwjhService; import com.dsic.gj_erp.service.pgsc.impl.PbscServiceImpl; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletRequest; -import java.util.List; -import java.util.Map; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** *

diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java index a0000fa..50113aa 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java @@ -2,12 +2,9 @@ package com.dsic.gj_erp.controller.pgd; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; -import com.dsic.gj_erp.bean.pgd.DmPpxxb; import com.dsic.gj_erp.mapper.pgd.PgdQmjhMapper; import com.dsic.gj_erp.service.jhgk.DmQfxqService; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; @@ -17,7 +14,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; - import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDhController.java index f03a62f..dff00f2 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDhController.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.pgd.PgdDh; -import com.dsic.gj_erp.bean.pgd.PgdDh; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.pgd.PgdDhService; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDmjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDmjhController.java index b3df65b..be87789 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDmjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdDmjhController.java @@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; -import com.dsic.gj_erp.bean.pgd.PgdDmjh; -import com.dsic.gj_erp.bean.pgd.PgdDmjh; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.dsic.gj_erp.service.pgd.PgdDmjhService; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPkjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPkjhController.java index bdae25b..f92ccdc 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPkjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPkjhController.java @@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; -import com.dsic.gj_erp.bean.pgd.PgdPkjh; -import com.dsic.gj_erp.bean.pgd.PgdPkjh; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.dsic.gj_erp.service.pgd.PgdPkjhService; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPwjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPwjhController.java index 2e00cc1..f17183e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPwjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdPwjhController.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.pgd.PgdPwjh; -import com.dsic.gj_erp.bean.pgd.PgdPwjh; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.pgd.PgdPwjhService; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java index 25a62c4..2916ff2 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.pgd.PgdQgjh; -import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.pgd.PgdQgjhService; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java index 78f0eee..f9cece4 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQmjhController.java @@ -1,15 +1,11 @@ package com.dsic.gj_erp.controller.pgd; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; -import com.dsic.gj_erp.bean.pgd.PgdQgjh; -import com.dsic.gj_erp.bean.pgd.PgdQmjh; -import com.dsic.gj_erp.bean.pgd.PgdQmjh; import com.dsic.gj_erp.bean.pgd.Qmqz; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.mapper.pgd.PgdQmjhMapper; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 7c3e1ec..933aa0f 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -8,19 +8,15 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.fd.DmCzjbb; import com.dsic.gj_erp.bean.jcsj.DmCbxxp; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; import com.dsic.gj_erp.bean.kc.SlKc; -import com.dsic.gj_erp.bean.pgd.PgdPwjh; import com.dsic.gj_erp.bean.pgd.PgdSljh; -import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.bean.sy.Dm_zhbmp; import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.mapper.kc.ImCkwpkwpMapper; -import com.dsic.gj_erp.service.fd.DmCzjbbService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.kc.ImCkwpkwpService; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index e3fcb76..ad66c5f 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -1,20 +1,22 @@ package com.dsic.gj_erp.controller.pgd; -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.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jcsj.*; -import com.dsic.gj_erp.bean.jhgk.DmTzjh; +import com.dsic.gj_erp.bean.jcsj.DmBzry; +import com.dsic.gj_erp.bean.jcsj.DmCbxxp; +import com.dsic.gj_erp.bean.jcsj.DmDwxxp; +import com.dsic.gj_erp.bean.jcsj.EmSbjgry; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.bean.sy.Dm_zhbmp; import com.dsic.gj_erp.bean.zyjh.Ycldw; import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; -import com.dsic.gj_erp.service.jcsj.*; +import com.dsic.gj_erp.service.jcsj.DmBzryService; +import com.dsic.gj_erp.service.jcsj.DmCbxxpService; +import com.dsic.gj_erp.service.jcsj.EmSbjgryService; import com.dsic.gj_erp.service.jcsj.impl.DmDwxxpService; import com.dsic.gj_erp.service.pgd.PgdTzjhService; import com.dsic.gj_erp.service.sy.SYService; @@ -23,8 +25,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.util.*; -import java.util.stream.Collectors; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** *

diff --git a/src/main/java/com/dsic/gj_erp/controller/sy/SyDictItemController.java b/src/main/java/com/dsic/gj_erp/controller/sy/SyDictItemController.java index 8148ac0..ee44da3 100644 --- a/src/main/java/com/dsic/gj_erp/controller/sy/SyDictItemController.java +++ b/src/main/java/com/dsic/gj_erp/controller/sy/SyDictItemController.java @@ -5,10 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.sy.SyDictItem; import com.dsic.gj_erp.service.sy.SyDictItemService; - import com.dsic.gj_erp.util.CacheConstant; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.web.bind.annotation.*; diff --git a/src/main/java/com/dsic/gj_erp/controller/sy/SyUserLogController.java b/src/main/java/com/dsic/gj_erp/controller/sy/SyUserLogController.java index 763b16d..5de560a 100644 --- a/src/main/java/com/dsic/gj_erp/controller/sy/SyUserLogController.java +++ b/src/main/java/com/dsic/gj_erp/controller/sy/SyUserLogController.java @@ -6,16 +6,12 @@ import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.sy.SyUserLog; import com.dsic.gj_erp.util.IPUtils; import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.net.UnknownHostException; -import java.util.Collections; -import java.util.Enumeration; -import java.util.List; @RestController @RequestMapping("userLog") diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/DmMateriaController.java b/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/DmMateriaController.java index 09407c4..a7a1a01 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/DmMateriaController.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/DmMateriaController.java @@ -2,14 +2,12 @@ package com.dsic.gj_erp.controller.txzz.jhgl; import cn.hutool.core.util.StrUtil; -import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.dsic.gj_erp.bean.txzz.DmMateria; import com.dsic.gj_erp.annotation.Authorization; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.sy.SyDictItem; -import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.bean.txzz.DmMateria; import com.dsic.gj_erp.service.sy.SyDictItemService; import com.dsic.gj_erp.service.txzz.DmMateriaService; import io.swagger.annotations.Api; @@ -17,10 +15,8 @@ import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; -import java.io.IOException; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/TpbhPlanController.java b/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/TpbhPlanController.java index ac86f39..37a63fb 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/TpbhPlanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/jhgl/TpbhPlanController.java @@ -1,6 +1,5 @@ package com.dsic.gj_erp.controller.txzz.jhgl; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.Authorization; @@ -16,7 +15,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; /** diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/供应商管理Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/供应商管理Controller.java index efdcb2d..0d8197e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/供应商管理Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/供应商管理Controller.java @@ -1,20 +1,13 @@ package com.dsic.gj_erp.controller.txzz; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jt.供应商管理; import com.dsic.gj_erp.service.txzz.I供应商管理Service; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 【请填写功能名称】Controller diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/入库Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/入库Controller.java index 9942eab..567e4ce 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/入库Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/入库Controller.java @@ -1,20 +1,13 @@ package com.dsic.gj_erp.controller.txzz; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jt.入库; import com.dsic.gj_erp.service.txzz.I入库Service; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 【请填写功能名称】Controller diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/出库Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/出库Controller.java index ab1d0de..3b262bd 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/出库Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/出库Controller.java @@ -1,20 +1,13 @@ package com.dsic.gj_erp.controller.txzz; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jt.出库; import com.dsic.gj_erp.service.txzz.I出库Service; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 【请填写功能名称】Controller diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/发票管理Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/发票管理Controller.java index bc0b774..59d46a6 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/发票管理Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/发票管理Controller.java @@ -1,20 +1,13 @@ package com.dsic.gj_erp.controller.txzz; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jt.发票管理; import com.dsic.gj_erp.service.txzz.I发票管理Service; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 【请填写功能名称】Controller diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/应付账款Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/应付账款Controller.java index c0a9afc..1538685 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/应付账款Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/应付账款Controller.java @@ -1,20 +1,13 @@ package com.dsic.gj_erp.controller.txzz; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jt.应付账款; import com.dsic.gj_erp.service.txzz.I应付账款Service; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 【请填写功能名称】Controller diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/应收账款Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/应收账款Controller.java index 4203492..8aeec1a 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/应收账款Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/应收账款Controller.java @@ -1,20 +1,13 @@ package com.dsic.gj_erp.controller.txzz; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jt.应收账款; import com.dsic.gj_erp.service.txzz.I应收账款Service; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 【请填写功能名称】Controller diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/盘点Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/盘点Controller.java index 5f22b49..31b118e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/盘点Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/盘点Controller.java @@ -1,20 +1,13 @@ package com.dsic.gj_erp.controller.txzz; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jt.盘点; import com.dsic.gj_erp.service.txzz.I盘点Service; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 【请填写功能名称】Controller diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/退货Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/退货Controller.java index 3a82a7d..d6fe620 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/退货Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/退货Controller.java @@ -1,20 +1,13 @@ package com.dsic.gj_erp.controller.txzz; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jt.退货; import com.dsic.gj_erp.service.txzz.I退货Service; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 【请填写功能名称】Controller diff --git a/src/main/java/com/dsic/gj_erp/controller/txzz/采购订单Controller.java b/src/main/java/com/dsic/gj_erp/controller/txzz/采购订单Controller.java index edc3c49..5474f3b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/txzz/采购订单Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/txzz/采购订单Controller.java @@ -1,20 +1,13 @@ package com.dsic.gj_erp.controller.txzz; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jt.采购订单; import com.dsic.gj_erp.service.txzz.I采购订单Service; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 【请填写功能名称】Controller diff --git a/src/main/java/com/dsic/gj_erp/datasync/Config.java b/src/main/java/com/dsic/gj_erp/datasync/Config.java index 7af0035..bb35448 100644 --- a/src/main/java/com/dsic/gj_erp/datasync/Config.java +++ b/src/main/java/com/dsic/gj_erp/datasync/Config.java @@ -2,8 +2,6 @@ package com.dsic.gj_erp.datasync; import lombok.Getter; import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/datasync/DataHandler.java b/src/main/java/com/dsic/gj_erp/datasync/DataHandler.java index fffd096..a32e312 100644 --- a/src/main/java/com/dsic/gj_erp/datasync/DataHandler.java +++ b/src/main/java/com/dsic/gj_erp/datasync/DataHandler.java @@ -7,7 +7,6 @@ import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.DependsOn; -import org.springframework.stereotype.Component; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdMxMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdMxMapper.java index 16eeb8a..93f990f 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdMxMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdMxMapper.java @@ -27,6 +27,8 @@ public interface DmSygdMxMapper extends BaseMapper { Dhdto getDhsl(Dhdto dhdto); + DmSygdMx getOne(String dcch,String dcpl); + List getLjxx(@Param("begin") String begin, @Param("end") String end); List getMx(@Param("begin") String begin, @Param("end") String end); int setParent(@Param("begin") String begin, @Param("end") String end); diff --git a/src/main/java/com/dsic/gj_erp/service/ApiService.java b/src/main/java/com/dsic/gj_erp/service/ApiService.java index 5281cab..03056d8 100644 --- a/src/main/java/com/dsic/gj_erp/service/ApiService.java +++ b/src/main/java/com/dsic/gj_erp/service/ApiService.java @@ -1,6 +1,5 @@ package com.dsic.gj_erp.service; -import cn.hutool.core.util.StrUtil; import com.dsic.gj_erp.bean.request.LoginBean; import com.dsic.gj_erp.bean.sy.QSyfunp; import com.dsic.gj_erp.bean.sy.QSyifrp; diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbcnpService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbcnpService.java index b6ee0f5..3639793 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbcnpService.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbcnpService.java @@ -4,10 +4,7 @@ package com.dsic.gj_erp.service.jcsj; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.jcsj.EmSbcnp; -import com.dsic.gj_erp.bean.jcsj.EmSbwxjh; -import com.dsic.gj_erp.bean.request.EmSbwxjhBean; -import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbjbbService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbjbbService.java index 62b9e0f..3b3702d 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbjbbService.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbjbbService.java @@ -1,9 +1,7 @@ package com.dsic.gj_erp.service.jcsj; -import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; - import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.request.EmSbjbbBean; diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbjgryService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbjgryService.java index eaccced..a48c12e 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbjgryService.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbjgryService.java @@ -1,13 +1,9 @@ package com.dsic.gj_erp.service.jcsj; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.bean.jcsj.EmSbjgry; -import java.util.List; - /** *

* 服务类 diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbrydypService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbrydypService.java index b6779ae..d56e2bd 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbrydypService.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbrydypService.java @@ -3,10 +3,7 @@ package com.dsic.gj_erp.service.jcsj; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.bean.jcsj.EmSbrydyp; -import com.dsic.gj_erp.bean.jcsj.EmSbwxjh; -import com.dsic.gj_erp.bean.request.EmSbwxjhBean; import javax.servlet.http.HttpServletRequest; import java.util.List; diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbwxjhService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbwxjhService.java index b8386ce..d17e62b 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbwxjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbwxjhService.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.service.jcsj; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.jcsj.EmSbwxjh; import com.dsic.gj_erp.bean.request.EmSbwxjhBean; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmDhqdpService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmDhqdpService.java index c0c0011..d0650b0 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmDhqdpService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmDhqdpService.java @@ -2,10 +2,7 @@ package com.dsic.gj_erp.service.jhgk; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.jhgk.DmDhqdp; -import com.dsic.gj_erp.bean.jhgk.DmXbjh; -import com.dsic.gj_erp.bean.request.EmSbjbbBean; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmJtsyjhService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmJtsyjhService.java index 4b0a717..a2a7237 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmJtsyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmJtsyjhService.java @@ -3,7 +3,6 @@ package com.dsic.gj_erp.service.jhgk; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.jhgk.DmJtsyjh; -import com.dsic.gj_erp.bean.jhgk.DmXbjh; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmQfxqService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmQfxqService.java index 9536282..a27a5bd 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmQfxqService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmQfxqService.java @@ -2,14 +2,9 @@ package com.dsic.gj_erp.service.jhgk; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmQfxq; -import com.dsic.gj_erp.bean.jhgk.DmSygdxq; -import com.dsic.gj_erp.bean.jhgk.excel.QfExcel; -import javax.servlet.http.HttpServletRequest; import java.util.List; -import java.util.Map; /** *

diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java index ef90c35..61d4624 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java @@ -2,14 +2,11 @@ package com.dsic.gj_erp.service.jhgk; import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jcsj.excel.PlExcel; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjhxf; import com.dsic.gj_erp.bean.jhgk.dto.*; import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; -import org.springframework.web.bind.annotation.RequestBody; -import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java index 529e75a..6091495 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java @@ -3,10 +3,7 @@ package com.dsic.gj_erp.service.jhgk; import com.baomidou.mybatisplus.extension.service.IService; import com.dsic.gj_erp.bean.jhgk.DmSygd; -import com.dsic.gj_erp.bean.jhgk.DmSygdMx; -import com.dsic.gj_erp.bean.jhgk.DmZrcjh; import com.dsic.gj_erp.bean.jhgk.excel.SyExcel; -import org.springframework.web.bind.annotation.RequestBody; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -22,10 +19,10 @@ import java.util.Map; */ public interface DmSygdService extends IService { - Map getSygds(); Map uploadSy(List list, HttpServletRequest req); Boolean tj(List dmSygds); + void tj1(String from,String to); Boolean sh(List dmSygds); - + void sh1(String from,String to); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmTzjhService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmTzjhService.java index 0f3bb42..5e91a3d 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmTzjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmTzjhService.java @@ -2,11 +2,8 @@ package com.dsic.gj_erp.service.jhgk; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.jcsj.EmSbjbb; import com.dsic.gj_erp.bean.jhgk.DmTzjh; -import com.dsic.gj_erp.bean.request.EmSbjbbBean; -import javax.servlet.http.HttpServletRequest; import java.util.List; /** 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 dde6522..2aa380c 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 @@ -20,7 +20,6 @@ import java.util.Map; */ public interface DmYdjhService extends IService { - List tjydjh(); @Transactional diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmZrcjhService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmZrcjhService.java index 1bf60d6..2deadbd 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmZrcjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmZrcjhService.java @@ -2,7 +2,6 @@ package com.dsic.gj_erp.service.jhgk; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsic.gj_erp.bean.jhgk.DmXbjh; import com.dsic.gj_erp.bean.jhgk.DmZrcjh; import org.springframework.web.multipart.MultipartFile; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java index a6e14f1..c7dd34f 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java @@ -7,13 +7,10 @@ import cn.hutool.poi.excel.ExcelUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsic.gj_erp.bean.jcsj.EmSbcnp; import com.dsic.gj_erp.bean.jhgk.DmDhqdp; -import com.dsic.gj_erp.bean.jhgk.DmXbjh; import com.dsic.gj_erp.mapper.jhgk.DmDhqdpMapper; import com.dsic.gj_erp.service.jhgk.DmDhqdpService; import com.google.common.collect.Maps; -import jdk.nashorn.internal.ir.annotations.Reference; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmJtsyjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmJtsyjhServiceImpl.java index a76a306..8e60b7e 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmJtsyjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmJtsyjhServiceImpl.java @@ -5,15 +5,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmJtsyjh; -import com.dsic.gj_erp.bean.jhgk.DmZrcjh; -import com.dsic.gj_erp.dao.jhgk.DmJtsyjhRepository; import com.dsic.gj_erp.mapper.jhgk.DmJtsyjhMapper; import com.dsic.gj_erp.service.jhgk.DmJtsyjhService; import com.dsic.gj_erp.util.ExcelUtil; import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; import org.modelmapper.ModelMapper; -import org.springframework.http.HttpRequest; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; 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 f29c8a9..5c3728f 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 @@ -1,7 +1,6 @@ package com.dsic.gj_erp.service.jhgk.impl; -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; @@ -9,7 +8,6 @@ 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.jhgk.DmQfxq; -import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.mapper.jhgk.DmQfxqMapper; @@ -20,7 +18,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -179,27 +179,27 @@ public class DmQfxqServiceImpl extends ServiceImpl impleme // } Map> map = ydjhList.stream().collect(Collectors.groupingBy(mx -> mx.getDcCh() +"@"+ mx.getDcPl())); this.removeByMulti(map); - ydjhList.forEach(l->{ - if (StrUtil.isAllNotEmpty(l.getXzglxq(),l.getJssj())){ - //状态 2拖期 1提前 3追加 - if (l.getXzglxq().compareTo(l.getJssj())<0){ - if (!DateUtil.isSameMonth(DateUtil.parseDate(l.getXzglxq()),DateUtil.parseDate(l.getJssj()))){ - l.setJhlx("3"); - }else { - l.setJhlx("1"); - } - } - if (l.getXzglxq().compareTo(l.getJssj())>0){ - l.setJhlx("2"); - } - l.setJssjOld(StrUtil.isEmpty(l.getJssj())?"":l.getJssj()); - l.setJssj(l.getXzglxq()); - } - if (StrUtil.isEmpty(l.getTzbh())){ - l.setJhlx("3"); - } - }); - ydjhService.saveBatch(ydjhList); +// ydjhList.forEach(l->{ +// if (StrUtil.isAllNotEmpty(l.getXzglxq(),l.getJssj())){ +// //状态 2拖期 1提前 3追加 +// if (l.getXzglxq().compareTo(l.getJssj())<0){ +// if (!DateUtil.isSameMonth(DateUtil.parseDate(l.getXzglxq()),DateUtil.parseDate(l.getJssj()))){ +// l.setJhlx("3"); +// }else { +// l.setJhlx("1"); +// } +// } +// if (l.getXzglxq().compareTo(l.getJssj())>0){ +// l.setJhlx("2"); +// } +// l.setJssjOld(StrUtil.isEmpty(l.getJssj())?"":l.getJssj()); +// l.setJssj(l.getXzglxq()); +// } +// if (StrUtil.isEmpty(l.getTzbh())){ +// l.setJhlx("3"); +// } +// }); +// ydjhService.saveBatch(ydjhList); } private void removeByMulti(Map> map){ 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 9e59df4..a600e8d 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 @@ -2,6 +2,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.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -25,7 +26,10 @@ import com.dsic.gj_erp.handler.dto.RealCapacity; import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; -import com.dsic.gj_erp.service.jhgk.*; +import com.dsic.gj_erp.service.jhgk.DmSygdMxService; +import com.dsic.gj_erp.service.jhgk.DmSygdService; +import com.dsic.gj_erp.service.jhgk.DmTzjhService; +import com.dsic.gj_erp.service.jhgk.DmXbjhService; import com.dsic.gj_erp.util.MyString; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -996,41 +1000,48 @@ public class DmSygdMxServiceImpl extends ServiceImpl i //二跨数控开始 val.stream().filter(item -> "9".equals(item.getKw())) + .filter(item->StrUtil.isNotEmpty(item.getQgrq())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setEkskks(item.getQgrq())); //二跨数控2 dmYdjhxf.setEksk2(eksk2.get()+""); //二跨数控2开始 val.stream().filter(item -> "5".equals(item.getKw())) + .filter(item->StrUtil.isNotEmpty(item.getQgrq())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setEkskks(item.getQgrq())); dmYdjhxf.setSksk(sksk.get()+""); val.stream().filter(item->"14".equals(item.getKw())) + .filter(item->StrUtil.isNotEmpty(item.getQgrq())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkskqgks(item.getQgrq())); dmYdjhxf.setSkpt(skpt.get()+""); - val.stream().filter(item->"6".equals(item.getKw())) + val.stream().filter(item -> "6".equals(item.getKw())) + .filter(item->StrUtil.isNotEmpty(item.getQgrq())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setPtks(item.getQgrq())); - val.stream().filter(item->"6".equals(item.getKw())) - .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setPtjs(item.getQjgrq())); + val.stream().filter(item -> "6".equals(item.getKw())) + .filter(item->StrUtil.isNotEmpty(item.getQjgrq())) + .min(Comparator.comparing(DmSygdMx::getQjgrq)).ifPresent(item -> dmYdjhxf.setPtjs(item.getQjgrq())); dmYdjhxf.setSkbs(skbs.get()+""); val.stream().filter(item->"15".equals(item.getKw())) + .filter(item->StrUtil.isNotEmpty(item.getQgrq())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkqgks(item.getQgrq())); dmYdjhxf.setSkbs2(skbs2.get()+""); val.stream().filter(item->"11".equals(item.getKw())) + .filter(item->StrUtil.isNotEmpty(item.getQgrq())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkbs2(item.getQgrq())); val.stream().filter(item->"7".equals(item.getKw())) - .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setYkpkjs(item.getQgrq())); + .filter(item->StrUtil.isNotEmpty(item.getQgrq())) + .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setYkpkjs(item.getQgrq())); dmYdjhxf.setFdxq(val.get(0).getJssj()); list2.add(dmYdjhxf); }); -// return list2.stream().sorted(Comparator.comparing(item -> item.getDcCh() +"_"+ item.getDcPl()+"_"+item.getSl())).collect(Collectors.toList()); - return list2.stream().sorted(Comparator.comparing(DmYdjhxf::getSl)).collect(Collectors.toList()); + return list2.stream().sorted(Comparator.comparing(item->item.getDcCh()+item.getDcPl())).collect(Collectors.toList()); } @Transactional @@ -1077,6 +1088,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i @Override + @Transactional(rollbackFor = Exception.class) public void ydjhImport(List objList) { // 1,同产品与批量视为一条记录 dcch dcpl // 2,板数是否为空 不为空循环板数增加记录(还有一个其他集合) bs1=7 @@ -1098,7 +1110,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i dcch=jhxfExcel.getDcCh(); //} // if(StringUtils.isBlank(dcpl)){ - dcpl=jhxfExcel.getDcPl(); + dcpl=StrUtil.padPre(jhxfExcel.getDcPl(),3,"0"); num=0; zsl=0; zz=0; @@ -1116,7 +1128,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i // 生成数据 DmSygdMx sygdMx= new DmSygdMx(); sygdMx.setDcCh(jhxfExcel.getDcCh()); - sygdMx.setDcPl(jhxfExcel.getDcPl()); + sygdMx.setDcPl(dcpl); sygdMx.setDcFd(jhxfExcel.getDcFd()); sygdMx.setSlrq(jhxfExcel.getSl()); sygdMx.setPwrq(jhxfExcel.getPw()); @@ -1149,6 +1161,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl i insertsOne.add(sygdMx); } }else{ + dcch=""; + dcpl=""; continue; } int yklm=0; @@ -1157,16 +1171,14 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } if(yklm>0){ zz=yklm; - - for (int j = 0; j < yklm; j++) { - // 生成数据 - insertsOne.get(j).setKw("7"); - insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs()); zsl++; if(zsl>num){ - continue; + break; } + // 生成数据 + insertsOne.get(j).setKw("7"); + insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs()); } } @@ -1176,13 +1188,13 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } if(yksk>0){ for (int j = 0; j < yksk; j++) { - // 生成数据 - insertsOne.get(zz+j).setKw("8"); - insertsOne.get(zz+j).setQgrq(jhxfExcel.getYkpkjs()); zsl++; if(zsl>num){ - continue; + break; } + // 生成数据 + insertsOne.get(zz+j).setKw("8"); + insertsOne.get(zz+j).setQgrq(jhxfExcel.getYkpkjs()); } zz=zz+yksk; } @@ -1191,77 +1203,81 @@ public class DmSygdMxServiceImpl extends ServiceImpl i eklmbs= MyString.convertStringToNumber(jhxfExcel.getEksk()); } if(eklmbs>0){ - for (int j = 0; j < eklmbs; j++) { - // 生成数据 - insertsOne.get(zz+j).setKw("5"); - insertsOne.get(zz+j).setQgrq(jhxfExcel.getLmqgks()); zsl++; if(zsl>num){ - continue; + break; } + // 生成数据 + insertsOne.get(zz+j).setKw("5"); + insertsOne.get(zz+j).setQgrq(jhxfExcel.getLmqgks()); } zz=zz+eklmbs; } int eksk=0; if(StringUtils.isNotBlank(jhxfExcel.getEksk())){ - eksk= MyString.convertStringToNumber(jhxfExcel.getEksk()); + try { + eksk= MyString.convertStringToNumber(jhxfExcel.getEksk()); + }catch (Exception ignored){} } if(eksk>0){ - for (int j = 0; j < eksk; j++) { - // 生成数据 - insertsOne.get(zz+j).setKw("9");/// 2跨超长超宽曲板 // 2跨T型材腹板 //2跨超长超宽板 - insertsOne.get(zz+j).setQgrq(jhxfExcel.getEkskks()); zsl++; if(zsl>num){ - continue; + break; } + // 生成数据 + insertsOne.get(zz+j).setKw("9");/// 2跨超长超宽曲板 // 2跨T型材腹板 //2跨超长超宽板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getEkskks()); } zz=zz+eksk; } int sksk=0; if(StringUtils.isNotBlank(jhxfExcel.getSksk())){ - sksk= MyString.convertStringToNumber(jhxfExcel.getSksk()); + try { + sksk= MyString.convertStringToNumber(jhxfExcel.getSksk()); + }catch (Exception ignored){} } if(sksk>0){ for (int j = 0; j < sksk; j++) { - // 生成数据 - insertsOne.get(zz+j).setKw("14");///3跨曲板 // 3跨厚板 - insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkskqgks()); - zsl++; if(zsl>num){ - continue; + break; } + // 生成数据 + insertsOne.get(zz+j).setKw("14");///3跨曲板 // 3跨厚板 + insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkskqgks()); } zz=zz+sksk; } int skpt=0; if(StringUtils.isNotBlank(jhxfExcel.getSkpt())){ - skpt= MyString.convertStringToNumber(jhxfExcel.getSkpt()); + try { + skpt= MyString.convertStringToNumber(jhxfExcel.getSkpt()); + }catch (Exception ignored){} } if(skpt>0){ for (int j = 0; j < skpt; j++) { + zsl++; + if(zsl>num){ + break; + } // 生成数据 insertsOne.get(zz+j).setKw("6");///3跨曲板 // 3跨厚板 insertsOne.get(zz+j).setQgrq(jhxfExcel.getPtks()); insertsOne.get(zz+j).setQjgrq(jhxfExcel.getQptjs()); - - zsl++; - if(zsl>num){ - continue; - } } zz=zz+skpt; } int skbs=0; if(StringUtils.isNotBlank(jhxfExcel.getSkbs())){ - skbs= MyString.convertStringToNumber(jhxfExcel.getSkbs()); + try { + skbs= MyString.convertStringToNumber(jhxfExcel.getSkbs()); + }catch (Exception ignored){} } if(skbs>0){ @@ -1280,18 +1296,18 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } map.put(dcch+"_"+dcpl,insertsOne); - }{ + }else{ List insertsOne = map.get(dcch +"_"+ dcpl); int yklm=0; if(StringUtils.isNotBlank(jhxfExcel.getYklm())){ - yklm= MyString.convertStringToNumber(jhxfExcel.getYklm()); + try { + yklm= MyString.convertStringToNumber(jhxfExcel.getYklm()); + }catch (Exception ignored){} } if(yklm>0){ zz=yklm; - - for (int j = 0; j < yklm; j++) { // 生成数据 insertsOne.get(j).setKw("7"); @@ -1305,7 +1321,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl i int yksk=0; if(StringUtils.isNotBlank(jhxfExcel.getYksk())){ - yksk= MyString.convertStringToNumber(jhxfExcel.getYksk()); + try { + yksk= MyString.convertStringToNumber(jhxfExcel.getYksk()); + }catch (Exception ignored){} } if(yksk>0){ for (int j = 0; j i } int eklmbs=0; if(StringUtils.isNotBlank(jhxfExcel.getEklmbs())){ - eklmbs= MyString.convertStringToNumber(jhxfExcel.getEksk()); + try { + eklmbs= MyString.convertStringToNumber(jhxfExcel.getEksk()); + }catch (Exception ignored){} } if(eklmbs>0){ - for (int j = 0; j < eklmbs; j++) { // 生成数据 insertsOne.get(zz+j).setKw("5"); @@ -1339,7 +1358,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl i int eksk=0; if(StringUtils.isNotBlank(jhxfExcel.getEksk())){ - eksk= MyString.convertStringToNumber(jhxfExcel.getEksk()); + try { + eksk= MyString.convertStringToNumber(jhxfExcel.getEksk()); + }catch (Exception ignored){} } if(eksk>0){ @@ -1356,10 +1377,11 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } int sksk=0; if(StringUtils.isNotBlank(jhxfExcel.getSksk())){ - sksk= MyString.convertStringToNumber(jhxfExcel.getSksk()); + try { + sksk= MyString.convertStringToNumber(jhxfExcel.getSksk()); + }catch (Exception ignored){} } if(sksk>0){ - for (int j = 0; j < sksk; j++) { // 生成数据 insertsOne.get(zz+j).setKw("14");///3跨曲板 // 3跨厚板 @@ -1367,14 +1389,16 @@ public class DmSygdMxServiceImpl extends ServiceImpl i zsl++; if(zsl>num){ - continue; + break; } } zz=zz+sksk; } int skpt=0; if(StringUtils.isNotBlank(jhxfExcel.getSkpt())){ - skpt= MyString.convertStringToNumber(jhxfExcel.getSkpt()); + try { + skpt= MyString.convertStringToNumber(jhxfExcel.getSkpt()); + }catch (Exception ignored){} } if(skpt>0){ @@ -1394,17 +1418,16 @@ public class DmSygdMxServiceImpl extends ServiceImpl i int skbs=0; if(StringUtils.isNotBlank(jhxfExcel.getSkbs())){ - skbs= MyString.convertStringToNumber(jhxfExcel.getSkbs()); + try { + skbs= MyString.convertStringToNumber(jhxfExcel.getSkbs()); + }catch (Exception ignored){} } if(skbs>0){ - for (int j = 0; j < skbs; j++) { // 生成数据 insertsOne.get(zz+j).setKw("15");///3跨曲板 // 3跨厚板 insertsOne.get(zz+j).setQgrq(jhxfExcel.getSkqgks()); - - zsl++; if(zsl>num){ continue; @@ -1414,52 +1437,62 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } map.put(dcch+"_"+dcpl,insertsOne);//这里改为用"_"分割,方便后面逻辑调用 } - - - - } for (Map.Entry> entry : map.entrySet()) { String key = entry.getKey(); List value = entry.getValue(); - // 打印键和值 - System.out.println("Key: " + key); - System.out.println("Value: " + value); - //todo 支持导入有基础数据的月度计划 -// String ch=key.split("_")[0]; -// String pl=key.split("_")[1]; -// List bomList=bomService.list(Wrappers.lambdaQuery().eq(DmBom::getDcch,ch).eq(DmBom::getPl,pl)); -// -// //补充基础数据 -// //fixme 这里有个冲突 ,如果导入的数量比bom少,多次导入时无法确认哪些bom被占用 -// if (ObjectUtil.isNotEmpty(bomList)){ -// int size=Math.min(value.size(),bomList.size()); -// for (int i=0;i sygdMxes=this.list(Wrappers.lambdaQuery() + .eq(DmSygdMx::getDcCh,ch) + .eq(DmSygdMx::getDcPl,pl) + ); + + DmSygdMx importData=value.get(0); + if (ObjectUtil.isNotEmpty(sygdMxes)){ + CopyOptions options = CopyOptions.create() + .setIgnoreNullValue(true) // 忽略源对象属性为空的情况 + .setIgnoreError(true); // 忽略复制过程中出现的错误 + sygdMxes.forEach(item-> BeanUtil.copyProperties(importData, item,options)); + this.updateBatchById(sygdMxes); + }else { + List bomList=bomService.list(Wrappers.lambdaQuery().eq(DmBom::getDcch,ch).eq(DmBom::getPl,pl)); + //补充基础数据 + //fixme 这里有个冲突 ,如果导入的数量比bom少,多次导入时无法确认哪些bom被占用 + if (ObjectUtil.isNotEmpty(bomList)){ + int size=Math.min(value.size(),bomList.size()); + for (int i=0;i - for (DmSygdMx item : value) { - // 对每个DmSygdMx对象进行操作 - System.out.println("DmSygdMx Object: " + item); - - /// 简单根据 船号 批量 删除后重复导入 - this.remove(new QueryWrapper().eq("dc_ch",item.getDcCh()).eq("dc_pl",item.getDcPl()) - .eq("dc_fd",item.getDcFd()) - ); - - } - for (DmSygdMx item : value) { - item.setId(IdWorker.get32UUID()); - item.setDrbs("Y"); - this.save(item); - } +// for (DmSygdMx item : value) { +// // 对每个DmSygdMx对象进行操作 +// System.out.println("DmSygdMx Object: " + item); +// +// // 简单根据 船号 批量 删除后重复导入 +// this.remove(new QueryWrapper().eq("dc_ch",item.getDcCh()).eq("dc_pl",item.getDcPl()) +// .eq("dc_fd",item.getDcFd()) +// ); +// +// } +// for (DmSygdMx item : value) { +// item.setId(IdWorker.get32UUID()); +// item.setDrbs("Y"); +// this.save(item); +// } } } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java index af3f0be..6b28c30 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java @@ -1,35 +1,24 @@ package com.dsic.gj_erp.service.jhgk.impl; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.BeanCopier; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import com.dsic.gj_erp.bean.jcsj.DmBclqjbp; -import com.dsic.gj_erp.bean.jcsj.DmBom; -import com.dsic.gj_erp.bean.jhgk.DmQfxq; import com.dsic.gj_erp.bean.jhgk.DmSygd; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; -import com.dsic.gj_erp.bean.jhgk.DmZrcjh; -import com.dsic.gj_erp.bean.jhgk.excel.QfExcel; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.excel.SyExcel; -import com.dsic.gj_erp.bean.sy.Dm_zhbmp; -import com.dsic.gj_erp.mapper.jcsj.DmBomMapper; import com.dsic.gj_erp.mapper.jhgk.DmSygdMapper; -import com.dsic.gj_erp.mapper.jhgk.DmZrcjhMapper; -import com.dsic.gj_erp.service.jcsj.DmBclqjbpService; +import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmSygdService; -import com.sun.el.stream.Stream; -import org.springframework.beans.factory.annotation.Autowired; +import com.dsic.gj_erp.service.jhgk.DmYdjhService; +import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -43,24 +32,14 @@ import java.util.stream.Collectors; * @since 2023-10-09 */ @Service +@AllArgsConstructor public class DmSygdServiceImpl extends ServiceImpl implements DmSygdService { - @Resource - private DmSygdMapper mapper; - - @Resource - private DmBclqjbpService bclqjbpService; - - - @Override - public Map getSygds(){ - - Map map= new HashMap(); - - return map; - } + private final DmYdjhService ydjhService; + private final DmSygdMxService sygdMxService; @Override + @Transactional(rollbackFor = Exception.class) public Map uploadSy(List list, HttpServletRequest req){ List listForSave=new ArrayList<>(); for (SyExcel q:list) { @@ -80,6 +59,8 @@ public class DmSygdServiceImpl extends ServiceImpl impleme return null; } + @Override + @Transactional(rollbackFor = Exception.class) public Boolean tj(List dmSygds){ dmSygds.forEach(dmSygd->{ String zt=dmSygd.getGdZt(); @@ -88,6 +69,23 @@ public class DmSygdServiceImpl extends ServiceImpl impleme }); return this.updateBatchById(dmSygds); } + + @Override + @Transactional(rollbackFor = Exception.class) + public void tj1(String from,String to){ + List sygdMxes = this.sygdMxService.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); + List collect = sygdMxes.stream().map(dmSygd -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setId(dmSygd.getId()); + dmSygdMx.setZt("1"); + return dmSygdMx; + }).collect(Collectors.toList()); + this.sygdMxService.updateBatchById(collect); + } + + + @Override + @Transactional(rollbackFor = Exception.class) public Boolean sh(List dmSygds){ dmSygds.forEach(dmSygd->{ String setZt="2"; @@ -96,5 +94,50 @@ public class DmSygdServiceImpl extends ServiceImpl impleme return this.updateBatchById(dmSygds); } + @Override + @Transactional(rollbackFor = Exception.class) + public void sh1(String from,String to){ + List sygdMxes = this.sygdMxService.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); + List collect = sygdMxes.stream().map(dmSygd -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setId(dmSygd.getId()); + dmSygdMx.setZt("2"); + return dmSygdMx; + }).collect(Collectors.toList()); + this.sygdMxService.updateBatchById(collect); + //生成作业计划 + new Thread(()->{ + this.generateYdjh(sygdMxes); + }).start(); + } + @Transactional(rollbackFor = Exception.class) + public void generateYdjh(List sygdMxes) { + List ydjhList = sygdMxes.stream().map(item -> { + DmYdjh dmYdjh = new DmYdjh(); + BeanUtil.copyProperties(item, dmYdjh); + return dmYdjh; + }).collect(Collectors.toList()); + ydjhList.forEach(l->{ + if (StrUtil.isAllNotEmpty(l.getXzglxq(),l.getJssj())){ + //状态 2拖期 1提前 3追加 + if (l.getXzglxq().compareTo(l.getJssj())<0){ + if (!DateUtil.isSameMonth(DateUtil.parseDate(l.getXzglxq()),DateUtil.parseDate(l.getJssj()))){ + l.setJhlx("3"); + }else { + l.setJhlx("1"); + } + } + if (l.getXzglxq().compareTo(l.getJssj())>0){ + l.setJhlx("2"); + } + l.setJssjOld(StrUtil.isEmpty(l.getJssj())?"":l.getJssj()); + l.setJssj(l.getXzglxq()); + } + if (StrUtil.isEmpty(l.getTzbh())){ + l.setJhlx("3"); + } + }); + ydjhService.saveBatch(ydjhList); + } } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmTzjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmTzjhServiceImpl.java index 9a5345e..d78aa85 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmTzjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmTzjhServiceImpl.java @@ -26,8 +26,6 @@ public class DmTzjhServiceImpl extends ServiceImpl impleme @Resource DmTzjhMapper dmTzjhMapper; -// @Resource -// DmTzjhRepository dmTzjhRepository; @Override public List getList(JSONObject json) { @@ -41,7 +39,7 @@ public class DmTzjhServiceImpl extends ServiceImpl impleme if(StringUtils.isNotEmpty(json.getString("dcPl"))){ queryWrapper.eq("DC_PL",json.getString("dcPl")); } - List dmTzjhs=dmTzjhMapper.selectList(queryWrapper); + List dmTzjhs=dmTzjhMapper.selectList(queryWrapper.orderByAsc("dc_ch","dc_pl")); return dmTzjhs; } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java index 51d564d..b25fdd9 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java @@ -11,7 +11,6 @@ import com.dsic.gj_erp.mapper.jhgk.DmXbjhMapper; import com.dsic.gj_erp.service.jhgk.DmXbjhService; import com.dsic.gj_erp.util.ExcelUtil; import org.apache.commons.lang3.StringUtils; -import org.apache.tomcat.util.http.parser.Ranges; import org.modelmapper.ModelMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -19,7 +18,10 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** 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 d945958..986e4ec 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 @@ -17,7 +17,6 @@ import com.dsic.gj_erp.service.jhgk.DmQfxqService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.jiuzhou.SljhService; import com.dsic.gj_erp.service.pgd.*; -import io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; @@ -27,7 +26,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.time.LocalDate; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java index 61c94f8..2a1e753 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java @@ -4,12 +4,12 @@ package com.dsic.gj_erp.service.jhgk.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.poi.excel.ExcelReader; import com.alibaba.fastjson.JSONObject; 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.*; +import com.dsic.gj_erp.bean.jhgk.DmZrcjh; +import com.dsic.gj_erp.bean.jhgk.DmZrcjhOld; import com.dsic.gj_erp.mapper.jhgk.DmZrcjhMapper; import com.dsic.gj_erp.service.jhgk.DmZrcjhOldService; import com.dsic.gj_erp.service.jhgk.DmZrcjhService; diff --git a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java index 79ef313..4c41bd7 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgsc/impl/PbscServiceImpl.java @@ -1,12 +1,7 @@ package com.dsic.gj_erp.service.pgsc.impl; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; -import java.util.Map; - /** *

* 服务实现类 diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaServiceImpl.java index bc2b817..796956a 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/DmMateriaServiceImpl.java @@ -1,9 +1,7 @@ package com.dsic.gj_erp.service.txzz; import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.sy.SyDictItem; @@ -17,8 +15,10 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; -import java.util.*; -import java.util.function.Function; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/供应商管理ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/供应商管理ServiceImpl.java index 1764129..fb4cd2b 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/impl/供应商管理ServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/供应商管理ServiceImpl.java @@ -1,13 +1,13 @@ package com.dsic.gj_erp.service.txzz.impl; -import java.util.List; - import com.dsic.gj_erp.bean.jt.供应商管理; import com.dsic.gj_erp.mapper.txzz.供应商管理Mapper; import com.dsic.gj_erp.service.txzz.I供应商管理Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 【请填写功能名称】Service业务层处理 * diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/入库ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/入库ServiceImpl.java index f656256..97bff4b 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/impl/入库ServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/入库ServiceImpl.java @@ -1,14 +1,13 @@ package com.dsic.gj_erp.service.txzz.impl; -import java.util.List; - import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jt.入库; import com.dsic.gj_erp.mapper.txzz.入库Mapper; import com.dsic.gj_erp.service.txzz.I入库Service; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 【请填写功能名称】Service业务层处理 * diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/出库ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/出库ServiceImpl.java index a2dfca1..10ffb6a 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/impl/出库ServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/出库ServiceImpl.java @@ -1,13 +1,13 @@ package com.dsic.gj_erp.service.txzz.impl; -import java.util.List; - import com.dsic.gj_erp.bean.jt.出库; import com.dsic.gj_erp.mapper.txzz.出库Mapper; import com.dsic.gj_erp.service.txzz.I出库Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 【请填写功能名称】Service业务层处理 * diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/发票管理ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/发票管理ServiceImpl.java index e7b48ca..ce9950d 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/impl/发票管理ServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/发票管理ServiceImpl.java @@ -1,13 +1,13 @@ package com.dsic.gj_erp.service.txzz.impl; -import java.util.List; - import com.dsic.gj_erp.bean.jt.发票管理; import com.dsic.gj_erp.mapper.txzz.发票管理Mapper; import com.dsic.gj_erp.service.txzz.I发票管理Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 【请填写功能名称】Service业务层处理 * diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/应付账款ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/应付账款ServiceImpl.java index 1fa0bb9..4931346 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/impl/应付账款ServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/应付账款ServiceImpl.java @@ -1,13 +1,13 @@ package com.dsic.gj_erp.service.txzz.impl; -import java.util.List; - import com.dsic.gj_erp.bean.jt.应付账款; import com.dsic.gj_erp.mapper.txzz.应付账款Mapper; import com.dsic.gj_erp.service.txzz.I应付账款Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 【请填写功能名称】Service业务层处理 * diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/应收账款ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/应收账款ServiceImpl.java index 7a97254..bf65ccc 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/impl/应收账款ServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/应收账款ServiceImpl.java @@ -1,13 +1,13 @@ package com.dsic.gj_erp.service.txzz.impl; -import java.util.List; - import com.dsic.gj_erp.bean.jt.应收账款; import com.dsic.gj_erp.mapper.txzz.应收账款Mapper; import com.dsic.gj_erp.service.txzz.I应收账款Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 【请填写功能名称】Service业务层处理 * diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/盘点ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/盘点ServiceImpl.java index ccbdf8e..fd3778d 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/impl/盘点ServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/盘点ServiceImpl.java @@ -1,13 +1,13 @@ package com.dsic.gj_erp.service.txzz.impl; -import java.util.List; - import com.dsic.gj_erp.bean.jt.盘点; import com.dsic.gj_erp.mapper.txzz.盘点Mapper; import com.dsic.gj_erp.service.txzz.I盘点Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 【请填写功能名称】Service业务层处理 * diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/退货ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/退货ServiceImpl.java index b9f1549..73735c2 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/impl/退货ServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/退货ServiceImpl.java @@ -1,13 +1,13 @@ package com.dsic.gj_erp.service.txzz.impl; -import java.util.List; - import com.dsic.gj_erp.bean.jt.退货; import com.dsic.gj_erp.mapper.txzz.退货Mapper; import com.dsic.gj_erp.service.txzz.I退货Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 【请填写功能名称】Service业务层处理 * diff --git a/src/main/java/com/dsic/gj_erp/service/txzz/impl/采购订单ServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/txzz/impl/采购订单ServiceImpl.java index f5d7050..7aecba1 100644 --- a/src/main/java/com/dsic/gj_erp/service/txzz/impl/采购订单ServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/txzz/impl/采购订单ServiceImpl.java @@ -1,13 +1,13 @@ package com.dsic.gj_erp.service.txzz.impl; -import java.util.List; - import com.dsic.gj_erp.bean.jt.采购订单; import com.dsic.gj_erp.mapper.txzz.采购订单Mapper; import com.dsic.gj_erp.service.txzz.I采购订单Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * 【请填写功能名称】Service业务层处理 * diff --git a/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java b/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java index 38e4fc6..c8e6b9e 100644 --- a/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java +++ b/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java @@ -5,7 +5,6 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.cron.CronUtil; import cn.hutool.cron.task.Task; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.dsic.gj_erp.bean.xiaochi.CutPlan; @@ -17,7 +16,6 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import javax.annotation.PostConstruct; import java.util.*; import java.util.stream.Collectors; diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/TipHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/TipHandler.java index ebe47b9..12243e1 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/handler/TipHandler.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/TipHandler.java @@ -1,9 +1,5 @@ package com.dsic.gj_erp.wsclient.handler; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.dsic.gj_erp.bean.jhgk.DmYdjh; -import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.ws.WsHandler; import com.dsic.gj_erp.wsclient.Message; import lombok.AllArgsConstructor; diff --git a/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java b/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java index 925f64f..347862b 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/handler/ZxHandler.java @@ -1,16 +1,11 @@ package com.dsic.gj_erp.wsclient.handler; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.ws.WsHandler; import com.dsic.gj_erp.wsclient.Message; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; -import java.util.Optional; - @Service @AllArgsConstructor public class ZxHandler implements IHandlerService{ diff --git a/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml b/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml index ab8ff6b..a27c722 100644 --- a/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml @@ -593,4 +593,7 @@ dm_sygd_mx.dc_pl, dm_sygd_mx.dc_fd,dm_sygd_mx.tzbh + From 9b1a1a6efc258de08f56f44f949e5b574040788f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 21 Oct 2024 17:58:00 +0800 Subject: [PATCH 077/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=BE=AA=E7=8E=AF?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E9=97=AE=E9=A2=98=202.=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=BA=BF=E8=A1=A8=E5=AF=BC=E5=85=A5=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E7=89=88=E6=9C=AC=E5=8F=B7=E5=8A=9F=E8=83=BD,?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=80=89=E6=8B=A9=E7=89=88=E6=9C=AC=E5=8F=B7?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E6=8C=87=E5=AE=9A=E7=BA=BF=E8=A1=A8=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/Test.java | 5 +- .../com/dsic/gj_erp/bean/jhgk/DmXbjh.java | 2 +- .../controller/jhgk/DmSygdController.java | 8 +- .../gj_erp/service/jhgk/DmSygdMxService.java | 3 +- .../gj_erp/service/jhgk/DmSygdService.java | 4 +- .../jhgk/impl/DmSygdMxServiceImpl.java | 67 ++++++++++++- .../service/jhgk/impl/DmSygdServiceImpl.java | 62 ------------ .../service/jhgk/impl/DmXbjhServiceImpl.java | 94 ++++++++++--------- 8 files changed, 128 insertions(+), 117 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/Test.java b/src/main/java/com/dsic/gj_erp/Test.java index b4ad045..6da244f 100644 --- a/src/main/java/com/dsic/gj_erp/Test.java +++ b/src/main/java/com/dsic/gj_erp/Test.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import java.io.IOException; @@ -7,7 +8,9 @@ import java.io.IOException; public class Test { public static void main(String[] args) throws IOException { - System.out.println(StrUtil.padPre("1",3,"0")); + System.out.println(DateUtil.thisYear()); + +// System.out.println(StrUtil.padPre("1",3,"0")); //String aaa="gagagag"; //System.out.println(aaa.split("@")[0]); diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java index 8630bce..7f383e3 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java @@ -51,6 +51,6 @@ public class DmXbjh implements Serializable { @ApiModelProperty(value = "船号") private String dcCh; - + private int version; } diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java index 1d840a8..34ae684 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java @@ -80,15 +80,15 @@ public class DmSygdController { @PostMapping("/tj") @AuthFunction @ResponseBody - public ResultBean tj(@RequestBody List list){ - service.tj(list); + public ResultBean tj(String from,String to){ + mxService.tj(from,to); return new ResultBean(); } @ApiOperation(value = "批量审核") @PostMapping(value = "/sh") - public ResultBean sh(@RequestBody List dmSygds) { - service.sh(dmSygds); + public ResultBean sh(String from,String to) { + mxService.sh(from,to); return new ResultBean(); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java index 61d4624..eab0184 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java @@ -31,7 +31,8 @@ public interface DmSygdMxService extends IService { List tqSygd1(String begin, String end); Object cgjhdhqk(Map map); - + void tj(String from,String to); + void sh(String from,String to); void ydjhImport(List objList); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java index 6091495..3c4088d 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java @@ -21,8 +21,8 @@ public interface DmSygdService extends IService { Map uploadSy(List list, HttpServletRequest req); Boolean tj(List dmSygds); - void tj1(String from,String to); + Boolean sh(List dmSygds); - void sh1(String from,String to); + } 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 a600e8d..01e9e69 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 @@ -26,10 +26,7 @@ import com.dsic.gj_erp.handler.dto.RealCapacity; import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; -import com.dsic.gj_erp.service.jhgk.DmSygdMxService; -import com.dsic.gj_erp.service.jhgk.DmSygdService; -import com.dsic.gj_erp.service.jhgk.DmTzjhService; -import com.dsic.gj_erp.service.jhgk.DmXbjhService; +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; @@ -68,6 +65,68 @@ public class DmSygdMxServiceImpl extends ServiceImpl i Dm_zhbmpRepository dm_zhbmpRepository; @Autowired DmBomService bomService; + @Autowired + DmYdjhService ydjhService; + + @Override + @Transactional(rollbackFor = Exception.class) + public void tj(String from,String to){ + List sygdMxes = this.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); + List collect = sygdMxes.stream().map(dmSygd -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setId(dmSygd.getId()); + dmSygdMx.setZt("1"); + return dmSygdMx; + }).collect(Collectors.toList()); + this.updateBatchById(collect); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void sh(String from,String to){ + List sygdMxes = this.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); + List collect = sygdMxes.stream().map(dmSygd -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setId(dmSygd.getId()); + dmSygdMx.setZt("2"); + return dmSygdMx; + }).collect(Collectors.toList()); + this.updateBatchById(collect); + //生成作业计划 + new Thread(()->{ + this.generateYdjh(sygdMxes); + }).start(); + } + + @Transactional(rollbackFor = Exception.class) + public void generateYdjh(List sygdMxes) { + List ydjhList = sygdMxes.stream().map(item -> { + DmYdjh dmYdjh = new DmYdjh(); + BeanUtil.copyProperties(item, dmYdjh); + return dmYdjh; + }).collect(Collectors.toList()); + ydjhList.forEach(l->{ + if (StrUtil.isAllNotEmpty(l.getXzglxq(),l.getJssj())){ + //状态 2拖期 1提前 3追加 + if (l.getXzglxq().compareTo(l.getJssj())<0){ + if (!DateUtil.isSameMonth(DateUtil.parseDate(l.getXzglxq()),DateUtil.parseDate(l.getJssj()))){ + l.setJhlx("3"); + }else { + l.setJhlx("1"); + } + } + if (l.getXzglxq().compareTo(l.getJssj())>0){ + l.setJhlx("2"); + } + l.setJssjOld(StrUtil.isEmpty(l.getJssj())?"":l.getJssj()); + l.setJssj(l.getXzglxq()); + } + if (StrUtil.isEmpty(l.getTzbh())){ + l.setJhlx("3"); + } + }); + ydjhService.saveBatch(ydjhList); + } public Map> getMxMap(String begin,String end){ diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java index 6b28c30..c006024 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java @@ -35,9 +35,6 @@ import java.util.stream.Collectors; @AllArgsConstructor public class DmSygdServiceImpl extends ServiceImpl implements DmSygdService { - private final DmYdjhService ydjhService; - private final DmSygdMxService sygdMxService; - @Override @Transactional(rollbackFor = Exception.class) public Map uploadSy(List list, HttpServletRequest req){ @@ -70,19 +67,6 @@ public class DmSygdServiceImpl extends ServiceImpl impleme return this.updateBatchById(dmSygds); } - @Override - @Transactional(rollbackFor = Exception.class) - public void tj1(String from,String to){ - List sygdMxes = this.sygdMxService.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); - List collect = sygdMxes.stream().map(dmSygd -> { - DmSygdMx dmSygdMx = new DmSygdMx(); - dmSygdMx.setId(dmSygd.getId()); - dmSygdMx.setZt("1"); - return dmSygdMx; - }).collect(Collectors.toList()); - this.sygdMxService.updateBatchById(collect); - } - @Override @Transactional(rollbackFor = Exception.class) @@ -94,50 +78,4 @@ public class DmSygdServiceImpl extends ServiceImpl impleme return this.updateBatchById(dmSygds); } - @Override - @Transactional(rollbackFor = Exception.class) - public void sh1(String from,String to){ - List sygdMxes = this.sygdMxService.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); - List collect = sygdMxes.stream().map(dmSygd -> { - DmSygdMx dmSygdMx = new DmSygdMx(); - dmSygdMx.setId(dmSygd.getId()); - dmSygdMx.setZt("2"); - return dmSygdMx; - }).collect(Collectors.toList()); - this.sygdMxService.updateBatchById(collect); - //生成作业计划 - new Thread(()->{ - this.generateYdjh(sygdMxes); - }).start(); - } - - @Transactional(rollbackFor = Exception.class) - public void generateYdjh(List sygdMxes) { - List ydjhList = sygdMxes.stream().map(item -> { - DmYdjh dmYdjh = new DmYdjh(); - BeanUtil.copyProperties(item, dmYdjh); - return dmYdjh; - }).collect(Collectors.toList()); - ydjhList.forEach(l->{ - if (StrUtil.isAllNotEmpty(l.getXzglxq(),l.getJssj())){ - //状态 2拖期 1提前 3追加 - if (l.getXzglxq().compareTo(l.getJssj())<0){ - if (!DateUtil.isSameMonth(DateUtil.parseDate(l.getXzglxq()),DateUtil.parseDate(l.getJssj()))){ - l.setJhlx("3"); - }else { - l.setJhlx("1"); - } - } - if (l.getXzglxq().compareTo(l.getJssj())>0){ - l.setJhlx("2"); - } - l.setJssjOld(StrUtil.isEmpty(l.getJssj())?"":l.getJssj()); - l.setJssj(l.getXzglxq()); - } - if (StrUtil.isEmpty(l.getTzbh())){ - l.setJhlx("3"); - } - }); - ydjhService.saveBatch(ydjhList); - } } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java index b25fdd9..b1c0b61 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java @@ -1,10 +1,15 @@ package com.dsic.gj_erp.service.jhgk.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; 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.DmXbjh; import com.dsic.gj_erp.mapper.jhgk.DmXbjhMapper; @@ -17,6 +22,8 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -26,7 +33,7 @@ import java.util.stream.Collectors; /** *

- * 服务实现类 + * 服务实现类 *

* * @author xn @@ -40,69 +47,72 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme ModelMapper modelMapper; @Override - public Map> getList(JSONObject json) { - QueryWrapper queryWrapper=new QueryWrapper<>(); - if(StringUtils.isNotEmpty(json.getString("dcCh"))){ - queryWrapper.eq("dc_ch",json.getString("dcCh")); + public Map> getList(JSONObject json) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.isNotEmpty(json.getString("dcCh"))) { + queryWrapper.eq("dc_ch", json.getString("dcCh")); } - if(StringUtils.isNotEmpty(json.getString("Zt"))){ - queryWrapper.eq("zt",json.getString("Zt")); + if (StringUtils.isNotEmpty(json.getString("Zt"))) { + queryWrapper.eq("zt", json.getString("Zt")); } - if(StringUtils.isNotEmpty(json.getString("nf"))){ - String nf=json.getString("nf"); - String startTime=nf.split("~")[0]; - String endTime=nf.split("~")[1]; - queryWrapper.between("nf",startTime,endTime); + if (StringUtils.isNotEmpty(json.getString("nf"))) { + String nf = json.getString("nf"); + String startTime = nf.split("~")[0]; + String endTime = nf.split("~")[1]; + queryWrapper.between("nf", startTime, endTime); } queryWrapper.orderByDesc("zl"); - List dmTzjhs=dmXbjhMapper.selectList(queryWrapper); - Map> map=dmTzjhs.stream() + List dmTzjhs = dmXbjhMapper.selectList(queryWrapper); + Map> map = dmTzjhs.stream() .collect(Collectors.groupingBy(DmXbjh::getDcCh)); - //对map的value进行排序,并返回降序以后的map集合 - LinkedHashMap> collect = map.entrySet().stream().sorted((entry1, entry2) -> { - Double zl1=entry1.getValue().stream().filter(l->ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); - Double zl2=entry2.getValue().stream().filter(l->ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); - //降序排序 - return zl2.compareTo(zl1); - }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,(oldValue, newValue) -> oldValue, LinkedHashMap::new)); + //对map的value进行排序,并返回降序以后的map集合 + LinkedHashMap> collect = map.entrySet().stream().sorted((entry1, entry2) -> { + Double zl1 = entry1.getValue().stream().filter(l -> ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); + Double zl2 = entry2.getValue().stream().filter(l -> ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); + //降序排序 + return zl2.compareTo(zl1); + }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new)); return collect; } - - @Override + @Transactional public JSONObject upload(MultipartFile file) throws IOException { - // ExcelReader reader = ExcelUtil.getReader(file.getInputStream()); - //List dmXbjhs= ExcelUtil.readDmXbjh(file); - JSONObject dmXbjhs= ExcelUtil.readDmXbjh(file); + JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file); + if (dmXbjhs != null) { + List listByNf = list(Wrappers.lambdaQuery().eq(DmXbjh::getNf, dmXbjhs.getString("nf"))); + this.save(dmXbjhs); -// List list=new ArrayList<>(); -// mapList.forEach(stringObjectMap -> { -// DmXbjh dmXbjh = modelMapper.map(stringObjectMap, DmXbjh.class); -// dmXbjh.setZt("0"); -// list.add(dmXbjh); -// }); - this.save(dmXbjhs); + String type = FileUtil.extName(file.getOriginalFilename()); + File uploadFile = new File("./线表计划"); + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + int version = !listByNf.isEmpty() ? listByNf.get(0).getVersion() + 1 : 1; + File uploadFiles = new File(StrUtil.format("./线表计划/{}_{}{}{}", dmXbjhs.getString("nf"), version, StrUtil.DOT, type)); + + file.transferTo(uploadFiles); + } return dmXbjhs; } @Override @Transactional public void save(JSONObject json) { - List dmXbjhs=new ArrayList<>(); - for (String key:json.keySet()) { - JSONArray jsonArray=json.getJSONArray(key); - for (Object object:jsonArray) { - // JSONObject dmxb=JSONObject.parseObject(object.toString()); - DmXbjh dmXbjh= modelMapper.map(object,DmXbjh.class); + List dmXbjhs = new ArrayList<>(); + for (String key : json.keySet()) { + JSONArray jsonArray = json.getJSONArray(key); + for (Object object : jsonArray) { + // JSONObject dmxb=JSONObject.parseObject(object.toString()); + DmXbjh dmXbjh = modelMapper.map(object, DmXbjh.class); dmXbjh.setDcCh(key); dmXbjhs.add(dmXbjh); - this.remove(new QueryWrapper().eq("dc_ch",dmXbjh.getDcCh()) - .eq("nf",dmXbjh.getNf()) - .eq("yf",dmXbjh.getYf()) + this.remove(new QueryWrapper().eq("dc_ch", dmXbjh.getDcCh()) + .eq("nf", dmXbjh.getNf()) + .eq("yf", dmXbjh.getYf()) ); } } From 572ab4fac9cb6e6bad7093963244451f7fdbf17d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 23 Oct 2024 11:50:08 +0800 Subject: [PATCH 078/196] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E7=BA=BF=E8=A1=A8?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=AF=BC=E5=85=A5,=E6=8C=89=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=AF=BC=E5=85=A5=E5=B9=B4=E4=BB=BD=E5=88=92=E5=88=86?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=90=8D=202.=E4=BF=AE=E5=A4=8D=E6=9C=88?= =?UTF-8?q?=E5=BA=A6=E8=AE=A1=E5=88=92=E6=8F=90=E4=BA=A4=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jhgk/DmSygdController.java | 19 +------ .../gj_erp/service/jhgk/DmSygdMxService.java | 1 + .../jhgk/impl/DmSygdMxServiceImpl.java | 55 +++++++++++-------- .../service/jhgk/impl/DmXbjhServiceImpl.java | 37 +++++++++---- src/main/resources/application-xbjh.yml | 1 + 5 files changed, 62 insertions(+), 51 deletions(-) create mode 100644 src/main/resources/application-xbjh.yml diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java index 34ae684..d43efcb 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java @@ -41,23 +41,8 @@ public class DmSygdController { @RequestMapping("/getList") @AuthFunction public ResultBean getList(@RequestBody DmSygd sygd){ -// List list= service.list(new QueryWrapper() -// .eq(StrUtil.isNotEmpty(sygd.getGdZt()),"gd_zt",sygd.getGdZt()) -// .ge(StrUtil.isNotEmpty(sygd.getBeginTime()),"gjjs_xz",sygd.getBeginTime()) -// .le(StrUtil.isNotEmpty(sygd.getEndTime()),"gjjs_xz",sygd.getEndTime()) -// .orderByAsc("sl_sj,dc_ch,dc_pl") -// ); - List list= mxService.tqSygd1(sygd.getBeginTime(),sygd.getEndTime()); - Map map=new HashMap(); -// if (list.size()>0){ -// String beginTime=list.get(0).getGjjsXz(); -// String endTime=list.get(list.size()-1).getGjjsXz(); -// List emGcrls= gcrlService.list(new QueryWrapper().select("gl").between("gl",beginTime,endTime).eq("xxr","0")); -// List gcrl = emGcrls.stream().map(EmGcrl::getGl).collect(Collectors.toList()); -// map.put("gcrl",gcrl); -// } - map.put("list",list); - return new ResultBean(map); + List list= mxService.tqSygd2(sygd.getBeginTime(),sygd.getEndTime(),sygd.getGdZt()); + return new ResultBean(list); } @PostMapping("/upload") diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java index eab0184..361e625 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java @@ -19,6 +19,7 @@ import java.util.Map; * @since 2023-10-09 */ public interface DmSygdMxService extends IService { + List tqSygd2(String from, String to,String zt); ResultBean sygdPC(); // List saveByDcch(HashMap> map); List getKwList(List list,String begin,String end); 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 01e9e69..81b97e6 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 @@ -71,31 +71,41 @@ public class DmSygdMxServiceImpl extends ServiceImpl i @Override @Transactional(rollbackFor = Exception.class) public void tj(String from,String to){ - List sygdMxes = this.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); - List collect = sygdMxes.stream().map(dmSygd -> { - DmSygdMx dmSygdMx = new DmSygdMx(); - dmSygdMx.setId(dmSygd.getId()); - dmSygdMx.setZt("1"); - return dmSygdMx; - }).collect(Collectors.toList()); - this.updateBatchById(collect); + List sygdMxes = this.list(Wrappers.lambdaQuery() + .eq(DmSygdMx::getZt,"0") + .between(DmSygdMx::getJssj, from, to) + ); + if (ObjectUtil.isNotEmpty(sygdMxes)){ + List collect = sygdMxes.stream().map(dmSygd -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setId(dmSygd.getId()); + dmSygdMx.setZt("1"); + return dmSygdMx; + }).collect(Collectors.toList()); + this.updateBatchById(collect); + } } @Override @Transactional(rollbackFor = Exception.class) public void sh(String from,String to){ - List sygdMxes = this.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); - List collect = sygdMxes.stream().map(dmSygd -> { - DmSygdMx dmSygdMx = new DmSygdMx(); - dmSygdMx.setId(dmSygd.getId()); - dmSygdMx.setZt("2"); - return dmSygdMx; - }).collect(Collectors.toList()); - this.updateBatchById(collect); - //生成作业计划 - new Thread(()->{ - this.generateYdjh(sygdMxes); - }).start(); + List sygdMxes = this.list(Wrappers.lambdaQuery() + .eq(DmSygdMx::getZt,"1") + .between(DmSygdMx::getJssj, from, to) + ); + if (ObjectUtil.isNotEmpty(sygdMxes)){ + List collect = sygdMxes.stream().map(dmSygd -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setId(dmSygd.getId()); + dmSygdMx.setZt("2"); + return dmSygdMx; + }).collect(Collectors.toList()); + this.updateBatchById(collect); + //生成作业计划 + new Thread(()->{ + this.generateYdjh(sygdMxes); + }).start(); + } } @Transactional(rollbackFor = Exception.class) @@ -970,9 +980,10 @@ public class DmSygdMxServiceImpl extends ServiceImpl i return new ResultBean(sygdList); } - private List tqSygd2(String begin,String end){ + public List tqSygd2(String begin,String end,String zt){ List slkw=Arrays.asList("7","8","9","5","6","15","11","14"); List list = this.list(Wrappers.lambdaQuery() + .eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt) .between(DmSygdMx::getJssj, begin, end) .orderBy(true,true,DmSygdMx::getDcCh,DmSygdMx::getDcPl,DmSygdMx::getSlrq) ); @@ -1142,7 +1153,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i // list2.add(ydjhxf1); // } - return this.tqSygd2(begin,end); + return this.tqSygd2(begin,end,null); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java index b1c0b61..239b9c0 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java @@ -9,7 +9,6 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; 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.DmXbjh; import com.dsic.gj_erp.mapper.jhgk.DmXbjhMapper; @@ -17,18 +16,16 @@ import com.dsic.gj_erp.service.jhgk.DmXbjhService; import com.dsic.gj_erp.util.ExcelUtil; import org.apache.commons.lang3.StringUtils; import org.modelmapper.ModelMapper; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -46,6 +43,9 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme @Resource ModelMapper modelMapper; + @Value("${xbjh-path}") + String xbjhPath; + @Override public Map> getList(JSONObject json) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -83,18 +83,31 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme public JSONObject upload(MultipartFile file) throws IOException { JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file); if (dmXbjhs != null) { - List listByNf = list(Wrappers.lambdaQuery().eq(DmXbjh::getNf, dmXbjhs.getString("nf"))); - this.save(dmXbjhs); + File[] files = FileUtil.ls(xbjhPath); + AtomicInteger maxVersion= new AtomicInteger(0); + if (files.length > 0) { + HashSet names = new HashSet<>(); + for (File file1 : files) { + String name = FileUtil.getPrefix(file1.getName()); + String[] s = name.split("_"); + names.add(s[s.length - 1]); + } + String tmpVersion=names.stream().max(String::compareTo).get(); + Optional.of(tmpVersion).ifPresent(item->{ + String v = item.replace("v", ""); + maxVersion.set(Integer.parseInt(v)); + }); + } String type = FileUtil.extName(file.getOriginalFilename()); - File uploadFile = new File("./线表计划"); + File uploadFile = new File(xbjhPath); if (!uploadFile.exists()) { uploadFile.mkdirs(); } - int version = !listByNf.isEmpty() ? listByNf.get(0).getVersion() + 1 : 1; - File uploadFiles = new File(StrUtil.format("./线表计划/{}_{}{}{}", dmXbjhs.getString("nf"), version, StrUtil.DOT, type)); - + int version = maxVersion.incrementAndGet(); + File uploadFiles = new File(StrUtil.format("{}/{}_{}{}{}{}", xbjhPath,DateUtil.thisYear(), "v",version, StrUtil.DOT, type)); file.transferTo(uploadFiles); + this.save(dmXbjhs); } return dmXbjhs; } diff --git a/src/main/resources/application-xbjh.yml b/src/main/resources/application-xbjh.yml new file mode 100644 index 0000000..999e0a0 --- /dev/null +++ b/src/main/resources/application-xbjh.yml @@ -0,0 +1 @@ +xbjh-path: D:\\javaweb\\static\\upload\\线表计划 \ No newline at end of file From 3cdd7777e63ddc18e23b31d37eadb04c3e1ea9ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 23 Oct 2024 16:43:02 +0800 Subject: [PATCH 079/196] =?UTF-8?q?1.=E6=89=B9=E9=87=8F=E8=A1=A8=E6=8C=89?= =?UTF-8?q?=E7=85=A7=E5=AF=BC=E5=85=A5=E9=A1=BA=E5=BA=8F=E6=98=BE=E7=A4=BA?= =?UTF-8?q?,=E5=A2=9E=E5=8A=A0=E5=AF=BC=E5=85=A5=E9=A1=BA=E5=BA=8F?= =?UTF-8?q?=E5=88=97,=E8=B0=83=E6=95=B4=E6=9F=A5=E8=AF=A2=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E6=8C=89=E7=85=A7=E5=AF=BC=E5=85=A5=E9=A1=BA=E5=BA=8F?= =?UTF-8?q?=E5=88=97=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java | 3 +++ src/main/java/com/dsic/gj_erp/bean/jhgk/excel/ZrcAndPlb.java | 2 ++ src/main/java/com/dsic/gj_erp/listeners/ExcelZrcAndPlb.java | 3 +++ .../dsic/gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java index 9ebb6b9..6156498 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java @@ -172,6 +172,8 @@ public class DmCzplpNew implements Serializable { private String xfqLqb1; + private int dataOrder; + public static DmCzplpNew createByExcel(String dcCh, String fd, ZrcAndPlb item){ DmCzplpNew plp = new DmCzplpNew(); plp.setDcCh(dcCh); @@ -191,6 +193,7 @@ public class DmCzplpNew implements Serializable { plp.setXfqDhqd(item.getDhqd()); plp.setBcdq(item.getGldq()); plp.setZt("0"); + plp.setDataOrder(item.getDataOrder()); return plp; } } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/ZrcAndPlb.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/ZrcAndPlb.java index 4024734..6b88d0e 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/ZrcAndPlb.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/ZrcAndPlb.java @@ -37,4 +37,6 @@ public class ZrcAndPlb { @ExcelProperty(value = "备注") public String bz; + + public int dataOrder; } diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelZrcAndPlb.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelZrcAndPlb.java index cd09012..8cfa701 100644 --- a/src/main/java/com/dsic/gj_erp/listeners/ExcelZrcAndPlb.java +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelZrcAndPlb.java @@ -8,15 +8,18 @@ import lombok.Getter; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; @Getter public class ExcelZrcAndPlb extends AnalysisEventListener { private List list; + private final AtomicInteger dataOrder=new AtomicInteger(0); @Override public void invoke(ZrcAndPlb zrcAndPlb, AnalysisContext analysisContext) { zrcAndPlb.setDcPl(StrUtil.padPre(zrcAndPlb.getDcPl(),3,"0")); + zrcAndPlb.setDataOrder(dataOrder.getAndIncrement()); list.add(zrcAndPlb); } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java index 896cd06..4b3d943 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java @@ -410,7 +410,7 @@ public class DmCzplpNewServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.eq(StrUtil.isNotEmpty((String) map.get("dcch")), "dc_ch", (String) map.get("dcch")); qw.eq(StrUtil.isNotEmpty((String) map.get("dcpl")), "dc_pl", (String) map.get("dcpl")); - qw.orderBy(true, true, "len(dc_pl)","dc_pl"); + qw.orderBy(true, true, "data_order"); if((Boolean) map.get("flag")){ List list= dmCbxxpService.list(new QueryWrapper() From 99f4fdfe24b9e62c41f8604692bd07339940c54a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 24 Oct 2024 14:22:58 +0800 Subject: [PATCH 080/196] =?UTF-8?q?1.=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B7=A5=E5=BA=8F=E6=9F=A5=E7=9C=8B=E5=BC=80?= =?UTF-8?q?=E5=85=B3,=E7=AE=A1=E7=90=86=E7=94=9F=E4=BA=A7=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E6=8A=A5=E5=B7=A5=E6=97=B6,=E4=B8=8B=E9=81=93?= =?UTF-8?q?=E5=BA=8F=E6=98=AF=E5=90=A6=E9=9C=80=E8=A6=81=E4=B8=8A=E9=81=93?= =?UTF-8?q?=E5=BA=8F=E5=AE=8C=E5=B7=A5=E5=90=8E=E6=89=8D=E5=8F=AF=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=202.=E8=B0=83=E6=95=B4=E5=90=84=E5=B7=A5=E5=BA=8F?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E9=80=BB=E8=BE=91,=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=B8=8B=E9=81=93=E5=BA=8F=E9=9C=80=E8=A6=81=E4=B8=8A=E9=81=93?= =?UTF-8?q?=E5=BA=8F=E6=8A=A5=E5=B7=A5=E5=90=8E=E6=89=8D=E8=83=BD=E7=9C=8B?= =?UTF-8?q?=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/controller/zyjh/ZyjhController.java | 9 +++++++++ .../com/dsic/gj_erp/service/zyjh/ZyjhService.java | 15 +++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 8458f08..7e3351e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -294,6 +294,15 @@ public class ZyjhController { return new ResultBean<>(); } + /** + * 报工数据查看控制器 + * 可根据配置情况控制是否根据上道序报工后下道序才可查看到作业计划数据 + */ + @PostMapping("bgControl") + public ResultBean bgControl(String gx){ + return new ResultBean<>(zyjhService.cacheable(gx)); + } + @PostMapping("test") public ResultBean test(@RequestBody Message msg){ wsHandler.tip(msg.toJson()); diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 336fa69..d3e1fc0 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -13,8 +13,11 @@ import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.google.common.collect.ImmutableMap; import lombok.AllArgsConstructor; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -24,6 +27,7 @@ import java.util.stream.Collectors; public class ZyjhService extends ServiceImpl { private final DmCbxxpService dmCbxxpService; + private final RedisTemplate redisTemplate; public List> gcjd(){ @@ -85,4 +89,15 @@ public class ZyjhService extends ServiceImpl { this.update(wrapper); } + + private static final String KEY="gxControl"; + + public Object cacheable(String gx){ + if (gx!=null){ + redisTemplate.opsForValue().set(KEY,gx); + return gx; + }else{ + return redisTemplate.opsForValue().get(KEY); + } + } } From 0c0e1725a6c89682a74bf208eef222cba24e8dd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 24 Oct 2024 17:32:14 +0800 Subject: [PATCH 081/196] =?UTF-8?q?1.=E7=BA=BF=E8=A1=A8=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7=E6=AF=94=E5=AF=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=8A=9F=E8=83=BD,=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=9A=82=E6=9C=AA=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jhgk/DmXbjhController.java | 17 +++ .../gj_erp/service/jhgk/DmXbjhService.java | 6 + .../service/jhgk/impl/DmXbjhServiceImpl.java | 61 ++++++++- .../java/com/dsic/gj_erp/util/ExcelUtil.java | 127 +++++++++++------- 4 files changed, 160 insertions(+), 51 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java index 723fe05..9ba2a18 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java @@ -1,6 +1,9 @@ package com.dsic.gj_erp.controller.jhgk; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmXbjh; @@ -11,7 +14,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -44,6 +50,16 @@ public class DmXbjhController { return new ResultBean(dmXbjhs); } + @GetMapping("getVersion") + public ResultBean getVersion(String nf){ + return new ResultBean<>(dmXbjhService.getVersion(nf)); + } + + @GetMapping("getByVersion") + public ResultBean getByVersion(String nf,String version){ + return new ResultBean<>(dmXbjhService.getByVersion(nf,version)); + } + @ApiOperation(value = "批量保存") @PostMapping(value = "/save") public ResultBean save(@RequestBody JSONObject dmXbjhs) { @@ -57,5 +73,6 @@ public class DmXbjhController { dmXbjhService.tj(dmXbjhs); return new ResultBean(); } + } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java index a8f1a8e..ed9caac 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java @@ -6,6 +6,8 @@ import com.dsic.gj_erp.bean.jhgk.DmXbjh; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -25,4 +27,8 @@ public interface DmXbjhService extends IService { void save(JSONObject dmXbjhs); void tj(List dmXbjhs); + + List> getVersion(String nf); + + Map> getByVersion(String startTime, String _version); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java index 239b9c0..51621c5 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java @@ -3,7 +3,6 @@ package com.dsic.gj_erp.service.jhgk.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; -import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; @@ -48,6 +47,7 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme @Override public Map> getList(JSONObject json) { + QueryWrapper queryWrapper = new QueryWrapper<>(); if (StringUtils.isNotEmpty(json.getString("dcCh"))) { queryWrapper.eq("dc_ch", json.getString("dcCh")); @@ -55,6 +55,7 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme if (StringUtils.isNotEmpty(json.getString("Zt"))) { queryWrapper.eq("zt", json.getString("Zt")); } + if (StringUtils.isNotEmpty(json.getString("nf"))) { String nf = json.getString("nf"); String startTime = nf.split("~")[0]; @@ -77,6 +78,64 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme return collect; } + public Map> getByVersion(String startTime,String _version){ + List> version = this.getVersion(startTime); + if (ObjectUtil.isNotEmpty(version)&&!version.get(version.size()-1).get("version").equals(_version)) { + List dmXbjhs = new ArrayList<>(); + for (HashMap map : version) { + if (map.get("version").equals(_version)) { + String fileName = (String) map.get("fileName"); + File file = FileUtil.file(xbjhPath, fileName); + if (file.exists()) { + JSONObject jsonObject = this.readFile(file); + for (String key : jsonObject.keySet()) { + JSONArray jsonArray = jsonObject.getJSONArray(key); + for (Object object : jsonArray) { + DmXbjh dmXbjh = modelMapper.map(object, DmXbjh.class); + dmXbjh.setDcCh(key); + dmXbjhs.add(dmXbjh); + } + } + } + } + } + Map> map = dmXbjhs.stream() + .collect(Collectors.groupingBy(DmXbjh::getDcCh)); + + //对map的value进行排序,并返回降序以后的map集合 + LinkedHashMap> collect = map.entrySet().stream().sorted((entry1, entry2) -> { + Double zl1 = entry1.getValue().stream().filter(l -> ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); + Double zl2 = entry2.getValue().stream().filter(l -> ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); + //降序排序 + return zl2.compareTo(zl1); + }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new)); + return collect; + } + return null; + } + + public List> getVersion(String nf){ + if (nf==null){ + return null; + } + File[] files = FileUtil.ls(xbjhPath); + List> versions = new ArrayList<>(); + for (File file : files) { + String name = FileUtil.getPrefix(file.getName()); + String[] s = name.split("_"); + if (nf.equals(s[0])){ + HashMap map = new HashMap<>(); + map.put("fileName", file.getName()); + map.put("version", s[1]); + versions.add(map); + } + } + return versions; + } + + public JSONObject readFile(File file){ + return ExcelUtil.readDmXbjh(file); + } @Override @Transactional diff --git a/src/main/java/com/dsic/gj_erp/util/ExcelUtil.java b/src/main/java/com/dsic/gj_erp/util/ExcelUtil.java index 2daccf4..5d69893 100644 --- a/src/main/java/com/dsic/gj_erp/util/ExcelUtil.java +++ b/src/main/java/com/dsic/gj_erp/util/ExcelUtil.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.util; +import cn.hutool.core.io.FileUtil; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; @@ -9,6 +10,7 @@ import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; @@ -187,49 +189,66 @@ public class ExcelUtil { public static JSONObject readDmXbjh(MultipartFile file) { try { Workbook workbook=isWorkBook(file); - // 获取第一张表 - Sheet sheet = workbook.getSheetAt(0); - Row monthRow=sheet.getRow(2); - Map monthMap=new HashMap<>(); - for (int index = 0; index < monthRow.getPhysicalNumberOfCells(); index++){ - Cell cell = monthRow.getCell(index); - // 转换为字符串类型 - cell.setCellType(CellType.STRING); - monthMap.put(index,cell.toString()); + return read(workbook); + } catch (IOException e) { + throw new RuntimeException(e); + } + + } + + public static JSONObject readDmXbjh(File file) { + try { + Workbook workbook=isWorkBook(file); + return read(workbook); + } catch (Exception e) { + return null; + } + } + + private static JSONObject read(Workbook workbook){ + // 获取第一张表 + Sheet sheet = workbook.getSheetAt(0); + Row monthRow=sheet.getRow(2); + Map monthMap=new HashMap<>(); + for (int index = 0; index < monthRow.getPhysicalNumberOfCells(); index++){ + Cell cell = monthRow.getCell(index); + // 转换为字符串类型 + cell.setCellType(CellType.STRING); + monthMap.put(index,cell.toString()); + } + // String year=""; + // List> mapList=new ArrayList<>(); + // List dmXbjhs=new ArrayList<>(); + JSONObject jsonObject=new JSONObject(); + for (int i = 3; i < sheet.getPhysicalNumberOfRows(); i++) { + Row row = sheet.getRow(i); + String dcch=row.getCell(0).toString(); + if (dcch.contains("待接")||dcch.contains("已接")||dcch.contains("合计")){ + break; } - // String year=""; - // List> mapList=new ArrayList<>(); - // List dmXbjhs=new ArrayList<>(); - JSONObject jsonObject=new JSONObject(); - for (int i = 3; i < sheet.getPhysicalNumberOfRows(); i++) { - Row row = sheet.getRow(i); - String dcch=row.getCell(0).toString(); - if (dcch.contains("待接")||dcch.contains("已接")||dcch.contains("合计")){ - break; - } // Map map=new HashMap<>(); // map.put("dcCh",dcch); - List mapList=new ArrayList<>(); - for (int index = 1; index < row.getPhysicalNumberOfCells(); index++) { - Cell cell = row.getCell(index); - cell.setCellType(CellType.STRING); + List mapList=new ArrayList<>(); + for (int index = 1; index < row.getPhysicalNumberOfCells(); index++) { + Cell cell = row.getCell(index); + cell.setCellType(CellType.STRING); - String month=monthMap.get(index); - if (month.contains("计")){ - continue; - } - String cl=cell+""; - String year=getMergedRegionValue(sheet,1,index).toString(); - // DmXbjh dmXbjh=new DmXbjh(); - Map map=new HashMap(); - map.put("zt","0"); - map.put("nf",year.replace("年","")); - map.put("yf",String.format("%02d", Integer.parseInt(month.replace("月","")))); - if (StringUtils.isNotEmpty(cl)){ - map.put("zl",Double.parseDouble(cl)); - }else { - map.put("zl",0.0); - } + String month=monthMap.get(index); + if (month.contains("计")){ + continue; + } + String cl=cell+""; + String year=getMergedRegionValue(sheet,1,index).toString(); + // DmXbjh dmXbjh=new DmXbjh(); + Map map=new HashMap(); + map.put("zt","0"); + map.put("nf",year.replace("年","")); + map.put("yf",String.format("%02d", Integer.parseInt(month.replace("月","")))); + if (StringUtils.isNotEmpty(cl)){ + map.put("zl",Double.parseDouble(cl)); + }else { + map.put("zl",0.0); + } // dmXbjh.setZt("0"); // dmXbjh.setNf(year.replace("年","")); // dmXbjh.setYf(String.format("%02d", Integer.parseInt(month.replace("月","")))); @@ -241,20 +260,14 @@ public class ExcelUtil { // dmXbjh.setDcCh(dcch); - // dmXbjhs.add(dmXbjh); - mapList.add(map); + // dmXbjhs.add(dmXbjh); + mapList.add(map); // map.put("cl"+year.replace("年","")+String.format("%02d", Integer.parseInt(month.replace("月",""))),cl); - } -// mapList.add(map); - jsonObject.put(dcch,mapList); } - return jsonObject; -// return mapList; - // return dmXbjhs; - } catch (Exception e) { - e.printStackTrace(); - return null; +// mapList.add(map); + jsonObject.put(dcch,mapList); } + return jsonObject; } public static String date(String strDate){ @@ -300,6 +313,20 @@ public class ExcelUtil { } return workbook; } + + public static Workbook isWorkBook(File file) throws IOException { + Workbook workbook;// = new XSSFWorkbook(inputStream); + // 截取路径名 . 后面的后缀名,判断是xls还是xlsx + // 如果这个判断不对,就把equals换成 equalsIgnoreCase() + Pattern pattern = Pattern.compile(".*\\.xls"); + Matcher matcher = pattern.matcher(FileUtil.getSuffix(file.getName())); + if (matcher.matches()){ + workbook = new HSSFWorkbook(FileUtil.getInputStream(file)); + }else{ + workbook = new XSSFWorkbook(FileUtil.getInputStream(file)); + } + return workbook; + } /** * 获取合并单元格的值 * @param sheet From b3db79464f6ed14fa69de5a4f5f099c8d7fd26c9 Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 25 Oct 2024 08:49:21 +0800 Subject: [PATCH 082/196] =?UTF-8?q?=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 9 + .../controller/pgd/PgdSljhController.java | 250 +++++++++++++++++- .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 2 + .../resources/mappers/jhgk/DmYdjhMapper.xml | 17 ++ 4 files changed, 277 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index b1e9139..4ffd899 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -265,12 +265,21 @@ public class DmYdjh implements Serializable { private String slxzxqrq; // 小组需求期 private String sldzxqrq; // 大组需求期 + + private String ckbzrq; + private String ckbzry; + private String bmbzrq; + private String bmbzry; + private String bmxgry; + private String bmxgrq; + // 上料信息 private String slkcdw; // 库存垛位 private String slcs; // 层数 private String slxhth; // 小合同号 private String slhth; // 合同号 private String slwlh; // 物料号 + private String kcch; // 物料号 private String slkcxx; // 所有库存信息 private Integer slycldw; // 预处理垛位 private Integer slyclcs; // 预处理垛位 diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 7c3e1ec..693f173 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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.fd.DmCzjbb; @@ -19,6 +20,8 @@ import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.bean.sy.Dm_zhbmp; import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.exception.ServiceException; +import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; import com.dsic.gj_erp.mapper.kc.ImCkwpkwpMapper; import com.dsic.gj_erp.service.fd.DmCzjbbService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; @@ -35,6 +38,8 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -56,6 +61,9 @@ public class PgdSljhController { @Autowired DmYdjhService dmYdjhService; + @Autowired + DmYdjhMapper dmYdjhMapper; + @Autowired ImCkwpkwpMapper imCkwpkwpMapper; @@ -268,7 +276,9 @@ public class PgdSljhController { } String cjs1=cjs; DmYdjh dmYdjh = ydjhs.stream() - .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) &&StringUtils.isNotBlank(fst.getWpgg())&& StringUtils.isNotBlank(fst.getWpxh()) + .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) + &&StringUtils.isNotBlank(fst.getWpgg()) + && StringUtils.isNotBlank(fst.getWpxh()) && fst.getWpgg().equalsIgnoreCase(slKc.getWPGG()) && (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH()) || (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH())) @@ -320,6 +330,153 @@ public class PgdSljhController { return new ResultBean(retrunMap); } + /** + * + * @param req + * 需求船号 需求批量 流向 抛丸位置 切割跨位(根据 合同号生成) 备注 + * 根据 需求船号 需求批量 去 dm_ydjh 表中 查询 反写 库存垛位 上料层数,小合同号,合同号,物料号 + * 库存表 增加 dm_ydjh 表 id (dm_ydjh 中 有数据 ) + * @return + * @throws Exception + * @throws CustomException + */ + @PostMapping("kcAdnSlBd1") + @ResponseBody + public ResultBean kcAdnSlBd1(HttpServletRequest req, @RequestBody List slKcs) throws Exception, CustomException { + + + + List czList = dmCbxxpService.list(); + ListydupList=new ArrayList<>(); + ListydadList=new ArrayList<>(); + ListckupList=new ArrayList<>(); + // 进行比对 + for(SlKc slKc :slKcs){ + // 获取船级社 + String cjs=""; + DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null); + + if(null!=dmCzjbb){ + cjs=dmCzjbb.getCjs(); + } + String cjs1=cjs; + // 根据需求批量 船号 去 查询 + List ydjhs = dmYdjhService.list(new QueryWrapper().eq("dc_ch", slKc.getZYCH() ).eq("isnull(ZT,'')","2") + .eq("dc_pl",slKc.getZYPL()) + ); + DmYdjh dmYdjh = ydjhs.stream() + .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getZYCH()) + &&StringUtils.isNotBlank(fst.getWpgg()) + && StringUtils.isNotBlank(fst.getWpxh()) + && fst.getWpgg().equalsIgnoreCase(slKc.getWPGG()) + && (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH()) + || (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH())) + && fst.getDcPl().equalsIgnoreCase(slKc.getZYPL()) + ) + .findFirst() + .orElse(null); + + if(null!=dmYdjh){ + System.out.println("slKc = " + slKc); + + System.out.println(slKc.getCFCS1()+dmYdjh.getId()); + dmYdjh.setSlkcdw(slKc.getKWH()); + dmYdjh.setSlcs(slKc.getCFCS1()); + dmYdjh.setSlxhth(slKc.getGCDDH()); + dmYdjh.setSlhth(slKc.getDcFd()); + dmYdjh.setSlwlh(slKc.getWPH()); + dmYdjh.setKcch(slKc.getDCCH()); + ydupList.add(dmYdjh); + + + slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); + slKc.setSLDW(dmYdjh.getKw()); + slKc.setDHH(dmYdjh.getSljhrq()); + //slKc.setPwwz(dmYdjh.getKw()); + slKc.setYdid(dmYdjh.getId()); + slKc.setDCTH(dmYdjh.getTzbh()); + ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 + ckupList.add(slKc); + }else{ + // 等于nul应该就是没有 + // 新增月度计划 + // 根据 月度计划新增一条信息。 + // 获取 + DmYdjh ydjhMin = dmYdjhMapper.getYdjhMin(slKc.getZYCH(), slKc.getZYPL()); + if(null!=ydjhMin){ + DmYdjh ydjh =new DmYdjh(); + ydjh.setId(IdWorker.get32UUID()); + ydjh.setDcCh(slKc.getZYCH()); + ydjh.setDcPl(slKc.getZYPL()); + ydjh.setWpgg(slKc.getWPGG()); + ydjh.setWpxh(slKc.getWPXH()); + ydjh.setSlrq(ydjhMin.getSlrq()); + ydjh.setPwrq(ydjhMin.getPwrq()); + ydjh.setHxrq(ydjhMin.getHxrq()); + ydjh.setQgrq(ydjhMin.getQgrq()); + ydjh.setDmrq(ydjhMin.getDmrq()); + ydjh.setQjgrq(ydjhMin.getQgjhrq()); + ydjh.setJssj(ydjhMin.getJssj()); + ydjh.setSljhrq(ydjhMin.getSljhrq()); + ydjh.setPwjhrq(ydjhMin.getPwjhrq()); + ydjh.setLljhrq(ydjhMin.getLljhrq()); + ydjh.setHxjhrq(ydjhMin.getHxjhrq()); + ydjh.setQgjhrq(ydjhMin.getQgjhrq()); + ydjh.setKw(extractNumber(slKc.getDcFd())); + ydjh.setCkbzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); + ydjh.setCkbzry((String) req.getAttribute("yhms")); + + //------ + ydjh.setSlkcdw(slKc.getKWH()); + ydjh.setSlcs(slKc.getCFCS1()); + ydjh.setSlxhth(slKc.getGCDDH()); + ydjh.setSlhth(slKc.getDcFd()); + ydjh.setSlwlh(slKc.getWPH()); + ydjh.setKcch(slKc.getDCCH()); + slKc.setYdid(ydjh.getId()); + //ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 + ckupList.add(slKc); + + ydadList.add(ydjh); + //----- + }else{ + throw new ServiceException(10001,slKc.getZYCH()+"船只"+slKc.getZYPL()+"未进行排产"); + } + + } + + + } + dmYdjhService.updateBatchById(ydupList); + dmYdjhService.saveBatch(ydadList); + for(SlKc slKc :slKcs){ + ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); + imCkwpkwp.setCkh(slKc.getCKH()); + imCkwpkwp.setWph(slKc.getWPH()); + imCkwpkwp.setKwh(slKc.getKWH()); + imCkwpkwp.setNbsbm(slKc.getNBSBM()); + imCkwpkwp.setYdid(slKc.getYdid()); + imCkwpkwp.setZych(slKc.getZYCH()); + imCkwpkwp.setZypl(slKc.getZYPL()); + imCkwpkwp.setZylx(slKc.getZYLX()); + imCkwpkwp.setSldw(slKc.getSLDW()); + imCkwpkwp.setPwwz(slKc.getPwwz()); + imCkwpkwp.setBz(slKc.getBZ()); + imCkwpkwp.setDhh(slKc.getDHH()); + imCkwpkwp.setDcTh(slKc.getDCTH()); + imCkwpkwp.setYdid(slKc.getYdid()); + imCkwpkwpService.updateByMultiId(imCkwpkwp); + } + return new ResultBean(); + } + public String extractNumber(String str) { + Pattern pattern = Pattern.compile("-(\\d+)"); + Matcher matcher = pattern.matcher(str); + if (matcher.find()) { + return matcher.group(1); + } + return ""; + } @PostMapping("kcAdnSlZx") @ResponseBody public ResultBean kcAdnSlZx(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { @@ -331,6 +488,7 @@ public class PgdSljhController { ListydupList=new ArrayList<>(); + ListckupList=new ArrayList<>(); //String id = syService.f_getpjh("DM", "SYSTEM", "YLBH"); for(SlKc slKc :slKcs){ @@ -473,5 +631,95 @@ public class PgdSljhController { } return ""; } + + @PostMapping("kcAdnSlBd2") + @ResponseBody + public ResultBean kcAdnSlBd2(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + + String str= JSON.toJSONString(map.get("data1")); + List slKcs= JSONObject.parseArray(str, SlKc.class); + + + QueryWrapper qw =new QueryWrapper<>(); + qw.eq(StrUtil.isNotEmpty((String)map.get("dcch")),"dc_ch",(String)map.get("dcch")); + qw.eq(StrUtil.isNotEmpty((String)map.get("dcpl")),"dc_pl",(String)map.get("dcpl")); + qw.eq("isnull(ZT,'')","2").eq("isnull(slkcdw,'')",""); + List ydjhs = dmYdjhService.list(qw); + //库存标识 不等于 01 没有匹配上 + + + + + + + + List czList = dmCbxxpService.list(); + ListydupList=new ArrayList<>(); + ListckupList=new ArrayList<>(); + // 进行比对 + for(SlKc slKc :slKcs){ + // 获取船级社 + String cjs=""; + DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null); + + if(null!=dmCzjbb){ + cjs=dmCzjbb.getCjs(); + } + String cjs1=cjs; + DmYdjh dmYdjh = ydjhs.stream() + .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) + &&StringUtils.isNotBlank(fst.getWpgg()) + && StringUtils.isNotBlank(fst.getWpxh()) + && fst.getWpgg().equalsIgnoreCase(slKc.getWPGG()) + && (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH()) + || (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH())) + ) + .findFirst() + .orElse(null); + + if(null!=dmYdjh){ + System.out.println("slKc = " + slKc); + dmYdjh.setSlkcdw(slKc.getKWH()); + System.out.println(slKc.getCFCS1()+dmYdjh.getId()); + dmYdjh.setSlcs(slKc.getCFCS1()); + dmYdjh.setSlxhth(slKc.getGCDDH()); + dmYdjh.setSlhth(slKc.getDcFd()); + dmYdjh.setSlwlh(slKc.getWPH()); + dmYdjh.setSlycldw((Integer) map.get("dw")); + + +// ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); +// imCkwpkwp.setCkh(slKc.getCKH()); +// imCkwpkwp.setWph(slKc.getWPH()); +// imCkwpkwp.setKwh(slKc.getKWH()); +// imCkwpkwp.setNbsbm(slKc.getNBSBM()); +// imCkwpkwp.setYdid(dmYdjh.getId()); +// imCkwpkwp.setZych(dmYdjh.getDcCh()); +// imCkwpkwp.setZypl(dmYdjh.getDcPl()); +// imCkwpkwp.setZylx(dmYdjh.getZl()); +// imCkwpkwp.setSldw(dmYdjh.getKw()); + ydupList.add(dmYdjh); + // ckupList.add(imCkwpkwp); + + slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); + slKc.setZYCH(dmYdjh.getDcCh()); + slKc.setZYPL(dmYdjh.getDcPl()); + slKc.setDCTH(dmYdjh.getTzbh()); + // slKc.setZYLX(dmYdjh.getZl()); + slKc.setSLDW(dmYdjh.getKw()); + slKc.setDHH(dmYdjh.getSljhrq()); + //slKc.setPwwz(dmYdjh.getKw()); + slKc.setYdid(dmYdjh.getId()); + ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 + ckupList.add(slKc); + } + // 填写 库存垛位 kwh 层数 cfcs1 小合同号 gcddh 合同工 dc_fd 物料号 wph 炉批号 lph + + } + Map retrunMap =new HashMap(); + retrunMap.put("slkcs",ckupList); + // retrunMap.put("ydjhs",ydupList); + return new ResultBean(retrunMap); + } } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 916e7e8..336c659 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -49,4 +49,6 @@ public interface DmYdjhMapper extends BaseMapper { List> gxjhwcqk(String from,String to); List> gcjd(List czbh); + + DmYdjh getYdjhMin(@Param("dcch") String dcch, @Param("dcpl") String dcpl); } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index c13870b..a6b0773 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -822,4 +822,21 @@ #{item} + + From 900d58c49b70adb6e8238f1c3e950cdcff92e750 Mon Sep 17 00:00:00 2001 From: xhj Date: Mon, 28 Oct 2024 11:12:04 +0800 Subject: [PATCH 083/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jcsj/DmBchxjbp.java | 2 +- .../controller/pgd/PgdSljhController.java | 265 ++++++++++++------ 2 files changed, 174 insertions(+), 93 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBchxjbp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBchxjbp.java index c036902..bb638c7 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBchxjbp.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBchxjbp.java @@ -65,7 +65,7 @@ public class DmBchxjbp implements Serializable { @TableField("GCBH") private String gcbh; - @TableField("HXCD") + @TableField("HXCD") // 划线程度 private BigDecimal hxcd; @TableField("TXBL") diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index ecfcb04..5276a36 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -339,17 +339,32 @@ public class PgdSljhController { @PostMapping("kcAdnSlBd1") @ResponseBody public ResultBean kcAdnSlBd1(HttpServletRequest req, @RequestBody List slKcs) throws Exception, CustomException { + // 核对 没问题 有 yd id 说明核对 成功进行反写 + List ups = new ArrayList<>(); + List ups1 = new ArrayList<>(); + List czList = dmCbxxpService.list(); - - List czList = dmCbxxpService.list(); - ListydupList=new ArrayList<>(); - ListydadList=new ArrayList<>(); - ListckupList=new ArrayList<>(); - // 进行比对 for(SlKc slKc :slKcs){ - // 获取船级社 - String cjs=""; + ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); + imCkwpkwp.setCkh(slKc.getCKH()); + imCkwpkwp.setWph(slKc.getWPH()); + imCkwpkwp.setKwh(slKc.getKWH()); + imCkwpkwp.setNbsbm(slKc.getNBSBM()); + imCkwpkwp.setYdid(slKc.getYdid()); + imCkwpkwp.setZych(slKc.getZYCH()); + imCkwpkwp.setZypl(slKc.getZYPL()); + imCkwpkwp.setZylx(slKc.getZYLX()); + imCkwpkwp.setSldw(slKc.getSLDW()); + imCkwpkwp.setPwwz(slKc.getPwwz()); + imCkwpkwp.setBz(slKc.getBZ()); + imCkwpkwp.setDhh(slKc.getDHH()); + imCkwpkwp.setDcTh(slKc.getDCTH()); + imCkwpkwp.setYdid(slKc.getYdid()); + + if(StringUtils.isBlank(slKc.getYdid())){ + // 手工进行 批量了 + String cjs=""; DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null); if(null!=dmCzjbb){ @@ -360,7 +375,7 @@ public class PgdSljhController { List ydjhs = dmYdjhService.list(new QueryWrapper().eq("dc_ch", slKc.getZYCH() ).eq("isnull(ZT,'')","2") .eq("dc_pl",slKc.getZYPL()) ); - DmYdjh dmYdjh = ydjhs.stream() + DmYdjh dmYdjh = ydjhs.stream() .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getZYCH()) &&StringUtils.isNotBlank(fst.getWpgg()) && StringUtils.isNotBlank(fst.getWpxh()) @@ -371,100 +386,166 @@ public class PgdSljhController { ) .findFirst() .orElse(null); + if(null!=dmYdjh){ + dmYdjh.setSlkcdw(slKc.getKWH()); + dmYdjh.setSlcs(slKc.getCFCS1()); + dmYdjh.setSlxhth(slKc.getGCDDH()); + dmYdjh.setSlhth(slKc.getDcFd()); + dmYdjh.setSlwlh(slKc.getWPH()); + dmYdjh.setKcch(slKc.getDCCH()); + imCkwpkwp.setZylx(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); + imCkwpkwp.setSldw(dmYdjh.getKw()); + imCkwpkwp.setDhh(dmYdjh.getSljhrq()); + //slKc.setPwwz(dmYdjh.getKw()); + imCkwpkwp.setYdid(dmYdjh.getId()); + imCkwpkwp.setDcTh(dmYdjh.getTzbh()); + ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 + ups.add(dmYdjh); + } - if(null!=dmYdjh){ - System.out.println("slKc = " + slKc); - - System.out.println(slKc.getCFCS1()+dmYdjh.getId()); + }else{ + DmYdjh dmYdjh =new DmYdjh(); dmYdjh.setSlkcdw(slKc.getKWH()); dmYdjh.setSlcs(slKc.getCFCS1()); dmYdjh.setSlxhth(slKc.getGCDDH()); dmYdjh.setSlhth(slKc.getDcFd()); dmYdjh.setSlwlh(slKc.getWPH()); dmYdjh.setKcch(slKc.getDCCH()); - ydupList.add(dmYdjh); - - - slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); - slKc.setSLDW(dmYdjh.getKw()); - slKc.setDHH(dmYdjh.getSljhrq()); - //slKc.setPwwz(dmYdjh.getKw()); - slKc.setYdid(dmYdjh.getId()); - slKc.setDCTH(dmYdjh.getTzbh()); - ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 - ckupList.add(slKc); - }else{ - // 等于nul应该就是没有 - // 新增月度计划 - // 根据 月度计划新增一条信息。 - // 获取 - DmYdjh ydjhMin = dmYdjhMapper.getYdjhMin(slKc.getZYCH(), slKc.getZYPL()); - if(null!=ydjhMin){ - DmYdjh ydjh =new DmYdjh(); - ydjh.setId(IdWorker.get32UUID()); - ydjh.setDcCh(slKc.getZYCH()); - ydjh.setDcPl(slKc.getZYPL()); - ydjh.setWpgg(slKc.getWPGG()); - ydjh.setWpxh(slKc.getWPXH()); - ydjh.setSlrq(ydjhMin.getSlrq()); - ydjh.setPwrq(ydjhMin.getPwrq()); - ydjh.setHxrq(ydjhMin.getHxrq()); - ydjh.setQgrq(ydjhMin.getQgrq()); - ydjh.setDmrq(ydjhMin.getDmrq()); - ydjh.setQjgrq(ydjhMin.getQgjhrq()); - ydjh.setJssj(ydjhMin.getJssj()); - ydjh.setSljhrq(ydjhMin.getSljhrq()); - ydjh.setPwjhrq(ydjhMin.getPwjhrq()); - ydjh.setLljhrq(ydjhMin.getLljhrq()); - ydjh.setHxjhrq(ydjhMin.getHxjhrq()); - ydjh.setQgjhrq(ydjhMin.getQgjhrq()); - ydjh.setKw(extractNumber(slKc.getDcFd())); - ydjh.setCkbzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); - ydjh.setCkbzry((String) req.getAttribute("yhms")); - - //------ - ydjh.setSlkcdw(slKc.getKWH()); - ydjh.setSlcs(slKc.getCFCS1()); - ydjh.setSlxhth(slKc.getGCDDH()); - ydjh.setSlhth(slKc.getDcFd()); - ydjh.setSlwlh(slKc.getWPH()); - ydjh.setKcch(slKc.getDCCH()); - slKc.setYdid(ydjh.getId()); - //ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 - ckupList.add(slKc); - - ydadList.add(ydjh); - //----- - }else{ - throw new ServiceException(10001,slKc.getZYCH()+"船只"+slKc.getZYPL()+"未进行排产"); - } - + dmYdjh.setId(slKc.getYdid()); + ups.add(dmYdjh); } - - - } - dmYdjhService.updateBatchById(ydupList); - dmYdjhService.saveBatch(ydadList); - for(SlKc slKc :slKcs){ - ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); - imCkwpkwp.setCkh(slKc.getCKH()); - imCkwpkwp.setWph(slKc.getWPH()); - imCkwpkwp.setKwh(slKc.getKWH()); - imCkwpkwp.setNbsbm(slKc.getNBSBM()); - imCkwpkwp.setYdid(slKc.getYdid()); - imCkwpkwp.setZych(slKc.getZYCH()); - imCkwpkwp.setZypl(slKc.getZYPL()); - imCkwpkwp.setZylx(slKc.getZYLX()); - imCkwpkwp.setSldw(slKc.getSLDW()); - imCkwpkwp.setPwwz(slKc.getPwwz()); - imCkwpkwp.setBz(slKc.getBZ()); - imCkwpkwp.setDhh(slKc.getDHH()); - imCkwpkwp.setDcTh(slKc.getDCTH()); - imCkwpkwp.setYdid(slKc.getYdid()); - imCkwpkwpService.updateByMultiId(imCkwpkwp); + ups1.add(imCkwpkwp); } + + dmYdjhService.updateBatchById(ups); + imCkwpkwpService.updateBatchByMultiId(ups1); + +// List czList = dmCbxxpService.list(); +// ListydupList=new ArrayList<>(); +// ListydadList=new ArrayList<>(); +// ListckupList=new ArrayList<>(); +// // 进行比对 +// for(SlKc slKc :slKcs){ +// // 获取船级社 +// String cjs=""; +// DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null); +// +// if(null!=dmCzjbb){ +// cjs=dmCzjbb.getCjs(); +// } +// String cjs1=cjs; +// // 根据需求批量 船号 去 查询 +// List ydjhs = dmYdjhService.list(new QueryWrapper().eq("dc_ch", slKc.getZYCH() ).eq("isnull(ZT,'')","2") +// .eq("dc_pl",slKc.getZYPL()) +// ); +// DmYdjh dmYdjh = ydjhs.stream() +// .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getZYCH()) +// &&StringUtils.isNotBlank(fst.getWpgg()) +// && StringUtils.isNotBlank(fst.getWpxh()) +// && fst.getWpgg().equalsIgnoreCase(slKc.getWPGG()) +// && (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH()) +// || (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH())) +// && fst.getDcPl().equalsIgnoreCase(slKc.getZYPL()) +// ) +// .findFirst() +// .orElse(null); +// +// if(null!=dmYdjh){ +// System.out.println("slKc = " + slKc); +// +// System.out.println(slKc.getCFCS1()+dmYdjh.getId()); +// dmYdjh.setSlkcdw(slKc.getKWH()); +// dmYdjh.setSlcs(slKc.getCFCS1()); +// dmYdjh.setSlxhth(slKc.getGCDDH()); +// dmYdjh.setSlhth(slKc.getDcFd()); +// dmYdjh.setSlwlh(slKc.getWPH()); +// dmYdjh.setKcch(slKc.getDCCH()); +// ydupList.add(dmYdjh); +// +// +// slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); +// slKc.setSLDW(dmYdjh.getKw()); +// slKc.setDHH(dmYdjh.getSljhrq()); +// //slKc.setPwwz(dmYdjh.getKw()); +// slKc.setYdid(dmYdjh.getId()); +// slKc.setDCTH(dmYdjh.getTzbh()); +// ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 +// ckupList.add(slKc); +// }else{ +// // 等于nul应该就是没有 +// // 新增月度计划 +// // 根据 月度计划新增一条信息。 +// // 获取 +// DmYdjh ydjhMin = dmYdjhMapper.getYdjhMin(slKc.getZYCH(), slKc.getZYPL()); +// if(null!=ydjhMin){ +// DmYdjh ydjh =new DmYdjh(); +// ydjh.setId(IdWorker.get32UUID()); +// ydjh.setDcCh(slKc.getZYCH()); +// ydjh.setDcPl(slKc.getZYPL()); +// ydjh.setLx("B"); +// ydjh.setWpgg(slKc.getWPGG()); +// ydjh.setWpxh(slKc.getWPXH()); +// ydjh.setSlrq(ydjhMin.getSlrq()); +// ydjh.setPwrq(ydjhMin.getPwrq()); +// ydjh.setHxrq(ydjhMin.getHxrq()); +// ydjh.setQgrq(ydjhMin.getQgrq()); +// ydjh.setDmrq(ydjhMin.getDmrq()); +// ydjh.setQjgrq(ydjhMin.getQgjhrq()); +// ydjh.setJssj(ydjhMin.getJssj()); +// ydjh.setSljhrq(ydjhMin.getSljhrq()); +// ydjh.setPwjhrq(ydjhMin.getPwjhrq()); +// ydjh.setLljhrq(ydjhMin.getLljhrq()); +// ydjh.setHxjhrq(ydjhMin.getHxjhrq()); +// ydjh.setQgjhrq(ydjhMin.getQgjhrq()); +// ydjh.setKw(extractNumber(slKc.getDcFd())); +// ydjh.setCkbzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); +// ydjh.setCkbzry((String) req.getAttribute("yhms")); +// +// //------ +// ydjh.setSlkcdw(slKc.getKWH()); +// ydjh.setSlcs(slKc.getCFCS1()); +// ydjh.setSlxhth(slKc.getGCDDH()); +// ydjh.setSlhth(slKc.getDcFd()); +// ydjh.setSlwlh(slKc.getWPH()); +// ydjh.setKcch(slKc.getDCCH()); +// slKc.setYdid(ydjh.getId()); +// //ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 +// ckupList.add(slKc); +// +// ydadList.add(ydjh); +// //----- +// }else{ +// throw new ServiceException(10001,slKc.getZYCH()+"船只"+slKc.getZYPL()+"未进行排产"); +// } +// +// } +// +// +// } +// dmYdjhService.updateBatchById(ydupList); +// dmYdjhService.saveBatch(ydadList); +// for(SlKc slKc :slKcs){ +// ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); +// imCkwpkwp.setCkh(slKc.getCKH()); +// imCkwpkwp.setWph(slKc.getWPH()); +// imCkwpkwp.setKwh(slKc.getKWH()); +// imCkwpkwp.setNbsbm(slKc.getNBSBM()); +// imCkwpkwp.setYdid(slKc.getYdid()); +// imCkwpkwp.setZych(slKc.getZYCH()); +// imCkwpkwp.setZypl(slKc.getZYPL()); +// imCkwpkwp.setZylx(slKc.getZYLX()); +// imCkwpkwp.setSldw(slKc.getSLDW()); +// imCkwpkwp.setPwwz(slKc.getPwwz()); +// imCkwpkwp.setBz(slKc.getBZ()); +// imCkwpkwp.setDhh(slKc.getDHH()); +// imCkwpkwp.setDcTh(slKc.getDCTH()); +// imCkwpkwp.setYdid(slKc.getYdid()); +// imCkwpkwpService.updateByMultiId(imCkwpkwp); +// } return new ResultBean(); } + + public String extractNumber(String str) { Pattern pattern = Pattern.compile("-(\\d+)"); Matcher matcher = pattern.matcher(str); From d76150bdd83f9730694c8b74dcf2af461ab0296d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 28 Oct 2024 11:20:20 +0800 Subject: [PATCH 084/196] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E4=B8=AD=E6=97=A5?= =?UTF-8?q?=E7=A8=8B=E6=8C=89=E7=85=A7=E5=AF=BC=E5=85=A5=E9=A1=BA=E5=BA=8F?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java | 6 ++++++ .../gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java | 2 +- .../dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java | 2 +- src/main/resources/application.properties | 4 ++-- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java index f6a8032..6efc216 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java @@ -140,6 +140,8 @@ public class DmZrcjh implements Serializable { @ApiModelProperty(value = "编制日期 yyyy/MM/dd") private String bzrq; + private int dataOrder; + public static DmZrcjh createByExcel(String dcCh, String fd, ZrcAndPlb item){ DmZrcjh dmZrcjh = new DmZrcjh(); dmZrcjh.setDcCh(dcCh); @@ -151,13 +153,17 @@ public class DmZrcjh implements Serializable { throw new ServiceException(10001,"吨位不是数字"); } dmZrcjh.setGjks(item.getGjks()); + dmZrcjh.setKssjDz(item.getGjks()); + dmZrcjh.setKssjXz(item.getGjks()); dmZrcjh.setGjjsDz(item.getGjjs()); dmZrcjh.setGjjsXz(item.getGjjs()); + dmZrcjh.setJssjXz(item.getGjjs()); dmZrcjh.setXfqTlt(item.getTlt()); dmZrcjh.setXfqLqb(item.getBclqb()); dmZrcjh.setXfqDhqd(item.getDhqd()); dmZrcjh.setBcdq(item.getGldq()); dmZrcjh.setZt("0"); + dmZrcjh.setDataOrder(item.getDataOrder()); return dmZrcjh; } } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java index 4b3d943..da7a62a 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmCzplpNewServiceImpl.java @@ -410,7 +410,7 @@ public class DmCzplpNewServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.eq(StrUtil.isNotEmpty((String) map.get("dcch")), "dc_ch", (String) map.get("dcch")); qw.eq(StrUtil.isNotEmpty((String) map.get("dcpl")), "dc_pl", (String) map.get("dcpl")); - qw.orderBy(true, true, "data_order"); + qw.orderBy(true, true, "CONVERT(date, gjks, 20),data_order"); if((Boolean) map.get("flag")){ List list= dmCbxxpService.list(new QueryWrapper() diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java index 2a1e753..6c373e5 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmZrcjhServiceImpl.java @@ -73,7 +73,7 @@ public class DmZrcjhServiceImpl extends ServiceImpl impl if (StringUtils.isNotEmpty(json.getString("dcCh"))) { queryWrapper.eq("DC_CH", json.getString("dcCh")); } - queryWrapper.orderByAsc("DC_CH,cast(DC_PL as int)"); + queryWrapper.orderByAsc("DC_CH,CONVERT(date, gjks, 20),data_order"); // queryWrapper.orderByAsc("DC_PL"); List dmZrcjhs = dmZrcjhMapper.selectList(queryWrapper); return dmZrcjhs; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8ad0969..db0265a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -22,8 +22,8 @@ spring.servlet.multipart.enabled = true server.port=8081 spring.datasource.master.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver -spring.datasource.master.url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP -spring.datasource.master.jdbc-url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP +spring.datasource.master.url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP_java +spring.datasource.master.jdbc-url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP_java spring.datasource.master.username=sa spring.datasource.master.password=gjerp spring.datasource.master.initialize=true From 9803a552ad6a07ddb30558dc3b536025ca6f0fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 28 Oct 2024 15:12:06 +0800 Subject: [PATCH 085/196] =?UTF-8?q?1.=E5=B7=A5=E5=8E=82=E6=97=A5=E5=8E=86?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=8F=AD=E6=AC=A1=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java | 2 +- .../gj_erp/controller/jcsj/EmGcrlController.java | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java index bb45952..4765d93 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java @@ -60,7 +60,7 @@ public class EmGcrl implements Serializable { @ApiModelProperty(value = "最近的工作日") private String gzr; - @ApiModelProperty(value = "排班:1:早;2:晚班;3:双班") + @ApiModelProperty(value = "排班:0:白班;1:二班;2:夜班;3:双班") private String pb; private Double bbgs=7.0; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java index 55aa61e..e55f881 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.controller.jcsj; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -39,11 +40,18 @@ public class EmGcrlController { List emGcrls=emGcrlService.list(new QueryWrapper().orderByAsc("gl")); Map> years= emGcrls.stream().collect(Collectors.groupingBy(EmGcrl::getNf)); List restDays= emGcrls.stream().filter(l->l.getXxr().equals("0")).map(EmGcrl::getGl).collect(Collectors.toList()); + //排班数据 + List eb=emGcrls.stream().filter(l->"1".equals(l.getPb())).map(EmGcrl::getGl).collect(Collectors.toList()); + List sb=emGcrls.stream().filter(l->"3".equals(l.getPb())).map(EmGcrl::getGl).collect(Collectors.toList()); + List yb=emGcrls.stream().filter(l->"2".equals(l.getPb())).map(EmGcrl::getGl).collect(Collectors.toList()); int nextYear=Integer.parseInt(emGcrls.get(emGcrls.size()-1).getNf())+1; Map map=new HashMap(); map.put("years",years.keySet()); map.put("restDays",restDays); map.put("nextYear",nextYear); + map.put("eb",eb); + map.put("yb",yb); + map.put("sb",sb); return new ResultBean(map); } @@ -51,7 +59,11 @@ public class EmGcrlController { @ApiOperation(value = "批量修改") @PostMapping(value = "/update") public ResultBean update(@RequestBody EmGcrl emGcrl) { - emGcrlService.update(new UpdateWrapper().set("xxr",emGcrl.getXxr()).eq("gl",emGcrl.getGl())); + emGcrlService.update(new UpdateWrapper() + .set(StrUtil.isNotEmpty(emGcrl.getXxr()),"xxr",emGcrl.getXxr()) + .set(StrUtil.isNotEmpty(emGcrl.getPb()),"pb",emGcrl.getPb()) + .eq("gl",emGcrl.getGl()) + ); return new ResultBean(); } From 028c03fd7379bf95e8ad37f04fec16b28269baea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 28 Oct 2024 17:24:02 +0800 Subject: [PATCH 086/196] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E8=AE=A2=E8=B4=A7?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E5=AF=BC=E5=85=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/ExcelMergedCellRead.java | 43 ++++++ .../com/dsic/gj_erp/bean/jhgk/DmDhqdp.java | 30 ++-- .../service/jhgk/impl/DmDhqdpServiceImpl.java | 141 +++++++++++++++--- src/main/resources/application.properties | 4 +- 4 files changed, 187 insertions(+), 31 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/ExcelMergedCellRead.java diff --git a/src/main/java/com/dsic/gj_erp/ExcelMergedCellRead.java b/src/main/java/com/dsic/gj_erp/ExcelMergedCellRead.java new file mode 100644 index 0000000..d161898 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/ExcelMergedCellRead.java @@ -0,0 +1,43 @@ +package com.dsic.gj_erp; + +import cn.hutool.core.util.StrUtil; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; + +import java.io.FileInputStream; +import java.io.IOException; +import java.util.List; + +public class ExcelMergedCellRead { + public static void main(String[] args) throws IOException { + String fileName="E:\\订货清单.xls"; + FileInputStream fileInputStream = new FileInputStream(fileName); + Workbook workbook = WorkbookFactory.create(fileInputStream); + Sheet sheet = workbook.getSheetAt(0); + + // 获取合并单元格的信息 + List mergedRegions = sheet.getMergedRegions(); + + for (int i = 0; i < mergedRegions.size(); i++) { + CellRangeAddress cellRangeAddress = mergedRegions.get(i); + // 获取合并单元格的起始行号、结束行号、起始列号、结束列号 + int firstRow = cellRangeAddress.getFirstRow(); + int lastRow = cellRangeAddress.getLastRow(); + int firstCol = cellRangeAddress.getFirstColumn(); + int lastCol = cellRangeAddress.getLastColumn(); + + // 获取合并单元格的值 + Row row = sheet.getRow(firstRow); + Cell cell = row.getCell(firstCol); + try { + String mergedCellValue = cell.getStringCellValue(); + + System.out.println(StrUtil.format("合并单元格的值: {},位于第{}个", mergedCellValue,i)); + }catch (Exception ignored){} + + } + + fileInputStream.close(); + } + +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java index 11c2c1d..8cb6630 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java @@ -10,6 +10,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; +import java.math.BigDecimal; /** *

@@ -42,40 +43,40 @@ public class DmDhqdp implements Serializable { private String wpxh; @ApiModelProperty(value = "厚度mm") - private Double thickness; + private BigDecimal thickness; @ApiModelProperty(value = "宽度mm") - private Double width; + private BigDecimal width; @ApiModelProperty(value = "长度mm") - private Double length; + private BigDecimal length; @ApiModelProperty(value = "重量吨/张") - private Double weight; + private BigDecimal weight; @ApiModelProperty(value = "设计数量张") - private Double sjsl; + private BigDecimal sjsl; @ApiModelProperty(value = "裕量张") - private Double yl; + private BigDecimal yl; @ApiModelProperty(value = "总数量张") - private Double zsl; + private BigDecimal zsl; @ApiModelProperty(value = "总重量吨") - private Double zzl; + private BigDecimal zzl; @ApiModelProperty(value = "利库数量张") - private Double lksl; + private BigDecimal lksl; @ApiModelProperty(value = "利库重量吨") - private Double lkzl; + private BigDecimal lkzl; @ApiModelProperty(value = "实订数量张") - private Double sdzs; + private BigDecimal sdzs; @ApiModelProperty(value = "实订重量吨") - private Double sdzl; + private BigDecimal sdzl; @ApiModelProperty(value = "备注") private String bz; @@ -88,5 +89,10 @@ public class DmDhqdp implements Serializable { @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; + private String plzlsl;//批量组立数量 + private String kdzlsl;//跨道组立数量 + private String ptybsl;//平铁用板数量 + @TableField(exist = false) + private String xh;//序号列用于去除合计行 } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java index c7dd34f..720adbe 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java @@ -2,6 +2,8 @@ package com.dsic.gj_erp.service.jhgk.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; import com.alibaba.fastjson.JSONObject; @@ -12,18 +14,23 @@ import com.dsic.gj_erp.mapper.jhgk.DmDhqdpMapper; import com.dsic.gj_erp.service.jhgk.DmDhqdpService; import com.google.common.collect.Maps; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** *

- * 服务实现类 + * 服务实现类 *

* * @author xn @@ -36,26 +43,124 @@ public class DmDhqdpServiceImpl extends ServiceImpl impl @Override public List getList(JSONObject json) { - QueryWrapper queryWrapper=new QueryWrapper<>(); - if(StringUtils.isNotEmpty(json.getString("dcCh"))){ - queryWrapper.eq("DC_CH",json.getString("dcCh")); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.isNotEmpty(json.getString("dcCh"))) { + queryWrapper.eq("DC_CH", json.getString("dcCh")); } - if(StringUtils.isNotEmpty(json.getString("Zt"))){ - queryWrapper.eq("ZT",json.getString("Zt")); + if (StringUtils.isNotEmpty(json.getString("Zt"))) { + queryWrapper.eq("ZT", json.getString("Zt")); } - List dmDhqdps=dmDhqdpMapper.selectList(queryWrapper); - return dmDhqdps; + queryWrapper.orderByAsc("wpxh"); + return dmDhqdpMapper.selectList(queryWrapper); } @Override + @Transactional public List save(List dmDhqdps) { saveBatch(dmDhqdps); return dmDhqdps; } @Override + @Transactional public List upload(MultipartFile file, HttpServletRequest req) throws IOException { - ExcelReader reader= ExcelUtil.getReader(file.getInputStream()); + Workbook workbook = WorkbookFactory.create(file.getInputStream()); + Sheet sheet = workbook.getSheetAt(0); + List mergedRegions = sheet.getMergedRegions(); + if (mergedRegions.size() > 74) { + String ddh = null; + String dcch = null; + String qc = null; + CellRangeAddress ddhAddr = mergedRegions.get(68); + if (ddhAddr != null) { + ddh = this.getMergedData(sheet, ddhAddr); + } + CellRangeAddress chAddr = mergedRegions.get(74); + if (chAddr != null) { + dcch = this.getMergedData(sheet, chAddr); + } + + CellRangeAddress qcAddr = mergedRegions.get(75); + if (qcAddr != null) { + qc = this.getMergedData(sheet, qcAddr); + qc=StrUtil.subBetween(qc, "(", ")"); + } + + if (StrUtil.isAllNotEmpty(dcch, ddh)) { + List list = new ArrayList<>(); + List dmDhqdps = this.readExcel(file, dcch, ddh, qc, 1, req); + List dmDhqdps1 = this.readExcel(file, dcch, ddh, qc, 2, req); + if (ObjUtil.isNotEmpty(dmDhqdps)) { + list.addAll(dmDhqdps); + } + if (ObjUtil.isNotEmpty(dmDhqdps1)) { + list.addAll(dmDhqdps1); + } + this.saveBatch(list.stream().filter(item->StrUtil.isNotEmpty(item.getDcCh())).collect(Collectors.toList())); + return list; + } + } + + return null; + } + + private String getMergedData(Sheet sheet, CellRangeAddress addr) { + int firstRow = addr.getFirstRow(); + int firstCol = addr.getFirstColumn(); + Row row = sheet.getRow(firstRow); + Cell cell = row.getCell(firstCol); + try { + return cell.getStringCellValue(); + } catch (Exception ignored) { + } + return null; + } + + @Transactional + public List readExcel(MultipartFile file, String dcch, String ddh, String qc, int sheet, HttpServletRequest req) throws IOException { + ExcelReader reader = ExcelUtil.getReader(file.getInputStream()); + Map alias = Maps.newLinkedHashMap(); + alias.put("序号\nNo.", "xh"); + alias.put("材质\nMATERIAL", "wpxh"); + alias.put("厚度\r\nTHICK.\nmm", "thickness"); + alias.put("宽度\r\nWIDTH\nmm", "width"); + alias.put("长度\r\nLENGTH\nmm", "length"); + alias.put("重量\r\n吨/张\nWEIGHT\nTON/PIECE\r", "weight"); + alias.put("设计数量\n张\nDESIGN\nPIECE", "sjsl"); + alias.put("裕量\n张\nMARGIN\nPIECE", "yl"); + alias.put("总数量\n张\nTOTAL\nPIECE", "zsl"); + alias.put("总重量\n吨\nTOTAL\nTON ", "zzl"); + alias.put("利库数量\n张\nSTORE\nPIECE", "lksl"); + alias.put("利库重量\n吨\nSTORE\nTON", "lkzl"); + alias.put("实订数量\n张\nORDER\nPIECE", "sdzs"); + alias.put("实订重量\n吨\nORDER\nTON", "sdzl"); + alias.put("备注\nNOTE", "bz"); + alias.put("批量组立数量", "plzlsl"); + alias.put("跨道组立数量", "kdzlsl"); + alias.put("平铁用板数量", "ptybsl"); + + reader.setHeaderAlias(alias); + reader.setSheet(sheet); + List dmDhqdps = reader.read(1, 2, DmDhqdp.class); + String day = DateUtil.format(DateUtil.date(), "yyyy/MM/dd"); + String user = (String) req.getAttribute("yhms"); + this.remove(new QueryWrapper().eq("Dc_ch", dcch) + .eq("qdh", ddh) + .eq("qc", qc)); + dmDhqdps.stream().filter(item->StrUtil.isNotEmpty(item.getXh())&&!item.getXh().contains("合计")) + .forEach(l -> { + l.setDcCh(dcch); + l.setQdh(ddh); + l.setQc(qc); + l.setDrr(user); + l.setDrrq(day); + }); + return dmDhqdps; + } + + @Transactional + public List upload1(MultipartFile file, HttpServletRequest req) throws IOException { + ExcelReader reader = ExcelUtil.getReader(file.getInputStream()); Map alias = Maps.newLinkedHashMap(); alias.put("船号", "dcCh"); alias.put("订货清单号", "qdh"); @@ -111,15 +216,15 @@ public class DmDhqdpServiceImpl extends ServiceImpl impl "TON", "sdzl"); alias.put("备注\n" + "NOTE", "bz"); - // alias.put("状态", "zt"); + // alias.put("状态", "zt"); reader.setHeaderAlias(alias); - List dmDhqdps= reader.readAll(DmDhqdp.class); + List dmDhqdps = reader.readAll(DmDhqdp.class); String day = DateUtil.format(DateUtil.date(), "yyyy/MM/dd"); String user = (String) req.getAttribute("yhms"); - dmDhqdps.forEach(l->{ - this.remove(new QueryWrapper().eq("Dc_ch",l.getDcCh()) - .eq("qdh",l.getQdh()) - .eq("qc",l.getQc())); + dmDhqdps.forEach(l -> { + this.remove(new QueryWrapper().eq("Dc_ch", l.getDcCh()) + .eq("qdh", l.getQdh()) + .eq("qc", l.getQc())); l.setDrr(user); l.setDrrq(day); }); @@ -127,6 +232,7 @@ public class DmDhqdpServiceImpl extends ServiceImpl impl } @Override + @Transactional public void sh(List dmDhqdps) { dmDhqdps.forEach(dmZrcjh -> { dmZrcjh.setZt("2"); @@ -135,10 +241,11 @@ public class DmDhqdpServiceImpl extends ServiceImpl impl } @Override + @Transactional public void tj(List dmXbjhs) { dmXbjhs.forEach(dmZrcjh -> { - String zt=dmZrcjh.getZt(); - String setZt=zt.equals("1")?"0":"1"; + String zt = dmZrcjh.getZt(); + String setZt = zt.equals("1") ? "0" : "1"; dmZrcjh.setZt(setZt); }); updateBatchById(dmXbjhs); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index db0265a..8ad0969 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -22,8 +22,8 @@ spring.servlet.multipart.enabled = true server.port=8081 spring.datasource.master.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver -spring.datasource.master.url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP_java -spring.datasource.master.jdbc-url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP_java +spring.datasource.master.url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP +spring.datasource.master.jdbc-url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP spring.datasource.master.username=sa spring.datasource.master.password=gjerp spring.datasource.master.initialize=true From f3d919cd7359d12b1ab831f06d129b32845d487f Mon Sep 17 00:00:00 2001 From: xhj Date: Tue, 29 Oct 2024 10:32:58 +0800 Subject: [PATCH 087/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pgd/PgdSljhController.java | 67 ++++++++++++++----- 1 file changed, 50 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 5276a36..832b005 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -547,12 +547,35 @@ public class PgdSljhController { public String extractNumber(String str) { - Pattern pattern = Pattern.compile("-(\\d+)"); - Matcher matcher = pattern.matcher(str); - if (matcher.find()) { - return matcher.group(1); + int hyphenIndex = str.indexOf('-'); + if (hyphenIndex != -1) { + String substring = str.substring(hyphenIndex + 1); + + if(substring.equals("2N")){ + return "11"; + } + if(substring.equals("2S")){ + return "5"; + } + + if(substring.equals("2")){ + return "9"; + } + if(substring.equals("3S")){ + return "6"; + } + if(substring.equals("3Q")){ + return "13"; + } + if(substring.equals("4")){ + return "15"; + } + if(substring.equals("7")){ + return "7-8"; + } + } - return ""; + return ""; // Return empty string if hyphen is not found } @PostMapping("kcAdnSlZx") @ResponseBody @@ -716,7 +739,7 @@ public class PgdSljhController { String str= JSON.toJSONString(map.get("data1")); List slKcs= JSONObject.parseArray(str, SlKc.class); - + boolean kwb= (boolean) map.get("flag"); QueryWrapper qw =new QueryWrapper<>(); qw.eq(StrUtil.isNotEmpty((String)map.get("dcch")),"dc_ch",(String)map.get("dcch")); qw.eq(StrUtil.isNotEmpty((String)map.get("dcpl")),"dc_pl",(String)map.get("dcpl")); @@ -742,6 +765,9 @@ public class PgdSljhController { if(null!=dmCzjbb){ cjs=dmCzjbb.getCjs(); } + if(StringUtils.isNotBlank(slKc.getZYCH())||StringUtils.isNotBlank(slKc.getZYPL()) ){ + continue; + } String cjs1=cjs; DmYdjh dmYdjh = ydjhs.stream() .filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) @@ -765,25 +791,32 @@ public class PgdSljhController { dmYdjh.setSlycldw((Integer) map.get("dw")); -// ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); -// imCkwpkwp.setCkh(slKc.getCKH()); -// imCkwpkwp.setWph(slKc.getWPH()); -// imCkwpkwp.setKwh(slKc.getKWH()); -// imCkwpkwp.setNbsbm(slKc.getNBSBM()); -// imCkwpkwp.setYdid(dmYdjh.getId()); -// imCkwpkwp.setZych(dmYdjh.getDcCh()); -// imCkwpkwp.setZypl(dmYdjh.getDcPl()); -// imCkwpkwp.setZylx(dmYdjh.getZl()); -// imCkwpkwp.setSldw(dmYdjh.getKw()); ydupList.add(dmYdjh); // ckupList.add(imCkwpkwp); + + slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); slKc.setZYCH(dmYdjh.getDcCh()); slKc.setZYPL(dmYdjh.getDcPl()); slKc.setDCTH(dmYdjh.getTzbh()); // slKc.setZYLX(dmYdjh.getZl()); - slKc.setSLDW(dmYdjh.getKw()); + if(kwb){ + + if(extractNumber(slKc.getDcFd()).equals("7-8")){ + if((extractNumber(slKc.getDcFd()).contains(dmYdjh.getKw()))){ + slKc.setSLDW(dmYdjh.getKw()); + } + }else { + if(dmYdjh.getKw().equals(extractNumber(slKc.getDcFd()))){ + slKc.setSLDW(dmYdjh.getKw()); + } + } + + }else{ + slKc.setSLDW(dmYdjh.getKw()); + } + slKc.setDHH(dmYdjh.getSljhrq()); //slKc.setPwwz(dmYdjh.getKw()); slKc.setYdid(dmYdjh.getId()); From e39ec925470d97cad27f23545ab2af5b8dfdb7bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 29 Oct 2024 11:16:37 +0800 Subject: [PATCH 088/196] =?UTF-8?q?1.=E4=BC=98=E5=8C=96=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=89=A7=E8=A1=8C,=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E7=90=86=E6=96=99=E9=97=B4=E5=9E=9B=E4=BD=8D=E5=8F=8A=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=86=85=E5=AE=B9=202.=E4=BF=AE=E6=94=B9pc=E7=AB=AF?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92=E6=89=A7=E8=A1=8C=E5=90=84?= =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E6=95=B0=E6=8D=AE=E6=9F=A5=E7=9C=8B=E9=80=BB?= =?UTF-8?q?=E8=BE=91,=E4=BB=A5=E4=B8=8A=E9=81=93=E5=BA=8F=E5=AE=8C?= =?UTF-8?q?=E5=B7=A5=E4=B8=BA=E4=BE=9D=E6=8D=AE=E4=B8=8B=E9=81=93=E5=BA=8F?= =?UTF-8?q?=E6=89=8D=E8=83=BD=E7=9C=8B=E5=88=B0=E5=8F=AF=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=203.=E4=BF=AE=E6=AD=A3=E4=B8=8A=E6=96=99?= =?UTF-8?q?=E7=90=86=E6=96=99=E5=AE=8C=E6=88=90=E5=90=8E=E5=9E=9B=E4=BD=8D?= =?UTF-8?q?=E6=9C=AA=E6=9B=B4=E6=96=B0=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 2 +- src/main/resources/mappers/zyjh/YcldwMapper.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 4ffd899..03d9e29 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -392,7 +392,7 @@ public class DmYdjh implements Serializable { //7预留其他工序 //坡口,曲面,打磨 - PK("81"), QM("82"),DM("83"), + PK("81"),PKFK("82"), QM("83"),QMFK("84"),DM("85"),DMFK("86"), WC("99")//完成 ; @Getter diff --git a/src/main/resources/mappers/zyjh/YcldwMapper.xml b/src/main/resources/mappers/zyjh/YcldwMapper.xml index 6996532..77cee38 100644 --- a/src/main/resources/mappers/zyjh/YcldwMapper.xml +++ b/src/main/resources/mappers/zyjh/YcldwMapper.xml @@ -42,6 +42,6 @@ a.type = #{type} - order by a.tzbh,ceng + order by a.id,ceng From e9eb11d3f19e65407804693ca3e938d7e48c5089 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 30 Oct 2024 17:59:36 +0800 Subject: [PATCH 089/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E6=9C=88=E5=BA=A6?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=AE=A1=E6=A0=B8=E7=94=9F=E6=88=90=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E8=AE=A1=E5=88=92=E6=97=B6=E7=8A=B6=E6=80=81=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98=202.=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E6=95=B0=E6=8D=AE=E6=98=BE=E7=A4=BA=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E9=97=AE=E9=A2=98=203.=E6=8E=92=E4=BA=A7=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmDhqdp.java | 22 +++ .../com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java | 3 + .../controller/jhgk/DmYdjhController.java | 128 +++++++------- .../java/com/dsic/gj_erp/pc/DataFactory.java | 64 +++++-- .../dsic/gj_erp/pc/dto/data/钢料需求.java | 2 +- .../dsic/gj_erp/pc/dto/套料图工序.java | 3 + .../gj_erp/pc/service/三月滚动接口.java | 34 ++-- .../service/jhgk/impl/DmDhqdpServiceImpl.java | 64 ++++++- .../jhgk/impl/DmSygdMxServiceImpl.java | 11 +- .../jhgk/impl/DmSygdxqServiceImpl.java | 163 +++++++++++++++++- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 6 +- .../resources/mappers/jhgk/DmSygdxqMapper.xml | 3 +- .../resources/mappers/jhgk/DmYdjhMapper.xml | 5 +- 13 files changed, 385 insertions(+), 123 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java index 8cb6630..a7e5a95 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java @@ -89,10 +89,32 @@ public class DmDhqdp implements Serializable { @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; + private TypeEnum type;//T型材,板材,型材 private String plzlsl;//批量组立数量 private String kdzlsl;//跨道组立数量 private String ptybsl;//平铁用板数量 + private String dhqdrq;//日期(订货清单) + private String rev;//版本 + private String revisor;//编制 + private String reviewed;//审核 + private String approved;//批准 @TableField(exist = false) private String xh;//序号列用于去除合计行 + + public void setTxc(){ + this.type=TypeEnum.TXC; + } + + public void setXc(){ + this.type=TypeEnum.XC; + } + + public void setBc(){ + this.type=TypeEnum.BC; + } + + private enum TypeEnum{ + TXC,XC,BC + } } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java index 6058de4..3bb5785 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java @@ -194,4 +194,7 @@ public class DmSygdMxLj implements Serializable { private String id; + public String getUniqueData(){ + return this.dcch+this.pl+this.tzbh; + } } 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 aff4b95..dd0d101 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 @@ -72,72 +72,72 @@ public class DmYdjhController { .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb") ); - Map> collect = list.stream().collect(Collectors.groupingBy(DmYdjh::getDcCh)); - List> resultMap=new ArrayList<>(); +// Map> collect = list.stream().collect(Collectors.groupingBy(DmYdjh::getDcCh)); +// List> resultMap=new ArrayList<>(); //验证数据获取方法,后续可以都在这里进行获取 - collect.forEach((key,val)->{ - List bcKcxx = kcService.getBcKcxx(key); - List czplpNewList = czplpNewService.list(Wrappers.lambdaQuery() - .eq(DmCzplpNew::getDcCh, key) - ); - - val.forEach(item->{ - Map itemMap = BeanUtil.beanToMap(item); - resultMap.add(itemMap); - bcKcxx.forEach(kc->{ - if (item.getDcCh().equals(kc.getDcCh()) - &&item.getDcFd().equals(kc.getDcPl()) - &&item.getTzbh().equals(kc.getDcTh())){ - itemMap.put("kc",kc); - } - }); - czplpNewList.forEach(czplpNew->{ - if (item.getDcCh().equals(czplpNew.getDcCh())&&item.getDcPl().equals(czplpNew.getDcPl())) { - /// 判断颜色 - itemMap.put("czplpNew", czplpNew); -// if (StringUtils.isBlank(czplpNew.getXfqLqb())|| StringUtils.isBlank(item.getSlrq())) { -// // corlor red -// itemMap.put("color", "red"); -// } else { -// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqLqb(), "yyyy/MM/dd"); -// DateTime dateStr2 = DateUtil.parse(item.getSlrq(), "yyyy/MM/dd"); -// int result = DateUtil.compare(dateStr1, dateStr2); -// if (result > 0) { -// System.out.println(dateStr1 + " is after " + dateStr2); -// itemMap.put("color", "red"); -// } else if (result < 0) { -// System.out.println(dateStr1 + " is before " + dateStr2); -// -// } else { -// System.out.println(dateStr1 + " is equal to " + dateStr2); -// itemMap.put("color", "yellow"); -// } -// } -// if (StringUtils.isBlank(czplpNew.getXfqTlt())||StringUtils.isBlank(item.getHxrq())) { -// // corlor yellow -// itemMap.put("color", "red"); -// } else { -// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqTlt(), "yyyy/MM/dd"); -// DateTime dateStr2 = DateUtil.parse(item.getHxrq(), "yyyy/MM/dd"); -// int result = DateUtil.compare(dateStr1, dateStr2); -// if (result > 0) { -// System.out.println(dateStr1 + " is after " + dateStr2); -// itemMap.put("color", "red"); -// } else if (result < 0) { -// System.out.println(dateStr1 + " is before " + dateStr2); +// collect.forEach((key,val)->{ +// List bcKcxx = kcService.getBcKcxx(key); +// List czplpNewList = czplpNewService.list(Wrappers.lambdaQuery() +// .eq(DmCzplpNew::getDcCh, key) +// ); // -// } else { -// System.out.println(dateStr1 + " is equal to " + dateStr2); -// itemMap.put("color", "yellow"); -// } -// } - }else { - // itemMap.put("color", "red"); - } - }); - }); - }); - return new ResultBean(resultMap); +// val.forEach(item->{ +// Map itemMap = BeanUtil.beanToMap(item); +// resultMap.add(itemMap); +// bcKcxx.forEach(kc->{ +// if (item.getDcCh().equals(kc.getDcCh()) +// &&item.getDcFd().equals(kc.getDcPl()) +// &&item.getTzbh().equals(kc.getDcTh())){ +// itemMap.put("kc",kc); +// } +// }); +// czplpNewList.forEach(czplpNew->{ +// if (item.getDcCh().equals(czplpNew.getDcCh())&&item.getDcPl().equals(czplpNew.getDcPl())) { +// /// 判断颜色 +// itemMap.put("czplpNew", czplpNew); +//// if (StringUtils.isBlank(czplpNew.getXfqLqb())|| StringUtils.isBlank(item.getSlrq())) { +//// // corlor red +//// itemMap.put("color", "red"); +//// } else { +//// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqLqb(), "yyyy/MM/dd"); +//// DateTime dateStr2 = DateUtil.parse(item.getSlrq(), "yyyy/MM/dd"); +//// int result = DateUtil.compare(dateStr1, dateStr2); +//// if (result > 0) { +//// System.out.println(dateStr1 + " is after " + dateStr2); +//// itemMap.put("color", "red"); +//// } else if (result < 0) { +//// System.out.println(dateStr1 + " is before " + dateStr2); +//// +//// } else { +//// System.out.println(dateStr1 + " is equal to " + dateStr2); +//// itemMap.put("color", "yellow"); +//// } +//// } +//// if (StringUtils.isBlank(czplpNew.getXfqTlt())||StringUtils.isBlank(item.getHxrq())) { +//// // corlor yellow +//// itemMap.put("color", "red"); +//// } else { +//// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqTlt(), "yyyy/MM/dd"); +//// DateTime dateStr2 = DateUtil.parse(item.getHxrq(), "yyyy/MM/dd"); +//// int result = DateUtil.compare(dateStr1, dateStr2); +//// if (result > 0) { +//// System.out.println(dateStr1 + " is after " + dateStr2); +//// itemMap.put("color", "red"); +//// } else if (result < 0) { +//// System.out.println(dateStr1 + " is before " + dateStr2); +//// +//// } else { +//// System.out.println(dateStr1 + " is equal to " + dateStr2); +//// itemMap.put("color", "yellow"); +//// } +//// } +// }else { +// // itemMap.put("color", "red"); +// } +// }); +// }); +// }); + return new ResultBean(list); } @RequestMapping("/hz") 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 45eb3ea..06c8eee 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -33,6 +33,8 @@ import com.dsic.gj_erp.service.jhgk.DmSygdxqService; import com.dsic.gj_erp.service.jhgk.DmZrcjhService; import com.google.common.collect.ImmutableMap; import com.google.common.util.concurrent.AtomicDouble; +import lombok.Getter; +import lombok.Setter; import lombok.extern.slf4j.Slf4j; import java.io.FileOutputStream; @@ -72,9 +74,10 @@ public class DataFactory { public static void 排产4(){ 装载中日程数据(); 套料图所占工序的资源.clear(); - Manager.排产结果=new ArrayList<>(); + 排产结果=new ArrayList<>(); List<钢料需求> list=读取钢料需求1(); +// list=list.stream().filter(item->"G175K-4".equals(item.getDcCh())&&"116".equals(item.getDcPl())).collect(Collectors.toList()); List<钢料需求> 按批次合并 = 合并批次(list); try { @@ -85,23 +88,27 @@ public class DataFactory { }finally { 清理冗余数据(list); } - } + private static final Map lastedData=new HashMap<>(); + public static void 均衡预占(List<钢料需求> list){ 工序CD接口 _工序CD接口 = getBean(工序CD接口.class); List<工序CD> 工序CDS = _工序CD接口.get(); Map 工序CDMap=new HashMap<>(); 工序CDS.forEach(item->工序CDMap.put(item.getGx(),item)); - + lastedData.clear(); for (钢料需求 item:list){ if (ObjUtil.isNotEmpty(item.getBomList())){ - 均衡计算(item,工序CDMap); + PcDto dto=均衡计算(item,工序CDMap); + if (dto!=null){ + lastedData.put(dto.getCh(),dto); + } } } } - private static void 均衡计算(钢料需求 item,Map 工序CDMap){ + private static PcDto 均衡计算(钢料需求 item,Map 工序CDMap){ Constant.工序 依据工序=Constant.工序.切割; //需求日期可利用范围是±3天 int times=-3; @@ -123,15 +130,22 @@ public class DataFactory { DateTime xzglxq = item.get均衡需求日期().offset(DateField.DAY_OF_YEAR,cd); if (xzglxq.isBefore(DateUtil.date())){ - //break; + //continue; } _资源 = 提取资源(xzglxq); + if (_资源.get_date().isBefore(DateUtil.date())){ - //break; + //continue; } //记录6次计算的全部资源 - tmpList.add(_资源); + PcDto dto=lastedData.get(item.getDcCh()); + if (times==-3){ + tmpList.add(_资源); + }else if (dto!=null&&dto.get_资源().get_date().isBefore(_资源.get_date())){ + tmpList.add(_资源); + } + if (_资源.判断切割设备是否可以被占用(切割各设备需求量)){ 执行排产(item.getBomList(),item.get均衡需求日期(),工序CDMap); break; @@ -142,23 +156,31 @@ public class DataFactory { }while (true); //若在需求期±3天内无法正常排产时,查找最大可用空闲资源进行占用 - AtomicReference date=new AtomicReference<>(); if (times>3){ + AtomicReference<资源> _tmp= new AtomicReference<>(); //查找最小可用资源,进行占用 tmpList.sort(Comparator.comparingDouble((tmp)->tmp.get工序产能MAP().get(Constant.工序.切割).get占用())); tmpList.stream().findFirst().ifPresent(tmp->{ - DateTime offset = DateUtil.parse(tmp.getDate()).offset(DateField.DAY_OF_MONTH, -工序CDMap.get(依据工序).getCd()); - 执行排产(item.getBomList(),offset,工序CDMap); - date.set(tmp.getDate()); + 执行排产(item.getBomList(),tmp.get_date(),工序CDMap); + _tmp.set(tmp); }); + _资源=_tmp.get(); } - if (_资源!=null){ - date.set(_资源.getDate()); - }else { - log.info("船号:{},批次:{},早于当前日期无需排产",item.getDcCh(),item.getDcPl()); - return; - } - log.info("船号:{},批次:{},占用资源成功,切割日期:{}",item.getDcCh(),item.getDcPl(),date.get()); + + log.info("船号:{},批次:{},占用资源成功,切割日期:{}",item.getDcCh(),item.getDcPl(),_资源.getDate()); + PcDto pcDto = new PcDto(); + pcDto.setCh(item.getDcCh()); + pcDto.setPl(item.getDcPl()); + pcDto.set_资源(_资源); + return pcDto; + } + + @Getter + @Setter + private static class PcDto{ + private String ch; + private String pl; + private 资源 _资源; } private static void 执行排产(List list,DateTime 参照需求日期,Map 工序CDMap){ @@ -166,6 +188,10 @@ public class DataFactory { for (Bom bom:list){ 套料图工序 _套料图工序 = 套料图工序工厂(bom); + if ("G175K-12".equals(bom.getDcch())&&"077".equals(bom.getPl())){ + System.out.println(参照需求日期); + } + if (_套料图工序==null){ latch.countDown(); log.info("船号:{},批次:{},图纸编号:{},无法找到对应套料图",bom.getDcch(),bom.getPl(),bom.getTzbh()); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/钢料需求.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/钢料需求.java index e87d1c6..edb8995 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/data/钢料需求.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/钢料需求.java @@ -84,7 +84,7 @@ public class 钢料需求 { if (this.均衡需求日期 ==null){ return DateUtil.parse(this.xzglxq,"yyyy/MM/dd"); } - return this.均衡需求日期; + return (DateTime) this.均衡需求日期.clone(); } } diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java index d24854a..3bdfb0d 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java @@ -188,6 +188,9 @@ public abstract class 套料图工序 implements 套料图工序接口 { Integer cd = 工序CD.get(_工序).getCd(); DateTime dateTime = DateUtil.offsetDay(this._需求日期, cd); 资源 _资源 = 提取资源(dateTime); + if ("G175K-12".equals(bom.getDcch())&&"077".equals(bom.getPl())&&_工序== Constant.工序.切割){ + System.out.println(_资源); + } try { if (_资源.占用资源(_工序,this.bom,需求数量)){ // this.bom.set所在资源(_资源); diff --git a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java index b20c400..7b152a9 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java @@ -2,6 +2,7 @@ package com.dsic.gj_erp.pc.service; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.bean.ResultBean; @@ -19,8 +20,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Slf4j @@ -47,8 +47,10 @@ public class 三月滚动接口 { return new ResultBean(false, 1, "请先导入" + begin + " ~ " + end + "分段钢料需求!"); } - //2.根据 - List mxList = ljList.stream().map(DmSygdMx::ofWithDmSygdMxlj).collect(Collectors.toList()); + List mxList = ljList.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) + ).stream().map(DmSygdMx::ofWithDmSygdMxlj).collect(Collectors.toList()); Map> collect = mxList.stream().collect(Collectors.groupingBy(item -> item.getDcCh() + item.getDcPl())); @@ -62,8 +64,10 @@ public class 三月滚动接口 { _工序产能.get设备().values().forEach(_设备->{ _设备.get资源占用图表().forEach(_bom->{ List dmSygdMxes = collect.get(_bom.getDcch() + _bom.getPl()); - for (DmSygdMx mx:dmSygdMxes){ - mx.更新排产信息(_工序产能.get工序(),_资源.getDate()); + if (ObjectUtil.isNotEmpty(dmSygdMxes)){ + for (DmSygdMx mx:dmSygdMxes){ + mx.更新排产信息(_工序产能.get工序(),_资源.getDate()); + } } }); }); @@ -72,16 +76,14 @@ public class 三月滚动接口 { sygdMxService.saveBatch(mxList,500); - new Thread(()->{ - ljList.forEach(lj-> mxList.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,500); - }).start(); + ljList.forEach(lj-> mxList.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,500); List list= sygdMxService.tqSygd1(begin,end); return new ResultBean<>(list); diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java index 720adbe..6168de1 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmDhqdp; import com.dsic.gj_erp.mapper.jhgk.DmDhqdpMapper; import com.dsic.gj_erp.service.jhgk.DmDhqdpService; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.*; @@ -24,6 +25,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -68,34 +70,66 @@ public class DmDhqdpServiceImpl extends ServiceImpl impl Sheet sheet = workbook.getSheetAt(0); List mergedRegions = sheet.getMergedRegions(); if (mergedRegions.size() > 74) { - String ddh = null; - String dcch = null; - String qc = null; + String ddh = null,dcch = null; + String qc,date,revisor,reviewed,approved; + + HashMap map = new HashMap<>(); CellRangeAddress ddhAddr = mergedRegions.get(68); if (ddhAddr != null) { ddh = this.getMergedData(sheet, ddhAddr); + map.put("ddh",ddh); } CellRangeAddress chAddr = mergedRegions.get(74); if (chAddr != null) { dcch = this.getMergedData(sheet, chAddr); + map.put("dcch",dcch); } CellRangeAddress qcAddr = mergedRegions.get(75); if (qcAddr != null) { qc = this.getMergedData(sheet, qcAddr); qc=StrUtil.subBetween(qc, "(", ")"); + map.put("qc",qc); + } + + CellRangeAddress dateAddr = mergedRegions.get(103); + if (dateAddr != null) { + date = this.getMergedData(sheet, dateAddr); + map.put("date",date); + } + + CellRangeAddress revisorAddr = mergedRegions.get(107); + if (dateAddr != null) { + revisor = this.getMergedData(sheet, revisorAddr); + map.put("revisor",revisor); + } + + CellRangeAddress reviewedAddr = mergedRegions.get(110); + if (reviewedAddr != null) { + reviewed = this.getMergedData(sheet, reviewedAddr); + map.put("reviewed",reviewed); + } + + CellRangeAddress approvedAddr = mergedRegions.get(111); + if (approvedAddr != null) { + approved = this.getMergedData(sheet, approvedAddr); + map.put("approved",approved); } if (StrUtil.isAllNotEmpty(dcch, ddh)) { List list = new ArrayList<>(); - List dmDhqdps = this.readExcel(file, dcch, ddh, qc, 1, req); - List dmDhqdps1 = this.readExcel(file, dcch, ddh, qc, 2, req); + List dmDhqdps = this.readExcel(file, map, 1, req);//T型材 + List dmDhqdps1 = this.readExcel(file, map, 2, req);//板材 + List dmDhqdps2 = this.readExcel(file, map, 3, req);//型材 if (ObjUtil.isNotEmpty(dmDhqdps)) { list.addAll(dmDhqdps); } if (ObjUtil.isNotEmpty(dmDhqdps1)) { list.addAll(dmDhqdps1); } + if (ObjUtil.isNotEmpty(dmDhqdps1)) { + list.addAll(dmDhqdps2); + } this.saveBatch(list.stream().filter(item->StrUtil.isNotEmpty(item.getDcCh())).collect(Collectors.toList())); return list; } @@ -117,7 +151,7 @@ public class DmDhqdpServiceImpl extends ServiceImpl impl } @Transactional - public List readExcel(MultipartFile file, String dcch, String ddh, String qc, int sheet, HttpServletRequest req) throws IOException { + public List readExcel(MultipartFile file, Map map, int sheet, HttpServletRequest req) throws IOException { ExcelReader reader = ExcelUtil.getReader(file.getInputStream()); Map alias = Maps.newLinkedHashMap(); alias.put("序号\nNo.", "xh"); @@ -149,11 +183,23 @@ public class DmDhqdpServiceImpl extends ServiceImpl impl .eq("qc", qc)); dmDhqdps.stream().filter(item->StrUtil.isNotEmpty(item.getXh())&&!item.getXh().contains("合计")) .forEach(l -> { - l.setDcCh(dcch); - l.setQdh(ddh); - l.setQc(qc); + l.setDcCh(map.get("dcch")); + l.setQdh(map.get("ddh")); + l.setQc(map.get("qc")); + l.setDhqdrq(map.get("date")); + l.setRevisor(map.get("revisor")); + l.setReviewed(map.get("reviewed")); l.setDrr(user); l.setDrrq(day); + if (sheet==1){ + l.setTxc(); + } + if (sheet==2){ + l.setBc(); + } + if (sheet==3){ + l.setXc(); + } }); return dmDhqdps; } 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 81b97e6..0d1e7bc 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 @@ -102,9 +102,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i }).collect(Collectors.toList()); this.updateBatchById(collect); //生成作业计划 - new Thread(()->{ - this.generateYdjh(sygdMxes); - }).start(); + this.generateYdjh(sygdMxes); } } @@ -113,6 +111,11 @@ public class DmSygdMxServiceImpl extends ServiceImpl i List ydjhList = sygdMxes.stream().map(item -> { DmYdjh dmYdjh = new DmYdjh(); BeanUtil.copyProperties(item, dmYdjh); + dmYdjh.setSljhrq(item.getSlrq()); + dmYdjh.setPwjhrq(item.getPwrq()); + dmYdjh.setHxjhrq(item.getHxrq()); + dmYdjh.setQgjhrq(item.getQgrq()); + dmYdjh.setZt("0"); return dmYdjh; }).collect(Collectors.toList()); ydjhList.forEach(l->{ @@ -985,7 +988,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i List list = this.list(Wrappers.lambdaQuery() .eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt) .between(DmSygdMx::getJssj, begin, end) - .orderBy(true,true,DmSygdMx::getDcCh,DmSygdMx::getDcPl,DmSygdMx::getSlrq) + .orderBy(true,true,DmSygdMx::getSlrq) ); Map> collect = list.stream().collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl())); diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java index 0641498..a14333b 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java @@ -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; /** *

@@ -48,7 +53,8 @@ public class DmSygdxqServiceImpl extends ServiceImpl i @Autowired DmCbxxpService dmCbxxpService; @Autowired - private DmBomServiceImpl dmBomServiceImpl; + DmDhqdpService dhqdpService; + @Override @Transactional @@ -158,19 +164,168 @@ public class DmSygdxqServiceImpl extends ServiceImpl i DmCbxxp one = dmCbxxpService.getOne(Wrappers.lambdaQuery() .eq(DmCbxxp::getCbbm, xq.getDcCh()) ); - Optional.ofNullable(one).ifPresent(item->{ + + if (one!=null){ List bomList = bomService.list(Wrappers.lambdaQuery() .eq(DmBom::getDcch, xq.getDcCh()) .eq(DmBom::getPl, xq.getDcPl()) .eq(DmBom::getFd, xq.getDcFd()) ); xq.setBomList(bomList); - }); + }else{//bom不存在从订货清单获取数据 + List list = dhqdpService.list(Wrappers.lambdaQuery().eq(DmDhqdp::getDcCh, xq.getDcCh())); + List collect = list.stream().filter(item -> item.getPlzlsl().contains(pl)).collect(Collectors.toList()); + + List bomList=new ArrayList<>(); + collect.forEach(item->{ + int num = item.getSdzs().intValue(); + for (int i=0;i{ + 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 t2(String from, String to,String dcch,String pl){ return baseMapper.getXqWithBom2(from,to,dcch,pl); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index d3e1fc0..30d6e39 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -38,7 +38,7 @@ public class ZyjhService extends ServiceImpl { } public List> gxjhwcqk(){ - DateTime date = DateUtil.lastMonth(); + DateTime date = DateUtil.date(); String from= DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); String to =DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); return baseMapper.gxjhwcqk(from,to); @@ -49,14 +49,14 @@ public class ZyjhService extends ServiceImpl { } public List> jhwcqk(){ - DateTime date = DateUtil.lastMonth(); + DateTime date = DateUtil.date(); String from= DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); String to =DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); return baseMapper.jhwcqk(from,to); } public Map gekuachaliang(){ - DateTime date = DateUtil.lastMonth(); + DateTime date = DateUtil.date(); String from= DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); String to =DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); return baseMapper.gekuachaliang(from,to,"11"); diff --git a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml index 001baca..111e0f8 100644 --- a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml @@ -62,8 +62,9 @@ ) a where a.rn=1 - order by a.xzglxq + order by a.dc_ch,a.dc_pl + - select min (slrq) as slrq, - min (pwrq) as pwrq, - min (hxrq) as hxrq, - min (qgrq) as qgrq, - min (dmrq) as dmrq, - min (qjgrq) as qjgrq, - min (jssj) as jssj, - min (sljhrq) as sljhrq, - min (pwjhrq) as pwjhrq, - min (lljhrq) as lljhrq, - min (hxjhrq) as hxjhrq, - min (qgjhrq) as qgjhrq from dm_ydjh + select isnull(min (slrq),'') as slrq, + isnull(min (pwrq),'') as pwrq, + isnull( min (hxrq),'') as hxrq, + isnull( min (qgrq),'') as qgrq, + isnull( min (dmrq),'') as dmrq, + isnull( min (qjgrq),'') as qjgrq, + isnull( min (jssj) ,'')as jssj, + isnull( min (sljhrq),'') as sljhrq, + isnull( min (pwjhrq),'') as pwjhrq, + isnull( min (lljhrq),'') as lljhrq, + isnull( min (hxjhrq),'') as hxjhrq, + isnull( min (qgjhrq),'') as qgjhrq from dm_ydjh where dc_ch=#{dcch} and dc_pl =#{dcpl} From c04298b8db7b815cf8a893f6cd7475d2da029924 Mon Sep 17 00:00:00 2001 From: xhj Date: Thu, 31 Oct 2024 09:19:17 +0800 Subject: [PATCH 091/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/jcsj/impl/BomUploadServiceImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index a105dcc..e0a2ae5 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -1047,6 +1047,7 @@ public class BomUploadServiceImpl { bchxmxp.setZdrqZ(bchxjbp.getZdrq()); bchxmxp.setYlzd2Z(bchxjbp.getYlzd2()); bchxmxp.setZzcj(zzcj); + bchxmxp.setDcFdZ(StringUtils.isBlank(bchxmxp.getWph()) ? "" : bchxmxp.getWph().substring(0, 4)); bchxmxp.setDcZlZ(zl); bchxmxp.setDrcs(cs + 1); addmxs.add(bchxmxp); @@ -1059,7 +1060,7 @@ public class BomUploadServiceImpl { bchxmxpService.saveBatch(addmxs); bchxjbpService.saveBatch(adds); //List dmBchxjbps,Map kwxxMap,Map qgKwMap , HttpServletRequest req - Map bomxzjh = bomxzjh(adds, kwxxMap, qgKwMap, req); + Map bomxzjh = bomxzjh(adds, kwxxMap, qgKwMap, req,addmxs); List adds1 = (List) bomxzjh.get("adds"); List ups = (List) bomxzjh.get("ups"); dmYdjhService.saveBatch(adds1); @@ -1734,7 +1735,7 @@ public class BomUploadServiceImpl { // 查询 船号 批量 修正作业计划 - public Map bomxzjh( List dmBchxjbps,Map kwxxMap,Map qgKwMap , HttpServletRequest req){ + public Map bomxzjh( List dmBchxjbps,Map kwxxMap,Map qgKwMap , HttpServletRequest req,Listmxs){ String dcch=dmBchxjbps.get(0).getDcCh(); String dcpl=dmBchxjbps.get(0).getDcPl(); List ydjhs = dmYdjhService.list(new QueryWrapper().eq("dc_ch", dcch ) @@ -1761,7 +1762,8 @@ public class BomUploadServiceImpl { //wpgg ,wpxh // DmBchxjbp dmBchxjbp = (DmBchxjbp) ObjConvertUtils.checkNullNew(dmBchxjbp1); DmBchxjbp dmBchxjbp = (DmBchxjbp) ObjConvertUtils.checkNullNew(dmBchxjbp1); - // dmBchxjbp + DmBchxmxp bchxmxp = mxs.stream().filter(fst -> fst.getHxbh().equals(dmBchxjbp.getHxbh())).findFirst().orElse(null); + // dmBchxjbp String wpgg = dmBchxjbp.getWpgg(); String wpxh = dmBchxjbp.getWpxh(); String tzbh = dmBchxjbp.getTzbh(); @@ -1798,14 +1800,14 @@ public class BomUploadServiceImpl { String zzcj = (String) qgKwMap.get(s); //xhj dmYdjh.setKw(zzcj); - dmYdjh.setDcFd(dmBchxjbp.getDcFd()); + // 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())){ // 说明已经上料 需要修正数据 @@ -1846,7 +1848,7 @@ public class BomUploadServiceImpl { String s = (String) kwxxMap.get(tzbh.substring(4, 7)); String zzcj = (String) qgKwMap.get(s); //xhj dmYdjhadd.setKw(zzcj); - dmYdjhadd.setDcFd(dmBchxjbp.getDcFd()); + dmYdjhadd.setDcFd(StringUtils.isBlank(bchxmxp.getWph()) ? "" : bchxmxp.getWph().substring(0, 4)); dmYdjhadd.setZt("2"); dmYdjhadd.setId(IdWorker.get32UUID()); From a2d78d543a4c1784228ed91d8980ecd0c90d7034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 31 Oct 2024 10:10:15 +0800 Subject: [PATCH 092/196] =?UTF-8?q?1.=E6=A0=B9=E6=8D=AE=E7=B3=BB=E5=88=97?= =?UTF-8?q?=E8=88=B9=E6=88=96=E8=AE=A2=E8=B4=A7=E6=B8=85=E5=8D=95=E6=8E=92?= =?UTF-8?q?=E4=BA=A7=E6=97=B6,=E8=8E=B7=E5=8F=96=E5=88=86=E6=AE=B5?= =?UTF-8?q?=E9=92=A2=E6=96=99=E9=9C=80=E6=B1=82=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=85=A8=E9=87=8F=E6=95=B0=E6=8D=AE,?= =?UTF-8?q?=E7=BC=BA=E5=B0=91=E4=BA=A7=E5=93=81=E7=BB=93=E6=9E=84=E6=97=B6?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E4=BB=8E=E7=B3=BB=E5=88=97=E8=88=B9=E6=88=96?= =?UTF-8?q?=E8=AE=A2=E8=B4=A7=E6=B8=85=E5=8D=95=E5=8A=A0=E8=BD=BD=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E7=BB=93=E6=9E=84=202.=E5=A2=9E=E5=8A=A0=E5=BD=93?= =?UTF-8?q?=E4=BB=8E=E7=B3=BB=E5=88=97=E8=88=B9=E5=92=8C=E8=AE=A2=E8=B4=A7?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E4=BE=9D=E7=84=B6=E6=97=A0=E6=B3=95=E7=94=9F?= =?UTF-8?q?=E6=88=90bom=E6=97=B6=E7=9A=84=E9=94=99=E8=AF=AF=E6=8F=90?= =?UTF-8?q?=E9=86=92,=E5=88=87=E7=BB=88=E6=AD=A2=E6=9C=AC=E6=AC=A1?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=8E=92=E4=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/jhgk/impl/DmDhqdpServiceImpl.java | 6 +- .../jhgk/impl/DmSygdxqServiceImpl.java | 77 +++++++++++-------- .../resources/mappers/jhgk/DmSygdxqMapper.xml | 4 +- 3 files changed, 50 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java index 6168de1..8330132 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java @@ -178,9 +178,9 @@ public class DmDhqdpServiceImpl extends ServiceImpl impl List dmDhqdps = reader.read(1, 2, DmDhqdp.class); String day = DateUtil.format(DateUtil.date(), "yyyy/MM/dd"); String user = (String) req.getAttribute("yhms"); - this.remove(new QueryWrapper().eq("Dc_ch", dcch) - .eq("qdh", ddh) - .eq("qc", qc)); + this.remove(new QueryWrapper().eq("Dc_ch", map.get("dcch")) + .eq("qdh", map.get("ddh")) + .eq("qc", map.get("qc"))); dmDhqdps.stream().filter(item->StrUtil.isNotEmpty(item.getXh())&&!item.getXh().contains("合计")) .forEach(l -> { l.setDcCh(map.get("dcch")); diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java index a14333b..3ed205a 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java @@ -16,8 +16,8 @@ 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.exception.ServiceException; 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.jhgk.DmDhqdpService; @@ -171,6 +171,7 @@ public class DmSygdxqServiceImpl extends ServiceImpl i .eq(DmBom::getPl, xq.getDcPl()) .eq(DmBom::getFd, xq.getDcFd()) ); + bomList.forEach(item->item.setDcch(xq.getDcCh()));//系列船获取bom船号修正为当前船只 xq.setBomList(bomList); }else{//bom不存在从订货清单获取数据 List list = dhqdpService.list(Wrappers.lambdaQuery().eq(DmDhqdp::getDcCh, xq.getDcCh())); @@ -178,49 +179,61 @@ public class DmSygdxqServiceImpl extends ServiceImpl i List bomList=new ArrayList<>(); collect.forEach(item->{ - int num = item.getSdzs().intValue(); - for (int i=0;i{ + for (String kdzlsl:kdzlsls){ + Optional.ofNullable(kdzlsl).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; - } + String sl=kdzlsl.split("=")[1]; + try { + int slI = Integer.parseInt(sl); + for (int i=0;i and xq.DC_CH=#{dcch} From 969fec76e570bc3b07a806c6da2e855c5229284e Mon Sep 17 00:00:00 2001 From: xhj Date: Thu, 31 Oct 2024 10:54:25 +0800 Subject: [PATCH 093/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pgd/PgdSljhController.java | 122 ++++++------------ 1 file changed, 38 insertions(+), 84 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index de3abd2..ca46701 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -417,7 +417,7 @@ public class PgdSljhController { ydupList.add(dmYdjh); // ckupList.add(imCkwpkwp); - slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); + slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl(),dmYdjh.getTzbh())); slKc.setZYCH(dmYdjh.getDcCh()); slKc.setZYPL(dmYdjh.getDcPl()); // slKc.setZYLX(dmYdjh.getZl()); @@ -504,7 +504,7 @@ public class PgdSljhController { dmYdjh.setSlhth(slKc.getDcFd()); dmYdjh.setSlwlh(slKc.getWPH()); dmYdjh.setKcch(slKc.getDCCH()); - imCkwpkwp.setZylx(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); + imCkwpkwp.setZylx(getLx(dmYdjh.getLqlb(), dmYdjh.getZl(),dmYdjh.getTzbh())); imCkwpkwp.setSldw(dmYdjh.getKw()); imCkwpkwp.setDhh(dmYdjh.getSljhrq()); //slKc.setPwwz(dmYdjh.getKw()); @@ -788,7 +788,7 @@ public class PgdSljhController { // } - public String getLx(String lqlb ,String zl){ + public String getLx(String lqlb ,String zl,String tzbh){ // 1000 数中大 // 1001 数小 // 1002 数中 @@ -800,95 +800,49 @@ public class PgdSljhController { // 1007 手大 // 1008 手中大 // 1009 焊接机器人肘板 -- + String mm=""; + if(tzbh.substring(4, 5).equals("S")){ + mm="手"; + }else if(tzbh.substring(4, 5).equals("N")){ + mm="数"; + } +// -// 1010 手工 -// 1020 数控 - if("1010".equals(lqlb)){ - if("1110".equals(zl)){ //数中大 - return "1005"; + String bh = tzbh.substring(6, 8); // 72 + if (tzbh.substring(4, 5).equals("X")) { // 51 +// if ("XX".equalsIgnoreCase(bh)) { +// return "小组立"; +// } else if ("XD".equalsIgnoreCase(bh)) { +// return "中大组立"; +// } + return ""; + } else { + if ("XX".equalsIgnoreCase(bh)) { + return "1009"; // todo 小组 } - if("1020".equals(zl)){ //数中 - return "1006"; - } - if("1060".equals(zl)){ //数大 - return "1007"; - } - if("1030".equals(zl)){ //数大 - return "1008"; } + String bh1 = tzbh.substring(7, 8); // 81 + if ("X".equalsIgnoreCase(bh1)) { - if("1110".equals(zl)){ //数小 - return "1008"; + if(mm.equals("手")){ + return "1005"; + }else if (mm.equals("数")){ + return "1001"; + } } + if ("D".equalsIgnoreCase(bh1)) { + // return "中大组立"; - - - - } - if("1020".equals(lqlb)){ - if("1010".equals(zl)){ //手中大 - return "1001"; - } - if("1020".equals(zl)){ //数小 - return "1002"; - } - if("1060".equals(zl)){ //数中 - return "1003"; - } - if("1090".equals(zl)){ //数大 - return "1004"; - } - if("1030".equals(zl)){ //数大 - return "1000"; - } - if("1110".equals(zl)){ //数大 - return "1000"; + if(mm.equals("手")){ + return "1008"; + }else if (mm.equals("数")){ + return "1000"; + } } - } + return ""; + - if("4230".equals(zl)){ //焊接机器人肘板 - return "1009"; - } - return ""; - - -// if ls_zl = '4230' then -// dw_1.object.zylx[ll_j] ='1009' //焊接机器人肘板 -// end if -// //手工 -// if ls_lqlb = '1010' then -// choose case ls_zl -// case '1010' //小组 -// dw_1.object.zylx[ll_j] ='1005' //流向手小 -// case '1020' //中组立 -// dw_1.object.zylx[ll_j] ='1006' //流向手中 -// case '1060' //大组立 -// dw_1.object.zylx[ll_j] ='1007' //流向手大 -// case '1030' //大中组立 -// dw_1.object.zylx[ll_j] ='1008' //流向手中大 -// case '1110' //中大组立 -// dw_1.object.zylx[ll_j] ='1008' //流向手中大 -// end choose -// -// elseif ls_lqlb = '1020' then -// //数控 -// choose case ls_zl -// case '1010' //小组 -// dw_1.object.zylx[ll_j] ='1001' //流向数小 -// case '1020' //中组立 -// dw_1.object.zylx[ll_j] ='1002' //流向数中 -// case '1060' //大组立 -// dw_1.object.zylx[ll_j] ='1003' //流向数大 -// case '1090' //外板曲加工 -// dw_1.object.zylx[ll_j] ='1004' //流向数曲 -// case '1030' //大中组立 -// dw_1.object.zylx[ll_j] ='1000' //流向数中大 -// case '1110' //中大组立 -// dw_1.object.zylx[ll_j] ='1000' //流向数中大 -// -// end choose -// end if } @PostMapping("kcAdnSlBd2") @@ -956,7 +910,7 @@ public class PgdSljhController { - slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl())); + slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl(),dmYdjh.getTzbh())); slKc.setZYCH(dmYdjh.getDcCh()); slKc.setZYPL(dmYdjh.getDcPl()); slKc.setDCTH(dmYdjh.getTzbh()); From cecf3ca15fd130562570c9aa6a54431ef19e256e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 31 Oct 2024 16:50:56 +0800 Subject: [PATCH 094/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E6=8E=92=E4=BA=A7?= =?UTF-8?q?=E5=9D=87=E8=A1=A1=E6=97=A5=E6=9C=9F=E9=94=99=E8=AF=AF=E9=97=AE?= =?UTF-8?q?=E9=A2=98=202.=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E7=94=9F=E6=88=90=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=97=B6=E6=A0=B9=E6=8D=AE=E5=B7=B2=E5=AD=98=E5=9C=A8=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E8=AE=A1=E5=88=92=E8=BF=9B=E8=A1=8C=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=203.=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E6=97=B6=E9=97=B4=E7=B2=BE=E7=A1=AE=E5=88=B0?= =?UTF-8?q?=E7=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 6 ++ .../controller/zyjh/ZyjhController.java | 2 +- .../java/com/dsic/gj_erp/pc/DataFactory.java | 8 +-- .../dsic/gj_erp/pc/dto/套料图工序.java | 3 - .../java/com/dsic/gj_erp/pc/dto/设备.java | 1 - .../jhgk/impl/DmSygdMxServiceImpl.java | 55 +++++++++++-------- .../jhgk/impl/DmSygdxqServiceImpl.java | 2 +- 7 files changed, 44 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index aebd99f..d3ac185 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -1,5 +1,6 @@ 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; @@ -358,6 +359,11 @@ public class DmYdjh implements Serializable { private String kcbs; // 库存标识 + public String getUniqueData(){ + return StrUtil.format("{}_{}_{}_{}",this.dcCh,this.dcPl,this.dcFd,this.tzbh); + } + + public void setZtForSl(){ this.zt=ZyjhzxEnum.SLFK.code; } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 7e3351e..6c92c67 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -54,7 +54,7 @@ public class ZyjhController { Field field=DmYdjh.class.getDeclaredField(dto.getField()); if (ObjUtil.isNotEmpty(field)){ field.setAccessible(true); - String date=DateUtil.date().toString("yyyy/MM/dd"); + String date=DateUtil.date().toString("yyyy/MM/dd HH:mm:ss"); for(DmYdjh dmYdjh:list){ field.set(dmYdjh,date); dmYdjh.setJhlx(null); 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 06c8eee..775ab21 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -160,8 +160,10 @@ public class DataFactory { AtomicReference<资源> _tmp= new AtomicReference<>(); //查找最小可用资源,进行占用 tmpList.sort(Comparator.comparingDouble((tmp)->tmp.get工序产能MAP().get(Constant.工序.切割).get占用())); + tmpList.stream().findFirst().ifPresent(tmp->{ - 执行排产(item.getBomList(),tmp.get_date(),工序CDMap); + DateTime dateTime = DateUtil.offsetDay(tmp.get_date(), 7); + 执行排产(item.getBomList(),dateTime,工序CDMap); _tmp.set(tmp); }); _资源=_tmp.get(); @@ -188,10 +190,6 @@ public class DataFactory { for (Bom bom:list){ 套料图工序 _套料图工序 = 套料图工序工厂(bom); - if ("G175K-12".equals(bom.getDcch())&&"077".equals(bom.getPl())){ - System.out.println(参照需求日期); - } - if (_套料图工序==null){ latch.countDown(); log.info("船号:{},批次:{},图纸编号:{},无法找到对应套料图",bom.getDcch(),bom.getPl(),bom.getTzbh()); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java index 3bdfb0d..d24854a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java @@ -188,9 +188,6 @@ public abstract class 套料图工序 implements 套料图工序接口 { Integer cd = 工序CD.get(_工序).getCd(); DateTime dateTime = DateUtil.offsetDay(this._需求日期, cd); 资源 _资源 = 提取资源(dateTime); - if ("G175K-12".equals(bom.getDcch())&&"077".equals(bom.getPl())&&_工序== Constant.工序.切割){ - System.out.println(_资源); - } try { if (_资源.占用资源(_工序,this.bom,需求数量)){ // this.bom.set所在资源(_资源); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/设备.java b/src/main/java/com/dsic/gj_erp/pc/dto/设备.java index 372ab02..b4eb4db 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/设备.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/设备.java @@ -81,6 +81,5 @@ public abstract class 设备 implements 设备接口 { public static void main(String[] args) { int d=-7; DateTime offset = DateUtil.date().offset(DateField.DAY_OF_YEAR, -d); - System.out.println(offset.toDateStr()); } } 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 0d1e7bc..311b211 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 @@ -101,14 +101,23 @@ public class DmSygdMxServiceImpl extends ServiceImpl i return dmSygdMx; }).collect(Collectors.toList()); this.updateBatchById(collect); + + //获取已存在作业计划 + List oldYdjhList = this.ydjhService.list(Wrappers.lambdaQuery().between(DmYdjh::getJssj, from, to)); + //生成作业计划 - this.generateYdjh(sygdMxes); + List dmYdjhs = this.generateYdjh(sygdMxes, oldYdjhList); + ydjhService.saveOrUpdateBatch(dmYdjhs); } } - @Transactional(rollbackFor = Exception.class) - public void generateYdjh(List sygdMxes) { - List ydjhList = sygdMxes.stream().map(item -> { + private List generateYdjh(List sygdMxes,List oldYdjhList){ + + Map collect = oldYdjhList.stream().collect( + Collectors.collectingAndThen(Collectors.toMap(DmYdjh::getUniqueData, item -> item), map -> map) + ); + + return sygdMxes.stream().map(item -> { DmYdjh dmYdjh = new DmYdjh(); BeanUtil.copyProperties(item, dmYdjh); dmYdjh.setSljhrq(item.getSlrq()); @@ -116,29 +125,31 @@ public class DmSygdMxServiceImpl extends ServiceImpl i dmYdjh.setHxjhrq(item.getHxrq()); dmYdjh.setQgjhrq(item.getQgrq()); dmYdjh.setZt("0"); - return dmYdjh; - }).collect(Collectors.toList()); - ydjhList.forEach(l->{ - if (StrUtil.isAllNotEmpty(l.getXzglxq(),l.getJssj())){ + DmYdjh _dmYdjh = collect.get(dmYdjh.getUniqueData()); + if (_dmYdjh != null){ + dmYdjh.setId(_dmYdjh.getId()); + dmYdjh.setZt(_dmYdjh.getZt()); + } + if (StrUtil.isAllNotEmpty(dmYdjh.getXzglxq(),dmYdjh.getJssj())){ //状态 2拖期 1提前 3追加 - if (l.getXzglxq().compareTo(l.getJssj())<0){ - if (!DateUtil.isSameMonth(DateUtil.parseDate(l.getXzglxq()),DateUtil.parseDate(l.getJssj()))){ - l.setJhlx("3"); + if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())<0){ + if (!DateUtil.isSameMonth(DateUtil.parseDate(dmYdjh.getXzglxq()),DateUtil.parseDate(dmYdjh.getJssj()))){ + dmYdjh.setJhlx("3"); }else { - l.setJhlx("1"); + dmYdjh.setJhlx("1"); } } - if (l.getXzglxq().compareTo(l.getJssj())>0){ - l.setJhlx("2"); + if (dmYdjh.getXzglxq().compareTo(dmYdjh.getJssj())>0){ + dmYdjh.setJhlx("2"); } - l.setJssjOld(StrUtil.isEmpty(l.getJssj())?"":l.getJssj()); - l.setJssj(l.getXzglxq()); + dmYdjh.setJssjOld(StrUtil.isEmpty(dmYdjh.getJssj())?"":dmYdjh.getJssj()); + dmYdjh.setJssj(dmYdjh.getXzglxq()); } - if (StrUtil.isEmpty(l.getTzbh())){ - l.setJhlx("3"); + if (StrUtil.isEmpty(dmYdjh.getTzbh())){ + dmYdjh.setJhlx("3"); } - }); - ydjhService.saveBatch(ydjhList); + return dmYdjh; + }).collect(Collectors.toList()); } public Map> getMxMap(String begin,String end){ @@ -984,11 +995,11 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } public List tqSygd2(String begin,String end,String zt){ - List slkw=Arrays.asList("7","8","9","5","6","15","11","14"); + List slkw=Arrays.asList("7","8","9","5","10","6","15","11","12","13","14"); List list = this.list(Wrappers.lambdaQuery() .eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt) .between(DmSygdMx::getJssj, begin, end) - .orderBy(true,true,DmSygdMx::getSlrq) + .orderByAsc(DmSygdMx::getSlrq) ); Map> collect = list.stream().collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl())); diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java index 3ed205a..c218d8f 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java @@ -229,7 +229,7 @@ public class DmSygdxqServiceImpl extends ServiceImpl i xq.setBomList(bomList); } if (ObjUtil.isEmpty(xq.getBomList())){ - throw new ServiceException(10001,StrUtil.format("船只:{},批次{}无法从系列船或订货清单获取基础数据,请先核对数据后再次排产!",xq.getDcCh(),xq.getDcPl())); + //throw new ServiceException(10001,StrUtil.format("船只:{},批次{}无法从系列船或订货清单获取基础数据,请先核对数据后再次排产!",xq.getDcCh(),xq.getDcPl())); } } } From 293c6d199a71bcec87c639e3c2b31373bf76e490 Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 1 Nov 2024 08:39:03 +0800 Subject: [PATCH 095/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/bean/jcsj/DmBom.java | 1 + .../jcsj/impl/BomUploadServiceImpl.java | 190 ++++++++++++------ 2 files changed, 130 insertions(+), 61 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBom.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBom.java index 12a68b7..9c127e6 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBom.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmBom.java @@ -219,6 +219,7 @@ public class DmBom implements Serializable { private BigDecimal bcljtlzl; private BigDecimal bcqpyld; private String ylbhgg; + private String ylbs; // 余料标识 // 反馈工时 diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index e0a2ae5..478b67b 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -1063,6 +1063,17 @@ public class BomUploadServiceImpl { Map bomxzjh = bomxzjh(adds, kwxxMap, qgKwMap, req,addmxs); List adds1 = (List) bomxzjh.get("adds"); List ups = (List) bomxzjh.get("ups"); + List yds = (List) bomxzjh.get("ydjhs"); + if(yds.size()>0){ + for(DmYdjh dmYdjh:yds){ + DmYdjh dmYdjh1 =new DmYdjh(); + dmYdjh1.setZt("99"); + dmYdjh1.setId(dmYdjh.getId()); + dmYdjhService.updateById(dmYdjh1); + } + } + + dmYdjhService.saveBatch(adds1); dmYdjhService.updateBatchById(ups); // 修正 生产计划。 @@ -1501,6 +1512,7 @@ public class BomUploadServiceImpl { dmBom.setSjch(e.getDcCh()); dmBom.setWpcz(e.getWpxh()); dmBom.setWpgg(e.getWpgg()); + dmBom.setYlbs(e.getSfyl()); System.out.println("e.getWpggZ().split(\"\\\\*\")[0] = " + e.getWpgg().split("\\*")[0]); System.out.println("e.getWpggZ().split(\"\\\\*\")[0] = " + e.getWpgg()); dmBom.setBh(new BigDecimal(e.getWpgg().split("\\*")[0])); @@ -1778,6 +1790,7 @@ public class BomUploadServiceImpl { && fst.getWpgg().equalsIgnoreCase(dmBchxjbp.getWpgg()) && (fst.getWpxh().equalsIgnoreCase(dmBchxjbp.getWpxh()) || (cjs1 + fst.getWpxh()).equalsIgnoreCase(dmBchxjbp.getWpxh())) + && fst.getTzbh().equalsIgnoreCase(dmBchxjbp.getTzbh()) ) .findFirst() .orElse(null); @@ -1818,76 +1831,130 @@ public class BomUploadServiceImpl { dmYdjh.setWpgg(dmBchxjbp.getWpgg()); dmYdjh.setWpxh(dmBchxjbp.getWpxh()); } - ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 ups.add(dmYdjh); + ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 + }else{ + dmYdjh = ydjhs.stream() + .filter(fst -> StringUtils.isNotBlank(fst.getWpgg()) + && StringUtils.isNotBlank(fst.getWpxh()) + && fst.getWpgg().equalsIgnoreCase(dmBchxjbp.getWpgg()) + && (fst.getWpxh().equalsIgnoreCase(dmBchxjbp.getWpxh()) + || (cjs1 + fst.getWpxh()).equalsIgnoreCase(dmBchxjbp.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"; + } - 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(dmBchxjbp.getDcCh()); - dmYdjhadd.setDcPl(dmBchxjbp.getDcPl()); - if(tzbh.substring(4, 5).equals("X")){ - dmYdjhadd.setLx("X"); - }else{ - dmYdjhadd.setLx("B"); - } + 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 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())){ // 说明已经上料 需要修正数据 + // 修正 + + }else{ + // 没上料 规格材质 + dmYdjh.setWpgg(dmBchxjbp.getWpgg()); + dmYdjh.setWpxh(dmBchxjbp.getWpxh()); + } + ups.add(dmYdjh); + ydjhs.remove(dmYdjh); // 从列表中移除找到的元素 - dmYdjhadd.setWpgg(dmBchxjbp.getWpgg()); - dmYdjhadd.setWpxh(dmBchxjbp.getWpxh()); - 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 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"); + }else{ + 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(dmBchxjbp.getDcCh()); + dmYdjhadd.setDcPl(dmBchxjbp.getDcPl()); + if(tzbh.substring(4, 5).equals("X")){ + dmYdjhadd.setLx("X"); + }else{ + dmYdjhadd.setLx("B"); + } - dmYdjhadd.setId(IdWorker.get32UUID()); - dmYdjhadd.setBmbzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); - dmYdjhadd.setBmbzry((String) req.getAttribute("yhms")); + dmYdjhadd.setWpgg(dmBchxjbp.getWpgg()); + dmYdjhadd.setWpxh(dmBchxjbp.getWpxh()); + 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 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(""); - } + 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); + } + + + } @@ -1899,6 +1966,7 @@ public class BomUploadServiceImpl { Map rMap = new HashMap(); rMap.put("adds",adds); rMap.put("ups",ups); + rMap.put("ydjhs",ydjhs); return rMap; } From d6edbc74885877b83ead8c9d9f51164f360c55c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 1 Nov 2024 10:46:12 +0800 Subject: [PATCH 096/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E6=8E=92=E4=BA=A7?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E9=A1=BA=E5=BA=8F=E9=94=99=E8=AF=AF=E9=97=AE?= =?UTF-8?q?=E9=A2=98=202.=E4=BC=98=E5=8C=96=E6=9C=88=E5=BA=A6=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E6=8E=92=E4=BA=A7=E9=A1=B5=E9=9D=A2=E6=AD=A5=E9=AA=A4?= =?UTF-8?q?=E6=9D=A1=E6=97=A0=E6=B3=95=E9=80=9A=E8=BF=87=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E6=BF=80=E6=B4=BB=E5=90=84=E6=AD=A5=E9=AA=A4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98,=E8=B0=83=E6=95=B4=E8=AE=BE=E5=A4=87=E4=BA=A7?= =?UTF-8?q?=E8=83=BD=E6=8E=92=E5=BA=8F=E6=8C=89=E7=85=A7=E5=9E=AE=E4=BD=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/pc/DataFactory.java | 50 ++++++++++++++++--- .../jhgk/impl/DmSygdMxServiceImpl.java | 2 +- 2 files changed, 45 insertions(+), 7 deletions(-) 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 775ab21..93227b9 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -79,6 +79,7 @@ public class DataFactory { List<钢料需求> list=读取钢料需求1(); // list=list.stream().filter(item->"G175K-4".equals(item.getDcCh())&&"116".equals(item.getDcPl())).collect(Collectors.toList()); List<钢料需求> 按批次合并 = 合并批次(list); + System.out.println("======="); try { 均衡预占(按批次合并); @@ -116,6 +117,7 @@ public class DataFactory { Map 切割各设备需求量 = item.get切割各设备需求量(); 资源 _资源=null; Integer cd = 工序CDMap.get(依据工序).getCd(); + PcDto dto=lastedData.get(item.getDcCh()); do { //因为第一次计算时候就是当前批量小组需求日期,所以再次循环到的时候不需要再次计算 if (times==0){ @@ -139,16 +141,24 @@ public class DataFactory { //continue; } //记录6次计算的全部资源 - PcDto dto=lastedData.get(item.getDcCh()); if (times==-3){ tmpList.add(_资源); - }else if (dto!=null&&dto.get_资源().get_date().isBefore(_资源.get_date())){ + }else if (dto!=null&&_资源.get_date().isAfterOrEquals(dto.get_资源().get_date())){ tmpList.add(_资源); } if (_资源.判断切割设备是否可以被占用(切割各设备需求量)){ - 执行排产(item.getBomList(),item.get均衡需求日期(),工序CDMap); - break; + if (dto==null){ + 执行排产(item.getBomList(),item.get均衡需求日期(),工序CDMap); + break; + } + if(_资源.get_date().isAfterOrEquals(dto.get_资源().get_date())){ + 执行排产(item.getBomList(),item.get均衡需求日期(),工序CDMap); + break; + } + if ("G175K-12".equals(item.getDcCh())&&"085".equals(item.getDcPl())){ + System.out.println("====="); + } } //需求日期可利用范围是±3天,排产是需要根据产能进行调整 item.set均衡需求日期(DateUtil.offsetDay(DateUtil.parse(item.getXzglxq(),"yyyy/MM/dd"),times)); @@ -159,8 +169,11 @@ public class DataFactory { if (times>3){ AtomicReference<资源> _tmp= new AtomicReference<>(); //查找最小可用资源,进行占用 + tmpList = tmpList.stream().filter(资源 -> dto != null && 资源.get_date().isAfterOrEquals(dto.get_资源().get_date())).collect(Collectors.toList()); tmpList.sort(Comparator.comparingDouble((tmp)->tmp.get工序产能MAP().get(Constant.工序.切割).get占用())); - + if ("G175K-12".equals(item.getDcCh())&&"085".equals(item.getDcPl())){ + System.out.println("====="); + } tmpList.stream().findFirst().ifPresent(tmp->{ DateTime dateTime = DateUtil.offsetDay(tmp.get_date(), 7); 执行排产(item.getBomList(),dateTime,工序CDMap); @@ -169,6 +182,12 @@ public class DataFactory { _资源=_tmp.get(); } + if (_资源==null){ + item.set均衡需求日期(null); + 执行排产(item.getBomList(),item.get均衡需求日期(),工序CDMap); + _资源=提取资源(item.get均衡需求日期()); + } + log.info("船号:{},批次:{},占用资源成功,切割日期:{}",item.getDcCh(),item.getDcPl(),_资源.getDate()); PcDto pcDto = new PcDto(); pcDto.setCh(item.getDcCh()); @@ -186,6 +205,24 @@ public class DataFactory { } private static void 执行排产(List list,DateTime 参照需求日期,Map 工序CDMap){ + for (Bom bom:list){ + 套料图工序 _套料图工序 = 套料图工序工厂(bom); + + if (_套料图工序==null){ + log.info("船号:{},批次:{},图纸编号:{},无法找到对应套料图",bom.getDcch(),bom.getPl(),bom.getTzbh()); + continue; + } + + _套料图工序.setXzglxq(bom.getXzglxq()); + _套料图工序.setDzglxq(bom.getDzglxq()); + _套料图工序.set工序CD(工序CDMap); + _套料图工序.set中日程(获取中日程(bom.getDcch() + bom.getPl() + bom.getFd())); + _套料图工序.set参照需求日期(参照需求日期); + _套料图工序.run(); + } + } + + private static void 执行排产0(List list,DateTime 参照需求日期,Map 工序CDMap){ CountDownLatch latch = new CountDownLatch(list.size()); for (Bom bom:list){ 套料图工序 _套料图工序 = 套料图工序工厂(bom); @@ -201,6 +238,7 @@ public class DataFactory { _套料图工序.set工序CD(工序CDMap); _套料图工序.set中日程(获取中日程(bom.getDcch() + bom.getPl() + bom.getFd())); _套料图工序.set参照需求日期(参照需求日期); + _套料图工序.run(); es.execute(() -> { try{ _套料图工序.run(); @@ -217,7 +255,7 @@ public class DataFactory { } private static List<钢料需求> 合并批次(List<钢料需求> list){ - Map map=new HashMap<>(); + Map map=new LinkedHashMap<>(); list.forEach(item->{ String key=item.getDcCh() + item.getDcPl(); 钢料需求 _钢料需求 = map.get(key); 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 311b211..5ab71ca 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 @@ -995,7 +995,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } public List tqSygd2(String begin,String end,String zt){ - List slkw=Arrays.asList("7","8","9","5","10","6","15","11","12","13","14"); + List slkw=Arrays.asList("7","8","9","5","6","15","11","14"); List list = this.list(Wrappers.lambdaQuery() .eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt) .between(DmSygdMx::getJssj, begin, end) From edeec88c2f6b89f2a3a26a31f652c78d7c2bed0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 1 Nov 2024 13:04:00 +0800 Subject: [PATCH 097/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E4=B8=A4=E5=A4=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/pc/DataFactory.java | 6 ------ .../dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java | 5 ++--- 2 files changed, 2 insertions(+), 9 deletions(-) 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 93227b9..dcb50ac 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -156,9 +156,6 @@ public class DataFactory { 执行排产(item.getBomList(),item.get均衡需求日期(),工序CDMap); break; } - if ("G175K-12".equals(item.getDcCh())&&"085".equals(item.getDcPl())){ - System.out.println("====="); - } } //需求日期可利用范围是±3天,排产是需要根据产能进行调整 item.set均衡需求日期(DateUtil.offsetDay(DateUtil.parse(item.getXzglxq(),"yyyy/MM/dd"),times)); @@ -171,9 +168,6 @@ public class DataFactory { //查找最小可用资源,进行占用 tmpList = tmpList.stream().filter(资源 -> dto != null && 资源.get_date().isAfterOrEquals(dto.get_资源().get_date())).collect(Collectors.toList()); tmpList.sort(Comparator.comparingDouble((tmp)->tmp.get工序产能MAP().get(Constant.工序.切割).get占用())); - if ("G175K-12".equals(item.getDcCh())&&"085".equals(item.getDcPl())){ - System.out.println("====="); - } tmpList.stream().findFirst().ifPresent(tmp->{ DateTime dateTime = DateUtil.offsetDay(tmp.get_date(), 7); 执行排产(item.getBomList(),dateTime,工序CDMap); 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 5ab71ca..de60c37 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 @@ -113,9 +113,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl i private List generateYdjh(List sygdMxes,List oldYdjhList){ - Map collect = oldYdjhList.stream().collect( - Collectors.collectingAndThen(Collectors.toMap(DmYdjh::getUniqueData, item -> item), map -> map) - ); + Map collect = new HashMap<>(); + oldYdjhList.forEach(item-> collect.put(item.getUniqueData(),item)); return sygdMxes.stream().map(item -> { DmYdjh dmYdjh = new DmYdjh(); From a244b131f0aa6c0a3d9ec3fa3c8918d8ccf58b00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 4 Nov 2024 16:59:16 +0800 Subject: [PATCH 098/196] =?UTF-8?q?1.=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E4=B8=8B=E5=8F=91=E5=92=8C=E6=9F=A5=E8=AF=A2=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E5=88=97=E6=98=BE=E7=A4=BA=E5=86=85=E5=AE=B9=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=202.=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E5=92=8C=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E8=AE=A1=E5=88=92=E5=A2=9E=E5=8A=A0=E4=BD=99=E6=96=99?= =?UTF-8?q?=E6=A0=87=E8=AF=86=203.=E4=BF=AE=E5=A4=8D=E7=9C=8B=E6=9D=BF?= =?UTF-8?q?=E8=80=83=E5=8B=A4=E6=8E=A5=E5=8F=A3=E4=BA=BA=E5=91=98=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E7=BC=BA=E5=A4=B1?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E6=9F=A5=E8=AF=A2=E6=80=BB=E4=BA=BA=E6=95=B0?= =?UTF-8?q?=E4=B8=8E=E7=8F=AD=E6=AC=A1=E5=90=88=E8=AE=A1=E4=BA=BA=E6=95=B0?= =?UTF-8?q?=E4=B8=8D=E7=AC=A6=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java | 2 ++ .../com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java | 4 ++++ .../java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 2 ++ .../gj_erp/controller/kban/KbanController.java | 2 +- .../gj_erp/pc/service/三月滚动接口.java | 4 ++++ .../resources/mappers/jhgk/DmSygdxqMapper.xml | 15 ++++++++++----- 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java index 3d6fb22..a79b3be 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java @@ -180,6 +180,8 @@ public class DmSygdMx implements Serializable { @ApiModelProperty(value = "前批余料代") private Double bcqpyld; + private String ylbs;//余料标识 + private String parentId; private String ylbhgg; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java index 3bb5785..b4dd290 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMxLj.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.bean.jhgk; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -190,6 +191,9 @@ public class DmSygdMxLj implements Serializable { private String ylbhgg; + @TableField(exist = false) + private String ylbs; //余料标识 + @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index d3ac185..5fef265 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -232,6 +232,8 @@ public class DmYdjh implements Serializable { @ApiModelProperty(value = "前批余料代") private Double bcqpyld; + private String ylbs;//余料标识 + @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index 3db0bcb..90addc6 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -69,7 +69,7 @@ public class KbanController { @GetMapping("kq") public ResultBean kq(){ List ryList=cqService.list(Wrappers.lambdaQuery() - .isNotNull(DmBzry::getUserCode).isNotNull(DmBzry::getZt)); + .isNotNull(DmBzry::getUserCode).isNotNull(DmBzry::getZt).ne(DmBzry::getZt,"")); Map map=new HashMap<>(); map.put("total",ryList.size()); diff --git a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java index 7b152a9..022fc72 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java @@ -5,13 +5,16 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jcsj.DmBchxylp; import com.dsic.gj_erp.bean.jhgk.DmSygd; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; import com.dsic.gj_erp.bean.jhgk.DmYdjhxf; import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper; import com.dsic.gj_erp.pc.Manager; +import com.dsic.gj_erp.service.jcsj.DmBchxylpService; import com.dsic.gj_erp.service.jhgk.DmSygdMxLjService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmSygdService; @@ -32,6 +35,7 @@ public class 三月滚动接口 { private final DmSygdMxLjService ljService; private final DmSygdMxService sygdMxService; private final DmSygdService sygdService; + private final DmBchxylpService bchxylpService; @Transactional public ResultBean 生成三月滚动(String begin, String end) { diff --git a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml index 52af712..d8f3968 100644 --- a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml @@ -153,12 +153,17 @@ dm_bom.bcljtlzl, dm_bom.ylbhgg, dm_bom.bcqpyld, + bc.sfyl ylbs, REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','') as id - - from dm_sygdxq LEFT JOIN dm_bom - on dm_bom.dcch = dm_sygdxq.DC_CH - and dm_bom.pl = dm_sygdxq.DC_PL - and dm_bom.fd = dm_sygdxq.DC_FD + from + dm_sygdxq LEFT JOIN dm_bom on dm_bom.dcch = dm_sygdxq.DC_CH and dm_bom.pl = dm_sygdxq.DC_PL and dm_bom.fd = dm_sygdxq.DC_FD + 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_sygdxq.xzglxq between #{begin} and #{end} and dm_bom.type = 'b' ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD From 75966b6dbff9962488c476aca04f15f07ac4b41a Mon Sep 17 00:00:00 2001 From: xhj Date: Tue, 5 Nov 2024 11:50:40 +0800 Subject: [PATCH 099/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 16 ++++ .../controller/jhgk/DmYdjhController.java | 85 +++++++++++++++++++ .../controller/pgd/PgdSljhController.java | 49 +++++++++++ .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 3 + .../resources/mappers/jhgk/DmYdjhMapper.xml | 51 +++++++++++ 5 files changed, 204 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 5fef265..b5d3014 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -361,6 +361,22 @@ public class DmYdjh implements Serializable { private String kcbs; // 库存标识 + @TableField(exist = false) + private Long bs; + @TableField(exist = false) + private Long slxhthCount; + @TableField(exist = false) + private Long slCount; + @TableField(exist = false) + private Long pwCount; + @TableField(exist = false) + private Long llCount; + @TableField(exist = false) + private Long hxCount; + @TableField(exist = false) + private Long qgCount; + + public String getUniqueData(){ return StrUtil.format("{}_{}_{}_{}",this.dcCh,this.dcPl,this.dcFd,this.tzbh); } 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 dd0d101..ed04380 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 @@ -60,6 +60,91 @@ public class DmYdjhController { return new ResultBean<>(); } + + + @RequestMapping("/getListhz") + @AuthFunction + public ResultBean getListhz(@RequestBody Map map ) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); +// List list= service.list(new QueryWrapper() +// .eq(StrUtil.isNotEmpty(map.get("dcCh")),"dc_ch",map.get("dcCh")) +// .eq(StrUtil.isNotEmpty(map.get("zt")),"zt",map.get("zt")) +// .ge(StrUtil.isNotEmpty(map.get("yf")), "jssj", DateUtil.beginOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")) +// .le(StrUtil.isNotEmpty(map.get("yf")), "jssj", DateUtil.endOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")) +// .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb") + + map.put("yf",DateUtil.beginOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")); + + + +// Map> collect = list.stream().collect(Collectors.groupingBy(DmYdjh::getDcCh)); +// List> resultMap=new ArrayList<>(); + //验证数据获取方法,后续可以都在这里进行获取 +// collect.forEach((key,val)->{ +// List bcKcxx = kcService.getBcKcxx(key); +// List czplpNewList = czplpNewService.list(Wrappers.lambdaQuery() +// .eq(DmCzplpNew::getDcCh, key) +// ); +// +// val.forEach(item->{ +// Map itemMap = BeanUtil.beanToMap(item); +// resultMap.add(itemMap); +// bcKcxx.forEach(kc->{ +// if (item.getDcCh().equals(kc.getDcCh()) +// &&item.getDcFd().equals(kc.getDcPl()) +// &&item.getTzbh().equals(kc.getDcTh())){ +// itemMap.put("kc",kc); +// } +// }); +// czplpNewList.forEach(czplpNew->{ +// if (item.getDcCh().equals(czplpNew.getDcCh())&&item.getDcPl().equals(czplpNew.getDcPl())) { +// /// 判断颜色 +// itemMap.put("czplpNew", czplpNew); +//// if (StringUtils.isBlank(czplpNew.getXfqLqb())|| StringUtils.isBlank(item.getSlrq())) { +//// // corlor red +//// itemMap.put("color", "red"); +//// } else { +//// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqLqb(), "yyyy/MM/dd"); +//// DateTime dateStr2 = DateUtil.parse(item.getSlrq(), "yyyy/MM/dd"); +//// int result = DateUtil.compare(dateStr1, dateStr2); +//// if (result > 0) { +//// System.out.println(dateStr1 + " is after " + dateStr2); +//// itemMap.put("color", "red"); +//// } else if (result < 0) { +//// System.out.println(dateStr1 + " is before " + dateStr2); +//// +//// } else { +//// System.out.println(dateStr1 + " is equal to " + dateStr2); +//// itemMap.put("color", "yellow"); +//// } +//// } +//// if (StringUtils.isBlank(czplpNew.getXfqTlt())||StringUtils.isBlank(item.getHxrq())) { +//// // corlor yellow +//// itemMap.put("color", "red"); +//// } else { +//// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqTlt(), "yyyy/MM/dd"); +//// DateTime dateStr2 = DateUtil.parse(item.getHxrq(), "yyyy/MM/dd"); +//// int result = DateUtil.compare(dateStr1, dateStr2); +//// if (result > 0) { +//// System.out.println(dateStr1 + " is after " + dateStr2); +//// itemMap.put("color", "red"); +//// } else if (result < 0) { +//// System.out.println(dateStr1 + " is before " + dateStr2); +//// +//// } else { +//// System.out.println(dateStr1 + " is equal to " + dateStr2); +//// itemMap.put("color", "yellow"); +//// } +//// } +// }else { +// // itemMap.put("color", "red"); +// } +// }); +// }); +// }); + return new ResultBean(); + } + @RequestMapping("/getList") @AuthFunction public ResultBean getList(@RequestBody Map map ) { diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index ca46701..943f7c8 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -27,6 +27,7 @@ import com.dsic.gj_erp.service.pgd.PgdSljhService; import com.dsic.gj_erp.service.sy.SYService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -947,5 +948,53 @@ public class PgdSljhController { // retrunMap.put("ydjhs",ydupList); return new ResultBean(retrunMap); } + + + + @PostMapping("kcAdnSlBdQX") + @ResponseBody + @Transactional(rollbackFor = Exception.class) + public ResultBean kcAdnSlBdQX(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { + + String str= JSON.toJSONString(map.get("data1")); + List slKcs= JSONObject.parseArray(str, SlKc.class); + + // + + for(SlKc kc :slKcs){ + DmYdjh ydjh =new DmYdjh(); + // 库存主键 没存 + ydjh.setId(kc.getYdid()); + ydjh.setZt("2"); + ydjh.setSlkcdw(""); + ydjh.setSlcs(""); + ydjh.setSlxhth(""); + ydjh.setSlhth(""); + ydjh.setSlwlh(""); + ydjh.setKcch(""); + + dmYdjhService.updateById(ydjh); + + ImCkwpkwp imCkwpkwp =new ImCkwpkwp(); + + imCkwpkwp.setCkh(kc.getCKH()); + imCkwpkwp.setWph(kc.getWPH()); + imCkwpkwp.setKwh(kc.getKWH()); + imCkwpkwp.setNbsbm(kc.getNBSBM()); + imCkwpkwp.setZylx(""); + imCkwpkwp.setZych(""); + imCkwpkwp.setZypl(""); + imCkwpkwp.setDcTh(""); + imCkwpkwp.setSldw(""); + imCkwpkwp.setDhh(""); + //slKc.setPwwz(dmYdjh.getKw()); + imCkwpkwp.setYdid(""); + imCkwpkwpService.updateByMultiId(imCkwpkwp); + + + } + + return new ResultBean(); + } } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 336c659..ca9f1bf 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -51,4 +51,7 @@ public interface DmYdjhMapper extends BaseMapper { List> gcjd(List czbh); DmYdjh getYdjhMin(@Param("dcch") String dcch, @Param("dcpl") String dcpl); + List getydjhhz(Map map ); + + } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index a11cfa3..3b845b7 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -840,4 +840,55 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} + + + + + + + From 49ff07d4172fa7a601e430ac12ffc29c005648c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 5 Nov 2024 15:41:34 +0800 Subject: [PATCH 100/196] =?UTF-8?q?1.=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=92=E7=BA=BF=E3=80=81=E5=88=87=E5=89=B2?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E8=AE=A1=E5=88=92=E8=AE=BE=E5=A4=87=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=202.=E5=A2=9E=E5=8A=A0=E7=9C=8B=E6=9D=BF=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=9F=A5=E8=AF=A2:=E7=BA=BF=E8=A1=A8=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E6=89=A7=E8=A1=8C=E6=83=85=E5=86=B5=E3=80=81=E5=90=84?= =?UTF-8?q?=E5=9E=AE=E4=BB=BB=E5=8A=A1=E6=89=A7=E8=A1=8C=E6=83=85=E5=86=B5?= =?UTF-8?q?=E5=92=8C=E6=98=8E=E7=BB=86=E3=80=81=E4=BA=BA=E5=91=98=E5=8F=8A?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E4=BB=BB=E5=8A=A1=E6=98=8E=E7=BB=86=E3=80=81?= =?UTF-8?q?=E5=88=92=E7=BA=BF=E5=8F=8A=E5=88=87=E5=89=B2=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=8F=8A=E5=AF=B9=E5=BA=94=E4=BB=BB=E5=8A=A1=E6=83=85=E5=86=B5?= =?UTF-8?q?=E3=80=81=E4=BB=BB=E5=8A=A1=E8=B7=9F=E8=B8=AA=E7=94=98=E7=89=B9?= =?UTF-8?q?=E5=9B=BE=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jhgk/DmXbjhController.java | 6 - .../controller/kban/KbanController.java | 101 ++++++++++++++- .../com/dsic/gj_erp/mapper/KbanMapper.java | 28 +++++ .../gj_erp/pc/service/三月滚动接口.java | 7 ++ .../com/dsic/gj_erp/service/KbanService.java | 117 ++++++++++++++++++ .../dsic/gj_erp/service/zyjh/ZyjhService.java | 1 - .../resources/mappers/jhgk/DmYdjhMapper.xml | 2 +- .../resources/mappers/kban/KbanMapper.xml | 60 +++++++++ 8 files changed, 311 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/service/KbanService.java create mode 100644 src/main/resources/mappers/kban/KbanMapper.xml diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java index 9ba2a18..e7fdf05 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java @@ -1,9 +1,6 @@ package com.dsic.gj_erp.controller.jhgk; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmXbjh; @@ -14,10 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index 90addc6..417fe81 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -1,8 +1,16 @@ package com.dsic.gj_erp.controller.kban; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmBzry; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.exception.ServiceException; +import com.dsic.gj_erp.pc.Constant; +import com.dsic.gj_erp.service.KbanService; import com.dsic.gj_erp.service.jcsj.DmBzryService; import com.dsic.gj_erp.service.zyjh.ZyjhService; import lombok.AllArgsConstructor; @@ -10,9 +18,8 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; + @RestController @RequestMapping("kban") @@ -21,6 +28,94 @@ public class KbanController { private final ZyjhService zyjhService; private final DmBzryService cqService; + private final KbanService kbanService; + + /** + * 看板线表计划相关数据 + */ + @GetMapping("xbjh") + public ResultBean kban(String nf){ + if (ObjUtil.isEmpty(nf)){ + throw new ServiceException(10001,"年份不能为空"); + } + + List xbjh=kbanService.getEveryMonXbzlByNf(nf); + List> comp = kbanService.getEveryCompZlByNf(nf); + + HashMap map = new HashMap<>(); + map.put("xbjh", xbjh); + map.put("comp", comp); + return new ResultBean<>(map); + } + + /** + * 计划跟踪 + */ + @GetMapping("getJhgz") + public ResultBean getJhgz(){ + return new ResultBean<>(kbanService.getJhgz()); + } + + /** + * 按照设备编号查询作业计划 + */ + @GetMapping("getZyjhDetailBySbCode") + public ResultBean getZyjhDetailBySbCode(String code){ + if (ObjUtil.isEmpty(code)){ + throw new ServiceException(10001,"设备编号不能为空"); + } + return new ResultBean<>(kbanService.getZyjhDetailBySbCode(code)); + } + + /** + * 统计划线、切割设备本人计划及作业成功 + */ + @GetMapping("getSb") + public ResultBean getSb(){ + List> sb = kbanService.getSb(); + return new ResultBean<>(sb); + } + + /** + * 按照人员工号查询当月所有参与的任务 + */ + @GetMapping("getZjjhByUserCode") + public ResultBean getZjjhByUserCode(String userCode){ + if (ObjUtil.isEmpty(userCode)){ + throw new ServiceException(10001,"用户不能为空"); + } + return new ResultBean<>(kbanService.getZjjhByUserCode(userCode)); + } + + /** + * 按照跨位查询作业计划明细 + */ + @GetMapping("getKwDetailByKw") + public ResultBean getEveryKw(String kw){ + if (ObjUtil.isEmpty(kw)){ + throw new ServiceException(10001,"垮位不能为空"); + } + + QueryWrapper wrapper = new QueryWrapper<>(); + if ("1".equals(kw)){ + wrapper.lambda().ge(DmYdjh::getZt, 11); + } + + if (Arrays.asList("2","3","4").contains(kw)){ + wrapper.eq("SUBSTRING(tzbh,6,1)", kw); + wrapper.ge("zt", "42"); + } + return new ResultBean<>(zyjhService.list(wrapper)); + } + + /** + * 本月各跨位情况 + */ + @GetMapping("getEveryKw") + public ResultBean getEveryKw(){ + Map map = kbanService.getEveryKw(); + return new ResultBean<>(map); + } /** * 在建船只,各船只进度 diff --git a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java new file mode 100644 index 0000000..15d61f6 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java @@ -0,0 +1,28 @@ +package com.dsic.gj_erp.mapper; + +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.pc.Constant; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface KbanMapper { + + //线表重量 + List getEveryMonXbzlByNf(String nf); + + //作业计划完成重量 + List> getEveryCompZlByNf(String from, String to); + + List> getEveryKw(String from, String to); + + List getZjjhByUserCode(String userCode,String from, String to); + + List> getSb(String day); + + List getZyjhDetailBySbCode(String code); + + List> getJhgz(String from, String to); +} diff --git a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java index 022fc72..b808d67 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java @@ -13,6 +13,7 @@ import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; import com.dsic.gj_erp.bean.jhgk.DmYdjhxf; import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper; +import com.dsic.gj_erp.pc.Constant; import com.dsic.gj_erp.pc.Manager; import com.dsic.gj_erp.service.jcsj.DmBchxylpService; import com.dsic.gj_erp.service.jhgk.DmSygdMxLjService; @@ -71,6 +72,12 @@ public class 三月滚动接口 { if (ObjectUtil.isNotEmpty(dmSygdMxes)){ for (DmSygdMx mx:dmSygdMxes){ mx.更新排产信息(_工序产能.get工序(),_资源.getDate()); + if (_工序产能.get工序()== Constant.工序.划线){ + mx.setHxsb(_设备.get设备编号()); + } + if (_工序产能.get工序()== Constant.工序.切割){ + mx.setQgsb(_设备.get设备编号()); + } } } }); diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java new file mode 100644 index 0000000..83b234c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -0,0 +1,117 @@ +package com.dsic.gj_erp.service; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.mapper.KbanMapper; +import com.dsic.gj_erp.pc.Constant; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; + +@Service +@AllArgsConstructor +public class KbanService { + + private final KbanMapper kbanMapper; + + public List> getJhgz(){ + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return kbanMapper.getJhgz(from,to); + } + + public List getZyjhDetailBySbCode(String code){ + return kbanMapper.getZyjhDetailBySbCode(code); + } + + public List> getSb(){ + DateTime date = DateUtil.date(); + return kbanMapper.getSb(date.toString("yyyy/MM/dd")); + } + + + public List getZjjhByUserCode(String userCode){ + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return kbanMapper.getZjjhByUserCode(userCode,from,to); + } + + /** + * 各垮任务情况 + * 派工,报工,未处理 + */ + public Map getEveryKw(){ + Map map = new HashMap<>(); + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + List> everyKw = kbanMapper.getEveryKw(from, to); + AtomicInteger sl=new AtomicInteger(0); + AtomicInteger slc=new AtomicInteger(0); + AtomicInteger kw2=new AtomicInteger(0); + AtomicInteger kw2c=new AtomicInteger(0); + AtomicInteger kw3=new AtomicInteger(0); + AtomicInteger kw3c=new AtomicInteger(0); + AtomicInteger kw4=new AtomicInteger(0); + AtomicInteger kw4c=new AtomicInteger(0); + everyKw.forEach(item->{ + int kw = Integer.parseInt(item.get("kw")); + int zt = Integer.parseInt(item.get("zt")); + if (zt>=11){ + sl.incrementAndGet(); + } + if (zt>=42){ + slc.incrementAndGet(); + } + if (kw==2){ + if (zt>=42){ + kw2.incrementAndGet(); + } + if (zt==52||zt==62){ + kw2c.incrementAndGet(); + } + } + if (kw==3){ + if (zt>=42){ + kw3.incrementAndGet(); + } + if (zt==52||zt==62){ + kw3c.incrementAndGet(); + } + } + if (kw==4){ + if (zt>=42){ + kw4.incrementAndGet(); + } + if (zt==52||zt==62){ + kw4c.incrementAndGet(); + } + } + }); + List zsl = Arrays.asList(sl.get(),kw2.get(),kw3.get(),kw4.get()); + List kwc = Arrays.asList(slc.get(),kw2c.get(),kw3c.get(),kw4c.get()); + List wcl = Arrays.asList(sl.get()-slc.get(),kw2.get()-kw2c.get(),kw3.get()-kw3c.get(),kw4.get()-kw4c.get()); + map.put("zsl",zsl);//总数量 + map.put("kwc",kwc);//完成数量 + map.put("wcl",wcl);//未处理 + return map; + } + + public List getEveryMonXbzlByNf(String nf) { + return kbanMapper.getEveryMonXbzlByNf(nf); + } + + public List> getEveryCompZlByNf(String nf) { + DateTime from = DateUtil.beginOfYear(DateUtil.parse(nf, "yyyy")); + DateTime to = DateUtil.endOfYear(DateUtil.parse(nf, "yyyy")); + return kbanMapper.getEveryCompZlByNf(from.toString("yyyy/MM/dd"), to.toString("yyyy/MM/dd")); + } + +} diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 30d6e39..64df81d 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -29,7 +29,6 @@ public class ZyjhService extends ServiceImpl { private final DmCbxxpService dmCbxxpService; private final RedisTemplate redisTemplate; - public List> gcjd(){ ImmutableMap map = ImmutableMap.of("flag", true); List list = dmCbxxpService.getList(map); diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 3b845b7..4e3bcf1 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -94,7 +94,7 @@ DISTINCT zt, sum(isnull(bcshzl,0)/1000) over(PARTITION by zt) as t from dm_ydjh - WHERE jssj BETWEEN #{from} and #{to} + WHERE jssj BETWEEN #{from} and #{to} and zt>='2' + select sum(zl) from dm_xbjh where nf=#{nf} group by yf + + + + + + + + + + + + + + From d939d8195fcaad2c686f601d2434ff29bc48fd83 Mon Sep 17 00:00:00 2001 From: xhj Date: Tue, 5 Nov 2024 16:28:44 +0800 Subject: [PATCH 101/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jcsj/BomUploadController.java | 240 ++++++++++-------- .../jcsj/impl/BomUploadServiceImpl.java | 4 +- src/main/resources/mappers/kc/ImCkwpkwp.xml | 9 +- 3 files changed, 139 insertions(+), 114 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java index e336898..04a018b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java @@ -8,6 +8,8 @@ import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmBom; import com.dsic.gj_erp.bean.jcsj.DmTltpdf; +import com.dsic.gj_erp.bean.sy.Dm_zhbmp; +import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.mapper.jcsj.DmBomMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; @@ -26,6 +28,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -48,6 +51,9 @@ public class BomUploadController { @Autowired DmTltpdfService tltpdfService; + @Autowired + Dm_zhbmpRepository dm_zhbmpRepository; + @PostMapping("/uploadBom") @AuthFunction @ResponseBody @@ -69,121 +75,132 @@ public class BomUploadController { @Transactional public boolean uploadPDF(MultipartFile[] fileList, String dcCh,String pl,String date)throws IOException { + List kwxxs = dm_zhbmpRepository.findByBMLB("KWXX"); + Map kwxxMap = kwxxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); for (MultipartFile file : fileList) {//船号_批量/日期/PDF(ERP) - String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"_"+pl+"/"+date+"/PDF"); - PDDocument document = PDDocument.load(file.getInputStream()); - int pageNum = document.getNumberOfPages(); - PDFTextStripper stripper = new PDFTextStripper(); -// stripper .setSortByPosition(true); //设置为true 则按照行进行读取,默认是false -// // 3、获取指定页面的文本内容 -// stripper.setStartPage(1);// 设置起始页面,表示读取第一个页面 -// stripper.setEndPage(1); // 设置结束页面,表示读取第一个页面 -// String[] text = stripper.getText(document).split("\r\n"); -// String dcCh=text[46]; -// String pl=text[38].substring(1,4); -// String th=text[29]; - stripper.setStartPage(2);// 设置起始页面,表示读取第一个页面 - stripper.setEndPage(2); // 设置结束页面,表示读取第一个页面 - String[] text = stripper.getText(document).split("序号零件编号")[1].split(" "); -// String dcCh=text[2].split("\r\n")[1]; -// String pl=text[3]; - String th=text[6].substring(0,12); - //删除导入过的同船、批量、图号的数据, - tltpdfService.remove(new QueryWrapper() - .eq("dc_ch",dcCh) - .eq("pl",pl) - .eq("th",th) - ); - List list=new ArrayList<>(); - for (int i = 1; i <= pageNum; i++) { - try { - stripper.setStartPage(i); - stripper.setEndPage(i); - String s = stripper.getText(document);//本页文字内容 - String[] a=s.split("\r\n");//分行 - String tlth=""; - Double hxcd=0.0; - Double qgcd=0.0; - Double hxkc=0.0; - Double qgkc=0.0; - if (i>1){ - tlth=s.split("序号零件编号")[1].split(" ")[5]; - String num[]=s.split("序号零件编号")[1].split("\r\n"); - hxcd=new Double(num[2]); - qgcd=new Double(num[3]); - hxkc=new Double(num[4]); - qgkc=new Double(num[5]); - } -// System.out.println("第 " + i +"/"+pageNum+ " 页 :" ); - //按页保存 - DmTltpdf tltpdf=new DmTltpdf(); - tltpdf.setDcCh(dcCh); - tltpdf.setTh(th); - tltpdf.setPl(pl); - tltpdf.setTlth(tlth); - tltpdf.setPageNum(i +"/"+pageNum); - tltpdf.setContent(s); - tltpdf.setFilePath(url); - tltpdf.setHxcd(hxcd); - tltpdf.setQgcd(qgcd); - tltpdf.setHxkc(hxkc); - tltpdf.setQgkc(qgkc); - list.add(tltpdf); - if (i==1)continue; - Double ljzl=0.0; - String tlth1[]=s.split("DNV\\+CCS")[1].split("\r\n"); - ljzl=new Double(tlth1[1]); - if (ljzl==0.0)continue; - //根据当前页数据,修改BOM中零件属性 坡口 打磨 曲 - int ljCount= s.split("\\|")[0].split("\r\n").length;//零件数量 - if (ljCount==11||ljCount==21||ljCount==31){ - //取用下标count-1 至 count*2-2的数组,为属性 - String[] sxArray=getArrayByIndex(a,ljCount-1,ljCount*2-2); + if(file.getOriginalFilename().contains(".QG")){ + String s = kwxxMap.get(file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("/")+1).substring(4, 7)); + String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"_"+pl+"/"+date+"/QG"+"/"+s); - //取用下标count*2-2 至 count*3-3 的数组,为零件号 - String[] ljArray=getArrayByIndex(a,ljCount*2-2,ljCount*3-3); + bomMapper.insertFile(url,""); + }else if (file.getOriginalFilename().contains(".pdf")){ - System.out.println(ljCount); - System.out.println(i); - for (int j = 0; j < ljArray.length; j++) { - String ljbh;//零件号 - String sx;//属性 - if (i==0){ - String[] b= ljArray[j].split("0\\|"); - ljbh=b[b.length-1]; - sx=sxArray[j].split("\\|")[4]; - }else { - ljbh=ljArray[j]; - sx=sxArray[j].split("\\|")[4]; - } - updateBom(sx,dcCh,pl,tlth,ljbh); - } - }else if (ljCount==1){ - //"1,11,21,31" - String[] ljxx= a[0].split("\\|"); - String ljbh= ljxx[ljxx.length-1];//零件号 - String sx= ljxx[4];//属性 - updateBom(sx,dcCh,pl,tlth,ljbh); - }else { - //取用下标count 至 count*2-1的数组,为属性 - String[] sxArray=getArrayByIndex(a,ljCount,ljCount*2-1); - //取用下标count*2 至 count*3-1 的数组,为零件号 - String[] ljArray=getArrayByIndex(a,ljCount*2,ljCount*3-1); - for (int j = 0; j < ljArray.length; j++) { - String ljbh=ljArray[j];//零件号 - String sx=sxArray[j].split("\\|")[4];//属性 - updateBom(sx,dcCh,pl,tlth,ljbh); - } - } - }catch (Exception e){ - String logMsg= StrUtil.format("数控套料图pdf读取错误--图号:{},页数:{}",th,i); - log.error(logMsg); - return false; - } - } - tltpdfService.saveBatch(list); - document.close(); + + String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"_"+pl+"/"+date+"/PDF"); +// PDDocument document = PDDocument.load(file.getInputStream()); +// int pageNum = document.getNumberOfPages(); +// PDFTextStripper stripper = new PDFTextStripper(); +//// stripper .setSortByPosition(true); //设置为true 则按照行进行读取,默认是false +//// // 3、获取指定页面的文本内容 +//// stripper.setStartPage(1);// 设置起始页面,表示读取第一个页面 +//// stripper.setEndPage(1); // 设置结束页面,表示读取第一个页面 +//// String[] text = stripper.getText(document).split("\r\n"); +//// String dcCh=text[46]; +//// String pl=text[38].substring(1,4); +//// String th=text[29]; +// stripper.setStartPage(2);// 设置起始页面,表示读取第一个页面 +// stripper.setEndPage(2); // 设置结束页面,表示读取第一个页面 +// String[] text = stripper.getText(document).split("序号零件编号")[1].split(" "); +//// String dcCh=text[2].split("\r\n")[1]; +//// String pl=text[3]; +// String th=text[6].substring(0,12); +// //删除导入过的同船、批量、图号的数据, +// tltpdfService.remove(new QueryWrapper() +// .eq("dc_ch",dcCh) +// .eq("pl",pl) +// .eq("th",th) +// ); +// List list=new ArrayList<>(); +// for (int i = 1; i <= pageNum; i++) { +// try { +// stripper.setStartPage(i); +// stripper.setEndPage(i); +// String s = stripper.getText(document);//本页文字内容 +// String[] a=s.split("\r\n");//分行 +// String tlth=""; +// Double hxcd=0.0; +// Double qgcd=0.0; +// Double hxkc=0.0; +// Double qgkc=0.0; +// if (i>1){ +// tlth=s.split("序号零件编号")[1].split(" ")[5]; +// String num[]=s.split("序号零件编号")[1].split("\r\n"); +// hxcd=new Double(num[2]); +// qgcd=new Double(num[3]); +// hxkc=new Double(num[4]); +// qgkc=new Double(num[5]); +// } +//// System.out.println("第 " + i +"/"+pageNum+ " 页 :" ); +// //按页保存 +// DmTltpdf tltpdf=new DmTltpdf(); +// tltpdf.setDcCh(dcCh); +// tltpdf.setTh(th); +// tltpdf.setPl(pl); +// tltpdf.setTlth(tlth); +// tltpdf.setPageNum(i +"/"+pageNum); +// tltpdf.setContent(s); +// tltpdf.setFilePath(url); +// tltpdf.setHxcd(hxcd); +// tltpdf.setQgcd(qgcd); +// tltpdf.setHxkc(hxkc); +// tltpdf.setQgkc(qgkc); +// list.add(tltpdf); +// if (i==1)continue; +// Double ljzl=0.0; +// String tlth1[]=s.split("DNV\\+CCS")[1].split("\r\n"); +// ljzl=new Double(tlth1[1]); +// if (ljzl==0.0)continue; +// //根据当前页数据,修改BOM中零件属性 坡口 打磨 曲 +// int ljCount= s.split("\\|")[0].split("\r\n").length;//零件数量 +// if (ljCount==11||ljCount==21||ljCount==31){ +// //取用下标count-1 至 count*2-2的数组,为属性 +// String[] sxArray=getArrayByIndex(a,ljCount-1,ljCount*2-2); +// +// //取用下标count*2-2 至 count*3-3 的数组,为零件号 +// String[] ljArray=getArrayByIndex(a,ljCount*2-2,ljCount*3-3); +// +// System.out.println(ljCount); +// System.out.println(i); +// for (int j = 0; j < ljArray.length; j++) { +// String ljbh;//零件号 +// String sx;//属性 +// if (i==0){ +// String[] b= ljArray[j].split("0\\|"); +// ljbh=b[b.length-1]; +// sx=sxArray[j].split("\\|")[4]; +// }else { +// ljbh=ljArray[j]; +// sx=sxArray[j].split("\\|")[4]; +// } +// updateBom(sx,dcCh,pl,tlth,ljbh); +// } +// }else if (ljCount==1){ +// //"1,11,21,31" +// String[] ljxx= a[0].split("\\|"); +// String ljbh= ljxx[ljxx.length-1];//零件号 +// String sx= ljxx[4];//属性 +// updateBom(sx,dcCh,pl,tlth,ljbh); +// }else { +// //取用下标count 至 count*2-1的数组,为属性 +// String[] sxArray=getArrayByIndex(a,ljCount,ljCount*2-1); +// //取用下标count*2 至 count*3-1 的数组,为零件号 +// String[] ljArray=getArrayByIndex(a,ljCount*2,ljCount*3-1); +// for (int j = 0; j < ljArray.length; j++) { +// String ljbh=ljArray[j];//零件号 +// String sx=sxArray[j].split("\\|")[4];//属性 +// updateBom(sx,dcCh,pl,tlth,ljbh); +// } +// } +// }catch (Exception e){ +// String logMsg= StrUtil.format("数控套料图pdf读取错误--图号:{},页数:{}",th,i); +// log.error(logMsg); +// return false; +// } +// } +// tltpdfService.saveBatch(list); +// document.close(); + } } return true; } @@ -222,6 +239,7 @@ public class BomUploadController { .eq("ljbh",ljbh) ); } + } } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 478b67b..c5e1f25 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -204,7 +204,7 @@ public class BomUploadServiceImpl { return new ResultBean(map); } } - if (fname.contains("套料图")) { + if (fname.contains("套料图") && !fname.contains(".pdf")) { int indexOfUnderscore = fname.indexOf('_'); czbh1 = fname.substring(0, indexOfUnderscore); // 2. 第一个_后面批前面的字符 @@ -1740,7 +1740,7 @@ public class BomUploadServiceImpl { return ""; } - void saveFile(MultipartFile file,String path,String yhdm){ + public void saveFile(MultipartFile file,String path,String yhdm){ String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,path); bomMapper.insertFile(url,yhdm); } diff --git a/src/main/resources/mappers/kc/ImCkwpkwp.xml b/src/main/resources/mappers/kc/ImCkwpkwp.xml index 8e4038a..20d51c6 100644 --- a/src/main/resources/mappers/kc/ImCkwpkwp.xml +++ b/src/main/resources/mappers/kc/ImCkwpkwp.xml @@ -81,7 +81,14 @@ and IM_CKWPKWP.dzwz=#{ql} - and IM_CKWPKWP.wpgg=#{wpgg} + and DM_WPJBP.wpgg=#{wpgg} + + + + and IM_CKWPKWP.lph=#{lph} + + + and IM_CKWPKWP.kwh=#{kwh} and IM_CKWPKWP.wpxh=#{wpxh} From 22924f916148717d48b90428c66ca91159f3b79b Mon Sep 17 00:00:00 2001 From: xhj Date: Tue, 5 Nov 2024 17:50:31 +0800 Subject: [PATCH 102/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jhgk/DmYdjhController.java | 84 ++++--------------- .../resources/mappers/jhgk/DmYdjhMapper.xml | 7 +- 2 files changed, 21 insertions(+), 70 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 ed04380..e6878b0 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 @@ -13,6 +13,7 @@ import com.dsic.gj_erp.bean.jcsj.DmCzplpNew; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; import com.dsic.gj_erp.service.jcsj.DmCzplpNewService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.kc.ImCkwpkwpService; @@ -53,6 +54,8 @@ public class DmYdjhController { @Autowired private DmCzplpNewService czplpNewService; + @Autowired + private DmYdjhMapper dmYdjhMapper; @PostMapping("save") public ResultBean save(@RequestBody List list){ @@ -74,77 +77,24 @@ public class DmYdjhController { // .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb") map.put("yf",DateUtil.beginOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")); + map.put("yf1",DateUtil.endOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")); + List getydjhhz = dmYdjhMapper.getydjhhz(map); + return new ResultBean(getydjhhz); + } + @RequestMapping("/getListhzBymx") + @AuthFunction + public ResultBean getListhzBymx(@RequestBody Map map ) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); + List list= service.list(new QueryWrapper() + .eq(StrUtil.isNotEmpty(map.get("dcch")),"dc_ch",map.get("dcch")) + .eq(StrUtil.isNotEmpty(map.get("dcpl")),"dc_pl",map.get("dcpl")) -// Map> collect = list.stream().collect(Collectors.groupingBy(DmYdjh::getDcCh)); -// List> resultMap=new ArrayList<>(); - //验证数据获取方法,后续可以都在这里进行获取 -// collect.forEach((key,val)->{ -// List bcKcxx = kcService.getBcKcxx(key); -// List czplpNewList = czplpNewService.list(Wrappers.lambdaQuery() -// .eq(DmCzplpNew::getDcCh, key) -// ); -// -// val.forEach(item->{ -// Map itemMap = BeanUtil.beanToMap(item); -// resultMap.add(itemMap); -// bcKcxx.forEach(kc->{ -// if (item.getDcCh().equals(kc.getDcCh()) -// &&item.getDcFd().equals(kc.getDcPl()) -// &&item.getTzbh().equals(kc.getDcTh())){ -// itemMap.put("kc",kc); -// } -// }); -// czplpNewList.forEach(czplpNew->{ -// if (item.getDcCh().equals(czplpNew.getDcCh())&&item.getDcPl().equals(czplpNew.getDcPl())) { -// /// 判断颜色 -// itemMap.put("czplpNew", czplpNew); -//// if (StringUtils.isBlank(czplpNew.getXfqLqb())|| StringUtils.isBlank(item.getSlrq())) { -//// // corlor red -//// itemMap.put("color", "red"); -//// } else { -//// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqLqb(), "yyyy/MM/dd"); -//// DateTime dateStr2 = DateUtil.parse(item.getSlrq(), "yyyy/MM/dd"); -//// int result = DateUtil.compare(dateStr1, dateStr2); -//// if (result > 0) { -//// System.out.println(dateStr1 + " is after " + dateStr2); -//// itemMap.put("color", "red"); -//// } else if (result < 0) { -//// System.out.println(dateStr1 + " is before " + dateStr2); -//// -//// } else { -//// System.out.println(dateStr1 + " is equal to " + dateStr2); -//// itemMap.put("color", "yellow"); -//// } -//// } -//// if (StringUtils.isBlank(czplpNew.getXfqTlt())||StringUtils.isBlank(item.getHxrq())) { -//// // corlor yellow -//// itemMap.put("color", "red"); -//// } else { -//// DateTime dateStr1 = DateUtil.parse(czplpNew.getXfqTlt(), "yyyy/MM/dd"); -//// DateTime dateStr2 = DateUtil.parse(item.getHxrq(), "yyyy/MM/dd"); -//// int result = DateUtil.compare(dateStr1, dateStr2); -//// if (result > 0) { -//// System.out.println(dateStr1 + " is after " + dateStr2); -//// itemMap.put("color", "red"); -//// } else if (result < 0) { -//// System.out.println(dateStr1 + " is before " + dateStr2); -//// -//// } else { -//// System.out.println(dateStr1 + " is equal to " + dateStr2); -//// itemMap.put("color", "yellow"); -//// } -//// } -// }else { -// // itemMap.put("color", "red"); -// } -// }); -// }); -// }); - return new ResultBean(); + .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb") + ); + return new ResultBean(list); } - @RequestMapping("/getList") @AuthFunction public ResultBean getList(@RequestBody Map map ) { diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 4e3bcf1..f2cce31 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -858,7 +858,8 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} SUM(CASE WHEN ISNULL(dm_ydjh.pwfkry, '') != '' THEN 1 ELSE 0 END) AS pw_count, SUM(CASE WHEN ISNULL(dm_ydjh.llfkrq, '') != '' THEN 1 ELSE 0 END) AS ll_count, SUM(CASE WHEN ISNULL(dm_ydjh.hxfkrq, '') != '' THEN 1 ELSE 0 END) AS hx_count, - SUM(CASE WHEN ISNULL(dm_ydjh.qgfkrq, '') != '' THEN 1 ELSE 0 END) AS qg_count + SUM(CASE WHEN ISNULL(dm_ydjh.qgfkrq, '') != '' THEN 1 ELSE 0 END) AS qg_count, + SUM(CASE WHEN ISNULL(dm_ydjh.ylbs, 'N') = 'Y' THEN 1 ELSE 0 END) AS ylbs FROM dm_ydjh where 1=1 @@ -872,7 +873,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} and dm_ydjh.jssj>=#{yf} - and dm_ydjh.jssj<=#{yf} + and dm_ydjh.jssj<=#{yf1} GROUP BY dm_ydjh.dc_ch, @@ -883,7 +884,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} dm_ydjh.lljhrq, dm_ydjh.hxjhrq, dm_ydjh.qgjhrq - order by jssj,dc_ch,dc_pl,zl,lqlb + order by dc_ch,dc_pl,jssj From 3e9af5853d728258ab474f345ce2145fb8c21548 Mon Sep 17 00:00:00 2001 From: xhj Date: Wed, 6 Nov 2024 10:06:20 +0800 Subject: [PATCH 103/196] =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/controller/jcsj/BomUploadController.java | 8 +++++--- .../service/jcsj/impl/BomUploadServiceImpl.java | 8 ++++++++ src/main/java/com/dsic/gj_erp/util/MyFileUtil.java | 11 +++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java index 04a018b..0052d7b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java @@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -59,7 +60,7 @@ public class BomUploadController { @ResponseBody public ResultBean uploadPl(@RequestParam("file") MultipartFile[] file ,@RequestParam("tltList") MultipartFile[] tltList , String czbh,String pl, String isupload, HttpServletRequest req) throws Exception, CustomException { String date=DateUtil.date().toString("yyyyMMdd"); - String path="/"+czbh+"_"+pl+"/"+date+"/ERP"; + String path="/"+czbh+"/"+pl+"/ERP"; ResultBean bean= bomUploadService.uploadZ( file , czbh, pl,isupload, req,path); Map map =(Map)bean.getData(); if(map.get("zt").equals("01")){ @@ -76,18 +77,19 @@ public class BomUploadController { @Transactional public boolean uploadPDF(MultipartFile[] fileList, String dcCh,String pl,String date)throws IOException { List kwxxs = dm_zhbmpRepository.findByBMLB("KWXX"); + // Map kwxxMap = kwxxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); for (MultipartFile file : fileList) {//船号_批量/日期/PDF(ERP) if(file.getOriginalFilename().contains(".QG")){ String s = kwxxMap.get(file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("/")+1).substring(4, 7)); - String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"_"+pl+"/"+date+"/QG"+"/"+s); + String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"/"+pl+"/QG"+"/"+s); bomMapper.insertFile(url,""); }else if (file.getOriginalFilename().contains(".pdf")){ - String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"_"+pl+"/"+date+"/PDF"); + String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"/"+pl+"/PDF"); // PDDocument document = PDDocument.load(file.getInputStream()); // int pageNum = document.getNumberOfPages(); // PDFTextStripper stripper = new PDFTextStripper(); diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index c5e1f25..061367f 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -20,6 +20,7 @@ import com.dsic.gj_erp.service.jcsj.*; import com.dsic.gj_erp.service.jhgk.DmTzjhService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.sy.SYService; +import com.dsic.gj_erp.util.MyFileUtil; import com.dsic.gj_erp.util.ObjConvertUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -138,6 +139,13 @@ public class BomUploadServiceImpl { } } else { } + File folder = new File("/"+czbh+"/"+pl); + + // Check if the directory exists + if (folder.exists()) { + // Delete the directory and its contents + MyFileUtil.deleteDirectory(folder); + } boolean fbom = false; Integer cs = null; for (MultipartFile f : file) { diff --git a/src/main/java/com/dsic/gj_erp/util/MyFileUtil.java b/src/main/java/com/dsic/gj_erp/util/MyFileUtil.java index bcf481d..56f9d35 100644 --- a/src/main/java/com/dsic/gj_erp/util/MyFileUtil.java +++ b/src/main/java/com/dsic/gj_erp/util/MyFileUtil.java @@ -35,4 +35,15 @@ public class MyFileUtil { // 删除空文件夹 return folder.delete(); } + public static void deleteDirectory(File folder) { + if (folder.isDirectory()) { + File[] files = folder.listFiles(); + if (files != null) { + for (File file : files) { + deleteDirectory(file); + } + } + } + folder.delete(); // Delete empty directory or file + } } From 3524cc609ae1a67b91667eca69e47a11283caa1a Mon Sep 17 00:00:00 2001 From: xhj Date: Thu, 7 Nov 2024 16:49:04 +0800 Subject: [PATCH 104/196] =?UTF-8?q?=E4=BD=99=E6=96=99=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/jcsj/impl/BomUploadServiceImpl.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 061367f..4fc6894 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -427,13 +427,13 @@ public class BomUploadServiceImpl { qw.set("jsq_lqb", DateUtil.format(DateUtil.date(), "yyyy/MM/dd")); qw.eq("dc_ch", e.getDcChZ()); qw.eq("dc_pl", e.getDcPlZ()); - qw.eq("dc_fd", fd); + // qw.eq("dc_fd", fd); dmCzplpNewService.update(qw); UpdateWrapper qw1 = new UpdateWrapper<>(); qw1.set("jsq_lqb", DateUtil.format(DateUtil.date(), "yyyy/MM/dd")); qw1.eq("dc_ch", e.getDcChZ()); qw1.eq("dc_pl", e.getDcPlZ()); - qw1.eq("dc_fd", fd); + // qw1.eq("dc_fd", fd); dmTzjhService.update(qw1); } }); @@ -1622,6 +1622,8 @@ public class BomUploadServiceImpl { dmBom.setZl(zlbm); dmBom.setKw(zzcj); dmBom.setLqlb(hxlx); + //List collecta = list.stream().filter(fst -> null!= fst.getTjb() && fst.getTjb().getTzbh().equals(e.getTzbhZ()) ).collect(Collectors.toList()); + // dmBom.setYlbs(collecta.get(0).getTjb().getSfyl()); //dmBom.setLqbs("Y"); if(tzbh.substring(4, 5).equals("X")){ // 型材 // 先去 统计表中查找 @@ -1632,7 +1634,7 @@ public class BomUploadServiceImpl { ).collect(Collectors.toList()); // 找到长度 BigDecimal cd=collect11.get(0).getTjb().getXccd().divide(new BigDecimal("1000")); - + dmBom.setYlbs(collect11.get(0).getTjb().getSfyl()); List collect111 = list.stream().filter(fst -> null!= fst.getBclq() && fst.getBclq().getWpgg().equals(e.getWpxhZ()) && fst.getBclq().getWpxh().equals(e.getWpggZ()) && fst.getBclq().getDcPlZ().equals(e.getDcPlZ()) && fst.getBclq().getYlzd11().compareTo(cd)==0 ).collect(Collectors.toList()); @@ -1642,6 +1644,7 @@ public class BomUploadServiceImpl { dmBom.setXcshms(collect111.get(0).getBclq().getShms()); dmBom.setFds(collect111.get(0).getBclq().getDcFdZ()); } + dmBom.setType("X"); }else { @@ -1650,6 +1653,7 @@ public class BomUploadServiceImpl { // 找到长度 if(collect11.size()>0){ dmBom.setYlbhgg(collect11.get(0).getTjb().getYlggs()); + } @@ -1758,6 +1762,7 @@ public class BomUploadServiceImpl { public Map bomxzjh( List dmBchxjbps,Map kwxxMap,Map qgKwMap , HttpServletRequest req,Listmxs){ String dcch=dmBchxjbps.get(0).getDcCh(); String dcpl=dmBchxjbps.get(0).getDcPl(); + List tjListOld = bchxylpService.list(new QueryWrapper().eq("dc_ch", dcch).eq("dc_pl", dcpl)); List ydjhs = dmYdjhService.list(new QueryWrapper().eq("dc_ch", dcch ) .eq("dc_pl",dcpl) ); @@ -1783,6 +1788,9 @@ public class BomUploadServiceImpl { // DmBchxjbp dmBchxjbp = (DmBchxjbp) ObjConvertUtils.checkNullNew(dmBchxjbp1); DmBchxjbp dmBchxjbp = (DmBchxjbp) ObjConvertUtils.checkNullNew(dmBchxjbp1); DmBchxmxp bchxmxp = mxs.stream().filter(fst -> fst.getHxbh().equals(dmBchxjbp.getHxbh())).findFirst().orElse(null); + DmBchxylp bchxylp = tjListOld.stream().filter(fst -> fst.getTzbh().equals(dmBchxjbp.getTzbh()) + && fst.getWpgg().equalsIgnoreCase(dmBchxjbp.getWpgg()) && fst.getWpxh().equalsIgnoreCase(dmBchxjbp.getWpxh()) + ).findFirst().orElse(null); // dmBchxjbp String wpgg = dmBchxjbp.getWpgg(); String wpxh = dmBchxjbp.getWpxh(); @@ -1821,6 +1829,7 @@ public class BomUploadServiceImpl { String zzcj = (String) qgKwMap.get(s); //xhj dmYdjh.setKw(zzcj); + dmYdjh.setYlbs(bchxylp.getSfyl()); // dmYdjh.setDcFd(dmBchxjbp.getDcFd()); if(tzbh.substring(4, 5).equals("X")){ @@ -1867,6 +1876,7 @@ public class BomUploadServiceImpl { dmYdjh.setQgcd(dmBchxjbp.getYlzd4().doubleValue()); dmYdjh.setLjsl(dmBchxjbp.getLjsl().doubleValue()); dmYdjh.setZl(dmBchxjbp.getDcZl()); + dmYdjh.setYlbs(bchxylp.getSfyl()); String s = (String) kwxxMap.get(tzbh.substring(4, 7)); String zzcj = (String) qgKwMap.get(s); //xhj @@ -1910,6 +1920,7 @@ public class BomUploadServiceImpl { dmYdjhadd.setWpgg(dmBchxjbp.getWpgg()); dmYdjhadd.setWpxh(dmBchxjbp.getWpxh()); + dmYdjhadd.setWpxh( bchxylp.getSfyl()); dmYdjhadd.setLqlb(hxlx); dmYdjhadd.setTzbh(tzbh); dmYdjhadd.setHxcd(dmBchxjbp.getHxcd().doubleValue()); From cb5e856e45a777f861c1693fdc35e9634f6dfb8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 7 Nov 2024 16:57:10 +0800 Subject: [PATCH 105/196] =?UTF-8?q?1.=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8F=96=E6=B6=88=E6=97=A5=E6=9C=9F=E9=99=90?= =?UTF-8?q?=E5=88=B6=202.=E7=9C=8B=E6=9D=BF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/kban/KbanController.java | 14 +++++ .../controller/zyjh/ZyjhController.java | 2 +- .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 57 +++++++++++-------- .../com/dsic/gj_erp/service/KbanService.java | 12 +++- .../service/jhgk/impl/DmYdjhServiceImpl.java | 6 +- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 7 +++ .../resources/mappers/jhgk/DmYdjhMapper.xml | 15 ++++- .../resources/mappers/kban/KbanMapper.xml | 2 +- 8 files changed, 85 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index 417fe81..ddf3c81 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; @RestController @@ -30,6 +32,14 @@ public class KbanController { private final DmBzryService cqService; private final KbanService kbanService; + /** + * 获取所有未处理批次信息 + */ + @GetMapping("wcl") + public ResultBean getWcl(){ + return new ResultBean<>(zyjhService.getWcl()); + } + /** * 看板线表计划相关数据 */ @@ -166,9 +176,13 @@ public class KbanController { List ryList=cqService.list(Wrappers.lambdaQuery() .isNotNull(DmBzry::getUserCode).isNotNull(DmBzry::getZt).ne(DmBzry::getZt,"")); + List collect = ryList.stream().filter(item -> "01".equals(item.getZt())).collect(Collectors.toList()); + Map map=new HashMap<>(); map.put("total",ryList.size()); map.put("rows",ryList); + map.put("bb", collect.size()); + map.put("eb",ryList.size()-collect.size()); return new ResultBean<>(map); } } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 6c92c67..20fa1f1 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -223,7 +223,7 @@ public class ZyjhController { date=search.getSljhrq(); } List list = zyjhService.list(Wrappers.lambdaQuery() - .le(DmYdjh::getSljhrq, date) +// .le(DmYdjh::getSljhrq, date) .eq(StrUtil.isNotEmpty(search.getZt()),DmYdjh::getZt, search.getZt()) .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getDcCh, search.getDcch()) .eq(StrUtil.isNotEmpty(search.getDcPl()),DmYdjh::getDcPl, search.getDcPl()) diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index ca9f1bf..d70e161 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -13,7 +13,7 @@ import java.util.Map; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author xn @@ -21,37 +21,48 @@ import java.util.Map; */ public interface DmYdjhMapper extends BaseMapper { - List getSygdmx(String nextMonth); -// List getTzjh(@Param("begin") String begin, @Param("end") String end); - List getTzjh(@Param("list")List list,@Param("bzry") String bzry, @Param("bzrq") String bzrq); - List getDhjh(@Param("begin") String begin, @Param("end") String end); - List getSljh(@Param("list")List list,@Param("bzry") String bzry, @Param("bzrq") String bzrq); - List getPwjh(@Param("list")List list,@Param("bzry") String bzry, @Param("bzrq") String bzrq); - List getQgjh(@Param("list")List list,@Param("bzry") String bzry, @Param("bzrq") String bzrq); - int xfbc(List ids); - int tqlj(List ids); + List getSygdmx(String nextMonth); + // List getTzjh(@Param("begin") String begin, @Param("end") String end); + List getTzjh(@Param("list") List list, @Param("bzry") String bzry, @Param("bzrq") String bzrq); + List getDhjh(@Param("begin") String begin, @Param("end") String end); - List getTzjh1(@Param("begin") String begin, @Param("end") String end); - List getDhjh1(String id); - List getSljh1(@Param("begin") String begin, @Param("end") String end); - List getPwjh1(@Param("begin") String begin, @Param("end") String end); - List getQgjh1(@Param("begin") String begin, @Param("end") String end); + List getSljh(@Param("list") List list, @Param("bzry") String bzry, @Param("bzrq") String bzrq); - @MapKey("kw") - Map gekuachaliang(String from,String to,String zt); + List getPwjh(@Param("list") List list, @Param("bzry") String bzry, @Param("bzrq") String bzrq); - List> jhwcqk(String from,String to); + List getQgjh(@Param("list") List list, @Param("bzry") String bzry, @Param("bzrq") String bzrq); - List> gyfcl(); + int xfbc(List ids); - List> gxjhwcqk(String from,String to); + int tqlj(List ids); - List> gcjd(List czbh); - DmYdjh getYdjhMin(@Param("dcch") String dcch, @Param("dcpl") String dcpl); - List getydjhhz(Map map ); + List getTzjh1(@Param("begin") String begin, @Param("end") String end); + List getDhjh1(String id); + List getSljh1(@Param("begin") String begin, @Param("end") String end); + + List getPwjh1(@Param("begin") String begin, @Param("end") String end); + + List getQgjh1(@Param("begin") String begin, @Param("end") String end); + + @MapKey("kw") + Map gekuachaliang(String from, String to, String zt); + + List> jhwcqk(String from, String to); + + List> gyfcl(); + + List> gxjhwcqk(String from, String to); + + List> gcjd(List czbh); + + DmYdjh getYdjhMin(@Param("dcch") String dcch, @Param("dcpl") String dcpl); + + List getydjhhz(Map map); + + List> getWcl(); } diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index 83b234c..177621c 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -55,6 +55,8 @@ public class KbanService { List> everyKw = kbanMapper.getEveryKw(from, to); AtomicInteger sl=new AtomicInteger(0); AtomicInteger slc=new AtomicInteger(0); + AtomicInteger kw1=new AtomicInteger(0); + AtomicInteger kw1c=new AtomicInteger(0); AtomicInteger kw2=new AtomicInteger(0); AtomicInteger kw2c=new AtomicInteger(0); AtomicInteger kw3=new AtomicInteger(0); @@ -70,6 +72,14 @@ public class KbanService { if (zt>=42){ slc.incrementAndGet(); } + if (kw==1){ + if (zt>=42){ + kw1.incrementAndGet(); + } + if (zt==52||zt==62){ + kw1c.incrementAndGet(); + } + } if (kw==2){ if (zt>=42){ kw2.incrementAndGet(); @@ -95,7 +105,7 @@ public class KbanService { } } }); - List zsl = Arrays.asList(sl.get(),kw2.get(),kw3.get(),kw4.get()); + List zsl = Arrays.asList(sl.get(),kw1.get(),kw2.get(),kw3.get(),kw4.get()); List kwc = Arrays.asList(slc.get(),kw2c.get(),kw3c.get(),kw4c.get()); List wcl = Arrays.asList(sl.get()-slc.get(),kw2.get()-kw2c.get(),kw3.get()-kw3c.get(),kw4.get()-kw4c.get()); map.put("zsl",zsl);//总数量 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 986e4ec..350048d 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 @@ -245,10 +245,11 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme String bzry= (String) request.getAttribute("yhms"); String bzrq= DateUtil.format(DateUtil.date(), "yyyy/MM/dd"); + String gxsj=DateUtil.date().toString("yyyy/MM/dd HH:mm:ss"); //工单号 List updateList = ydjhList.stream() .filter(item->StrUtil.isNotEmpty(item.getSljhrq())) - .map(this::ofXf).collect(Collectors.toList()); + .map(item->ofXf(item,gxsj)).collect(Collectors.toList()); this.updateBatchById(updateList); @@ -304,7 +305,7 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme publisher.publishEvent(ydjhList); } - private DmYdjh ofXf(DmYdjh item){ + private DmYdjh ofXf(DmYdjh item,String gxsj){ Long djh=this.handlerDjh(item); DmYdjh dmYdjh = new DmYdjh(); dmYdjh.setId(item.getId()); @@ -312,6 +313,7 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme String perfix=item.getSljhrq().replace("/",""); perfix=perfix.substring(2); dmYdjh.setDjh(StrUtil.format("{}{}",perfix, String.format("%03d",djh))); + dmYdjh.setGxsj(gxsj); return dmYdjh; } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 64df81d..c9ab06b 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -29,6 +29,13 @@ public class ZyjhService extends ServiceImpl { private final DmCbxxpService dmCbxxpService; private final RedisTemplate redisTemplate; + /** + * 获取所有未处理批次 + */ + public List> getWcl(){ + return baseMapper.getWcl(); + } + public List> gcjd(){ ImmutableMap map = ImmutableMap.of("flag", true); List list = dmCbxxpService.getList(map); diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index f2cce31..5172651 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -888,8 +888,19 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} - - + diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index 473b9ed..49cf90a 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -7,7 +7,7 @@ + + + + + + From 9dfebc9cb7766a004b0fae0cbafba200224ceb09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 18 Nov 2024 15:41:42 +0800 Subject: [PATCH 109/196] =?UTF-8?q?=E7=9C=8B=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + .../controller/kban/KbanController.java | 195 ++++++++++++++++-- .../com/dsic/gj_erp/mapper/KbanMapper.java | 22 +- .../dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml | 4 +- .../gj_erp/mapper/fd/DmXqdwcjcdMapper.xml | 4 +- .../com/dsic/gj_erp/service/KbanService.java | 71 ++++++- .../resources/mappers/kban/KbanMapper.xml | 97 ++++++++- 7 files changed, 354 insertions(+), 41 deletions(-) diff --git a/.gitignore b/.gitignore index 1a03347..86f21e7 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,5 @@ build/ ### VS Code ### .vscode/ /.idea/ +src/main/resources/application-localdb.properties +src/main/resources/application-gs.properties diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index d99cad4..9126471 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -1,14 +1,21 @@ package com.dsic.gj_erp.controller.kban; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjUtil; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmBzry; -import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.DmYdjhxf; import com.dsic.gj_erp.exception.ServiceException; @@ -17,15 +24,11 @@ import com.dsic.gj_erp.service.jcsj.DmBzryService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.sy.impl.SyMsgService; import com.dsic.gj_erp.service.zyjh.ZyjhService; -import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import java.util.*; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Collectors; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjUtil; +import lombok.AllArgsConstructor; /** * 各作业区划分规则 @@ -48,12 +51,170 @@ public class KbanController { private final SyMsgService msgService; private final DmSygdMxService service; + /** + * 30天作业区完成情况折线图 + */ + @GetMapping("/today_zyjhzx") + public ResultBean todayXZyjhzx() { + return new ResultBean<>(this.kbanService.todayZyjhzx()); + } + + /** + * 30天作业区完成情况折线图 + */ + @GetMapping("/zyjhzx") + public ResultBean zyjhzx() { + return new ResultBean<>(this.kbanService.zyjhzx()); + } + + /** + * 前方需求汇总表 + */ + @GetMapping("/zyjhzxTable") + public ResultBean zyjhzxTable() { + Map map=this.kbanService.zyjhzxTable(); + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + List list = zyjhService + .list(Wrappers.lambdaQuery().ge(DmYdjh::getZt, 2).between(DmYdjh::getJssj, from, to)); + + AtomicInteger 上料计划 = new AtomicInteger(0); + AtomicInteger 上料完成 = new AtomicInteger(0); + HashMap 上料 = new HashMap<>(); + + AtomicInteger 二区计划1k = new AtomicInteger(0); + AtomicInteger 二区完成1k = new AtomicInteger(0); + AtomicInteger 二区计划3k = new AtomicInteger(0); + AtomicInteger 二区完成3k = new AtomicInteger(0); + HashMap 二区1k = new HashMap<>(); + HashMap 二区3k = new HashMap<>(); + + AtomicInteger 三区计划 = new AtomicInteger(0); + AtomicInteger 三区完成 = new AtomicInteger(0); + HashMap 三区 = new HashMap<>(); + + AtomicInteger 四区计划 = new AtomicInteger(0); + AtomicInteger 四区完成 = new AtomicInteger(0); + HashMap 四区 = new HashMap<>(); + + list.forEach(item -> { + String subStr = item.getTzbh().substring(5, 6); + int zt = 0; + + try { + zt = Integer.parseInt(item.getZt()); + } catch (Exception e) { + e.printStackTrace(); + } + + if (zt == 11) { + 上料计划.incrementAndGet(); + } + + if (zt > 11) { + 上料完成.incrementAndGet(); + } + + // 二区 + if ("1".equals(subStr)) { + if (zt >= 2) { + 二区计划1k.incrementAndGet(); + } + if (zt >= 62) { + 二区完成1k.incrementAndGet(); + } + } + + if ("3".equals(subStr)) { + if (zt >= 2) { + 二区计划3k.incrementAndGet(); + } + if (zt >= 62) { + 二区完成3k.incrementAndGet(); + } + } + + // 三区 + if ("2".equals(subStr)) { + if (zt >= 2) { + 三区计划.incrementAndGet(); + } + if (zt >= 62) { + 三区完成.incrementAndGet(); + } + } + + // 四区 + if ("4".equals(subStr)) { + if (zt >= 2) { + 四区计划.incrementAndGet(); + } + if (zt >= 62) { + 四区完成.incrementAndGet(); + } + } + }); + + ArrayList result = new ArrayList<>(); + // 上料.put("zyq", "一区"); + // 上料.put("sl", 上料计划.get()); + // 上料.put("wc", 上料完成.get()); + // result.add(上料); + + 二区1k.put("zyq", "二区"); + 二区1k.put("kw", "一垮"); + 二区1k.put("sl", 二区计划1k.get()); + 二区1k.put("wc", 二区完成1k.get()); + result.add(二区1k); + + 二区3k.put("zyq", "二区"); + 二区3k.put("kw", "三垮"); + 二区3k.put("sl", 二区计划3k.get()); + 二区3k.put("wc", 二区完成3k.get()); + result.add(二区3k); + + 三区.put("zyq", "三区"); + 三区.put("kw", "二垮"); + 三区.put("sl", 三区计划.get()); + 三区.put("wc", 三区完成.get()); + result.add(三区); + + 四区.put("zyq", "四区"); + 四区.put("kw", "四五六垮"); + 四区.put("sl", 四区计划.get()); + 四区.put("wc", 四区完成.get()); + result.add(四区); + + map.put("detail", result); + return new ResultBean<>(map); + } + + /** + * 前方需求柱状图 + */ + @GetMapping("/qfxqWc") + public ResultBean qfxqWcqk() { + return new ResultBean<>(this.kbanService.qfxqWcqk()); + } + + /** + * 前方需求汇总表 + */ + @GetMapping("/qfxqTable") + public ResultBean qfxqTable() { + return new ResultBean<>(this.kbanService.qfxqTable()); + } + /** * 作业区完成情况饼图 */ @GetMapping("/zxqwcqk") public ResultBean getZxqwcqk(){ - List list=zyjhService.list(Wrappers.lambdaQuery().ge(DmYdjh::getZt,2)); + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + List list=zyjhService.list(Wrappers.lambdaQuery().ge(DmYdjh::getZt,2).between(DmYdjh::getJssj,from,to)); AtomicInteger 上料计划 = new AtomicInteger(0); AtomicInteger 上料完成 = new AtomicInteger(0); @@ -72,11 +233,11 @@ public class KbanController { HashMap 四区 = new HashMap<>(); list.forEach(item->{ - String subStr=item.getTzbh().substring(6,7); + String subStr=item.getTzbh().substring(5,6); int zt=0; try { - zt = Integer.parseInt(subStr); + zt = Integer.parseInt(item.getZt()); }catch (Exception e){ e.printStackTrace(); } @@ -141,7 +302,7 @@ public class KbanController { 四区.put("wc",四区完成.get()); result.add(四区); - return new ResultBean<>(list); + return new ResultBean<>(result); } /** diff --git a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java index b7276e9..8a22480 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java @@ -1,12 +1,12 @@ package com.dsic.gj_erp.mapper; -import com.dsic.gj_erp.bean.jhgk.DmYdjh; -import com.dsic.gj_erp.pc.Constant; -import org.apache.ibatis.annotations.Mapper; - import java.util.List; import java.util.Map; +import org.apache.ibatis.annotations.Mapper; + +import com.dsic.gj_erp.bean.jhgk.DmYdjh; + @Mapper public interface KbanMapper { @@ -28,7 +28,19 @@ public interface KbanMapper { List> getZyjhtj(String from, String to,String zyq); - List> zxqZxDetail(); + List> zxqZxDetail(String today); List> getZxqwcqk(); + + String qfxq(String from, String to); + + List> qfxqDetail(String from, String to); + + List> qfxqWcqk(String from, String to); + + Map zyjh(String from, String to); + + List> zyjhzx(String from, String to); + + Map todayZyjhzx(String from, String to); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml b/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml index d4b419c..1c6f89a 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml +++ b/src/main/java/com/dsic/gj_erp/mapper/fd/DmCzjbbMapper.xml @@ -1,9 +1,9 @@ - + - + diff --git a/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.xml b/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.xml index dfecadd..d9a4c12 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.xml +++ b/src/main/java/com/dsic/gj_erp/mapper/fd/DmXqdwcjcdMapper.xml @@ -1,9 +1,9 @@ - + - + diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index 5b3a845..7af1c39 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -1,18 +1,19 @@ package com.dsic.gj_erp.service; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.dsic.gj_erp.bean.ResultBean; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; + +import org.springframework.stereotype.Service; + import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.mapper.KbanMapper; -import com.dsic.gj_erp.pc.Constant; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import java.util.*; -import java.util.concurrent.atomic.AtomicInteger; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import lombok.AllArgsConstructor; @Service @AllArgsConstructor @@ -20,12 +21,60 @@ public class KbanService { private final KbanMapper kbanMapper; + public Map todayZyjhzx() { + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + Map map=kbanMapper.todayZyjhzx(from, to); + List> detail=kbanMapper.zxqZxDetail(date.toString("yyyy/MM/dd")); + map.put("detail", detail); + return map; + + } + + public List> zyjhzx() { + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return kbanMapper.zyjhzx(from, to); + + } + + public Map zyjhzxTable() { + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return kbanMapper.zyjh(from, to); + } + + public List> qfxqWcqk() { + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return kbanMapper.qfxqWcqk(from,to); + + } + + public Map qfxqTable() { + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + String xq=kbanMapper.qfxq(from,to); + List> list=kbanMapper.qfxqDetail(from,to); + + Map map=new HashMap<>(); + map.put("xq", xq); + map.put("detail", list); + return map; + } + public List> getZxqwcqk(){ return kbanMapper.getZxqwcqk(); } public List> zxqZxDetail(){ - return kbanMapper.zxqZxDetail(); + String today=DateUtil.date().toString("yyyy/MM/dd"); + return kbanMapper.zxqZxDetail(today); } public List> getZyjhtj(String zyq){ diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index a88675b..b1314f9 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -7,7 +7,14 @@ - + SELECT sum(dzjz) from dm_qfxq where xzglxq BETWEEN #{from} and #{to} + + + + + + + + + + From a757da291b8b0915798dcad81636506f75a52c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 18 Nov 2024 16:21:27 +0800 Subject: [PATCH 110/196] =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E7=BA=BF=E8=A1=A8?= =?UTF-8?q?=E7=94=98=E7=89=B9=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/controller/kban/KbanController.java | 8 ++++++++ src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java | 2 ++ src/main/java/com/dsic/gj_erp/service/KbanService.java | 4 ++++ src/main/resources/mappers/kban/KbanMapper.xml | 9 +++++++++ 4 files changed, 23 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index 9126471..4b38911 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -51,6 +51,14 @@ public class KbanController { private final SyMsgService msgService; private final DmSygdMxService service; + /** + * 线表甘特图 + */ + @GetMapping("/xbgtt") + public ResultBean xbgtt(String nf) { + return new ResultBean<>(this.kbanService.xbgtt(nf)); + } + /** * 30天作业区完成情况折线图 */ diff --git a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java index 8a22480..efd51ff 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java @@ -43,4 +43,6 @@ public interface KbanMapper { List> zyjhzx(String from, String to); Map todayZyjhzx(String from, String to); + + List> xbgtt(String nf); } diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index 7af1c39..0bb8e0d 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -21,6 +21,10 @@ public class KbanService { private final KbanMapper kbanMapper; + public List> xbgtt(String nf){ + return kbanMapper.xbgtt(nf); + } + public Map todayZyjhzx() { DateTime date = DateUtil.date(); String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index b1314f9..7e2efb9 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -192,4 +192,13 @@ WHERE jssj BETWEEN #{from} and #{to} + + From b6ffab054a06ad7f0f401e29dd3b3b0625160f35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 19 Nov 2024 10:29:44 +0800 Subject: [PATCH 111/196] =?UTF-8?q?1.=E7=9C=8B=E6=9D=BFpdf=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 14 ++++++++ .../controller/kban/KbanController.java | 33 +++++++++++++++++++ .../com/dsic/gj_erp/mapper/KbanMapper.java | 2 ++ .../com/dsic/gj_erp/service/KbanService.java | 4 +++ src/main/resources/application.properties | 2 +- .../resources/mappers/kban/KbanMapper.xml | 3 ++ 6 files changed, 57 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5daf058..43f4223 100644 --- a/pom.xml +++ b/pom.xml @@ -291,6 +291,20 @@ spring-boot-maven-plugin 2.3.4.RELEASE + + org.apache.maven.plugins + maven-jar-plugin + + + + com.dsic.gj_erp.GjErpApplication + + + ./ + + + + com.mysema.maven apt-maven-plugin diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index 9126471..d202b53 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -1,5 +1,7 @@ package com.dsic.gj_erp.controller.kban; +import java.io.File; +import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -8,6 +10,12 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.io.resource.ResourceUtil; +import cn.hutool.core.util.StrUtil; +import com.dsic.gj_erp.bean.jcsj.DmCbxxp; +import com.dsic.gj_erp.service.jcsj.DmBomService; +import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -51,6 +59,31 @@ public class KbanController { private final SyMsgService msgService; private final DmSygdMxService service; + + /** + * 船只批量获取接口 + */ + @GetMapping("/getProject") + public ResultBean getProject() { + return new ResultBean<>(kbanService.getProjects()); + } + + /** + * 根据船号和批量获取pdf列表 + */ + @GetMapping("/pdfList") + public ResultBean pdfList(String dcCh,String dcPl) { + String absolutePath = FileUtil.getWebRoot().getAbsolutePath(); + List ls; + try { + ls = FileUtil.loopFiles(StrUtil.format("{}/../static/upload/{}/{}/PDF",absolutePath, dcCh, dcPl)); + }catch (Exception e){ + ls = FileUtil.loopFiles(StrUtil.format("{}/static/upload/{}/{}/PDF",absolutePath, dcCh, dcPl)); + } + + return new ResultBean<>(ls.stream().map(FileUtil::getPrefix)); + } + /** * 30天作业区完成情况折线图 */ diff --git a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java index 8a22480..96e251a 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java @@ -10,6 +10,8 @@ import com.dsic.gj_erp.bean.jhgk.DmYdjh; @Mapper public interface KbanMapper { + List> getProjects(); + //线表重量 List getEveryMonXbzlByNf(String nf); diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index 7af1c39..7693e52 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -21,6 +21,10 @@ public class KbanService { private final KbanMapper kbanMapper; + public List> getProjects() { + return kbanMapper.getProjects(); + } + public Map todayZyjhzx() { DateTime date = DateUtil.date(); String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8ad0969..25cc696 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -43,7 +43,7 @@ mybatis-plus.configuration.batch-size=5000 zxtbm=PS - +spring.resources.static-locations=file:./static diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index b1314f9..3f354b5 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -192,4 +192,7 @@ WHERE jssj BETWEEN #{from} and #{to} + From 27a01499455f96e0f42e07a93433e9f56dbe0015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 20 Nov 2024 09:27:23 +0800 Subject: [PATCH 112/196] =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E4=B8=AD=E6=97=A5?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/kban/KbanController.java | 16 +++-- .../com/dsic/gj_erp/mapper/KbanMapper.java | 15 ++++ .../com/dsic/gj_erp/service/KbanService.java | 25 ++++++- .../resources/mappers/kban/KbanMapper.xml | 68 +++++++++++++++---- 4 files changed, 103 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index c94d421..e439692 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.controller.kban; import java.io.File; -import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -10,12 +9,6 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.io.resource.ResourceUtil; -import cn.hutool.core.util.StrUtil; -import com.dsic.gj_erp.bean.jcsj.DmCbxxp; -import com.dsic.gj_erp.service.jcsj.DmBomService; -import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -35,7 +28,9 @@ import com.dsic.gj_erp.service.zyjh.ZyjhService; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.StrUtil; import lombok.AllArgsConstructor; /** @@ -59,6 +54,13 @@ public class KbanController { private final SyMsgService msgService; private final DmSygdMxService service; + /** + * 中日程表格数据 + */ + @GetMapping("/zrcTable") + public ResultBean zrcTable() { + return new ResultBean<>(kbanService.zrcTable()); + } /** * 船只批量获取接口 diff --git a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java index 5a7b3fb..edd468e 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.mapper; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -47,4 +48,18 @@ public interface KbanMapper { Map todayZyjhzx(String from, String to); List> xbgtt(String nf); + + List> zrcpcsl(String from, String to); + + Integer tzsl(String from, String to); + + Integer ltsl(String from, String to); + + BigDecimal xqzl(String from, String to); + + BigDecimal dhzl(String from, String to); + + BigDecimal jhzl(String from, String to); + + BigDecimal wczl(String from, String to); } diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index 8f6f6e8..534e7d6 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.service; +import java.math.BigDecimal; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -21,6 +22,29 @@ public class KbanService { private final KbanMapper kbanMapper; + public Map zrcTable() { + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + List> zrcpcsl=kbanMapper.zrcpcsl(from, to); + Integer ltsl=kbanMapper.ltsl(from, to); + Integer tzsl = kbanMapper.tzsl(from, to); + BigDecimal xqzl=kbanMapper.xqzl(from, to); + BigDecimal dhzl = kbanMapper.dhzl(from, to); + BigDecimal jhzl = kbanMapper.jhzl(from, to); + BigDecimal wczl = kbanMapper.wczl(from, to); + + Map map=new HashMap<>(); + map.put("detail", zrcpcsl); + map.put("ltsl", ltsl); + map.put("tzsl", tzsl); + map.put("xqzl", xqzl); + map.put("dhzl", dhzl); + map.put("jhzl", jhzl); + map.put("wczl", wczl); + return map; + } + public List> getProjects() { return kbanMapper.getProjects(); } @@ -37,7 +61,6 @@ public class KbanService { List> detail=kbanMapper.zxqZxDetail(date.toString("yyyy/MM/dd")); map.put("detail", detail); return map; - } public List> zyjhzx() { diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index 7964c4c..766fae6 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -127,23 +127,24 @@ @@ -163,7 +164,7 @@ from dm_ydjh WHERE - zt >=62 and jssj BETWEEN '#{from} and #{to} and (SUBSTRING(tzbh,6,1)='1' or + zt >=62 and jssj BETWEEN #{from} and #{to} and (SUBSTRING(tzbh,6,1)='1' or SUBSTRING(tzbh,6,1)='3') UNION ALL SELECT @@ -196,12 +197,53 @@ + + + + + + + + + + + + + + + + + From bb26148bc035ad0cb4e605c314bff2e2ec919486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 21 Nov 2024 15:41:59 +0800 Subject: [PATCH 113/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E7=9C=8B=E6=9D=BF?= =?UTF-8?q?=E9=87=8D=E9=87=8F=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mappers/kban/KbanMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index 766fae6..bdde41d 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -128,8 +128,8 @@ + + From 63bad504bf6cdac0e215156a79b6786fc2350796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 26 Nov 2024 12:55:21 +0800 Subject: [PATCH 115/196] =?UTF-8?q?1.=E7=9C=8B=E6=9D=BF=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=202.=E5=A2=9E=E5=8A=A0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 2 ++ .../controller/kban/KbanController.java | 15 +++++++---- .../com/dsic/gj_erp/service/KbanService.java | 2 +- .../service/jhgk/impl/DmYdjhServiceImpl.java | 20 ++++++++++++++ src/main/resources/application.properties | 2 ++ .../resources/mappers/jhgk/DmYdjhMapper.xml | 4 +-- .../resources/mappers/kban/KbanMapper.xml | 27 ++++++++++--------- 7 files changed, 51 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 7d05681..fae3661 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -234,6 +234,8 @@ public class DmYdjh implements Serializable { private String ylbs;//余料标识 + private String plxh;//批量序号,用于语音批次派工 + @TableId(value = "id", type = IdType.ASSIGN_UUID) private String id; diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index e439692..07f4479 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -9,6 +9,8 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -45,7 +47,7 @@ import lombok.AllArgsConstructor; */ @RestController @RequestMapping("kban") -@AllArgsConstructor +@RequiredArgsConstructor public class KbanController { private final ZyjhService zyjhService; @@ -54,6 +56,9 @@ public class KbanController { private final SyMsgService msgService; private final DmSygdMxService service; + @Value("${pdfUri}") + private String pdfUri; + /** * 中日程表格数据 */ @@ -75,15 +80,15 @@ public class KbanController { */ @GetMapping("/pdfList") public ResultBean pdfList(String dcCh,String dcPl) { - String absolutePath = FileUtil.getWebRoot().getAbsolutePath(); List ls; try { - ls = FileUtil.loopFiles(StrUtil.format("{}/../static/upload/{}/{}/PDF",absolutePath, dcCh, dcPl)); + ls = FileUtil.loopFiles(StrUtil.format("{}/{}/{}/PDF", pdfUri,dcCh, dcPl)); + return new ResultBean<>(ls.stream().map(FileUtil::getPrefix)); }catch (Exception e){ - ls = FileUtil.loopFiles(StrUtil.format("{}/static/upload/{}/{}/PDF",absolutePath, dcCh, dcPl)); + e.printStackTrace(); } - return new ResultBean<>(ls.stream().map(FileUtil::getPrefix)); + return new ResultBean<>(); } /** diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index 534e7d6..b0c67ca 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -165,7 +165,7 @@ public class KbanService { if (zt>=11){ sl.incrementAndGet(); } - if (zt>=42){ + if (zt>=21){ slc.incrementAndGet(); } if (kw==1){ 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 350048d..599957d 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 @@ -246,6 +246,14 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme String bzrq= DateUtil.format(DateUtil.date(), "yyyy/MM/dd"); String gxsj=DateUtil.date().toString("yyyy/MM/dd HH:mm:ss"); + Map> collect = ydjhList.stream().collect(Collectors.groupingBy(item -> item.getDcCh() + "_" + item.getDcPl())); + collect.forEach((key,val)->{ + String plXh = this.getPlGdh(); + val.forEach(item->{ + item.setPlxh(plXh); + }); + }); + //工单号 List updateList = ydjhList.stream() .filter(item->StrUtil.isNotEmpty(item.getSljhrq())) @@ -314,6 +322,7 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme perfix=perfix.substring(2); dmYdjh.setDjh(StrUtil.format("{}{}",perfix, String.format("%03d",djh))); dmYdjh.setGxsj(gxsj); + dmYdjh.setPlxh(item.getPlxh()); return dmYdjh; } @@ -326,4 +335,15 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme 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)); + } + } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 25cc696..b532c40 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -45,5 +45,7 @@ zxtbm=PS spring.resources.static-locations=file:./static +pdfUri=D:/javaweb/static/upload + diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 2d3e05b..d3e11b7 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -904,7 +904,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index bdde41d..c2f3e7f 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -111,7 +111,7 @@ From 36c5887847b5d5bc4af41e8b1188720d9bb28de6 Mon Sep 17 00:00:00 2001 From: xhj Date: Thu, 28 Nov 2024 10:02:07 +0800 Subject: [PATCH 116/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/controller/pgd/PgdSljhController.java | 15 +++++++++++++++ src/main/resources/mappers/kc/ImCkwpkwp.xml | 4 +++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 943f7c8..a307c6e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -178,9 +178,24 @@ public class PgdSljhController { //dw_1.object.dyrq[ll_ii] = ls_datetime ListydupList=new ArrayList<>(); ListckupList=new ArrayList<>(); + for(SlKc slKc: list){ + if(StringUtils.isBlank(slKc.getSllsh())){ + ImCkwpkwp imCkwpkwp = new ImCkwpkwp(); + imCkwpkwp.setCkh(slKc.getCKH()); + imCkwpkwp.setWph(slKc.getWPH()); + imCkwpkwp.setKwh(slKc.getKWH()); + imCkwpkwp.setNbsbm(slKc.getNBSBM()); + imCkwpkwp.setSllsh(id); + imCkwpkwp.setDyrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); + imCkwpkwp.setDyry((String) req.getAttribute("yhms")); + ckupList.add(imCkwpkwp); + // slKc.setDyrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd")); + } + } + imCkwpkwpService.updateBatchByMultiId(ckupList); List qgkws = dm_zhbmpRepository.findByBMLB("QGKW"); diff --git a/src/main/resources/mappers/kc/ImCkwpkwp.xml b/src/main/resources/mappers/kc/ImCkwpkwp.xml index 20d51c6..b041640 100644 --- a/src/main/resources/mappers/kc/ImCkwpkwp.xml +++ b/src/main/resources/mappers/kc/ImCkwpkwp.xml @@ -88,7 +88,9 @@ and IM_CKWPKWP.lph=#{lph} - and IM_CKWPKWP.kwh=#{kwh} + and IM_CKWPKWP.kwh like '%'+#{kwh}+'%' + + and IM_CKWPKWP.wpxh=#{wpxh} From aa7dfc04dc62bbe3c37a627ff743e008faa7987e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 28 Nov 2024 13:45:46 +0800 Subject: [PATCH 117/196] =?UTF-8?q?1.=E4=BC=98=E5=8C=96=E8=B0=83=E6=95=B4,?= =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 1 + .../com/dsic/gj_erp/controller/jhgk/DmQfxqController.java | 2 +- .../com/dsic/gj_erp/controller/zyjh/ZyjhController.java | 6 +++--- .../dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java | 1 + .../java/com/dsic/gj_erp/service/zyjh/ZyjhService.java | 8 ++++---- src/main/resources/mappers/jhgk/DmYdjhMapper.xml | 2 +- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index fae3661..4ccabd6 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -406,6 +406,7 @@ public class DmYdjh implements Serializable { @AllArgsConstructor private enum ZyjhzxEnum{ + YXF("2",2), SLPP("11",11), // 上料匹配 比对库存给上垛位 SLFK("21",21), PWPG("31",31), diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java index d8143a0..a78507a 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java @@ -51,7 +51,7 @@ public class DmQfxqController { .eq(StrUtil.isNotEmpty(qfxq.getDcCh()), "dc_ch", qfxq.getDcCh()) .eq(StrUtil.isNotEmpty(qfxq.getXzglxq()), "substring(Xzglxq,0,8) ", qfxq.getXzglxq()) .eq(StrUtil.isNotEmpty(qfxq.getZt()), "zt", qfxq.getZt()) - .orderByAsc("DC_CH,cast(dc_pl as int),DC_FD")); + .orderByAsc("DC_CH,dc_pl,DC_FD")); return new ResultBean(list); } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index bfb766d..5aeee74 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -106,17 +106,17 @@ public class ZyjhController { } } if ("PWFK".equals(dto.getZxZtName())){ - ycldwInfoService.updatePw(dto.getYcldwInfo()); +// ycldwInfoService.updatePw(dto.getYcldwInfo()); wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } if ("HXFK".equals(dto.getZxZtName())){ - ycldwInfoService.updatePw(dto.getYcldwInfo()); +// ycldwInfoService.updatePw(dto.getYcldwInfo()); wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } if ("QGFK".equals(dto.getZxZtName())){ //无需划线,从理料间获取时才更新垛位信息 if ("42".equals(dto.getZt())){ - ycldwInfoService.updatePw(dto.getYcldwInfo()); +// ycldwInfoService.updatePw(dto.getYcldwInfo()); } wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); 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 5c3728f..d2cebf7 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 @@ -101,6 +101,7 @@ public class DmQfxqServiceImpl extends ServiceImpl impleme l.setDrr(username); l.setDrrq(day); l.setXqzt("0"); + l.setZt("0"); this.save(l); list1.add(l); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 3fc90e2..fb5529d 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -61,23 +61,23 @@ public class ZyjhService extends ServiceImpl { public void pgWithForeman(PgWithPcDto dto){ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() - .eq(DmYdjh::getDcCh,dto.getDcCh()).eq(DmYdjh::getDcPl,dto.getDcPl()).ge(DmYdjh::getZt,"2"); + .eq(DmYdjh::getDcCh,dto.getDcCh()).eq(DmYdjh::getDcPl,dto.getDcPl()).ge(DmYdjh::getZt,2); String pgrq = DateUtil.date().toString("yyyy/MM/dd"); switch (dto.getZt()){ case "21": wrapper.set(DmYdjh::getPwpgrq,pgrq).set(DmYdjh::getPwpgry,dto.getForemanId()); - wrapper.lt(DmYdjh::getZt,"31");//仅处理未派工的数据 + wrapper.lt(DmYdjh::getZt,31);//仅处理未派工的数据 break; case "42": case "52": if ("HXPG".equals(dto.getZxZtName())){ wrapper.set(DmYdjh::getHxpgrq,pgrq).set(DmYdjh::getHxpgry,dto.getForemanId()); - wrapper.lt(DmYdjh::getZt,"51");//仅处理未派工的数据 + wrapper.lt(DmYdjh::getZt,51);//仅处理未派工的数据 } if ("QGPG".equals(dto.getZxZtName())){ wrapper.set(DmYdjh::getQgpgrq,pgrq).set(DmYdjh::getQgpgry,dto.getForemanId()); - wrapper.lt(DmYdjh::getZt,"61");//仅处理未派工的数据 + wrapper.lt(DmYdjh::getZt,61);//仅处理未派工的数据 } break; } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index d3e11b7..268717e 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -931,7 +931,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} from dm_ydjh - where zt>=2 and zt<=62 + where zt>=11 and zt<=62 group by dc_ch, dc_pl,plxh order by dc_ch,dc_pl From f89fc18d392a2ff50153bb2498456a1449368cba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 28 Nov 2024 18:14:06 +0800 Subject: [PATCH 118/196] =?UTF-8?q?1.=E4=BC=98=E5=8C=96=E8=B0=83=E6=95=B4,?= =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/zyjh/ZyjhController.java | 23 ++++++++----- .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 2 +- .../gj_erp/service/zyjh/YcldwInfoService.java | 8 ++--- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 14 +++++--- .../resources/mappers/jhgk/DmYdjhMapper.xml | 33 ++++++++++++------- 5 files changed, 49 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 5aeee74..6e76507 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -105,21 +105,28 @@ public class ZyjhController { dmYdjh.setZtByZyjhzx(dto.getZxZtName()); } } + YcldwInfo info = dto.getYcldwInfo(); if ("PWFK".equals(dto.getZxZtName())){ -// ycldwInfoService.updatePw(dto.getYcldwInfo()); - wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ + ycldwInfoService.updatePw(info); + wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(info)); + } } if ("HXFK".equals(dto.getZxZtName())){ -// ycldwInfoService.updatePw(dto.getYcldwInfo()); - wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ + ycldwInfoService.updatePw(dto.getYcldwInfo()); + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + } } if ("QGFK".equals(dto.getZxZtName())){ //无需划线,从理料间获取时才更新垛位信息 - if ("42".equals(dto.getZt())){ -// ycldwInfoService.updatePw(dto.getYcldwInfo()); + if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ + if ("42".equals(dto.getZt())){ + ycldwInfoService.updatePw(dto.getYcldwInfo()); + } + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } - wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); - wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } zyjhService.updateBatchById(list); diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 3c05854..856c182 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -66,5 +66,5 @@ public interface DmYdjhMapper extends BaseMapper { List> getWcl(); - List> getYdjhByZt(String zt,String wgzt,String wclzt); + List> getYdjhByZt(String zt,String wgzt,String wclzt,String from, String to); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java index 61a2279..8fde3a4 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.service.zyjh; +import cn.hutool.core.util.ObjUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmYdjh; @@ -27,11 +28,8 @@ public class YcldwInfoService extends ServiceImpl { @Transactional(rollbackOn = Exception.class) public void updatePw(YcldwInfo info){ - - this.removeById(info.getId()); - baseMapper.pwfk(info.getCeng(),info.getDwId()); - - + this.removeById(info.getId()); + baseMapper.pwfk(info.getCeng(),info.getDwId()); } @Transactional(rollbackOn = Exception.class) diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index fb5529d..94d14fb 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -38,24 +38,28 @@ public class ZyjhService extends ServiceImpl { public List getYdjhByZtOrForeman(String zt,String foreman){ QueryWrapper wrapper = new QueryWrapper() - .lt("zt",62); + .ge("zt",11); switch (zt){ case "31": - wrapper.eq("pwpgry",foreman); + wrapper.eq("pwpgry",foreman).isNull("pwfkry"); break; case "51": - wrapper.eq("hxpgry",foreman); + wrapper.eq("hxpgry",foreman).isNull("hxfkry"); break; case "61": - wrapper.eq("qgpgry",foreman); + wrapper.eq("qgpgry",foreman).isNull("qgfkry"); break; } + wrapper.orderByDesc("dc_ch","dc_pl,dc_fd,tzbh"); return list(wrapper); } public List> getYdjhByZt(String zt,String wgzt,String wclzt){ - return baseMapper.getYdjhByZt(zt,wgzt,wclzt); + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return baseMapper.getYdjhByZt(zt,wgzt,wclzt,from,to); } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 268717e..5c7acdf 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -897,7 +897,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} from dm_ydjh where - zt>='2' and zt<'62' ) a + zt>=2 and zt<62 ) a where a.rn=1 order by dcCh asc ,dcPl desc ,zt @@ -906,32 +906,41 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} select dc_ch dcCh,dc_pl dcPl,count(1) total,plxh, - sum(case when isnull(qgfkry,'')='' then 1 else 0 end) wwg, - sum(case when isnull(qgfkry,'')!='' then 1 else 0 end) comp, + sum(case when isnull(qgfkrq,'')='' then 1 else 0 end) wwg, + sum(case when isnull(qgfkrq,'')!='' then 1 else 0 end) comp, - sum(case when isnull(hxfkry,'')='' then 1 else 0 end) wwg, - sum(case when isnull(hxfkry,'')!='' then 1 else 0 end) comp, + sum(case when isnull(hxfkrq,'')='' then 1 else 0 end) wwg, + sum(case when isnull(hxfkrq,'')!='' then 1 else 0 end) comp, - sum(case when isnull(pwfkry,'')='' then 1 else 0 end) wwg, - sum(case when isnull(pwfkry,'')!='' then 1 else 0 end) comp, + sum(case when isnull(pwfkrq,'')='' then 1 else 0 end) wwg, + sum(case when isnull(pwfkrq,'')!='' then 1 else 0 end) comp, - sum(case when zt=#{zt} then 1 else 0 end) compOnLastGx, + sum(case when zt>=#{zt} then 1 else 0 end) compOnLastGx, - sum(case when isnull(qgpgry,'')='' then 1 else 0 end) wpg + sum(case when isnull(qgpgrq,'')='' then 1 else 0 end) wpg - sum(case when isnull(hxpgry,'')='' then 1 else 0 end) wpg + sum(case when isnull(hxpgrq,'')='' then 1 else 0 end) wpg - sum(case when isnull(pwpgry,'')='' then 1 else 0 end) wpg + sum(case when isnull(pwpgrq,'')='' then 1 else 0 end) wpg from dm_ydjh - where zt>=11 and zt<=62 + where zt>=11 + + and isnull(qgfkrq,'')='' + + + and isnull(hxfkrq,'')='' + + + and isnull(pwfkrq,'')='' + group by dc_ch, dc_pl,plxh order by dc_ch,dc_pl From 855a58b58bc9d4f8b4cc71f28d99e0b4a82febc5 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, 1 Dec 2024 16:44:10 +0800 Subject: [PATCH 119/196] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E6=8A=9B=E4=B8=B8?= =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E9=80=BB=E8=BE=91,=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E5=9E=9B=E4=BD=8D=E7=82=B9=E5=87=BB=E5=90=8E=E5=8B=BE=E9=80=89?= =?UTF-8?q?=E6=B4=BE=E5=B7=A5,=E6=B4=BE=E5=B7=A5=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E5=AF=BC=E5=87=BAexcel=E4=BE=9B=E6=8A=9B=E4=B8=B8=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=202.=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E8=AF=AD=E9=9F=B3ws=E6=9C=8D=E5=8A=A1=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/zyjh/PwExcel.java | 27 +++++++++ .../com/dsic/gj_erp/bean/zyjh/YcldwInfo.java | 14 ++++- .../controller/zyjh/ZyjhController.java | 42 +++++++++++++- .../gj_erp/controller/zyjh/dto/PwpgDto.java | 15 +++++ .../gj_erp/listeners/ExcelPwListener.java | 57 +++++++++++++++++++ src/main/resources/application-localws.yml | 2 +- src/main/resources/application-ws.yml | 2 +- .../resources/mappers/zyjh/YcldwMapper.xml | 3 +- 8 files changed, 157 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwpgDto.java create mode 100644 src/main/java/com/dsic/gj_erp/listeners/ExcelPwListener.java diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java new file mode 100644 index 0000000..c8823e7 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java @@ -0,0 +1,27 @@ +package com.dsic.gj_erp.bean.zyjh; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class PwExcel { + + @ExcelProperty(value = "船号") + public String dcCh; + + @ExcelProperty(value = "批量") + public String dcPl; + + @ExcelProperty(value = "分段") + public String dcFd; + + @ExcelProperty(value = "套料图") + public String tlth; + + @ExcelProperty(value = "备注") + public String bz; + + public int dataOrder; +} diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java index b08bb4f..6cfca3f 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java @@ -44,6 +44,13 @@ public class YcldwInfo { return info; } + public static YcldwInfo ofPwpg(YcldwInfo info){ + YcldwInfo info1=new YcldwInfo(); + info1.setId(info.getId()); + info1.pwpg(); + return info1; + } + private void sl(){ this.bfrq= DateUtil.date().toString("yyyy/MM/dd"); this.baifang(); @@ -53,11 +60,16 @@ public class YcldwInfo { this.zt=ZtEnum.BF; } + private void pwpg(){ + this.zt=ZtEnum.PG; + } + public void paowan(){ this.zt=ZtEnum.PW; } private enum ZtEnum{ - BF,PW + //摆放,派工,抛丸 + BF,PG,PW } } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 6e76507..1966b1c 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -3,15 +3,19 @@ package com.dsic.gj_erp.controller.zyjh; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.jhgk.excel.GdxqExcel; +import com.dsic.gj_erp.bean.zyjh.PwExcel; import com.dsic.gj_erp.bean.zyjh.Ycldw; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; import com.dsic.gj_erp.controller.zyjh.dto.*; import com.dsic.gj_erp.exception.ServiceException; +import com.dsic.gj_erp.listeners.ExcelPwListener; import com.dsic.gj_erp.service.zyjh.YcldwInfoService; import com.dsic.gj_erp.service.zyjh.YcldwService; import com.dsic.gj_erp.service.zyjh.ZyjhService; @@ -21,10 +25,14 @@ import com.dsic.gj_erp.wsclient.WebSocketService; import lombok.AllArgsConstructor; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @RestController @RequestMapping("zyjh") @@ -41,6 +49,18 @@ public class ZyjhController { private final WebSocketService webSocketService; + /** + * 抛丸导入 + */ + @PostMapping("pwdr") + public ResultBean pwdr(MultipartFile file) throws IOException { + ExcelPwListener excelPwListener = new ExcelPwListener(); + EasyExcel.read(file.getInputStream(), GdxqExcel.class, excelPwListener).sheet(0).headRowNumber(1).doRead(); + List objList = excelPwListener.getObjectList(); + + return new ResultBean<>(); + } + /** * 根据状态或班组长,获取作业计划,用于报工 */ @@ -85,6 +105,27 @@ public class ZyjhController { return new ResultBean<>(zyjhService.getForeman(zyq)); } + /** + * 抛丸派工 + */ + @PostMapping("pwpg") + @Transactional(rollbackFor = Exception.class) + public ResultBean pwpg(@RequestBody PwpgDto dto){ + List ydjhList=new ArrayList<>(); + String date=DateUtil.date().toString("yyyy/MM/dd HH:mm:ss"); + List collect = dto.getList().stream().map(item -> { + DmYdjh dmYdjh = new DmYdjh(); + dmYdjh.setId(item.getYdid()); + dmYdjh.setPwpgry(dto.getWorker()); + dmYdjh.setPwpgrq(date); + ydjhList.add(dmYdjh); + return YcldwInfo.ofPwpg(item); + }).collect(Collectors.toList()); + ycldwInfoService.updateBatchById(collect); + zyjhService.updateBatchById(ydjhList); + return new ResultBean<>(); + } + /** * 作业计划执行,派工&反馈 */ @@ -283,7 +324,6 @@ public class ZyjhController { return new ResultBean<>(list); } - /** * 获取预处理垛位信息 */ diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwpgDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwpgDto.java new file mode 100644 index 0000000..9689308 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwpgDto.java @@ -0,0 +1,15 @@ +package com.dsic.gj_erp.controller.zyjh.dto; + +import com.dsic.gj_erp.bean.zyjh.YcldwInfo; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class PwpgDto { + + private String worker; + private List list; +} diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelPwListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelPwListener.java new file mode 100644 index 0000000..ebc0e2b --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelPwListener.java @@ -0,0 +1,57 @@ +package com.dsic.gj_erp.listeners; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.dsic.gj_erp.bean.zyjh.PwExcel; +import com.dsic.gj_erp.util.ObjConvertUtils; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Excel通用监听器 + */ +public class ExcelPwListener extends AnalysisEventListener { + + private static final int BATCH_COUNT = 500; + + @Getter + List objectList = new ArrayList<>(); + List headList = new ArrayList<>(); + + List datas = new ArrayList<>(); + + @Override + public void invoke(PwExcel excelDemo, AnalysisContext analysisContext) { + boolean b = ObjConvertUtils.checkObjAllFieldsIsNull(excelDemo); + if(!b){ + datas.add(excelDemo); + } + + if (datas.size() >= BATCH_COUNT) { + saveData(); + datas.clear(); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + saveData(); + } + + //获取表头 + @Override + public void invokeHeadMap(Map headMap, AnalysisContext context) { + headList.add(headMap); + } + + /** + * 入库 + */ + private void saveData() { + objectList.addAll(datas); + } + +} diff --git a/src/main/resources/application-localws.yml b/src/main/resources/application-localws.yml index fbc2ea4..9674cc9 100644 --- a/src/main/resources/application-localws.yml +++ b/src/main/resources/application-localws.yml @@ -9,5 +9,5 @@ ws: maxHttpContentLength: 1048576 maxFramePayloadLength: 1048576 client: - url: ws://192.168.18.1:9000 + url: ws://192.168.13.10:9000 id: 100000000001 \ No newline at end of file diff --git a/src/main/resources/application-ws.yml b/src/main/resources/application-ws.yml index c6a5680..0616ec5 100644 --- a/src/main/resources/application-ws.yml +++ b/src/main/resources/application-ws.yml @@ -9,5 +9,5 @@ ws: maxHttpContentLength: 1048576 maxFramePayloadLength: 1048576 client: - url: ws://127.0.0.1:9000 + url: ws://192.127.2.199:9000 id: 100000000001 \ No newline at end of file diff --git a/src/main/resources/mappers/zyjh/YcldwMapper.xml b/src/main/resources/mappers/zyjh/YcldwMapper.xml index 77cee38..b57409d 100644 --- a/src/main/resources/mappers/zyjh/YcldwMapper.xml +++ b/src/main/resources/mappers/zyjh/YcldwMapper.xml @@ -24,13 +24,14 @@ + b.id info_id,b.dw_id info_dw_id,b.ceng info_ceng,b.czbh info_czbh,b.pl info_pl,b.fd info_fd,b.kw info_kw,b.zl info_zl, b.tlth info_tlth,b.wpgg info_wpgg,b.wph info_wph,b.sljhrq info_sljhrq,b.qgjhrq info_qgjhrq,b.bfr info_bfr, - b.bfrq info_bfrq,b.zt info_zt + b.bfrq info_bfrq,b.zt info_zt,b.ydid info_ydid From 97b39880a5b0a20ed0ceaf77f9c55575ab49232c Mon Sep 17 00:00:00 2001 From: xhj Date: Tue, 3 Dec 2024 10:45:54 +0800 Subject: [PATCH 123/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 1 + .../com/dsic/gj_erp/controller/pgd/PgdSljhController.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index aef210d..46607e2 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -292,6 +292,7 @@ public class DmYdjh implements Serializable { private String sllsh; // 预处理垛位 private String sldrry; // 预处理垛位 private String sldrrq; // 预处理垛位 + private String sllph; // 预处理垛位 // 派工及反馈 private String slpgry; // 派工人 diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 0d2d9ef..0056254 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -422,6 +422,7 @@ public class PgdSljhController { dmYdjh.setSlhth(slKc.getDcFd()); dmYdjh.setSlwlh(slKc.getWPH()); dmYdjh.setNbsbm(slKc.getNBSBM()); + dmYdjh.setSllph(slKc.getLPH()); dmYdjh.setSlycldw((Integer) map.get("dw")); @@ -524,6 +525,7 @@ public class PgdSljhController { dmYdjh.setSlxhth(slKc.getGCDDH()); dmYdjh.setSlhth(slKc.getDcFd()); dmYdjh.setNbsbm(slKc.getNBSBM()); + dmYdjh.setSllph(slKc.getLPH()); dmYdjh.setSlwlh(slKc.getWPH()); dmYdjh.setKcch(slKc.getDCCH()); imCkwpkwp.setZylx(getLx(dmYdjh.getLqlb(), dmYdjh.getZl(),dmYdjh.getTzbh())); @@ -543,6 +545,7 @@ public class PgdSljhController { dmYdjh.setSlxhth(slKc.getGCDDH()); dmYdjh.setSlhth(slKc.getDcFd()); dmYdjh.setNbsbm(slKc.getNBSBM()); + dmYdjh.setSllph(slKc.getLPH()); dmYdjh.setSlwlh(slKc.getWPH()); dmYdjh.setKcch(slKc.getDCCH()); dmYdjh.setId(slKc.getYdid()); @@ -925,6 +928,7 @@ public class PgdSljhController { dmYdjh.setSlxhth(slKc.getGCDDH()); dmYdjh.setSlhth(slKc.getDcFd()); dmYdjh.setNbsbm(slKc.getNBSBM()); + dmYdjh.setSllph(slKc.getLPH()); dmYdjh.setSlwlh(slKc.getWPH()); dmYdjh.setSlycldw((Integer) map.get("dw")); @@ -994,6 +998,7 @@ public class PgdSljhController { ydjh.setSlxhth(""); ydjh.setSlhth(""); ydjh.setNbsbm(""); + ydjh.setSllph(""); ydjh.setSlwlh(""); ydjh.setKcch(""); From e7a207c0a60345a3daf77d32330d9ae8988fbfa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 3 Dec 2024 17:33:20 +0800 Subject: [PATCH 124/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=89=A7=E8=A1=8C=E6=8B=96=E6=8B=BD=E6=8A=A5?= =?UTF-8?q?=E5=B7=A5=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98=202.=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=A2=84=E9=85=8D=E7=9B=98=E5=8E=9F=E5=88=99=E5=8E=9F?= =?UTF-8?q?=E5=88=99=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=203.=E6=8A=9B?= =?UTF-8?q?=E4=B8=B8=E6=B4=BE=E5=B7=A5=E5=A2=9E=E5=8A=A0=E6=9D=90=E8=B4=A8?= =?UTF-8?q?=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java | 16 ++++++ .../com/dsic/gj_erp/bean/zyjh/DmYppyz.java | 30 +++++++++++ .../com/dsic/gj_erp/bean/zyjh/YcldwInfo.java | 5 +- .../controller/zyjh/DmYppyzController.java | 53 +++++++++++++++++++ .../gj_erp/mapper/zyjh/DmYppyzMapper.java | 9 ++++ .../gj_erp/service/zyjh/DmYppyzService.java | 10 ++++ .../resources/mappers/pgd/PgdQmjhMapper.xml | 16 +++--- .../resources/mappers/zyjh/DmYppyzMapper.xml | 5 ++ .../resources/mappers/zyjh/YcldwMapper.xml | 3 +- 9 files changed, 137 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/zyjh/DmYppyz.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/DmYppyzController.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/zyjh/DmYppyzMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/service/zyjh/DmYppyzService.java create mode 100644 src/main/resources/mappers/zyjh/DmYppyzMapper.xml diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java index 982e872..b3bae79 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java @@ -320,6 +320,22 @@ public class DmYdjhLj implements Serializable { @TableField(exist = false) private String lljhrq; // 理料计划日期 + //=====预配盘相关============== + @TableField(exist = false) + private String yzDcCh; + @TableField(exist = false) + private String yzDcPl; + @TableField(exist = false) + private String yzDcFd; + @TableField(exist = false) + private String yzZl; + @TableField(exist = false) + private String yzTz; + @TableField(exist = false) + private String yzLx; + @TableField(exist = false) + private String yzXj; + public boolean checkZt(){ return !"03".equals(this.pkZt)||!"03".equals(this.qjgZt)||!"03".equals(this.dmZt); } 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 new file mode 100644 index 0000000..76665ff --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/DmYppyz.java @@ -0,0 +1,30 @@ +package com.dsic.gj_erp.bean.zyjh; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class DmYppyz { + + @TableId(type = IdType.AUTO) + public Integer id; + + public String dcCh; + + private String dcPl; + + private String dcFd; + + private String kw; + + private String zl; + + private String tz; + + private String lx; + + private String xj; +} diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java index 56d112d..614072d 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java @@ -29,8 +29,9 @@ public class YcldwInfo { private String zl; private String tlth; - private String wph; - private String wlh; + private String wph;//对应材质 + private String wlh;//对应物品号 + private String lph;//对应物料号 private String wpgg; private String nbsbm;//内码 private String sljhrq; diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/DmYppyzController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/DmYppyzController.java new file mode 100644 index 0000000..976dff4 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/DmYppyzController.java @@ -0,0 +1,53 @@ +package com.dsic.gj_erp.controller.zyjh; + + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.zyjh.DmYppyz; +import com.dsic.gj_erp.service.zyjh.DmYppyzService; +import lombok.AllArgsConstructor; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("yppyz") +@AllArgsConstructor +public class DmYppyzController { + + private final DmYppyzService service; + + @PostMapping("submit") + @Transactional(rollbackFor = Exception.class) + public ResultBean list(@RequestBody Map> map){ + if (map.get("add")!=null){ + map.get("add").forEach(service::save); + } + + if (map.get("edit")!=null){ + service.updateBatchById(map.get("edit")); + } + + if (map.get("remove")!=null){ + List remove = map.get("remove").stream().map(DmYppyz::getId).collect(Collectors.toList()); + service.removeByIds(remove); + } + + return new ResultBean<>(); + } + + @PostMapping("list") + public ResultBean list(@RequestBody DmYppyz entity){ + List list = service.list(Wrappers.lambdaQuery() + .eq(StrUtil.isNotEmpty(entity.getDcCh()), DmYppyz::getDcCh, entity.getDcCh()) + ); + return new ResultBean<>(list); + } +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/zyjh/DmYppyzMapper.java b/src/main/java/com/dsic/gj_erp/mapper/zyjh/DmYppyzMapper.java new file mode 100644 index 0000000..1b2b738 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/zyjh/DmYppyzMapper.java @@ -0,0 +1,9 @@ +package com.dsic.gj_erp.mapper.zyjh; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.zyjh.DmYppyz; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DmYppyzMapper extends BaseMapper { +} diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/DmYppyzService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/DmYppyzService.java new file mode 100644 index 0000000..7d4610d --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/DmYppyzService.java @@ -0,0 +1,10 @@ +package com.dsic.gj_erp.service.zyjh; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.zyjh.DmYppyz; +import com.dsic.gj_erp.mapper.zyjh.DmYppyzMapper; +import org.springframework.stereotype.Service; + +@Service +public class DmYppyzService extends ServiceImpl { +} diff --git a/src/main/resources/mappers/pgd/PgdQmjhMapper.xml b/src/main/resources/mappers/pgd/PgdQmjhMapper.xml index 2280bd9..3d5d753 100644 --- a/src/main/resources/mappers/pgd/PgdQmjhMapper.xml +++ b/src/main/resources/mappers/pgd/PgdQmjhMapper.xml @@ -374,18 +374,20 @@ dm_qfxq.xzglxq_old, dm_qfxq.xqzt, dm_qfxq.dzglxq, - dm_qfxq.dzglxq_old - - - - - + dm_qfxq.dzglxq_old, + yz.dc_ch yzDcCh, + yz.dc_pl yzDcPl, + yz.dc_fd yzDcFd, + yz.zl yzZl, + yz.tz yzTz, + yz.lx yzLx, + yz.xj yzXj FROM dm_ydjh_lj LEFT JOIN dm_ydjh on dm_ydjh.dc_ch=dm_ydjh_lj.czbh and dm_ydjh.dc_pl= dm_ydjh_lj.pl and dm_ydjh.tzbh =dm_ydjh_lj.tlth and dm_ydjh.dc_pl= dm_ydjh_lj.fd left join dm_qfxq on dm_qfxq.dc_ch = dm_ydjh_lj.czbh and dm_qfxq.dc_pl=dm_ydjh_lj.pl and dm_qfxq.dc_fd=dm_ydjh_lj.fd - + left join dm_yppyz yz on dm_ydjh_lj.czbh=yz.dc_ch and dm_ydjh_lj.pl=yz.dc_pl and dm_ydjh_lj.fd=yz.dc_fd and substring(dm_ydjh_lj.tlth,8,1)=yz.zl where 1=1 and dm_ydjh_lj.czbh=#{dcch} diff --git a/src/main/resources/mappers/zyjh/DmYppyzMapper.xml b/src/main/resources/mappers/zyjh/DmYppyzMapper.xml new file mode 100644 index 0000000..b918d7e --- /dev/null +++ b/src/main/resources/mappers/zyjh/DmYppyzMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/mappers/zyjh/YcldwMapper.xml b/src/main/resources/mappers/zyjh/YcldwMapper.xml index fb6cddc..2ab1e5a 100644 --- a/src/main/resources/mappers/zyjh/YcldwMapper.xml +++ b/src/main/resources/mappers/zyjh/YcldwMapper.xml @@ -27,13 +27,14 @@ + b.id info_id,b.dw_id info_dw_id,b.ceng info_ceng,b.czbh info_czbh,b.pl info_pl,b.fd info_fd,b.kw info_kw,b.zl info_zl, b.tlth info_tlth,b.wpgg info_wpgg,b.wph info_wph,b.sljhrq info_sljhrq,b.qgjhrq info_qgjhrq,b.bfr info_bfr, - b.bfrq info_bfrq,b.zt info_zt,b.ydid info_ydid,b.wlh info_wlh,b.nbsbm info_nbsbm + b.bfrq info_bfrq,b.zt info_zt,b.ydid info_ydid,b.wlh info_wlh,b.nbsbm info_nbsbm,b.lph info_lph diff --git a/src/main/resources/mappers/xiaochi/DeviceMapper.xml b/src/main/resources/mappers/xiaochi/DeviceMapper.xml index deeaac6..270c3c3 100644 --- a/src/main/resources/mappers/xiaochi/DeviceMapper.xml +++ b/src/main/resources/mappers/xiaochi/DeviceMapper.xml @@ -2,4 +2,18 @@ + From dad46d4e15dee746f6c86bb6bfd75ba789a771dd Mon Sep 17 00:00:00 2001 From: xhj Date: Mon, 9 Dec 2024 17:39:10 +0800 Subject: [PATCH 126/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/bean/kc/SlKc.java | 1 + .../controller/jhgk/DmYdjhController.java | 8 +++- .../controller/pgd/PgdSljhController.java | 45 +++++++++++++++++-- 3 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java b/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java index 9c1d93d..de74ae8 100644 --- a/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java +++ b/src/main/java/com/dsic/gj_erp/bean/kc/SlKc.java @@ -65,6 +65,7 @@ public class SlKc { private String dyrq; private String ydid; private Integer xh; + private String cz; private List list; } 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 e6878b0..2cb5836 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 @@ -75,9 +75,13 @@ public class DmYdjhController { // .ge(StrUtil.isNotEmpty(map.get("yf")), "jssj", DateUtil.beginOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")) // .le(StrUtil.isNotEmpty(map.get("yf")), "jssj", DateUtil.endOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")) // .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb") + if(StringUtils.isBlank(map.get("yf"))){ + + }else{ + map.put("yf",DateUtil.beginOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")); + map.put("yf1",DateUtil.endOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")); + } - map.put("yf",DateUtil.beginOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")); - map.put("yf1",DateUtil.endOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")); List getydjhhz = dmYdjhMapper.getydjhhz(map); return new ResultBean(getydjhhz); } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 0056254..396abb2 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -871,6 +871,32 @@ public class PgdSljhController { } + public String getwpcz(String wpcz){ + if(wpcz.contains("ABS")){ + return wpcz.replace("ABS",""); + }else if (wpcz.contains("ABS/CCS")){ + return wpcz.replace("ABS/CCS",""); + }else if (wpcz.contains("BV/CCS")){ + return wpcz.replace("BV/CCS",""); + }else if (wpcz.contains("CCS")){ + return wpcz.replace("CCS",""); + }else if (wpcz.contains("DNV")){ + return wpcz.replace("DNV",""); + }else if (wpcz.contains("DNV/CCS")){ + return wpcz.replace("DNV/CCS",""); + }else if (wpcz.contains("DNV/GL")){ + return wpcz.replace("DNV/GL",""); + }else if (wpcz.contains("LR")){ + return wpcz.replace("LR",""); + }else if (wpcz.contains("LR/CCS")){ + return wpcz.replace("LR/CCS",""); + }else { + return wpcz; + } + + //return wpcz; + } + @PostMapping("kcAdnSlBd2") @ResponseBody public ResultBean kcAdnSlBd2(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException { @@ -886,18 +912,28 @@ public class PgdSljhController { qw.orderBy(true,true,"sljhrq"); List ydjhs = dmYdjhService.list(qw); //库存标识 不等于 01 没有匹配上 + /*** + * ABS + * ABS/CCS + * BV/CCS + * CCS + * DNV + * DNV/CCS + * DNV/GL + * LR + * LR/CCS + */ - - - List czList = dmCbxxpService.list(); ListydupList=new ArrayList<>(); ListckupList=new ArrayList<>(); // 进行比对 for(SlKc slKc :slKcs){ + + // 获取船级社 String cjs=""; DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null); @@ -915,7 +951,8 @@ public class PgdSljhController { && StringUtils.isNotBlank(fst.getWpxh()) && fst.getWpgg().equalsIgnoreCase(slKc.getWPGG()) && (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH()) - || (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH())) + || (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH()) + || ("DY".equalsIgnoreCase(slKc.getWPZT()) && getwpcz(slKc.getWPXH()).equalsIgnoreCase(fst.getWpxh()))) ) .findFirst() .orElse(null); From 8fc046bd0df6f2f43e34724110a7652596caf4f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 10 Dec 2024 14:06:38 +0800 Subject: [PATCH 127/196] =?UTF-8?q?1.=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/jhgk/impl/YdjhImportService.java | 573 ++++++++++++++++++ 1 file changed, 573 insertions(+) create mode 100644 src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java 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 new file mode 100644 index 0000000..bb36021 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java @@ -0,0 +1,573 @@ +package com.dsic.gj_erp.service.jhgk.impl; + +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.jcsj.DmBom; +import com.dsic.gj_erp.bean.jhgk.DmSygd; +import com.dsic.gj_erp.bean.jhgk.DmSygdMx; +import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; +import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; +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.jhgk.DmSygdMxService; +import com.dsic.gj_erp.service.jhgk.DmSygdService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.TreeSet; +import java.util.stream.Collectors; + +@Service +@AllArgsConstructor +public class YdjhImportService extends ServiceImpl { + + private final DmSygdxqMapper sygdxqMapper; + private final DmSygdMxLjService ljService; + + @Transactional(rollbackFor = Exception.class) + public void handler(List objList){ + List qwb = objList.stream().filter(JhxfExcel::isAvailable) + .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(JhxfExcel::isAvailable) + .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(list); + } + +// @Transactional(rollbackFor = Exception.class) +// public void handlerLj(List mxList){ +// //处理零件信息 +// List ljList = sygdxqMapper.getSygdLjMx(begin,end); +// ljList.forEach(lj-> mxList.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,500); +// } + + /** + * 月度计划导入,不使用月度计划只能排产功能前提下使用该功能导入月度计划 + */ + @Transactional(rollbackFor = Exception.class) + public void execute(List objList) { + objList.forEach(item->{ + if (item.getDcPl().contains("A")){ + item.setDcPl(item.getDcPl().replace("A","")); + } + + if (item.getDcPl().contains("B")){ + item.setDcPl(item.getDcPl().replace("B","")); + } + + if (item.getDcPl().contains("C")){ + item.setDcPl(item.getDcPl().replace("C","")); + } + + if (item.getDcPl().contains("Q")){ + item.setDcPl(item.getDcPl().replace("Q","")); + item.setQwbBs(true); + } + + String format = String.format("%03d", Integer.parseInt(item.getDcPl())); + item.setDcPl(format); + + String[] dcfd=item.getDcFd().split("\\."); + + for (int fdIndex=0;fdIndex() + .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 addList=new ArrayList<>(); + + if (!item.isAvailable()){ + addList.add(this.initDefault(item,dcFd)); + continue; + } + + List ljList = sygdxqMapper.getSygdLjMx1(item.getDcCh(), item.getDcPl(),dcFd); + + List sygdMxes; + if (item.getQwbBs()){ + sygdMxes = this.initBySl(item,ljList.stream() + .filter(it->"3".equals(it.getTzbh().substring(5,6))) + .collect(Collectors.toList()),dcFd + ); + }else{ + sygdMxes = this.initBySl(item,ljList.stream() + .filter(it->!"3".equals(it.getTzbh().substring(5,6))) + .collect(Collectors.toList()),dcFd + ); + } + + addList.addAll(sygdMxes); + + int _index=0; + int start=0; + int yklmbs=0; + try { + yklmbs=Integer.parseInt(item.getYklm()); + }catch (Exception ignored){} + if (yklmbs>0){ + if (!sygdMxes.isEmpty()){ + _index+=yklmbs; + if (_index>sygdMxes.size()){ + _index=sygdMxes.size(); + //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},一垮龙门板数超过上料张数",item.getDcCh(),item.getDcPl())); + } + for (int i=start;i<_index;i++){ + this.updateByYklm(item,sygdMxes.get(i)); + } + start+=yklmbs; + }else{ + List list = this.initByYklm(item, yklmbs,ljList,dcFd); + addList.addAll(list); + } + } + + int yksk=0; + try { + yksk=Integer.parseInt(item.getYksk()); + }catch (Exception ignored){} + if (yksk>0){ + if (!sygdMxes.isEmpty()){ + _index+=yksk; + if (_index>sygdMxes.size()){ + _index=sygdMxes.size(); + //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},一垮数控板数超过上料张数",item.getDcCh(),item.getDcPl())); + } + for (int i=start;i<_index;i++){ + this.updateByYksk(item,sygdMxes.get(i)); + } + start+=yksk; + }else{ + List list = this.initByYksk(item, yksk,ljList,dcFd); + addList.addAll(list); + } + } + + int eklmbs=0; + try { + eklmbs=Integer.parseInt(item.getEklmbs()); + }catch (Exception ignored){} + if (eklmbs>0){ + if (!sygdMxes.isEmpty()){ + _index+=eklmbs; + if (_index>sygdMxes.size()){ + _index=sygdMxes.size(); + //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},二垮龙门板数超过上料张数",item.getDcCh(),item.getDcPl())); + } + for (int i=start;i<_index;i++){ + this.updateByEklm(item,sygdMxes.get(i)); + } + start+=eklmbs; + }else{ + List list = this.initByEklmbs(item, eklmbs,ljList,dcFd); + addList.addAll(list); + } + } + + int eksk=0; + try { + eksk=Integer.parseInt(item.getEksk()); + }catch (Exception ignored){} + if (eksk>0){ + if (!sygdMxes.isEmpty()){ + _index+=eksk; + if (_index>sygdMxes.size()){ + _index=sygdMxes.size(); + //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},二垮数控板数超过上料张数",item.getDcCh(),item.getDcPl())); + } + for (int i=start;i<_index;i++){ + this.updateByEksk(item,sygdMxes.get(i)); + } + start+=eksk; + }else{ + List list = this.initByEksk(item, eksk,ljList,dcFd); + addList.addAll(list); + } + } + + int sksk=0; + try { + sksk=Integer.parseInt(item.getSksk()); + }catch (Exception ignored){} + if (sksk>0){ + if (!sygdMxes.isEmpty()){ + _index+=sksk; + if (_index>sygdMxes.size()){ + _index=sygdMxes.size(); + //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮数控板数超过上料张数",item.getDcCh(),item.getDcPl())); + } + for (int i=start;i<_index;i++){ + this.updateBySksk(item,sygdMxes.get(i)); + } + start+=sksk; + }else{ + List list = this.initBySksk(item, sksk,ljList,dcFd); + addList.addAll(list); + } + } + + int skpt=0; + try { + skpt=Integer.parseInt(item.getSkpt()); + }catch (Exception ignored){} + if (skpt>0){ + if (!sygdMxes.isEmpty()){ + _index+=skpt; + if (_index>sygdMxes.size()){ + _index=sygdMxes.size(); + //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮平铁板数超过上料张数",item.getDcCh(),item.getDcPl())); + } + for (int i=start;i<_index;i++){ + this.updateBySkpt(item,sygdMxes.get(i)); + } + start+=skpt; + }else{ + List list = this.initBySkpt(item, skpt,ljList,dcFd); + addList.addAll(list); + } + } + + int skbs=0; + try { + skbs=Integer.parseInt(item.getSkbs()); + }catch (Exception ignored){} + if (skbs>0){ + if (!sygdMxes.isEmpty()){ + _index+=skbs; + if (_index>sygdMxes.size()){ + _index=sygdMxes.size(); + //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮数控板数超过上料张数",item.getDcCh(),item.getDcPl())); + } + for (int i=start;i<_index;i++){ + this.updateBySkbs(item,sygdMxes.get(i)); + } + start+=skbs; + }else{ + List list = this.initBySkbs(item, skbs,ljList,dcFd); + 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,500); + } + }); + } + + 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"); + } + return dmSygdMx; + } + + private List initBySl(JhxfExcel item,List bomList,String dcFd){ + int slbs=0; + try { + slbs=Integer.parseInt(item.getBs1()); + }catch (Exception ignored){} + + List addList=new ArrayList<>(); + + if (slbs>0){ + if (bomList.isEmpty()){ + DmSygdMx dmSygdMx = this.initDefault(item,dcFd); + addList.add(dmSygdMx); + return addList; + } + ArrayList list = bomList.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) + ); + for(int i=0;i=list.size()){ + break; + } + DmSygdMx init = this.initBySl(item,list.get(i),dcFd); + addList.add(init); + } + } + return addList; + } + + private List initByYklm(JhxfExcel item,int sl,List bomList,String dcFd){ + List addList=new ArrayList<>(); + if (bomList.isEmpty()){ + DmSygdMx dmSygdMx = this.initDefault(item,dcFd); + addList.add(dmSygdMx); + return addList; + } + ArrayList list = bomList.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) + ); + for(int i=0;i=list.size()){ + break; + } + DmSygdMx init = this.initByYklm(item,list.get(i),dcFd); + addList.add(init); + } + return addList; + } + + private List initByYksk(JhxfExcel item,int sl,List bomList,String dcFd){ + List addList=new ArrayList<>(); + if (bomList.isEmpty()){ + DmSygdMx dmSygdMx = this.initDefault(item,dcFd); + addList.add(dmSygdMx); + return addList; + } + ArrayList list = bomList.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) + ); + for(int i=0;i=list.size()){ + break; + } + DmSygdMx init = this.initByYksk(item,list.get(i),dcFd); + addList.add(init); + } + return addList; + } + + private List initByEklmbs(JhxfExcel item,int sl,List bomList,String dcFd){ + List addList=new ArrayList<>(); + if (bomList.isEmpty()){ + DmSygdMx dmSygdMx = this.initDefault(item,dcFd); + addList.add(dmSygdMx); + return addList; + } + ArrayList list = bomList.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) + ); + for(int i=0;i=list.size()){ + break; + } + DmSygdMx init = this.initByEklmbs(item,list.get(i),dcFd); + addList.add(init); + } + return addList; + } + + private List initByEksk(JhxfExcel item,int sl,List bomList,String dcFd){ + List addList=new ArrayList<>(); + if (bomList.isEmpty()){ + DmSygdMx dmSygdMx = this.initDefault(item,dcFd); + addList.add(dmSygdMx); + return addList; + } + ArrayList list = bomList.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) + ); + for(int i=0;i=list.size()){ + break; + } + DmSygdMx init = this.initByEksk(item,list.get(i),dcFd); + addList.add(init); + } + return addList; + } + + private List initBySksk(JhxfExcel item,int sl,List bomList,String dcFd){ + List addList=new ArrayList<>(); + if (bomList.isEmpty()){ + DmSygdMx dmSygdMx = this.initDefault(item,dcFd); + addList.add(dmSygdMx); + return addList; + } + ArrayList list = bomList.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) + ); + for(int i=0;i=list.size()){ + break; + } + DmSygdMx init = this.initBySksk(item,list.get(i),dcFd); + addList.add(init); + } + return addList; + } + + private List initBySkpt(JhxfExcel item,int sl,List bomList,String dcFd){ + List addList=new ArrayList<>(); + if (bomList.isEmpty()){ + DmSygdMx dmSygdMx = this.initDefault(item,dcFd); + addList.add(dmSygdMx); + return addList; + } + ArrayList list = bomList.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) + ); + for(int i=0;i=list.size()){ + break; + } + DmSygdMx init = this.initBySkpt(item,list.get(i),dcFd); + addList.add(init); + } + return addList; + } + + private List initBySkbs(JhxfExcel item,int sl,List bomList,String dcFd){ + List addList=new ArrayList<>(); + if (bomList.isEmpty()){ + DmSygdMx dmSygdMx = this.initDefault(item,dcFd); + addList.add(dmSygdMx); + return addList; + } + ArrayList list = bomList.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) + ); + for(int i=0;i=list.size()){ + break; + } + DmSygdMx init = this.initBySkbs(item,list.get(i),dcFd); + addList.add(init); + } + return addList; + } + + private void updateByYklm(JhxfExcel item, DmSygdMx dmSygdMx){ + dmSygdMx.setKw("7"); + dmSygdMx.setQgrq(item.getYkpkjs()); + } + + private void updateByYksk(JhxfExcel item, DmSygdMx dmSygdMx){ + dmSygdMx.setKw("8"); + dmSygdMx.setQgrq(item.getYkpkjs()); + } + + private void updateByEklm(JhxfExcel item, DmSygdMx dmSygdMx){ + dmSygdMx.setKw("5"); + dmSygdMx.setQgrq(item.getLmqgks()); + } + + private void updateByEksk(JhxfExcel item, DmSygdMx dmSygdMx){ + dmSygdMx.setKw("9"); + dmSygdMx.setQgrq(item.getEkskks()); + } + + private void updateBySksk(JhxfExcel item, DmSygdMx dmSygdMx){ + dmSygdMx.setKw("14"); + dmSygdMx.setQgrq(item.getSkskqgks()); + dmSygdMx.setQjgrq(item.getQptjs()); + } + + private void updateBySkpt(JhxfExcel item, DmSygdMx dmSygdMx){ + dmSygdMx.setKw("6"); + dmSygdMx.setQgrq(item.getPtks()); + } + + private void updateBySkbs(JhxfExcel 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); + this.updateByYklm(item,dmSygdMx); + return dmSygdMx; + } + + private DmSygdMx initByYksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){ + DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); + dmSygdMx.setDcFd(dcFd); + this.updateByYksk(item,dmSygdMx); + return dmSygdMx; + } + + private DmSygdMx initByEklmbs(JhxfExcel item, DmSygdMxLj bom,String dcFd){ + DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); + dmSygdMx.setDcFd(dcFd); + this.updateByEklm(item,dmSygdMx); + return dmSygdMx; + } + + private DmSygdMx initByEksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){ + DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); + dmSygdMx.setDcFd(dcFd); + this.updateByEksk(item,dmSygdMx); + return dmSygdMx; + } + + private DmSygdMx initBySksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){ + DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); + dmSygdMx.setDcFd(dcFd); + this.updateBySksk(item,dmSygdMx); + return dmSygdMx; + } + + private DmSygdMx initBySkpt(JhxfExcel item, DmSygdMxLj bom,String dcFd){ + DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); + dmSygdMx.setDcFd(dcFd); + this.updateBySkpt(item,dmSygdMx); + return dmSygdMx; + } + + private DmSygdMx initBySkbs(JhxfExcel item, DmSygdMxLj bom,String dcFd){ + DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom); + dmSygdMx.setDcFd(dcFd); + this.updateBySkbs(item,dmSygdMx); + return dmSygdMx; + } + +} From a1a7104d4293e4f5aee5ba7ca859cfefb7428f90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 10 Dec 2024 15:28:01 +0800 Subject: [PATCH 128/196] =?UTF-8?q?1.=E5=B0=8F=E6=B1=A0=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=202.=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmSygdMx.java | 6 ++ .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 7 ++ .../gj_erp/bean/jhgk/excel/JhxfExcel.java | 8 +++ .../controller/jhgk/DmSygdMxController.java | 7 +- .../gj_erp/listeners/ExcelJhxfListener.java | 24 +++---- .../gj_erp/mapper/jhgk/DmSygdMxMapper.java | 5 ++ .../gj_erp/mapper/jhgk/DmSygdxqMapper.java | 2 + .../jhgk/impl/DmSygdMxServiceImpl.java | 38 +++++++++-- .../service/jhgk/impl/YdjhImportService.java | 25 +++++++ .../service/xiaochi/XiaoChiService.java | 55 +++++++++------- .../resources/mappers/jhgk/DmSygdMxMapper.xml | 14 ++++ .../resources/mappers/jhgk/DmSygdxqMapper.xml | 66 +++++++++++++++++++ .../mappers/xiaochi/CutPlanMapper.xml | 22 +++---- 13 files changed, 224 insertions(+), 55 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java index a79b3be..03e7627 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java @@ -92,6 +92,9 @@ public class DmSygdMx implements Serializable { @ApiModelProperty(value = "上料日期") private String slrq; + @ApiModelProperty(value = "型材抛丸日期") + private String xcpw; + private String slsb; @ApiModelProperty(value = "上料人员") @@ -124,6 +127,9 @@ public class DmSygdMx implements Serializable { @ApiModelProperty(value = "切割日期") private String qgrq; + @ApiModelProperty(value = "切割结束") + private String qgjs; + @ApiModelProperty(value = "抛丸设备") private String pwsb; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 46607e2..8b6a869 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -392,6 +392,13 @@ public class DmYdjh implements Serializable { public void setZtForSl(){ this.zt=ZyjhzxEnum.SLFK.code; } + public void setZtForHXFK(){ + this.zt=ZyjhzxEnum.HXFK.code; + } + public void setZtForQGFK(){ + this.zt=ZyjhzxEnum.QGFK.code; + } + public static String getSlZt(){ return ZyjhzxEnum.SLFK.code; } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java index fd09752..11409cc 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.bean.jhgk.excel; +import cn.hutool.core.util.StrUtil; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; import io.swagger.annotations.ApiModelProperty; @@ -204,4 +205,11 @@ public class JhxfExcel { @ExcelProperty("备注") private String bz; + private Boolean qwbBs=false; + + public boolean isAvailable(){ + return !StrUtil.isAllBlank(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/controller/jhgk/DmSygdMxController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java index a929cdb..146781d 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java @@ -13,6 +13,7 @@ import com.dsic.gj_erp.listeners.ExcelJhxfListener; import com.dsic.gj_erp.service.jcsj.EmGcrlService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; +import com.dsic.gj_erp.service.jhgk.impl.YdjhImportService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -34,6 +35,9 @@ import java.util.stream.Collectors; @RequestMapping("/dmSygdMx") public class DmSygdMxController { + @Autowired + private YdjhImportService ydjhImportService; + @Autowired private DmSygdMxService service; @Autowired @@ -145,7 +149,8 @@ public class DmSygdMxController { EasyExcel.read(file.getInputStream(), JhxfExcel.class, objectListener).sheet(0).headRowNumber(1).doRead(); List objList = objectListener.getObjectList(); - service.ydjhImport(objList); + ydjhImportService.handler(objList); +// service.ydjhImport(objList); return new ResultBean(); diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java index c100a34..98c9d2b 100644 --- a/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java @@ -46,18 +46,18 @@ public class ExcelJhxfListener extends AnalysisEventListener { } boolean a=false; // 9个数量都为空 不导入 - if(StringUtils.isBlank(excelDemo.getBs1()) && - StringUtils.isBlank(excelDemo.getYklm())&& - StringUtils.isBlank(excelDemo.getYksk())&& - StringUtils.isBlank(excelDemo.getEklmbs())&& - StringUtils.isBlank(excelDemo.getEksk())&& - StringUtils.isBlank(excelDemo.getSksk())&& - StringUtils.isBlank(excelDemo.getSkpt())&& - StringUtils.isBlank(excelDemo.getFbbs())&& - StringUtils.isBlank(excelDemo.getSkbs()) - ){ - a=true; - } +// if(StringUtils.isBlank(excelDemo.getBs1()) && +// StringUtils.isBlank(excelDemo.getYklm())&& +// StringUtils.isBlank(excelDemo.getYksk())&& +// StringUtils.isBlank(excelDemo.getEklmbs())&& +// StringUtils.isBlank(excelDemo.getEksk())&& +// StringUtils.isBlank(excelDemo.getSksk())&& +// StringUtils.isBlank(excelDemo.getSkpt())&& +// StringUtils.isBlank(excelDemo.getFbbs())&& +// StringUtils.isBlank(excelDemo.getSkbs()) +// ){ +// a=true; +// } boolean b = ObjConvertUtils.checkObjAllFieldsIsNull(excelDemo); diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdMxMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdMxMapper.java index 93f990f..3b83253 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdMxMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdMxMapper.java @@ -2,6 +2,7 @@ package com.dsic.gj_erp.mapper.jhgk; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jcsj.DmBom; import com.dsic.gj_erp.bean.jcsj.EmGcrlDto; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; @@ -42,4 +43,8 @@ public interface DmSygdMxMapper extends BaseMapper { List getGlgdxq(DmSygdMx sygdMx); List getMxMap(@Param("begin") String begin, @Param("end")String end); + + List getUniBom(String dcCh,String dcPl,String dcFd); + + List getBom(String dcCh,String dcPl,String dcFd); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java index 79a7bc5..cae1c51 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java @@ -22,4 +22,6 @@ public interface DmSygdxqMapper extends BaseMapper { List getSygdLjMx(String begin,String end); + List getSygdLjMx1(String dcch,String pl,String fd); + } 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 10566a6..e38efe2 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 @@ -994,14 +994,26 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } public List tqSygd2(String begin,String end,String zt){ - List slkw=Arrays.asList("7","8","9","5","6","15","11","14"); List list = this.list(Wrappers.lambdaQuery() .eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt) .between(DmSygdMx::getJssj, begin, end) .orderByAsc(DmSygdMx::getSlrq) ); - Map> collect = list.stream().collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl())); + //合并曲外板项 + Map> collectQ = list.stream().filter(item->"1".equals(item.getQbs())).collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl())); + List qList = this.handler(collectQ,true); + qList=qList.stream().sorted(Comparator.comparing(item->item.getDcCh()+item.getDcPl())).collect(Collectors.toList()); + //合并非曲外板项 + Map> collect = list.stream().filter(item->!"1".equals(item.getQbs())).collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl())); + List list2 = this.handler(collect,false); + + list2=list2.stream().sorted(Comparator.comparing(item->item.getDcCh()+item.getDcPl())).collect(Collectors.toList()); + qList.addAll(list2); + return qList; + } + private List handler(Map> collect,boolean qflag){ + List slkw=Arrays.asList("7","8","9","5","6","15","11","14"); List list2=new ArrayList<>(); //按批次合并为一行 collect.forEach((key,val)->{ @@ -1010,6 +1022,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl i DmYdjhxf dmYdjhxf = new DmYdjhxf(); dmYdjhxf.setDcCh(key.split("_")[0]); dmYdjhxf.setDcPl(key.split("_")[1]); + if (qflag){ + dmYdjhxf.setDcPl(dmYdjhxf.getDcPl()+"Q"); + } AtomicReference bs= new AtomicReference<>(0); AtomicReference yklm= new AtomicReference<>(0); @@ -1026,6 +1041,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i } tzbhList.add(item.getTzbh()); plSet.add(item.getDcFd()); + if (slkw.contains(item.getKw())){ bs.updateAndGet(v -> v + 1); } @@ -1064,8 +1080,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl i //型材抛丸日期 val.stream().filter(item -> "16".equals(item.getKw())) - .filter(item->StrUtil.isNotEmpty(item.getSlrq())) - .min(Comparator.comparing(DmSygdMx::getSlrq)).ifPresent(item -> dmYdjhxf.setXcpw(item.getSlrq())); + .filter(item->StrUtil.isNotEmpty(item.getXcpw())) + .min(Comparator.comparing(DmSygdMx::getXcpw)).ifPresent(item -> dmYdjhxf.setXcpw(item.getXcpw())); //抛丸日期 val.stream().filter(item->StrUtil.isNotEmpty(item.getPwrq())) @@ -1073,7 +1089,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i val.stream().filter(item->StrUtil.isNotEmpty(item.getGdjs())) - .min(Comparator.comparing(DmSygdMx::getPwrq)).ifPresent(item -> dmYdjhxf.setGdjs(item.getGdjs())); + .min(Comparator.comparing(DmSygdMx::getPwrq)).ifPresent(item -> dmYdjhxf.setGdjs(item.getGdjs())); //一跨龙门数量 dmYdjhxf.setYklm(yklm.get()+""); @@ -1098,6 +1114,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl i val.stream().filter(item->"14".equals(item.getKw())) .filter(item->StrUtil.isNotEmpty(item.getQgrq())) .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkskqgks(item.getQgrq())); + val.stream().filter(item->"14".equals(item.getKw())) + .filter(item->StrUtil.isNotEmpty(item.getQgjs())) + .min(Comparator.comparing(DmSygdMx::getQgjs)).ifPresent(item -> dmYdjhxf.setSkpkjs(item.getQgjs())); dmYdjhxf.setSkpt(skpt.get()+""); val.stream().filter(item -> "6".equals(item.getKw())) @@ -1125,7 +1144,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl i dmYdjhxf.setFdxq(val.get(0).getJssj()); list2.add(dmYdjhxf); }); - return list2.stream().sorted(Comparator.comparing(item->item.getDcCh()+item.getDcPl())).collect(Collectors.toList()); + return list2; } @Transactional @@ -1170,7 +1189,6 @@ public class DmSygdMxServiceImpl extends ServiceImpl i return this.tqSygd2(begin,end,null); } - @Override @Transactional(rollbackFor = Exception.class) public void ydjhImport(List objList) { @@ -1393,6 +1411,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl i if(yklm>0){ zz=yklm; for (int j = 0; j < yklm; j++) { + if (j>=insertsOne.size()){ + break; + } // 生成数据 insertsOne.get(j).setKw("7"); insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs()); @@ -1412,6 +1433,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl i if(yksk>0){ for (int j = 0; j =insertsOne.size()){ + break; + } insertsOne.get(zz+j).setKw("8"); insertsOne.get(zz+j).setQgrq(jhxfExcel.getYkpkjs()); zsl++; 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 bb36021..cee991e 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 @@ -323,6 +323,9 @@ public class YdjhImportService extends ServiceImpl { break; } DmSygdMx init = this.initBySl(item,list.get(i),dcFd); + if (item.getQwbBs()){ + init.setQbs("1"); + } addList.add(init); } } @@ -345,6 +348,9 @@ public class YdjhImportService extends ServiceImpl { break; } DmSygdMx init = this.initByYklm(item,list.get(i),dcFd); + if (item.getQwbBs()){ + init.setQbs("1"); + } addList.add(init); } return addList; @@ -366,6 +372,9 @@ public class YdjhImportService extends ServiceImpl { break; } DmSygdMx init = this.initByYksk(item,list.get(i),dcFd); + if (item.getQwbBs()){ + init.setQbs("1"); + } addList.add(init); } return addList; @@ -387,6 +396,9 @@ public class YdjhImportService extends ServiceImpl { break; } DmSygdMx init = this.initByEklmbs(item,list.get(i),dcFd); + if (item.getQwbBs()){ + init.setQbs("1"); + } addList.add(init); } return addList; @@ -408,6 +420,9 @@ public class YdjhImportService extends ServiceImpl { break; } DmSygdMx init = this.initByEksk(item,list.get(i),dcFd); + if (item.getQwbBs()){ + init.setQbs("1"); + } addList.add(init); } return addList; @@ -429,6 +444,9 @@ public class YdjhImportService extends ServiceImpl { break; } DmSygdMx init = this.initBySksk(item,list.get(i),dcFd); + if (item.getQwbBs()){ + init.setQbs("1"); + } addList.add(init); } return addList; @@ -450,6 +468,9 @@ public class YdjhImportService extends ServiceImpl { break; } DmSygdMx init = this.initBySkpt(item,list.get(i),dcFd); + if (item.getQwbBs()){ + init.setQbs("1"); + } addList.add(init); } return addList; @@ -471,6 +492,9 @@ public class YdjhImportService extends ServiceImpl { break; } DmSygdMx init = this.initBySkbs(item,list.get(i),dcFd); + if (item.getQwbBs()){ + init.setQbs("1"); + } addList.add(init); } return addList; @@ -499,6 +523,7 @@ public class YdjhImportService extends ServiceImpl { private void updateBySksk(JhxfExcel item, DmSygdMx dmSygdMx){ dmSygdMx.setKw("14"); dmSygdMx.setQgrq(item.getSkskqgks()); + dmSygdMx.setQgjs(item.getSkpkjs()); dmSygdMx.setQjgrq(item.getQptjs()); } diff --git a/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java b/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java index 1d2aea4..8f7a902 100644 --- a/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java +++ b/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java @@ -7,18 +7,16 @@ import cn.hutool.cron.CronUtil; import cn.hutool.cron.task.Task; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.jhgk.DmYdjh; -import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.dsic.gj_erp.bean.xiaochi.CutPlan; import com.dsic.gj_erp.bean.xiaochi.Device; import com.dsic.gj_erp.bean.xiaochi.XiaochiUser; import com.dsic.gj_erp.mapper.xiaochi.CutPlanMapper; -import com.dsic.gj_erp.mapper.xiaochi.DeviceMapper; -import com.dsic.gj_erp.service.pgd.PgdQgjhService; import com.dsic.gj_erp.service.zyjh.ZyjhService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import javax.annotation.PostConstruct; import java.util.*; import java.util.stream.Collectors; @@ -35,7 +33,7 @@ public class XiaoChiService{ * 小池同步,先使用手动拉取方式,让钢加人员进行检查 * 后续改为自动拉取 */ -// @PostConstruct + @PostConstruct public void handler(){ List users = new XiaochiUser().selectAll(); List devices=new Device().selectAll(); @@ -45,7 +43,8 @@ public class XiaoChiService{ }); Map deviceMap=new HashMap<>(); devices.forEach(item-> deviceMap.put(item.getId(),item)); - this.exe(userMap,deviceMap); + this.exeAuto(userMap,deviceMap); + //this.exe(userMap,deviceMap); } private void exe(Map userMap,Map deviceMap){ @@ -57,34 +56,42 @@ public class XiaoChiService{ DmYdjh one = zyjhService.getOne(Wrappers.lambdaQuery() .eq(DmYdjh::getDcCh, item.getNestExtC02()) .eq(DmYdjh::getTzbh, item.getNestNameSub1()) - .eq(DmYdjh::getKw, item.getNestExtC03()) .eq(DmYdjh::getDcPl, item.getNestExtC04()) ); -// if (ObjectUtil.isNotEmpty(one)){ -// DmYdjh _item=new DmYdjh(); -// _item.setId(one.getId()); -// Optional.of(userMap.get(item.getNestExtC05())) -// .ifPresent(user-> _item.setFkry(userMap.get(item.getNestExtC05()).getName())); -// -// Optional.of(deviceMap.get(item.getNestCutHo())) -// .ifPresent(user-> _item.setQgsbbh(deviceMap.get(item.getNestCutHo()).getMachineName())); -// _item.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); -// _item.setQgksrq(item.getQgkssj()); -// if (StrUtil.isNotEmpty(item.getQgjssj())){ -// _item.setQgjsrq(item.getQgjssj()); -// _item.setZt("09"); -// } -// list.add(_item); -// } + if (ObjectUtil.isNotEmpty(one)){ + DmYdjh _item=new DmYdjh(); + _item.setId(one.getId()); + if (item.getNestCutLengs()>0){ + Optional.of(userMap.get(item.getNestExtC05())) + .ifPresent(user-> { + _item.setQgfkry(userMap.get(item.getNestExtC05()).getEmployeeNumber()); + }); + _item.setQgpgrq(item.getQgkssj()); + _item.setQgfkrq(item.getQgjssj()); + _item.setZtForQGFK(); + } + + if (item.getNestMarkLengs()>0){ + Optional.of(userMap.get(item.getNestExtC05())) + .ifPresent(user-> { + _item.setHxfkry(userMap.get(item.getNestExtC05()).getEmployeeNumber()); + + }); + _item.setHxpgrq(item.getQgkssj()); + _item.setHxfkrq(item.getQgjssj()); + _item.setZtForHXFK(); + } + list.add(_item); + } }); -// qgjhService.updateBatchById(list,500); + zyjhService.updateBatchById(list,500); log.info("========小池同步完成==========="); } private void exeAuto(Map userMap,Map deviceMap){ //CronUtil默认为分钟,目前未使用CronUtil.setMatchSecond(true)启动秒级任务,以下表示每30分钟执行一次 //每30分钟执行一次,获取小池今日加工并且未更新切割计划派工单的数据去更新派工单 - CronUtil.schedule("* */30 * * * *", (Task) () -> { + CronUtil.schedule("* */10 * * * *", (Task) () -> { this.exe(userMap,deviceMap); }); CronUtil.start(); diff --git a/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml b/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml index a27c722..c979560 100644 --- a/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdMxMapper.xml @@ -596,4 +596,18 @@ + + + + diff --git a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml index d8f3968..08665c0 100644 --- a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml @@ -169,4 +169,70 @@ ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD + + diff --git a/src/main/resources/mappers/xiaochi/CutPlanMapper.xml b/src/main/resources/mappers/xiaochi/CutPlanMapper.xml index bc09fa8..76738e7 100644 --- a/src/main/resources/mappers/xiaochi/CutPlanMapper.xml +++ b/src/main/resources/mappers/xiaochi/CutPlanMapper.xml @@ -4,24 +4,24 @@ From 78f7465f36f31656dde3f3452284f1282622e7bc Mon Sep 17 00:00:00 2001 From: xhj Date: Tue, 10 Dec 2024 15:55:36 +0800 Subject: [PATCH 129/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jcsj/DmBomController.java | 134 +++++++++++++++++- .../controller/jhgk/DmYdjhController.java | 1 + .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 1 + .../jcsj/impl/BomUploadServiceImpl.java | 3 + .../resources/mappers/jhgk/DmYdjhMapper.xml | 9 +- 5 files changed, 146 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java index 167e400..d74784d 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java @@ -1,16 +1,27 @@ package com.dsic.gj_erp.controller.jcsj; +import cn.hutool.core.date.DateUtil; 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.IdWorker; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -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; +import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.service.jcsj.DmBchxjbpService; +import com.dsic.gj_erp.service.jcsj.DmBchxmxpService; +import com.dsic.gj_erp.service.jcsj.DmBchxylpService; import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.impl.BomUploadServiceImpl; +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 org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -19,6 +30,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -38,11 +51,25 @@ public class DmBomController { @Autowired DmBomService dmBomService; + @Autowired + Dm_zhbmpRepository dm_zhbmpRepository; + @Autowired BomUploadServiceImpl bomUploadService; @Autowired SYService syService; + @Autowired + DmBchxjbpService dmBchxjbpService; + @Autowired + DmBchxmxpService dmBchxmxpService; + + @Autowired + DmBchxylpService bchxylpService; + + @Autowired + DmYdjhService dmYdjhService; + @PostMapping("/saveDegs") @AuthFunction @@ -113,5 +140,110 @@ public class DmBomController { // return null; } + @ApiOperation(value = "生成月度计划") + @PostMapping("/scydjh") + public ResultBean scydjh(HttpServletRequest req) throws CustomException { + + List AAA=new ArrayList<>(); + + AAA.add("165"); + + for(String aa:AAA){ + List dmBchxjbps = dmBchxjbpService.list(new QueryWrapper().eq("DC_CH", "G175K-7").eq("DC_PL", aa)); + + List zllbs = dm_zhbmpRepository.findByBMLB("ZLLB"); + List kwxxs = dm_zhbmpRepository.findByBMLB("KWXX"); + List qgkws = dm_zhbmpRepository.findByBMLB("QGKW"); + Map zllbMap = zllbs.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM)); + Map kwxxMap = kwxxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); + Map qgKwMap = qgkws.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM)); + String dcch = dmBchxjbps.get(0).getDcCh(); + String dcpl = dmBchxjbps.get(0).getDcPl(); + List tjListOld = bchxylpService.list(new QueryWrapper().eq("dc_ch", dcch).eq("dc_pl", dcpl)); + List ydjhs = dmYdjhService.list(new QueryWrapper().eq("dc_ch", dcch) + .eq("dc_pl", dcpl) + ); + List adds = new ArrayList<>(); + List ups = new ArrayList<>(); + for (DmBchxjbp dmBchxjbp1 : dmBchxjbps) { + //wpgg ,wpxh + // DmBchxjbp dmBchxjbp = (DmBchxjbp) ObjConvertUtils.checkNullNew(dmBchxjbp1); + DmBchxjbp dmBchxjbp = (DmBchxjbp) ObjConvertUtils.checkNullNew(dmBchxjbp1); + DmBchxmxp bchxmxp =dmBchxmxpService.list(new QueryWrapper().eq("hxbh", dmBchxjbp1.getHxbh())).get(0); + DmBchxylp bchxylp = tjListOld.stream().filter(fst -> fst.getTzbh().equals(dmBchxjbp.getTzbh()) + && fst.getWpgg().equalsIgnoreCase(dmBchxjbp.getWpgg()) && fst.getWpxh().equalsIgnoreCase(dmBchxjbp.getWpxh()) + ).findFirst().orElse(null); + // dmBchxjbp + String wpgg = dmBchxjbp.getWpgg(); + String wpxh = dmBchxjbp.getWpxh(); + String tzbh = dmBchxjbp.getTzbh(); + String hxfl = dmBchxjbp.getHxfl(); + if (StringUtils.isBlank(wpgg) || "hxfl".equals("X")) { + continue; + } + 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(dmBchxjbp.getDcCh()); + dmYdjhadd.setDcPl(dmBchxjbp.getDcPl()); + if (tzbh.substring(4, 5).equals("X")) { + dmYdjhadd.setLx("X"); + } else { + dmYdjhadd.setLx("B"); + } + dmYdjhadd.setWpgg(dmBchxjbp.getWpgg()); + dmYdjhadd.setWpxh(dmBchxjbp.getWpxh()); + if (null != bchxylp) { + dmYdjhadd.setYlbs(null == bchxylp.getSfyl() ? "" : bchxylp.getSfyl()); + } + 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 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("xhj"); + // 新增数据得时候 应该看 是不是有排产数据 有排产数据 给上日期 +// dmYdjhadd + adds.add(dmYdjhadd); + } + dmYdjhService.saveBatch(adds); + } + +// List dmBchxjbps = dmBchxjbpService.list(new QueryWrapper().eq("DC_CH", "T300K-103").in("DC_PL", "109","112","114","115","117")); +// dmBchxjbps.forEach(e->{ +// dmBchxmxpService.list(new QueryWrapper().eq("hxbh", e.getHxbh()).eq("xh", )); +// }); + + //List mxs = dmBchxmxpService.list(new QueryWrapper().eq("DC_CH", "T300K-103").eq("DC_PL", "109")); + + + + + return new ResultBean(); + } + + + + + + + + + + + + } 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 2cb5836..d315dc0 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 @@ -94,6 +94,7 @@ public class DmYdjhController { List list= service.list(new QueryWrapper() .eq(StrUtil.isNotEmpty(map.get("dcch")),"dc_ch",map.get("dcch")) .eq(StrUtil.isNotEmpty(map.get("dcpl")),"dc_pl",map.get("dcpl")) + .eq("lx","B") .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb") ); diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 856c182..33ef348 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -67,4 +67,5 @@ public interface DmYdjhMapper extends BaseMapper { List> getWcl(); List> getYdjhByZt(String zt,String wgzt,String wclzt,String from, String to); + void xzylbs(String dcch,String dcpl); } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 1c77a28..bd148a7 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -244,6 +244,9 @@ public class BomUploadServiceImpl { } // del++; } + + // 修正数据 + dmYdjhMapper.xzylbs(czbh,pl); for (MultipartFile f : file) { String fname = f.getOriginalFilename(); fname = fname.substring(fname.lastIndexOf('/') + 1); diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 5c7acdf..65d27e7 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -862,7 +862,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} SUM(CASE WHEN ISNULL(dm_ydjh.ylbs, 'N') = 'Y' THEN 1 ELSE 0 END) AS ylbs FROM dm_ydjh - where 1=1 + where 1=1 AND lx='B' and dm_ydjh.dc_ch=#{dcCh} @@ -946,4 +946,11 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} + + UPDATE dm_ydjh set dm_ydjh.ylbs=dm_bchxylp.sfyl from dm_ydjh LEFT JOIN dm_bchxylp ON dm_ydjh.dc_ch=dm_bchxylp.dc_ch AND dm_ydjh.dc_pl=dm_bchxylp.dc_pl AND + dm_ydjh.tzbh=dm_bchxylp.tzbh AND dm_ydjh.wpgg=dm_bchxylp.wpgg and dm_ydjh.wpxh=dm_bchxylp.wpxh where isnull(dm_ydjh.ylbs,'')='' +and dm_ydjh.DC_CH=#{dcch} and dm_ydjh.dc_pl=#{dcpl} + + + From be5223c9c033a735714f91c6e4d281b66f5979cc Mon Sep 17 00:00:00 2001 From: xhj Date: Wed, 11 Dec 2024 13:56:33 +0800 Subject: [PATCH 130/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/controller/pgd/PgdSljhController.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 396abb2..c76dcfe 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -141,18 +141,18 @@ public class PgdSljhController { slKc.setWPZT(wpztMap.get(slKc.getWPZT())); } - int ceil = (int) (Math.ceil((double) list.size() / 40)); + int ceil = (int) (Math.ceil((double) list.size() / 20)); List slKcList= new ArrayList<>(); if(ceil>1){ for(int i=0;i slKcList= new ArrayList<>(); if(ceil>1){ for(int i=0;i Date: Thu, 12 Dec 2024 16:53:18 +0800 Subject: [PATCH 131/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pgd/PgdSljhController.java | 61 +++++++++++++------ 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index c76dcfe..3fc7d72 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -45,13 +45,13 @@ import java.util.stream.Collectors; *

* * @author xn - * @since 2023-11-13 + * @since 1823-11-13 */ @RestController @RequestMapping("/pgdSljh") public class PgdSljhController { - - + + @Autowired PgdSljhService pgdSljhService; @@ -115,6 +115,26 @@ public class PgdSljhController { ydjh.setSldrry((String) req.getAttribute("yhms")); ydupList.add(ydjh); } + if(StringUtils.isBlank(slKc.getDCTH())){ + DmYdjh ydjh =new DmYdjh(); + ydjh.setId(IdWorker.get32UUID()); + ydjh.setSlkcdw(slKc.getKWH()); + ydjh.setSlcs(slKc.getCFCS1()); + ydjh.setSlxhth(slKc.getGCDDH()); + ydjh.setSlhth(slKc.getDcFd()); + ydjh.setNbsbm(slKc.getNBSBM()); + ydjh.setSllph(slKc.getLPH()); + ydjh.setSlwlh(slKc.getWPH()); + ydjh.setKcch(slKc.getDCCH()); + ydjh.setDcCh(slKc.getZYCH()); + ydjh.setDcPl(slKc.getZYPL()); + ydjh.setZt("11"); + ydjh.setJhlx("99"); + ydjh.setSllsh(id); + ydjh.setSldrrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); + ydjh.setSldrry((String) req.getAttribute("yhms")); + dmYdjhService.save(ydjh); + } } dmYdjhService.updateBatchById(ydupList); @@ -141,18 +161,18 @@ public class PgdSljhController { slKc.setWPZT(wpztMap.get(slKc.getWPZT())); } - int ceil = (int) (Math.ceil((double) list.size() / 20)); + int ceil = (int) (Math.ceil((double) list.size() / 18)); List slKcList= new ArrayList<>(); if(ceil>1){ for(int i=0;i slKcList= new ArrayList<>(); if(ceil>1){ for(int i=0;i fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) &&StringUtils.isNotBlank(fst.getWpgg()) From 99b9a01afb7fbd8ad6260d8586075b87388d99b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 12 Dec 2024 17:29:23 +0800 Subject: [PATCH 132/196] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E6=9C=88=E5=BA=A6?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=8E=9F=E6=A0=B7=E5=AF=BC=E5=85=A5=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmSygdMx.java | 4 + .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 2 +- .../com/dsic/gj_erp/bean/jhgk/YdjhImport.java | 100 ++++ .../gj_erp/bean/jhgk/excel/JhxfExcel.java | 62 ++- .../com/dsic/gj_erp/config/JapConfig.java | 6 +- .../controller/jhgk/DmSygdMxController.java | 5 + .../gj_erp/listeners/ExcelJhxfListener.java | 11 +- .../gj_erp/mapper/jhgk/DmSygdxqMapper.java | 2 +- .../gj_erp/mapper/jhgk/YdjhImportMapper.java | 9 + .../com/dsic/gj_erp/service/ApiService.java | 7 + .../jhgk/impl/DmSygdMxServiceImpl.java | 74 ++- .../service/jhgk/impl/DmYdjhServiceImpl.java | 12 +- .../service/jhgk/impl/IYdjhImportService.java | 10 + .../service/jhgk/impl/YdjhImportService.java | 510 +++++++++--------- .../service/xiaochi/XiaoChiService.java | 8 +- .../gj_erp/wsclient/WebSocketService.java | 8 +- .../resources/mappers/jhgk/DmSygdxqMapper.xml | 2 +- .../mappers/jhgk/YdjhImportMapper.xml | 6 + 18 files changed, 479 insertions(+), 359 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImport.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/service/jhgk/impl/IYdjhImportService.java create mode 100644 src/main/resources/mappers/jhgk/YdjhImportMapper.xml diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java index 03e7627..8e8e8f1 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java @@ -373,4 +373,8 @@ public class DmSygdMx implements Serializable { }catch (Exception ignored){} this.ylbhgg=bom.getYlbhgg(); } + + public boolean isAvailable(){ + return !StrUtil.isAllBlank(this.slrq,this.xcpw,this.pw,this.qgrq,this.qgjs,this.mbjb,this.xcmb,this.fdxq,this.gdjs); + } } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 8b6a869..77d32e0 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -40,7 +40,7 @@ public class DmYdjh implements Serializable { private String dcPl; @TableField(exist = false) - private String xzglxq; + private String xzglxq;//来自前方需求 @ApiModelProperty(value = "领取类型") @TableField("LQLB") private String lqlb; 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 new file mode 100644 index 0000000..e251071 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImport.java @@ -0,0 +1,100 @@ +package com.dsic.gj_erp.bean.jhgk; + +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 lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +@TableName("ydjh_import") +public class YdjhImport { + + @TableId(type = IdType.AUTO) + private String id; + + private String dcCh; + + private String dcPl; + + private String dcFd; + + private String bs1; + + private String sl; + + private String xcpw; + + private String pw; + + private String yklm; + + private String yksk; + + private String dbqgks; + + private String ykpkjs; + + private String eklmbs; + + private String lmqgks; + + private String lmqgjs; + + private String eksk; + + private String ekskks; + + private String ekpkjs; + + private String sksk; + + private String skskqgks; + + private String skpkjs; + + private String skpt; + + private String ptks; + + private String ptjs; + + @TableField("qpt_zjs") + private String qpt_zjs; + + private String qptjs; + + private String qwbjs; + + private String zl; + + private String fbbs; + + private String fbqgks; + + private String fbqgjs; + + private String skbs; + + private String skqgks; + + private String pkqgjs; + + private String mbjb; + + private String qkxcms; + + private String xcmb; + + private String fdxq; + + private String gdjs; + + private String bz; + + private int importIndex; + +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java index 11409cc..f71e7cd 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.bean.jhgk.excel; import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; import io.swagger.annotations.ApiModelProperty; @@ -64,36 +65,30 @@ public class JhxfExcel { @DateTimeFormat("yyyy/MM/dd") private String ykpkjs; - @ExcelProperty("二垮龙门板数") +// @ExcelProperty("二垮龙门板数") private String eklmbs; - @ExcelProperty("龙门切割开始") +// @ExcelProperty("龙门切割开始") @DateTimeFormat("yyyy/MM/dd") private String lmqgks; - @ExcelProperty("龙门切割结束") +// @ExcelProperty("龙门切割结束") @DateTimeFormat("yyyy/MM/dd") private String lmqgjs; - - - - @ApiModelProperty(value = "二垮数控板数") @ExcelProperty("二垮数控板数") private String eksk; - - - - @ApiModelProperty(value = "数控切割开始") - @ExcelProperty(value ="数控切割开始",index=16) +// @ExcelProperty(value ="数控切割开始",index=16) + @ExcelProperty(value ="数控切割开始",index=12) @DateTimeFormat("yyyy/MM/dd") private String ekskks; @ApiModelProperty(value = "坡口切割结束") - @ExcelProperty(value ="坡口切割结束",index=17) +// @ExcelProperty(value ="坡口切割结束",index=17) + @ExcelProperty(value ="坡口切割结束",index=13) @DateTimeFormat("yyyy/MM/dd") private String ekpkjs; @@ -102,12 +97,14 @@ public class JhxfExcel { private String sksk; @ApiModelProperty(value = "数控切割开始") - @ExcelProperty(value ="数控切割开始",index=19) +// @ExcelProperty(value ="数控切割开始",index=19) + @ExcelProperty(value ="数控切割开始",index=15) @DateTimeFormat("yyyy/MM/dd") private String skskqgks; @ApiModelProperty(value = "坡口切割结束") - @ExcelProperty(value ="坡口切割结束",index=20) +// @ExcelProperty(value ="坡口切割结束",index=20) + @ExcelProperty(value ="坡口切割结束",index=16) @DateTimeFormat("yyyy/MM/dd") private String skpkjs; @@ -160,24 +157,20 @@ public class JhxfExcel { private String fbqgjs; - @ApiModelProperty(value = "数控板数") - @ExcelProperty("数控板数") - + @ApiModelProperty(value = "数控 板数") + @ExcelProperty("数控 板数") private String skbs; @ApiModelProperty(value = "数控切割开始") - @ExcelProperty(value = "数控切割开始",index = 32) +// @ExcelProperty(value = "数控切割开始",index = 32) + @ExcelProperty(value = "数控切割开始",index = 25) @DateTimeFormat("yyyy/MM/dd") private String skqgks; - - - - - @ApiModelProperty(value = "坡口切割结束") - @ExcelProperty(value = "坡口切割结束",index = 33) +// @ExcelProperty(value = "坡口切割结束",index = 33) + @ExcelProperty(value = "坡口切割结束",index = 26) @DateTimeFormat("yyyy/MM/dd") private String pkqgjs; @@ -186,29 +179,34 @@ public class JhxfExcel { @ExcelProperty("面板挤边") @DateTimeFormat("yyyy/MM/dd") private String mbjb; - @ApiModelProperty(value = "七垮型材米数") - @ExcelProperty("七垮型材米数") + @ApiModelProperty(value = "七垮型 材米数") + @ExcelProperty("七垮型 材米数") private String qkxcms; - @ApiModelProperty(value = "型材面板") - @ExcelProperty("型材面板") + + @ApiModelProperty(value = "型材 面板") + @ExcelProperty("型材 面板") @DateTimeFormat("yyyy/MM/dd") private String xcmb; + @ApiModelProperty(value = "分段需求/小组配送结束") @ExcelProperty("小组配送结束") @DateTimeFormat("yyyy/MM/dd") private String fdxq; - @ApiModelProperty(value = "光电结束") - @ExcelProperty("光电结束") + + @ApiModelProperty(value = "光电 结束") + @ExcelProperty("光电 结束") @DateTimeFormat("yyyy/MM/dd") private String gdjs; + @ApiModelProperty(value = "备注") @ExcelProperty("备注") private String bz; + @ExcelIgnore private Boolean qwbBs=false; public boolean isAvailable(){ - return !StrUtil.isAllBlank(this.sl,this.xcpw,this.pw,this.dbqgks,this.ykpkjs,this.lmqgks,this.lmqgjs, + 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/config/JapConfig.java b/src/main/java/com/dsic/gj_erp/config/JapConfig.java index 3799e77..a4433cf 100644 --- a/src/main/java/com/dsic/gj_erp/config/JapConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/JapConfig.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.config; import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.zaxxer.hikari.HikariDataSource; import org.hibernate.boot.model.naming.Identifier; import org.hibernate.boot.model.naming.PhysicalNamingStrategy; import org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl; @@ -89,7 +90,10 @@ public class JapConfig { @Bean public DataSourceInitializer manDataSourceInitializer() {//6 DataSourceInitializer dsInitializer = new DataSourceInitializer(); - dsInitializer.setDataSource(jpaDataSource()); + HikariDataSource dataSource = (HikariDataSource) jpaDataSource(); + dataSource.setMaximumPoolSize(30); + dataSource.setLeakDetectionThreshold(2000); + dsInitializer.setDataSource(dataSource); ResourceDatabasePopulator dbPopulator = new ResourceDatabasePopulator(); dsInitializer.setDatabasePopulator(dbPopulator); dsInitializer.setEnabled(env.getProperty("spring.datasource.master.initialize", diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java index 146781d..3b190f6 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java @@ -51,6 +51,11 @@ public class DmSygdMxController { return new ResultBean<>(service.cgjhdhqk(map)); } + @GetMapping("list") + public ResultBean list(String begin,String end){ + return new ResultBean<>(ydjhImportService.list(begin,end)); + } + @RequestMapping("/getList") @AuthFunction public ResultBean getList(@RequestBody DmSygdMx sygd){ diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java index 98c9d2b..658b6db 100644 --- a/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java @@ -60,12 +60,11 @@ public class ExcelJhxfListener extends AnalysisEventListener { // } - boolean b = ObjConvertUtils.checkObjAllFieldsIsNull(excelDemo); - if(!b && !a){ - datas.add(excelDemo); - } - // - +// boolean b = ObjConvertUtils.checkObjAllFieldsIsNull(excelDemo); +// if(!b && !a){ +// datas.add(excelDemo); +// } + datas.add(excelDemo); diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java index cae1c51..064789f 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmSygdxqMapper.java @@ -22,6 +22,6 @@ public interface DmSygdxqMapper extends BaseMapper { List getSygdLjMx(String begin,String end); - List getSygdLjMx1(String dcch,String pl,String fd); + List getSygdLjMx1(String dcch,String pl); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportMapper.java new file mode 100644 index 0000000..1327ac3 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportMapper.java @@ -0,0 +1,9 @@ +package com.dsic.gj_erp.mapper.jhgk; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jhgk.YdjhImport; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface YdjhImportMapper extends BaseMapper { +} diff --git a/src/main/java/com/dsic/gj_erp/service/ApiService.java b/src/main/java/com/dsic/gj_erp/service/ApiService.java index e103bf8..7191afc 100644 --- a/src/main/java/com/dsic/gj_erp/service/ApiService.java +++ b/src/main/java/com/dsic/gj_erp/service/ApiService.java @@ -21,6 +21,7 @@ import javax.annotation.PostConstruct; import javax.persistence.EntityManager; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; +import java.util.Locale; import java.util.Map; @Slf4j @@ -59,10 +60,16 @@ public class ApiService { log.info("账号:{},登录IP:{}",loginBean.getYhdm(),ip); //String macAddress=IPUtils.getMACAddress(ip); + //84306622 if (!StringUtils.isEmpty(loginBean.getPwd())){ pwd= MD5Util.encrypt(loginBean.getPwd()); } + //admin1账号特殊处理,不知道为什么多个0在密码里面,修改数据库数据影响erp登录 + if("admin1".equals(loginBean.getYhdm().toLowerCase(Locale.ROOT))){ + pwd+="0"; + } + Syuserp syuserp = syuserpRepository.findFirstByYHDMAndPWD(loginBean.getYhdm(), pwd); if (syuserp == null) { throw new CustomException(10201, "登陆失败,账号密码错误!"); 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 e38efe2..3ce28d1 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 @@ -102,53 +102,51 @@ public class DmSygdMxServiceImpl extends ServiceImpl i }).collect(Collectors.toList()); this.updateBatchById(collect); - //获取已存在作业计划 - List oldYdjhList = this.ydjhService.list(Wrappers.lambdaQuery().between(DmYdjh::getJssj, from, to)); - //生成作业计划 - List dmYdjhs = this.generateYdjh(sygdMxes, oldYdjhList); + List dmYdjhs = this.generateYdjh(sygdMxes); ydjhService.saveOrUpdateBatch(dmYdjhs); } } - private List generateYdjh(List sygdMxes,List oldYdjhList){ - - Map collect = new HashMap<>(); - oldYdjhList.forEach(item-> collect.put(item.getUniqueData(),item)); - - return sygdMxes.stream().map(item -> { - DmYdjh dmYdjh = new DmYdjh(); - BeanUtil.copyProperties(item, dmYdjh); - dmYdjh.setSljhrq(item.getSlrq()); - dmYdjh.setPwjhrq(item.getPwrq()); - dmYdjh.setHxjhrq(item.getHxrq()); - dmYdjh.setQgjhrq(item.getQgrq()); - dmYdjh.setZt("0"); - DmYdjh _dmYdjh = collect.get(dmYdjh.getUniqueData()); - if (_dmYdjh != null){ - dmYdjh.setId(_dmYdjh.getId()); - dmYdjh.setZt(_dmYdjh.getZt()); - } - 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"); + private List generateYdjh(List sygdMxes){ + List list=new ArrayList<>(); + for(DmSygdMx item:sygdMxes){ + DmYdjh dmYdjh = ydjhService.getOne(Wrappers.query() + .select("top 1 id,jssj") + .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.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()); - } - if (StrUtil.isEmpty(dmYdjh.getTzbh())){ - dmYdjh.setJhlx("3"); + list.add(dmYdjh); } - return dmYdjh; - }).collect(Collectors.toList()); + } + return list; } public Map> getMxMap(String begin,String end){ 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 599957d..150f995 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 @@ -274,9 +274,9 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme List list = idList.subList(idList.size() / 100 * 100, idList.size()); AtomicInteger index = new AtomicInteger(idList.size() / 100 + 1); -// this.update(new UpdateWrapper().set("zt", "2") -// .in("id", list) -// ); + this.update(new UpdateWrapper().set("zt", "2") + .in("id", list) + ); // 生成 数据 baseMapper.getTzjh(list,bzry,bzrq); @@ -296,9 +296,9 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme }while (index.get()>1); }else { -// this.update(new UpdateWrapper().set("zt", "2") -// .in("id", idList) -// ); + this.update(new UpdateWrapper().set("zt", "2") + .in("id", idList) + ); // //修改汇总状态 改为 编制 // baseMapper.xfbc(idList); // //生成对应零件信息 bom->tzjhLj diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/IYdjhImportService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/IYdjhImportService.java new file mode 100644 index 0000000..07335ef --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/IYdjhImportService.java @@ -0,0 +1,10 @@ +package com.dsic.gj_erp.service.jhgk.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.jhgk.YdjhImport; +import com.dsic.gj_erp.mapper.jhgk.YdjhImportMapper; +import org.springframework.stereotype.Service; + +@Service +public class IYdjhImportService extends ServiceImpl { +} 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 cee991e..a4a9dfc 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 @@ -1,27 +1,23 @@ package com.dsic.gj_erp.service.jhgk.impl; +import cn.hutool.core.bean.BeanUtil; +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.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsic.gj_erp.bean.jcsj.DmBom; -import com.dsic.gj_erp.bean.jhgk.DmSygd; 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.jhgk.excel.JhxfExcel; 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.jhgk.DmSygdMxService; -import com.dsic.gj_erp.service.jhgk.DmSygdService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.TreeSet; +import java.util.*; import java.util.stream.Collectors; @Service @@ -30,17 +26,27 @@ public class YdjhImportService extends ServiceImpl { private final DmSygdxqMapper sygdxqMapper; private final DmSygdMxLjService ljService; + private final IYdjhImportService importService; + + 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) + ); + } @Transactional(rollbackFor = Exception.class) public void handler(List objList){ - List qwb = objList.stream().filter(JhxfExcel::isAvailable) + 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(JhxfExcel::isAvailable) + List list = objList.stream() .filter(item->!item.getDcPl().contains("-"))//去除T型材 .filter(item->!item.getDcPl().contains("/"))//去除T型材 .filter(item->item.getDcFd()!=null) @@ -48,244 +54,211 @@ public class YdjhImportService extends ServiceImpl { this.execute(list); } -// @Transactional(rollbackFor = Exception.class) -// public void handlerLj(List mxList){ -// //处理零件信息 -// List ljList = sygdxqMapper.getSygdLjMx(begin,end); -// ljList.forEach(lj-> mxList.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,500); -// } + @Transactional(rollbackFor = Exception.class) + public void executeYdjhImport(List objList){ + Map map=new HashMap<>(); + for (int i=0;i() + .select("top 1 id") + .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); + } + } /** * 月度计划导入,不使用月度计划只能排产功能前提下使用该功能导入月度计划 */ @Transactional(rollbackFor = Exception.class) public void execute(List objList) { - objList.forEach(item->{ - if (item.getDcPl().contains("A")){ - item.setDcPl(item.getDcPl().replace("A","")); - } - - if (item.getDcPl().contains("B")){ - item.setDcPl(item.getDcPl().replace("B","")); - } - - if (item.getDcPl().contains("C")){ - item.setDcPl(item.getDcPl().replace("C","")); - } - + for(JhxfExcel item:objList){ if (item.getDcPl().contains("Q")){ item.setDcPl(item.getDcPl().replace("Q","")); item.setQwbBs(true); } - String format = String.format("%03d", Integer.parseInt(item.getDcPl())); - item.setDcPl(format); + try { + String format = String.format("%03d", Integer.parseInt(item.getDcPl())); + item.setDcPl(format); + }catch (Exception ignored){} String[] dcfd=item.getDcFd().split("\\."); - for (int fdIndex=0;fdIndex() - .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 addList=new ArrayList<>(); + List addList = new ArrayList<>(); - if (!item.isAvailable()){ - addList.add(this.initDefault(item,dcFd)); - continue; + 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; } + } + if (outContinueFlag){ + this.saveBatch(addList); + continue; + } - List ljList = sygdxqMapper.getSygdLjMx1(item.getDcCh(), item.getDcPl(),dcFd); + 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 sygdMxes; - if (item.getQwbBs()){ - sygdMxes = this.initBySl(item,ljList.stream() - .filter(it->"3".equals(it.getTzbh().substring(5,6))) - .collect(Collectors.toList()),dcFd - ); - }else{ - sygdMxes = this.initBySl(item,ljList.stream() - .filter(it->!"3".equals(it.getTzbh().substring(5,6))) - .collect(Collectors.toList()),dcFd - ); - } + List ljList = sygdxqMapper.getSygdLjMx1(item.getDcCh(), item.getDcPl()); - addList.addAll(sygdMxes); - - int _index=0; - int start=0; - int yklmbs=0; - try { - yklmbs=Integer.parseInt(item.getYklm()); - }catch (Exception ignored){} - if (yklmbs>0){ - if (!sygdMxes.isEmpty()){ - _index+=yklmbs; - if (_index>sygdMxes.size()){ - _index=sygdMxes.size(); - //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},一垮龙门板数超过上料张数",item.getDcCh(),item.getDcPl())); - } - for (int i=start;i<_index;i++){ - this.updateByYklm(item,sygdMxes.get(i)); - } - start+=yklmbs; - }else{ - List list = this.initByYklm(item, yklmbs,ljList,dcFd); - addList.addAll(list); - } - } + List sygdMxes; + if (item.getQwbBs()) { + sygdMxes = this.initBySl(item, ljList.stream().filter(it -> "3".equals(it.getTzbh().substring(5, 6))) + .collect(Collectors.toList()), dcFd + ); + } else { + sygdMxes = this.initBySl(item, ljList.stream().filter(it -> !"3".equals(it.getTzbh().substring(5, 6))) + .collect(Collectors.toList()), dcFd + ); + } - int yksk=0; - try { - yksk=Integer.parseInt(item.getYksk()); - }catch (Exception ignored){} - if (yksk>0){ - if (!sygdMxes.isEmpty()){ - _index+=yksk; - if (_index>sygdMxes.size()){ - _index=sygdMxes.size(); - //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},一垮数控板数超过上料张数",item.getDcCh(),item.getDcPl())); - } - for (int i=start;i<_index;i++){ - this.updateByYksk(item,sygdMxes.get(i)); - } - start+=yksk; - }else{ - List list = this.initByYksk(item, yksk,ljList,dcFd); - addList.addAll(list); + addList.addAll(sygdMxes); + + if (item.getPkqgjs() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateByYklm(item, sygdMx); } + } else { + List _ljlist = ljList.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); + List list = this.initByYklm(item, _ljlist, dcFd); + addList.addAll(list); } - int eklmbs=0; - try { - eklmbs=Integer.parseInt(item.getEklmbs()); - }catch (Exception ignored){} - if (eklmbs>0){ - if (!sygdMxes.isEmpty()){ - _index+=eklmbs; - if (_index>sygdMxes.size()){ - _index=sygdMxes.size(); - //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},二垮龙门板数超过上料张数",item.getDcCh(),item.getDcPl())); - } - for (int i=start;i<_index;i++){ - this.updateByEklm(item,sygdMxes.get(i)); - } - start+=eklmbs; - }else{ - List list = this.initByEklmbs(item, eklmbs,ljList,dcFd); + 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); } } + } - int eksk=0; - try { - eksk=Integer.parseInt(item.getEksk()); - }catch (Exception ignored){} - if (eksk>0){ - if (!sygdMxes.isEmpty()){ - _index+=eksk; - if (_index>sygdMxes.size()){ - _index=sygdMxes.size(); - //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},二垮数控板数超过上料张数",item.getDcCh(),item.getDcPl())); - } - for (int i=start;i<_index;i++){ - this.updateByEksk(item,sygdMxes.get(i)); - } - start+=eksk; - }else{ - List list = this.initByEksk(item, eksk,ljList,dcFd); - addList.addAll(list); + if (item.getLmqgks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateByEklm(item, sygdMx); } + } else { + List _ljlist = ljList.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); + List list = this.initByEklmbs(item, _ljlist, dcFd); + addList.addAll(list); } + } - int sksk=0; - try { - sksk=Integer.parseInt(item.getSksk()); - }catch (Exception ignored){} - if (sksk>0){ - if (!sygdMxes.isEmpty()){ - _index+=sksk; - if (_index>sygdMxes.size()){ - _index=sygdMxes.size(); - //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮数控板数超过上料张数",item.getDcCh(),item.getDcPl())); - } - for (int i=start;i<_index;i++){ - this.updateBySksk(item,sygdMxes.get(i)); - } - start+=sksk; - }else{ - List list = this.initBySksk(item, sksk,ljList,dcFd); - addList.addAll(list); + if (item.getEkskks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "9".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateByEksk(item, sygdMx); } + } else { + List _ljlist = ljList.stream().filter(it -> "9".equals(it.getKw())).collect(Collectors.toList()); + List list = this.initByEksk(item, _ljlist, dcFd); + addList.addAll(list); } + } - int skpt=0; - try { - skpt=Integer.parseInt(item.getSkpt()); - }catch (Exception ignored){} - if (skpt>0){ - if (!sygdMxes.isEmpty()){ - _index+=skpt; - if (_index>sygdMxes.size()){ - _index=sygdMxes.size(); - //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮平铁板数超过上料张数",item.getDcCh(),item.getDcPl())); - } - for (int i=start;i<_index;i++){ - this.updateBySkpt(item,sygdMxes.get(i)); - } - start+=skpt; - }else{ - List list = this.initBySkpt(item, skpt,ljList,dcFd); - addList.addAll(list); + if (item.getSkskqgks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "14".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateBySksk(item, sygdMx); } + } else { + List _ljlist = ljList.stream().filter(it -> "14".equals(it.getKw())).collect(Collectors.toList()); + List list = this.initBySksk(item, _ljlist, dcFd); + addList.addAll(list); } + } - int skbs=0; - try { - skbs=Integer.parseInt(item.getSkbs()); - }catch (Exception ignored){} - if (skbs>0){ - if (!sygdMxes.isEmpty()){ - _index+=skbs; - if (_index>sygdMxes.size()){ - _index=sygdMxes.size(); - //throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮数控板数超过上料张数",item.getDcCh(),item.getDcPl())); - } - for (int i=start;i<_index;i++){ - this.updateBySkbs(item,sygdMxes.get(i)); - } - start+=skbs; - }else{ - List list = this.initBySkbs(item, skbs,ljList,dcFd); - addList.addAll(list); + if (item.getPtks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "6".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateBySkpt(item, sygdMx); } + } else { + List _ljlist = ljList.stream().filter(it -> "6".equals(it.getKw())).collect(Collectors.toList()); + List list = this.initBySkpt(item, _ljlist, dcFd); + 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()); + if (item.getSkqgks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "15".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateBySkbs(item, sygdMx); } - })); - ljService.saveBatch(ljList,500); + } else { + List _ljlist = ljList.stream().filter(it -> "15".equals(it.getKw())).collect(Collectors.toList()); + List list = this.initBySkbs(item, _ljlist, dcFd); + 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){ @@ -296,19 +269,15 @@ public class YdjhImportService extends ServiceImpl { 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){ - int slbs=0; - try { - slbs=Integer.parseInt(item.getBs1()); - }catch (Exception ignored){} - List addList=new ArrayList<>(); - if (slbs>0){ + if (item.getSl()!=null){ if (bomList.isEmpty()){ DmSygdMx dmSygdMx = this.initDefault(item,dcFd); addList.add(dmSygdMx); @@ -318,13 +287,11 @@ public class YdjhImportService extends ServiceImpl { Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); - for(int i=0;i=list.size()){ - break; - } - DmSygdMx init = this.initBySl(item,list.get(i),dcFd); - if (item.getQwbBs()){ + for (DmSygdMxLj dmSygdMxLj : list) { + DmSygdMx init = this.initBySl(item, dmSygdMxLj, dcFd); + if (item.getQwbBs()) { init.setQbs("1"); + init.setJssj(item.getQwbjs()); } addList.add(init); } @@ -332,7 +299,7 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initByYklm(JhxfExcel item,int sl,List bomList,String dcFd){ + private List initByYklm(JhxfExcel item, List bomList, String dcFd){ List addList=new ArrayList<>(); if (bomList.isEmpty()){ DmSygdMx dmSygdMx = this.initDefault(item,dcFd); @@ -343,20 +310,18 @@ public class YdjhImportService extends ServiceImpl { Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); - for(int i=0;i=list.size()){ - break; - } - DmSygdMx init = this.initByYklm(item,list.get(i),dcFd); - if (item.getQwbBs()){ + for (DmSygdMxLj dmSygdMxLj : list) { + DmSygdMx init = this.initByYklm(item, dmSygdMxLj, dcFd); + if (item.getQwbBs()) { init.setQbs("1"); + init.setJssj(item.getQwbjs()); } addList.add(init); } return addList; } - private List initByYksk(JhxfExcel item,int sl,List bomList,String dcFd){ + private List initByYksk(JhxfExcel item, List bomList, String dcFd){ List addList=new ArrayList<>(); if (bomList.isEmpty()){ DmSygdMx dmSygdMx = this.initDefault(item,dcFd); @@ -367,20 +332,18 @@ public class YdjhImportService extends ServiceImpl { Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); - for(int i=0;i=list.size()){ - break; - } - DmSygdMx init = this.initByYksk(item,list.get(i),dcFd); - if (item.getQwbBs()){ + for (DmSygdMxLj dmSygdMxLj : list) { + DmSygdMx init = this.initByYksk(item, dmSygdMxLj, dcFd); + if (item.getQwbBs()) { init.setQbs("1"); + init.setJssj(item.getQwbjs()); } addList.add(init); } return addList; } - private List initByEklmbs(JhxfExcel item,int sl,List bomList,String dcFd){ + private List initByEklmbs(JhxfExcel item, List bomList, String dcFd){ List addList=new ArrayList<>(); if (bomList.isEmpty()){ DmSygdMx dmSygdMx = this.initDefault(item,dcFd); @@ -391,20 +354,18 @@ public class YdjhImportService extends ServiceImpl { Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); - for(int i=0;i=list.size()){ - break; - } - DmSygdMx init = this.initByEklmbs(item,list.get(i),dcFd); - if (item.getQwbBs()){ + for (DmSygdMxLj dmSygdMxLj : list) { + DmSygdMx init = this.initByEklmbs(item, dmSygdMxLj, dcFd); + if (item.getQwbBs()) { init.setQbs("1"); + init.setJssj(item.getQwbjs()); } addList.add(init); } return addList; } - private List initByEksk(JhxfExcel item,int sl,List bomList,String dcFd){ + private List initByEksk(JhxfExcel item, List bomList, String dcFd){ List addList=new ArrayList<>(); if (bomList.isEmpty()){ DmSygdMx dmSygdMx = this.initDefault(item,dcFd); @@ -415,20 +376,18 @@ public class YdjhImportService extends ServiceImpl { Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); - for(int i=0;i=list.size()){ - break; - } - DmSygdMx init = this.initByEksk(item,list.get(i),dcFd); - if (item.getQwbBs()){ + for (DmSygdMxLj dmSygdMxLj : list) { + DmSygdMx init = this.initByEksk(item, dmSygdMxLj, dcFd); + if (item.getQwbBs()) { init.setQbs("1"); + init.setJssj(item.getQwbjs()); } addList.add(init); } return addList; } - private List initBySksk(JhxfExcel item,int sl,List bomList,String dcFd){ + private List initBySksk(JhxfExcel item, List bomList, String dcFd){ List addList=new ArrayList<>(); if (bomList.isEmpty()){ DmSygdMx dmSygdMx = this.initDefault(item,dcFd); @@ -439,20 +398,18 @@ public class YdjhImportService extends ServiceImpl { Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); - for(int i=0;i=list.size()){ - break; - } - DmSygdMx init = this.initBySksk(item,list.get(i),dcFd); - if (item.getQwbBs()){ + for (DmSygdMxLj dmSygdMxLj : list) { + DmSygdMx init = this.initBySksk(item, dmSygdMxLj, dcFd); + if (item.getQwbBs()) { init.setQbs("1"); + init.setJssj(item.getQwbjs()); } addList.add(init); } return addList; } - private List initBySkpt(JhxfExcel item,int sl,List bomList,String dcFd){ + private List initBySkpt(JhxfExcel item, List bomList, String dcFd){ List addList=new ArrayList<>(); if (bomList.isEmpty()){ DmSygdMx dmSygdMx = this.initDefault(item,dcFd); @@ -463,20 +420,18 @@ public class YdjhImportService extends ServiceImpl { Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); - for(int i=0;i=list.size()){ - break; - } - DmSygdMx init = this.initBySkpt(item,list.get(i),dcFd); - if (item.getQwbBs()){ + for (DmSygdMxLj dmSygdMxLj : list) { + DmSygdMx init = this.initBySkpt(item, dmSygdMxLj, dcFd); + if (item.getQwbBs()) { init.setQbs("1"); + init.setJssj(item.getQwbjs()); } addList.add(init); } return addList; } - private List initBySkbs(JhxfExcel item,int sl,List bomList,String dcFd){ + private List initBySkbs(JhxfExcel item, List bomList, String dcFd){ List addList=new ArrayList<>(); if (bomList.isEmpty()){ DmSygdMx dmSygdMx = this.initDefault(item,dcFd); @@ -487,13 +442,11 @@ public class YdjhImportService extends ServiceImpl { Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new) ); - for(int i=0;i=list.size()){ - break; - } - DmSygdMx init = this.initBySkbs(item,list.get(i),dcFd); - if (item.getQwbBs()){ + for (DmSygdMxLj dmSygdMxLj : list) { + DmSygdMx init = this.initBySkbs(item, dmSygdMxLj, dcFd); + if (item.getQwbBs()) { init.setQbs("1"); + init.setJssj(item.getQwbjs()); } addList.add(init); } @@ -549,6 +502,9 @@ public class YdjhImportService extends ServiceImpl { 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; } @@ -556,6 +512,9 @@ public class YdjhImportService extends ServiceImpl { 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; } @@ -563,6 +522,9 @@ public class YdjhImportService extends ServiceImpl { private DmSygdMx initByEklmbs(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.updateByEklm(item,dmSygdMx); return dmSygdMx; } @@ -570,6 +532,9 @@ public class YdjhImportService extends ServiceImpl { private DmSygdMx initByEksk(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.updateByEksk(item,dmSygdMx); return dmSygdMx; } @@ -577,6 +542,9 @@ public class YdjhImportService extends ServiceImpl { private DmSygdMx initBySksk(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.updateBySksk(item,dmSygdMx); return dmSygdMx; } @@ -584,6 +552,9 @@ public class YdjhImportService extends ServiceImpl { 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; } @@ -591,6 +562,9 @@ public class YdjhImportService extends ServiceImpl { 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; } diff --git a/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java b/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java index 8f7a902..dbf9cab 100644 --- a/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java +++ b/src/main/java/com/dsic/gj_erp/service/xiaochi/XiaoChiService.java @@ -43,6 +43,7 @@ public class XiaoChiService{ }); Map deviceMap=new HashMap<>(); devices.forEach(item-> deviceMap.put(item.getId(),item)); + log.info("========开始执行小池同步定时功能========="); this.exeAuto(userMap,deviceMap); //this.exe(userMap,deviceMap); } @@ -91,10 +92,13 @@ public class XiaoChiService{ private void exeAuto(Map userMap,Map deviceMap){ //CronUtil默认为分钟,目前未使用CronUtil.setMatchSecond(true)启动秒级任务,以下表示每30分钟执行一次 //每30分钟执行一次,获取小池今日加工并且未更新切割计划派工单的数据去更新派工单 - CronUtil.schedule("* */10 * * * *", (Task) () -> { + CronUtil.schedule("0 */10 * * * ?", (Task) () -> { this.exe(userMap,deviceMap); }); - CronUtil.start(); + CronUtil.setMatchSecond(true); + if (!CronUtil.getScheduler().isStarted()){ + CronUtil.start(); + } } // @PostConstruct diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java index a9b0b4b..d292dcc 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java @@ -90,19 +90,21 @@ public class WebSocketService extends TextWebSocketHandler { } this.scheduleStartFlag=true; } - CronUtil.schedule("*/20 * * * * *", (Task) () -> { + CronUtil.schedule("*/15 * * * * ?", (Task) () -> { try { System.out.println("心跳"); this.sendMessage(message.toString()); } catch (Exception e) { + e.printStackTrace(); this.connect(this.url); } }); // 支持秒级别定时任务 CronUtil.setMatchSecond(true); - CronUtil.start(); - + if (!CronUtil.getScheduler().isStarted()){ + CronUtil.start(); + } } @Override diff --git a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml index 08665c0..aaf8898 100644 --- a/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml +++ b/src/main/resources/mappers/jhgk/DmSygdxqMapper.xml @@ -231,7 +231,7 @@ 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_sygdxq.dc_ch=#{dcch} and dm_sygdxq.dc_pl=#{pl} and dm_sygdxq.dc_fd=#{fd} + dm_bom.type = 'b' and dm_sygdxq.dc_ch=#{dcch} and dm_sygdxq.dc_pl=#{pl} ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD diff --git a/src/main/resources/mappers/jhgk/YdjhImportMapper.xml b/src/main/resources/mappers/jhgk/YdjhImportMapper.xml new file mode 100644 index 0000000..82b50b2 --- /dev/null +++ b/src/main/resources/mappers/jhgk/YdjhImportMapper.xml @@ -0,0 +1,6 @@ + + + + + + From 783c20a66dd75020498943869e26cfb9332787b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 13 Dec 2024 17:55:53 +0800 Subject: [PATCH 133/196] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E7=82=89=E6=89=B9?= =?UTF-8?q?=E5=8F=B7=E7=A1=AE=E8=AE=A4=E8=AE=B0=E5=BD=95=202.=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E7=9C=8B=E6=9D=BF=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=83=85=E5=86=B5=E6=95=B0=E6=8D=AE=E6=98=BE=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 4 ++- .../controller/pgd/PgdQgjhController.java | 27 +++++++++++++++++-- .../com/dsic/gj_erp/mapper/KbanMapper.java | 1 + .../com/dsic/gj_erp/service/KbanService.java | 11 +++++++- .../jhgk/impl/DmSygdMxServiceImpl.java | 10 +++++++ .../resources/mappers/kban/KbanMapper.xml | 26 +++++++++++++----- 6 files changed, 68 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 77d32e0..fd7542b 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -367,6 +367,9 @@ public class DmYdjh implements Serializable { private String kcbs; // 库存标识 + private String lphqrry; + private String lphqrrq; + @TableField(exist = false) private Long bs; @@ -383,7 +386,6 @@ public class DmYdjh implements Serializable { @TableField(exist = false) private Long qgCount; - public String getUniqueData(){ return StrUtil.format("{}_{}_{}_{}",this.dcCh,this.dcPl,this.dcFd,this.tzbh); } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java index 2916ff2..1a6a8db 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdQgjhController.java @@ -1,19 +1,23 @@ package com.dsic.gj_erp.controller.pgd; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.service.pgd.PgdQgjhService; +import com.dsic.gj_erp.service.zyjh.ZyjhService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -27,10 +31,29 @@ import java.util.Map; @RequestMapping("/pgdQgjh") public class PgdQgjhController { - @Autowired PgdQgjhService pgdQgjhService; - + + @Autowired + ZyjhService zyjhService; + + @PostMapping("comLph") + @AuthFunction + public ResultBean comLph(HttpServletRequest req, @RequestBody List list) throws Exception, CustomException { + String yhdm = (String) req.getAttribute("yhdm"); + String date= DateUtil.date().toString("yyyy/MM/dd"); + List collect = list.stream().map(item -> { + DmYdjh dmYdjh = new DmYdjh(); + dmYdjh.setId(item.getId()); + dmYdjh.setLphqrry(yhdm); + dmYdjh.setLphqrrq(date); + return dmYdjh; + }).collect(Collectors.toList()); + + zyjhService.updateBatchById(collect); + + return new ResultBean(); + } @PostMapping("/getQgPgd") diff --git a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java index edd468e..047eef3 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java @@ -38,6 +38,7 @@ public interface KbanMapper { String qfxq(String from, String to); List> qfxqDetail(String from, String to); + List> qfxqDetail1(String from, String to); List> qfxqWcqk(String from, String to); diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index e7f24e3..45cc582 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -97,8 +97,17 @@ public class KbanService { DateTime date = DateUtil.date(); String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); - String xq=kbanMapper.qfxq(from,to); + BigDecimal xq=kbanMapper.xqzl(from, to);; List> list=kbanMapper.qfxqDetail(from,to); + List> list1=kbanMapper.qfxqDetail1(from,to); + + for (Map map:list){ + for (Map map1:list1){ + if(map.get("dcCh").equals(map1.get("dcCh"))){ + map.put("pcsl",map1.get("pcsl")); + } + } + } Map map=new HashMap<>(); map.put("xq", xq); 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 3ce28d1..e3f7d8c 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 @@ -119,11 +119,21 @@ public class DmSygdMxServiceImpl extends ServiceImpl i ); 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追加 diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index c2f3e7f..e0db5d6 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -115,14 +115,22 @@ + + @@ -230,8 +238,12 @@ + 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} + From 681deaa2c5c4961ab22d03475e8778386faa061e Mon Sep 17 00:00:00 2001 From: xhj Date: Sun, 15 Dec 2024 18:37:14 +0800 Subject: [PATCH 139/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/controller/pgd/PgdSljhController.java | 2 ++ .../dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index e703dbd..81d1873 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -111,6 +111,8 @@ public class PgdSljhController { ydjh.setId(slKc.getYdid()); ydjh.setZt("11"); ydjh.setSllsh(id); + ydjh.setNbsbm(slKc.getNBSBM()); + ydjh.setSllph(slKc.getLPH()); ydjh.setSldrrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); ydjh.setSldrry((String) req.getAttribute("yhms")); ydupList.add(ydjh); diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 3dd6cd3..40aba93 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -472,8 +472,11 @@ public class BomUploadServiceImpl { UpdateWrapper qw1 = new UpdateWrapper<>(); qw1.set("lqbjsrq", DateUtil.format(DateUtil.date(), "yyyy/MM/dd")); + qw1.set("fkrq", DateUtil.format(DateUtil.date(), "yyyy/MM/dd")); + qw1.set("fkry", (String) req.getAttribute("yhms")); qw1.eq("czbh", e.getDcChZ()); qw1.eq("pl", e.getDcPlZ()); + // qw1.eq("dc_fd", fd); pgdTzjhService.update(qw1); @@ -1155,8 +1158,11 @@ public class BomUploadServiceImpl { UpdateWrapper qw1 = new UpdateWrapper<>(); qw1.set("tltjsrq", DateUtil.format(DateUtil.date(), "yyyy/MM/dd")); + qw1.set("fkrq", DateUtil.format(DateUtil.date(), "yyyy/MM/dd")); + qw1.set("fkry", (String) req.getAttribute("yhms")); qw1.eq("czbh", e.getDcChZ()); qw1.eq("pl", e.getDcPlZ()); + // qw1.eq("dc_fd", fd); pgdTzjhService.update(qw1); }); From e47633275864c0aff122e7e438cffc59f4fba6a2 Mon Sep 17 00:00:00 2001 From: dongzheqi Date: Sun, 15 Dec 2024 19:00:53 +0800 Subject: [PATCH 140/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E4=B8=8A=E6=96=99?= =?UTF-8?q?=E7=82=89=E6=89=B9=E5=8F=B7=E7=BC=BA=E5=B0=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java index ea0fc16..ff39fd9 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java @@ -27,6 +27,7 @@ public class ShangLiao { private String tlth; private String wph; private String wlh; + private String lph; private String wpgg; private String nbsbm;//内码 private String sljhrq; From edb36cfc687830ba840e01347c54313413faa651 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 21:00:46 +0800 Subject: [PATCH 141/196] =?UTF-8?q?1.=E5=9B=BE=E7=BA=B8=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E5=8D=95=20=E5=8F=96=E6=B6=88=E5=88=86?= =?UTF-8?q?=E6=AE=B5=20=E5=A2=9E=E5=8A=A0=E7=BC=96=E5=88=B6=E4=BA=BA?= =?UTF-8?q?=E7=BC=96=E5=88=B6=E6=97=A5=E6=9C=9F=E8=AE=B0=E5=BD=95=202.?= =?UTF-8?q?=E6=8A=9B=E4=B8=B8=20=E5=A2=9E=E5=8A=A0=20=E7=90=86=E6=96=99?= =?UTF-8?q?=E5=9E=9B=E4=BD=8D=20=E5=B1=82=E6=95=B0=20=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E9=80=89=E6=8B=A9=203.=E4=B8=8A=E6=96=99=E5=9E=AE=E4=BD=8D?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=20=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=8F=B7=20=E5=8D=95=E6=8D=AE=E5=8F=B7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91=E6=9C=AA=E7=9F=A5=204.?= =?UTF-8?q?=E5=88=92=E7=BA=BF=E5=9E=9B=E4=BD=8D=20=E5=B1=82=E6=95=B0?= =?UTF-8?q?=E5=8F=96=E6=B6=88=205.=E6=8C=89=E5=B7=A5=E5=BA=8F=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/zyjh/PwExcel.java | 6 +++ .../com/dsic/gj_erp/bean/zyjh/YcldwInfo.java | 2 +- .../controller/jhgk/DmSygdMxController.java | 2 +- .../controller/zyjh/ZyjhController.java | 43 +++++++++++++++++++ .../service/jhgk/impl/YdjhImportService.java | 8 +++- .../resources/mappers/jhgk/DmYdjhMapper.xml | 2 +- 6 files changed, 59 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java index b0e86a3..bdb47dd 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java @@ -23,4 +23,10 @@ public class PwExcel { @ExcelProperty(value = "备注") public String bz; + @ExcelProperty(value = "理料垛位") + public String lldw; + + @ExcelProperty(value = "层数") + private String llcs; + } diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java index 614072d..73f8c3d 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java @@ -59,7 +59,7 @@ public class YcldwInfo { this.baifang(); } - private void baifang(){ + public void baifang(){ this.zt=ZtEnum.BF; } diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java index 3b190f6..9b93b26 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java @@ -154,7 +154,7 @@ public class DmSygdMxController { EasyExcel.read(file.getInputStream(), JhxfExcel.class, objectListener).sheet(0).headRowNumber(1).doRead(); List objList = objectListener.getObjectList(); - ydjhImportService.handler(objList); + ydjhImportService.handler(objList,req); // service.ydjhImport(objList); return new ResultBean(); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 76d51d8..0766792 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; @@ -53,16 +54,31 @@ public class ZyjhController { */ @PostMapping("pwdr") @AuthFunction + @Transactional(rollbackFor = Exception.class) public ResultBean pwdr(MultipartFile file,HttpServletRequest request) throws IOException { String yhdm= (String) request.getAttribute("yhdm"); + String yhms= (String) request.getAttribute("yhms"); String date=DateUtil.date().toString("yyyy/MM/dd HH:mm:ss"); ExcelPwListener excelPwListener = new ExcelPwListener(); EasyExcel.read(file.getInputStream(), PwExcel.class, excelPwListener).sheet(0).headRowNumber(1).doRead(); List objList = excelPwListener.getObjectList(); objList.forEach(item-> { + Ycldw ycldw = ycldwService.getOne(new QueryWrapper().select("top 1 *").eq("name", item.getLldw())); + Integer dwId=null; + if (ycldw!=null){ + dwId=ycldw.getId(); + + } + DmYdjh ydjh = zyjhService.getOne(new QueryWrapper() + .eq("dc_ch", item.getDcCh()) + .eq("dc_pl", item.getDcPl()) + .eq("dc_fd", item.getDcFd()) + .eq("tzbh", item.getTlth()) + ); zyjhService.update(Wrappers.lambdaUpdate() .set(DmYdjh::getPwfkrq,date).set(DmYdjh::getPwfkry,yhdm) + .set(DmYdjh::getLldw,dwId).set(DmYdjh::getLlcs,item.getLlcs()) .eq(DmYdjh::getDcCh, item.getDcCh()) .eq(DmYdjh::getDcPl, item.getDcPl()) .eq(DmYdjh::getDcFd, item.getDcFd()) @@ -74,6 +90,33 @@ public class ZyjhController { .eq(YcldwInfo::getFd, item.getDcFd()) .eq(YcldwInfo::getTlth, item.getTlth()) ); + + YcldwInfo ycldwInfo = new YcldwInfo(); + ycldwInfo.setDwId(dwId); + try { + ycldwInfo.setCeng(Integer.parseInt(item.getLlcs())); + }catch (Exception ignored){} + try { + ycldwInfo.setYdid(ydjh.getId()); + ycldwInfo.setKw(ydjh.getKw()); + ycldwInfo.setZl(ydjh.getZl()); + ycldwInfo.setWph(ydjh.getWpxh()); + ycldwInfo.setWlh(ydjh.getSlwlh()); + ycldwInfo.setLph(ydjh.getSllph()); + ycldwInfo.setWpgg(ydjh.getWpgg()); + ycldwInfo.setNbsbm(ydjh.getNbsbm()); + ycldwInfo.setSljhrq(ydjh.getSljhrq()); + ycldwInfo.setQgjhrq(ydjh.getQgjhrq()); + ycldwInfo.setBfr(yhms); + ycldwInfo.setBfrq(date); + }catch (Exception ignored){} + ycldwInfo.setCzbh(item.getDcCh()); + ycldwInfo.setPl(item.getDcPl()); + ycldwInfo.setFd(item.getDcFd()); + ycldwInfo.setTlth(item.getTlth()); + ycldwInfo.baifang(); + ycldwInfoService.save(ycldwInfo); + }); return new ResultBean<>(); 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 ca36692..08be70b 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 @@ -1,6 +1,7 @@ package com.dsic.gj_erp.service.jhgk.impl; import cn.hutool.core.bean.BeanUtil; +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; @@ -20,6 +21,7 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; import java.util.*; import java.util.stream.Collectors; @@ -41,7 +43,7 @@ public class YdjhImportService extends ServiceImpl { } @Transactional(rollbackFor = Exception.class) - public void handler(List objList) { + public void handler(List objList, HttpServletRequest request) { List ydjhImports = this.executeYdjhImport(objList); ydjhImports.forEach(item->{ @@ -79,6 +81,8 @@ public class YdjhImportService extends ServiceImpl { ydjhImports.forEach(importService::saveOrUpdate); //没有基础数据的计划生成图纸计划 + String yhms= (String) request.getAttribute("yhms"); + String date= DateUtil.date().toString("yyyy/MM/dd"); List tzjhList = new ArrayList<>(); ydjhImports.stream() .filter(item -> !StrUtil.equals(item.getExtData(), "1")) @@ -96,6 +100,8 @@ public class YdjhImportService extends ServiceImpl { String[] dcfd=item.getDcFd().split("\\."); for(String dcFd:dcfd){ PgdTzjh dmTzjh = PgdTzjh.of(item,dcPl, dcFd); + dmTzjh.setBzry(yhms); + dmTzjh.setBzrq(date); tzjhList.add(dmTzjh); } } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index ee75ad0..b01067a 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -931,7 +931,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} from dm_ydjh - where zt>=11 + where zt>=11 and zt>=#{zt} and isnull(qgfkrq,'')='' From 1fbefa5f76caa272ec037b4719def491941abc27 Mon Sep 17 00:00:00 2001 From: xhj Date: Mon, 16 Dec 2024 16:57:56 +0800 Subject: [PATCH 142/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java | 10 + .../controller/jcsj/DmBomController.java | 6 +- .../controller/pgd/DmPpxxbController.java | 143 ++++++++++++ .../jcsj/impl/BomUploadServiceImpl.java | 6 +- .../resources/mappers/pgd/PgdQmjhMapper.xml | 210 ++++++++++++++++-- 5 files changed, 356 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java index b3bae79..5d31fc8 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjhLj.java @@ -320,6 +320,12 @@ public class DmYdjhLj implements Serializable { @TableField(exist = false) private String lljhrq; // 理料计划日期 + + private String tz; + private String lx; + private String xj; + + //=====预配盘相关============== @TableField(exist = false) private String yzDcCh; @@ -335,6 +341,10 @@ public class DmYdjhLj implements Serializable { private String yzLx; @TableField(exist = false) private String yzXj; + @TableField(exist = false) + private String ypph; + @TableField(exist = false) + private String yzkw; public boolean checkZt(){ return !"03".equals(this.pkZt)||!"03".equals(this.qjgZt)||!"03".equals(this.dmZt); diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java index 6c61f31..454940b 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java @@ -146,12 +146,12 @@ public class DmBomController { List AAA=new ArrayList<>(); - AAA.add("115"); + AAA.add("156"); + - AAA.add("117"); for(String aa:AAA){ - List dmBchxjbps = dmBchxjbpService.list(new QueryWrapper().eq("DC_CH", "T300K-103").eq("DC_PL", aa)); + List dmBchxjbps = dmBchxjbpService.list(new QueryWrapper().eq("DC_CH", "G175K-9").eq("DC_PL", aa)); List zllbs = dm_zhbmpRepository.findByBMLB("ZLLB"); List kwxxs = dm_zhbmpRepository.findByBMLB("KWXX"); diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java index 50113aa..a326b75 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java @@ -2,14 +2,19 @@ package com.dsic.gj_erp.controller.pgd; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; +import com.dsic.gj_erp.bean.zyjh.DmYppyz; import com.dsic.gj_erp.mapper.pgd.PgdQmjhMapper; import com.dsic.gj_erp.service.jhgk.DmQfxqService; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.dsic.gj_erp.service.pgd.DmPpxxbService; +import com.dsic.gj_erp.service.zyjh.DmYppyzService; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -39,6 +44,8 @@ public class DmPpxxbController { private final PgdQmjhMapper pgdQmjhMapper; private final DmYdjhLjService dmYdjhLjService; + private final DmYppyzService dmYppyzService; + // @PostMapping("getDmppxxbList") // public ResultBean getDmppxxbList(@RequestBody DmPpxxb dmPpxxb){ // List list = ppxxbService.list(Wrappers.lambdaQuery() @@ -55,6 +62,142 @@ public class DmPpxxbController { return new ResultBean<>(dmYdjhLjs); } + + + @PostMapping("getDmppxxbListAndYz") + public ResultBean getDmppxxbListAndYz(@RequestBody Map map){ + List dmYdjhLjs = pgdQmjhMapper.selectQmByQgAndJh1(map); + + /// 查询这条船所有的原则 + List list = dmYppyzService.list(); + for(DmYppyz dmYppyz :list){ + if (StringUtils.isNotBlank(dmYppyz.getDcCh()) && StringUtils.isNotBlank(dmYppyz.getDcPl()) && StringUtils.isNotBlank(dmYppyz.getDcFd()) && + StringUtils.isNotBlank(dmYppyz.getKw()) && StringUtils.isNotBlank(dmYppyz.getZl()) && StringUtils.isNotBlank(dmYppyz.getTz()) && + StringUtils.isNotBlank(dmYppyz.getLx()) && StringUtils.isNotBlank(dmYppyz.getXj())) { + for(DmYdjhLj dmYdjhLj :dmYdjhLjs){ + if(dmYppyz.getDcCh().equals(dmYdjhLj.getCzbh()) && dmYppyz.getDcPl().equals(dmYdjhLj.getPl()) && dmYppyz.getDcFd().equals(dmYdjhLj.getFd()) && + dmYppyz.getKw().equals(dmYdjhLj.getKw()) && dmYppyz.getZl().equals(dmYdjhLj.getZl()) && dmYppyz.getTz().equals(dmYdjhLj.getTz()) + && dmYppyz.getLx().equals(dmYdjhLj.getLx()) && dmYppyz.getXj().equals(dmYdjhLj.getXj()) + ){ + dmYdjhLj.setYpph(dmYppyz.getYpph()); + dmYdjhLj.setYzDcCh(dmYppyz.getDcCh()); + dmYdjhLj.setYzDcPl(dmYppyz.getDcPl()); + dmYdjhLj.setYzDcFd(dmYppyz.getDcFd()); + dmYdjhLj.setYzkw(dmYppyz.getKw()); + dmYdjhLj.setYzZl(dmYppyz.getZl()); + dmYdjhLj.setYzTz(dmYppyz.getTz()); + dmYdjhLj.setYzLx(dmYppyz.getLx()); + dmYdjhLj.setYzXj(dmYppyz.getXj()); + } + } + + + } else if (StringUtils.isNotBlank(dmYppyz.getDcCh()) && StringUtils.isNotBlank(dmYppyz.getDcPl()) && StringUtils.isNotBlank(dmYppyz.getDcFd()) && + StringUtils.isNotBlank(dmYppyz.getKw()) && StringUtils.isNotBlank(dmYppyz.getZl()) && StringUtils.isNotBlank(dmYppyz.getTz()) && + StringUtils.isNotBlank(dmYppyz.getLx())) { + + for(DmYdjhLj dmYdjhLj :dmYdjhLjs){ + if(dmYppyz.getDcCh().equals(dmYdjhLj.getCzbh()) && dmYppyz.getDcPl().equals(dmYdjhLj.getPl()) && dmYppyz.getDcFd().equals(dmYdjhLj.getFd()) && + dmYppyz.getKw().equals(dmYdjhLj.getKw()) && dmYppyz.getZl().equals(dmYdjhLj.getZl()) && dmYppyz.getTz().equals(dmYdjhLj.getTz()) + && dmYppyz.getLx().equals(dmYdjhLj.getLx()) + ){ + dmYdjhLj.setYpph(dmYppyz.getYpph()); + dmYdjhLj.setYzDcCh(dmYppyz.getDcCh()); + dmYdjhLj.setYzDcPl(dmYppyz.getDcPl()); + dmYdjhLj.setYzDcFd(dmYppyz.getDcFd()); + dmYdjhLj.setYzkw(dmYppyz.getKw()); + dmYdjhLj.setYzZl(dmYppyz.getZl()); + dmYdjhLj.setYzTz(dmYppyz.getTz()); + dmYdjhLj.setYzLx(dmYppyz.getLx()); + } + } + + } else if (StringUtils.isNotBlank(dmYppyz.getDcCh()) && StringUtils.isNotBlank(dmYppyz.getDcPl()) && StringUtils.isNotBlank(dmYppyz.getDcFd()) && + StringUtils.isNotBlank(dmYppyz.getKw()) && StringUtils.isNotBlank(dmYppyz.getZl()) && StringUtils.isNotBlank(dmYppyz.getTz())) { + for(DmYdjhLj dmYdjhLj :dmYdjhLjs){ + if(dmYppyz.getDcCh().equals(dmYdjhLj.getCzbh()) && dmYppyz.getDcPl().equals(dmYdjhLj.getPl()) && dmYppyz.getDcFd().equals(dmYdjhLj.getFd()) && + dmYppyz.getKw().equals(dmYdjhLj.getKw()) && dmYppyz.getZl().equals(dmYdjhLj.getZl()) && dmYppyz.getTz().equals(dmYdjhLj.getTz()) + + ){ + dmYdjhLj.setYpph(dmYppyz.getYpph()); + dmYdjhLj.setYzDcCh(dmYppyz.getDcCh()); + dmYdjhLj.setYzDcPl(dmYppyz.getDcPl()); + dmYdjhLj.setYzDcFd(dmYppyz.getDcFd()); + dmYdjhLj.setYzkw(dmYppyz.getKw()); + dmYdjhLj.setYzZl(dmYppyz.getZl()); + dmYdjhLj.setYzTz(dmYppyz.getTz()); + } + } + + } else if (StringUtils.isNotBlank(dmYppyz.getDcCh()) && StringUtils.isNotBlank(dmYppyz.getDcPl()) && StringUtils.isNotBlank(dmYppyz.getDcFd()) && + StringUtils.isNotBlank(dmYppyz.getKw()) && StringUtils.isNotBlank(dmYppyz.getZl())) { + for(DmYdjhLj dmYdjhLj :dmYdjhLjs){ + if(dmYppyz.getDcCh().equals(dmYdjhLj.getCzbh()) && dmYppyz.getDcPl().equals(dmYdjhLj.getPl()) && dmYppyz.getDcFd().equals(dmYdjhLj.getFd()) && + dmYppyz.getKw().equals(dmYdjhLj.getKw()) && dmYppyz.getZl().equals(dmYdjhLj.getZl()) + + ){ + dmYdjhLj.setYpph(dmYppyz.getYpph()); + dmYdjhLj.setYzDcCh(dmYppyz.getDcCh()); + dmYdjhLj.setYzDcPl(dmYppyz.getDcPl()); + dmYdjhLj.setYzDcFd(dmYppyz.getDcFd()); + dmYdjhLj.setYzkw(dmYppyz.getKw()); + dmYdjhLj.setYzZl(dmYppyz.getZl()); + } + } + } else if (StringUtils.isNotBlank(dmYppyz.getDcCh()) && StringUtils.isNotBlank(dmYppyz.getDcPl()) && StringUtils.isNotBlank(dmYppyz.getDcFd()) && + StringUtils.isNotBlank(dmYppyz.getKw())) { + + for(DmYdjhLj dmYdjhLj :dmYdjhLjs){ + if(dmYppyz.getDcCh().equals(dmYdjhLj.getCzbh()) && dmYppyz.getDcPl().equals(dmYdjhLj.getPl()) && dmYppyz.getDcFd().equals(dmYdjhLj.getFd()) && + dmYppyz.getKw().equals(dmYdjhLj.getKw()) + + ){ + dmYdjhLj.setYpph(dmYppyz.getYpph()); + dmYdjhLj.setYzDcCh(dmYppyz.getDcCh()); + dmYdjhLj.setYzDcPl(dmYppyz.getDcPl()); + dmYdjhLj.setYzDcFd(dmYppyz.getDcFd()); + dmYdjhLj.setYzkw(dmYppyz.getKw()); + } + } + + } else if (StringUtils.isNotBlank(dmYppyz.getDcCh()) && StringUtils.isNotBlank(dmYppyz.getDcPl()) && StringUtils.isNotBlank(dmYppyz.getDcFd())) { + for(DmYdjhLj dmYdjhLj :dmYdjhLjs){ + if(dmYppyz.getDcCh().equals(dmYdjhLj.getCzbh()) && dmYppyz.getDcPl().equals(dmYdjhLj.getPl()) && dmYppyz.getDcFd().equals(dmYdjhLj.getFd()) + + ){ + dmYdjhLj.setYpph(dmYppyz.getYpph()); + dmYdjhLj.setYzDcCh(dmYppyz.getDcCh()); + dmYdjhLj.setYzDcPl(dmYppyz.getDcPl()); + dmYdjhLj.setYzDcFd(dmYppyz.getDcFd()); + } + } + } else if (StringUtils.isNotBlank(dmYppyz.getDcCh()) && StringUtils.isNotBlank(dmYppyz.getDcPl())) { + for(DmYdjhLj dmYdjhLj :dmYdjhLjs){ + if(dmYppyz.getDcCh().equals(dmYdjhLj.getCzbh()) && dmYppyz.getDcPl().equals(dmYdjhLj.getPl()) + + ){ + dmYdjhLj.setYpph(dmYppyz.getYpph()); + dmYdjhLj.setYzDcCh(dmYppyz.getDcCh()); + dmYdjhLj.setYzDcPl(dmYppyz.getDcPl()); + } + } + + } else if (StringUtils.isNotBlank(dmYppyz.getDcCh())) { + for(DmYdjhLj dmYdjhLj :dmYdjhLjs){ + if(dmYppyz.getDcCh().equals(dmYdjhLj.getCzbh()) + + ){ + dmYdjhLj.setYpph(dmYppyz.getYpph()); + dmYdjhLj.setYzDcCh(dmYppyz.getDcCh()); + } + } + } + } + + return new ResultBean<>(dmYdjhLjs); + } + + @PostMapping("saveDmppxxb") @Transactional(rollbackFor = Exception.class) public ResultBean save(@RequestBody List list){ diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 40aba93..22f1627 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -91,7 +91,7 @@ public class BomUploadServiceImpl { DmYdjhService dmYdjhService; @Transactional(rollbackFor = Exception.class) - public synchronized ResultBean uploadZ(MultipartFile[] file, String czbh, String pl, String isupload, HttpServletRequest req,String path) throws IOException, CustomException, ScriptException { + public ResultBean uploadZ(MultipartFile[] file, String czbh, String pl, String isupload, HttpServletRequest req,String path) throws IOException, CustomException, ScriptException { String savePath = UUID.randomUUID().toString().replace("-", ""); //dezt="00"; File destFile = null; @@ -1275,8 +1275,8 @@ public class BomUploadServiceImpl { } if (adds.size() > 0) { wlqdService.saveBatch(adds); - insertWpjbbByLjptb(adds); - //上传文件到服务器 + //insertWpjbbByLjptb(adds); + // //上传文件到服务器 saveFile(file,path,(String) req.getAttribute("yhms")); } adds.forEach(e -> { diff --git a/src/main/resources/mappers/pgd/PgdQmjhMapper.xml b/src/main/resources/mappers/pgd/PgdQmjhMapper.xml index 3d5d753..68f4a55 100644 --- a/src/main/resources/mappers/pgd/PgdQmjhMapper.xml +++ b/src/main/resources/mappers/pgd/PgdQmjhMapper.xml @@ -244,6 +244,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - From 3ac23c88822b751eddf6da07959991440a61a92f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 16 Dec 2024 17:58:05 +0800 Subject: [PATCH 143/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/YdjhImport.java | 3 + .../com/dsic/gj_erp/bean/pgd/PgdTzjh.java | 4 +- .../com/dsic/gj_erp/bean/zyjh/PwExcel.java | 7 +- .../com/dsic/gj_erp/config/JapConfig.java | 2 +- .../controller/zyjh/ZyjhController.java | 99 +++++++++++-------- .../controller/zyjh/dto/SljhSearch.java | 1 + .../service/jhgk/impl/YdjhImportService.java | 64 ++++++++---- .../resources/mappers/kban/KbanMapper.xml | 4 +- 8 files changed, 121 insertions(+), 63 deletions(-) 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 af1523c..3ee11e7 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 @@ -112,6 +112,9 @@ public class YdjhImport { @TableField(exist = false) private Boolean qwbBs; + @TableField(exist = false) + private String qgrq; + 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, 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 f49b25d..3a0d357 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 @@ -80,13 +80,13 @@ public class PgdTzjh implements Serializable { private String fkry; - public static PgdTzjh of(YdjhImport jh,String pl,String fd){ + public static PgdTzjh of(YdjhImport jh,String pl){ PgdTzjh tzjh = new PgdTzjh(); tzjh.setCzbh(jh.getDcCh()); tzjh.setPl(pl); tzjh.setQfxqrqxz(jh.getQfxqrqxz()); tzjh.setQfxqrqdz(jh.getQfxqrqdz()); - tzjh.setFd(fd); +// tzjh.setFd(fd); tzjh.setZt("01"); // tzjh.setTzzt("0"); return tzjh; diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java index bdb47dd..270bbdd 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java @@ -14,7 +14,7 @@ public class PwExcel { @ExcelProperty(value = "批量") public String dcPl; - @ExcelProperty(value = "分段",index = 5) + @ExcelProperty(value = "分段") public String dcFd; @ExcelProperty(value = "套料图号") @@ -26,7 +26,10 @@ public class PwExcel { @ExcelProperty(value = "理料垛位") public String lldw; - @ExcelProperty(value = "层数") + @ExcelProperty(value = "理料层数") private String llcs; + @ExcelProperty(value = "状态") + private String zt; + } diff --git a/src/main/java/com/dsic/gj_erp/config/JapConfig.java b/src/main/java/com/dsic/gj_erp/config/JapConfig.java index a4433cf..c564f88 100644 --- a/src/main/java/com/dsic/gj_erp/config/JapConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/JapConfig.java @@ -91,7 +91,7 @@ public class JapConfig { public DataSourceInitializer manDataSourceInitializer() {//6 DataSourceInitializer dsInitializer = new DataSourceInitializer(); HikariDataSource dataSource = (HikariDataSource) jpaDataSource(); - dataSource.setMaximumPoolSize(30); + dataSource.setMaximumPoolSize(9999); dataSource.setLeakDetectionThreshold(2000); dsInitializer.setDataSource(dataSource); ResourceDatabasePopulator dbPopulator = new ResourceDatabasePopulator(); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 0766792..14560bf 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -76,47 +76,64 @@ public class ZyjhController { .eq("dc_fd", item.getDcFd()) .eq("tzbh", item.getTlth()) ); - zyjhService.update(Wrappers.lambdaUpdate() - .set(DmYdjh::getPwfkrq,date).set(DmYdjh::getPwfkry,yhdm) - .set(DmYdjh::getLldw,dwId).set(DmYdjh::getLlcs,item.getLlcs()) - .eq(DmYdjh::getDcCh, item.getDcCh()) - .eq(DmYdjh::getDcPl, item.getDcPl()) - .eq(DmYdjh::getDcFd, item.getDcFd()) - .eq(DmYdjh::getTzbh, item.getTlth())); - - ycldwInfoService.remove(Wrappers.lambdaQuery() - .eq(YcldwInfo::getCzbh, item.getDcCh()) - .eq(YcldwInfo::getPl, item.getDcPl()) - .eq(YcldwInfo::getFd, item.getDcFd()) - .eq(YcldwInfo::getTlth, item.getTlth()) - ); - - YcldwInfo ycldwInfo = new YcldwInfo(); - ycldwInfo.setDwId(dwId); - try { - ycldwInfo.setCeng(Integer.parseInt(item.getLlcs())); - }catch (Exception ignored){} - try { - ycldwInfo.setYdid(ydjh.getId()); - ycldwInfo.setKw(ydjh.getKw()); - ycldwInfo.setZl(ydjh.getZl()); - ycldwInfo.setWph(ydjh.getWpxh()); - ycldwInfo.setWlh(ydjh.getSlwlh()); - ycldwInfo.setLph(ydjh.getSllph()); - ycldwInfo.setWpgg(ydjh.getWpgg()); - ycldwInfo.setNbsbm(ydjh.getNbsbm()); - ycldwInfo.setSljhrq(ydjh.getSljhrq()); - ycldwInfo.setQgjhrq(ydjh.getQgjhrq()); - ycldwInfo.setBfr(yhms); - ycldwInfo.setBfrq(date); - }catch (Exception ignored){} - ycldwInfo.setCzbh(item.getDcCh()); - ycldwInfo.setPl(item.getDcPl()); - ycldwInfo.setFd(item.getDcFd()); - ycldwInfo.setTlth(item.getTlth()); - ycldwInfo.baifang(); - ycldwInfoService.save(ycldwInfo); + if ("返库".equals(item.getDcCh())) { + try { + DmYdjh dmYdjh = new DmYdjh(); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setZt("11"); + zyjhService.updateById(dmYdjh); + + ycldwInfoService.remove(Wrappers.lambdaQuery() + .eq(YcldwInfo::getCzbh, item.getDcCh()) + .eq(YcldwInfo::getPl, item.getDcPl()) + .eq(YcldwInfo::getFd, item.getDcFd()) + .eq(YcldwInfo::getTlth, item.getTlth()) + ); + }catch (Exception ignored){} + }else { + zyjhService.update(Wrappers.lambdaUpdate() + .set(DmYdjh::getPwfkrq,date).set(DmYdjh::getPwfkry,yhdm) + .set(DmYdjh::getZt,"32") + .set(DmYdjh::getLldw,dwId).set(DmYdjh::getLlcs,item.getLlcs()) + .eq(DmYdjh::getDcCh, item.getDcCh()) + .eq(DmYdjh::getDcPl, item.getDcPl()) + .eq(DmYdjh::getDcFd, item.getDcFd()) + .eq(DmYdjh::getTzbh, item.getTlth())); + + ycldwInfoService.remove(Wrappers.lambdaQuery() + .eq(YcldwInfo::getCzbh, item.getDcCh()) + .eq(YcldwInfo::getPl, item.getDcPl()) + .eq(YcldwInfo::getFd, item.getDcFd()) + .eq(YcldwInfo::getTlth, item.getTlth()) + ); + + YcldwInfo ycldwInfo = new YcldwInfo(); + ycldwInfo.setDwId(dwId); + try { + ycldwInfo.setCeng(Integer.parseInt(item.getLlcs())); + }catch (Exception ignored){} + try { + ycldwInfo.setYdid(ydjh.getId()); + ycldwInfo.setKw(ydjh.getKw()); + ycldwInfo.setZl(ydjh.getZl()); + ycldwInfo.setWph(ydjh.getWpxh()); + ycldwInfo.setWlh(ydjh.getSlwlh()); + ycldwInfo.setLph(ydjh.getSllph()); + ycldwInfo.setWpgg(ydjh.getWpgg()); + ycldwInfo.setNbsbm(ydjh.getNbsbm()); + ycldwInfo.setSljhrq(ydjh.getSljhrq()); + ycldwInfo.setQgjhrq(ydjh.getQgjhrq()); + ycldwInfo.setBfr(yhms); + ycldwInfo.setBfrq(date); + }catch (Exception ignored){} + ycldwInfo.setCzbh(item.getDcCh()); + ycldwInfo.setPl(item.getDcPl()); + ycldwInfo.setFd(item.getDcFd()); + ycldwInfo.setTlth(item.getTlth()); + ycldwInfo.baifang(); + ycldwInfoService.save(ycldwInfo); + } }); return new ResultBean<>(); @@ -378,9 +395,11 @@ public class ZyjhController { List list = zyjhService.list(Wrappers.lambdaQuery() // .le(DmYdjh::getSljhrq, date) .eq(StrUtil.isNotEmpty(search.getZt()),DmYdjh::getZt, search.getZt()) + .eq(StrUtil.isNotEmpty(search.getSllsh()),DmYdjh::getSllsh, search.getSllsh()) .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getDcCh, search.getDcch()) .eq(StrUtil.isNotEmpty(search.getDcPl()),DmYdjh::getDcPl, search.getDcPl()) .eq(StrUtil.isNotEmpty(search.getKw()),DmYdjh::getKw, search.getKw()) + ); return new ResultBean<>(list); } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java index 20c9d6b..17ad843 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java @@ -10,5 +10,6 @@ public class SljhSearch { private String dcPl; private String kw; private String sljhrq; + private String sllsh; private String zt="2"; } 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 08be70b..fd986c1 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 @@ -16,6 +16,7 @@ import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper; import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; +import com.dsic.gj_erp.service.jhgk.DmSygdMxLjService; import com.dsic.gj_erp.service.pgd.PgdTzjhService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -32,6 +33,7 @@ public class YdjhImportService extends ServiceImpl { private final DmSygdxqMapper sygdxqMapper; private final IYdjhImportService importService; private final DmBomService bomService; + private final DmSygdMxLjService ljService; private final DmCbxxpService dmCbxxpService; private final PgdTzjhService tzjhService; @@ -61,6 +63,10 @@ public class YdjhImportService extends ServiceImpl { .eq("dc_ch", item.getDcCh()) .eq("dc_pl", dcPl) ); +// ljService.remove(new QueryWrapper() +// .eq("dcch", item.getDcCh()) +// .eq("pl", dcPl) +// ); }); // List qwb = ydjhImports.stream() // .filter(YdjhImport::isAvailable) @@ -84,26 +90,39 @@ public class YdjhImportService extends ServiceImpl { String yhms= (String) request.getAttribute("yhms"); String date= DateUtil.date().toString("yyyy/MM/dd"); List tzjhList = new ArrayList<>(); + + HashMap map = new HashMap<>(); ydjhImports.stream() - .filter(item -> !StrUtil.equals(item.getExtData(), "1")) + .filter(item -> !StrUtil.equals(item.getExtData(), "1")||item.getExtData()!=null) .forEach(item->{ - String dcPl=item.getDcPl(); - if (item.getDcPl().contains("Q")) { - dcPl=item.getDcPl().replace("Q", ""); - } + YdjhImport ydjhImport = map.get(item.getDcCh() + item.getDcPl()); + if (ydjhImport==null){ + map.put(item.getDcCh() + item.getDcPl(),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); - dmTzjh.setBzry(yhms); - dmTzjh.setBzrq(date); - tzjhList.add(dmTzjh); + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { } + + tzjhService.remove(Wrappers.lambdaQuery() + .eq(PgdTzjh::getCzbh,item.getDcCh()) + .eq(PgdTzjh::getPl,dcPl) + .and(it->it.isNull(PgdTzjh::getFkrq).or().eq(PgdTzjh::getFkrq,"")) + ); + + PgdTzjh dmTzjh = PgdTzjh.of(item,dcPl); + dmTzjh.setBzry(yhms); + dmTzjh.setBzrq(date); + dmTzjh.setXfry(yhms); + dmTzjh.setXfrq(date); + dmTzjh.setQfxqrqxz(item.getQfxqrqxz()); + dmTzjh.setQfxqrqdz(item.getQfxqrqdz()); + dmTzjh.setQgxqrq(item.getQgrq()); + tzjhList.add(dmTzjh); } }); tzjhService.saveBatch(tzjhList); @@ -170,8 +189,11 @@ public class YdjhImportService extends ServiceImpl { Object o = _map.get(item.getDcCh() + item.getDcPl()); if(o==null){ - _map.put(item.getDcCh() + item.getDcPl(),1); + _map.put(item.getDcCh() + item.getDcPl(),item); }else{ + item.setExtData(item.getExtData()); + item.setQfxqrqxz(item.getQfxqrqxz()); + item.setQfxqrqdz(item.getQfxqrqdz()); return; } @@ -207,6 +229,12 @@ public class YdjhImportService extends ServiceImpl { List dmSygdxqs = sygdxqMapper.selectList(Wrappers.lambdaQuery() .eq(DmSygdxq::getDcCh, item.getDcCh()).eq(DmSygdxq::getDcPl, dcPl)); + if (ObjUtil.isNotEmpty(dmSygdxqs)){ + DmSygdxq dmSygdxq = dmSygdxqs.get(0); + item.setQfxqrqxz(dmSygdxq.getXzglxq()); + item.setQfxqrqdz(dmSygdxq.getDzglxq()); + } + HashMap map = new HashMap<>(); for (DmSygdxq xq : dmSygdxqs) { String pl = xq.getDcPl(); @@ -319,6 +347,8 @@ public class YdjhImportService extends ServiceImpl { } } this.saveBatch(addList); + +// ljService.saveBatch(ljList); }); } diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index e0db5d6..c1c2785 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -213,7 +213,9 @@ From 5d5abc16eb1bb8251f904d0b351e56800c0be793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 17 Dec 2024 22:26:39 +0800 Subject: [PATCH 150/196] =?UTF-8?q?1.=E5=90=84=E7=A7=8D=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 3 +++ src/main/java/com/dsic/gj_erp/config/JapConfig.java | 8 ++++++-- .../com/dsic/gj_erp/controller/pgd/PgdSljhController.java | 2 +- .../java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 1 + src/main/resources/mappers/jhgk/DmYdjhMapper.xml | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index fd7542b..04bee48 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -370,6 +370,9 @@ public class DmYdjh implements Serializable { private String lphqrry; private String lphqrrq; + private String zyq; + private String zyq1; + @TableField(exist = false) private Long bs; diff --git a/src/main/java/com/dsic/gj_erp/config/JapConfig.java b/src/main/java/com/dsic/gj_erp/config/JapConfig.java index c564f88..184f05a 100644 --- a/src/main/java/com/dsic/gj_erp/config/JapConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/JapConfig.java @@ -91,8 +91,12 @@ public class JapConfig { public DataSourceInitializer manDataSourceInitializer() {//6 DataSourceInitializer dsInitializer = new DataSourceInitializer(); HikariDataSource dataSource = (HikariDataSource) jpaDataSource(); - dataSource.setMaximumPoolSize(9999); - dataSource.setLeakDetectionThreshold(2000); + dataSource.setConnectionTimeout(30000); + dataSource.setIdleTimeout(60000); + dataSource.setMaximumPoolSize(200); + dataSource.setLeakDetectionThreshold(60000); + dataSource.setMinimumIdle(40); + dataSource.setMaxLifetime(1800000); dsInitializer.setDataSource(dataSource); ResourceDatabasePopulator dbPopulator = new ResourceDatabasePopulator(); dsInitializer.setDatabasePopulator(dbPopulator); diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 5a8d86a..05cf26d 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -1145,7 +1145,7 @@ public class PgdSljhController { pwExportExcel.setSldw(qgKwMap.get(slKc.getSLDW())); pwExportExcel.setDcth(slKc.getDCTH()); num++; - + excels.add(pwExportExcel); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 3943ee8..186d93b 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -67,5 +67,6 @@ public interface DmYdjhMapper extends BaseMapper { List> getWcl(); List> getYdjhByZt(String zyq,String zt,String wgzt,String wclzt,String from, String to); + void xzylbs(String dcch,String dcpl); } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index ef6b371..60b112e 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -931,7 +931,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} from dm_ydjh - where zt>=11 and zt>=#{zt} + where zt>=11 and zt>=#{zt} and (zyq=#{zyq} or zyq1=#{zyq}) and isnull(qgfkrq,'')='' From 41ca2db5d96a7bce3d2887aafc46c1084973c9f0 Mon Sep 17 00:00:00 2001 From: xhj Date: Wed, 18 Dec 2024 10:05:00 +0800 Subject: [PATCH 151/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 1 + .../controller/pgd/PgdSljhController.java | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 04bee48..00b5ee0 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -372,6 +372,7 @@ public class DmYdjh implements Serializable { private String zyq; private String zyq1; + private String ykw; @TableField(exist = false) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 05cf26d..83e2204 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -532,6 +532,8 @@ public class PgdSljhController { imCkwpkwp.setDcTh(slKc.getDCTH()); imCkwpkwp.setYdid(slKc.getYdid()); + + if(StringUtils.isBlank(slKc.getYdid())){ // 手工进行 批量了 String cjs=""; @@ -586,6 +588,37 @@ public class PgdSljhController { dmYdjh.setSlwlh(slKc.getWPH()); dmYdjh.setKcch(slKc.getDCCH()); dmYdjh.setId(slKc.getYdid()); + + // 修改跨位 // 修改作业区 + DmYdjh byId = dmYdjhService.getById(slKc.getYdid()); + + if("1".equals(slKc.getSLDW()) || "13".equals(slKc.getSLDW()) || "14".equals(slKc.getSLDW()) ||"3".equals(slKc.getSLDW()) + || "6".equals(slKc.getSLDW())|| "7".equals(slKc.getSLDW())||"8".equals(slKc.getSLDW()) + ){ + dmYdjh.setZyq("FP2Q"); + dmYdjh.setZyq1("二区"); + dmYdjh.setYkw(byId.getKw()); + dmYdjh.setKw(slKc.getSLDW()); + } + if("10".equals(slKc.getSLDW()) || "11".equals(slKc.getSLDW()) || "12".equals(slKc.getSLDW()) ||"2".equals(slKc.getSLDW()) + || "5".equals(slKc.getSLDW())|| "9".equals(slKc.getSLDW()) + ){ + dmYdjh.setZyq("FP3Q"); + dmYdjh.setZyq1("三区"); + dmYdjh.setYkw(byId.getKw()); + dmYdjh.setKw(slKc.getSLDW()); + } + + if("4".equals(slKc.getSLDW())|| "15".equals(slKc.getSLDW()) + ){ + dmYdjh.setZyq("FP4Q"); + dmYdjh.setZyq1("四区"); + dmYdjh.setYkw(byId.getKw()); + dmYdjh.setKw(slKc.getSLDW()); + } + + + ups.add(dmYdjh); } ups1.add(imCkwpkwp); From 00f81b5e25d28bdfa553a56b7b27ec616a132836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 18 Dec 2024 13:15:30 +0800 Subject: [PATCH 152/196] =?UTF-8?q?1.=E5=90=84=E7=A7=8D=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 3 +++ .../controller/pgd/PgdTzjhController.java | 4 ++-- .../gj_erp/controller/zyjh/ZyjhController.java | 9 +++++---- .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 2 +- .../dsic/gj_erp/mapper/zyjh/YcldwMapper.java | 2 +- .../dsic/gj_erp/service/zyjh/YcldwService.java | 4 ++-- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 18 +++++++++--------- .../dsic/gj_erp/wsclient/WebSocketService.java | 10 +++++++--- .../resources/mappers/zyjh/YcldwMapper.xml | 3 ++- 9 files changed, 32 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 00b5ee0..17a32a1 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -398,6 +398,9 @@ public class DmYdjh implements Serializable { public void setZtForSl(){ this.zt=ZyjhzxEnum.SLFK.code; } + public void setForPwpg(){ + this.zt=ZyjhzxEnum.PWPG.code; + } public void setZtForHXFK(){ this.zt=ZyjhzxEnum.HXFK.code; } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index ad66c5f..8a87e47 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -142,7 +142,7 @@ public class PgdTzjhController { returnMap.put("dwxxs1", dwxxs); - List ycldws = ycldwService.ycldwList("ycl"); + List ycldws = ycldwService.ycldwList("ycl","BF"); returnMap.put("cbbm", cbbm); returnMap.put("gxry", gxry); returnMap.put("ycldws", ycldws); @@ -206,7 +206,7 @@ public class PgdTzjhController { returnMap.put("dwxxs1", dwxxs); - List ycldws = ycldwService.ycldwList("ycl"); + List ycldws = ycldwService.ycldwList("ycl","BF"); returnMap.put("cbbm", cbbm); returnMap.put("gxry", gxry); returnMap.put("ycldws", ycldws); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index ecda747..cdebcfe 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -156,7 +156,7 @@ public class ZyjhController { * 根据状态或班组长,获取作业计划,用于报工 */ @GetMapping("getYdjhByZtOrForeman") - public ResultBean getYdjhByZtOrForeman(String zt,String foreman){ + public ResultBean getYdjhByZtOrForeman(Integer zt,String foreman){ List list = zyjhService.getYdjhByZtOrForeman(zt, foreman); return new ResultBean<>(list); } @@ -165,7 +165,7 @@ public class ZyjhController { * 按状态获取可派工作业计划的批次信息 */ @GetMapping("getYdjhByZt") - public ResultBean getYdjhByZt(String zt,String wgzt,String wclzt,String zyq){ + public ResultBean getYdjhByZt(Integer zt,String wgzt,String wclzt,String zyq){ return new ResultBean<>(zyjhService.getYdjhByZt(zt,wgzt,wclzt,zyq)); } @@ -209,6 +209,7 @@ public class ZyjhController { dmYdjh.setId(item.getYdid()); dmYdjh.setPwpgry(dto.getWorker()); dmYdjh.setPwpgrq(date); + dmYdjh.setForPwpg(); ydjhList.add(dmYdjh); return YcldwInfo.ofPwpg(item); }).collect(Collectors.toList()); @@ -423,8 +424,8 @@ public class ZyjhController { * 获取预处理垛位信息 */ @PostMapping("ycldw") - public ResultBean ycldw(String type){ - return new ResultBean<>(ycldwService.ycldwList(type)); + public ResultBean ycldw(String type,String lx){ + return new ResultBean<>(ycldwService.ycldwList(type,lx)); } @GetMapping("dw") diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 186d93b..56f35fa 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -66,7 +66,7 @@ public interface DmYdjhMapper extends BaseMapper { List> getWcl(); - List> getYdjhByZt(String zyq,String zt,String wgzt,String wclzt,String from, String to); + List> getYdjhByZt(String zyq,Integer zt,String wgzt,String wclzt,String from, String to); void xzylbs(String dcch,String dcpl); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java index 8c78d47..7749e94 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/zyjh/YcldwMapper.java @@ -7,5 +7,5 @@ import java.util.List; public interface YcldwMapper extends BaseMapper { - List ycldwList(String type); + List ycldwList(String type,String lx); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java index 92015f7..d9c16f9 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwService.java @@ -10,8 +10,8 @@ import java.util.List; @Service public class YcldwService extends ServiceImpl { - public List ycldwList(String type){ - return baseMapper.ycldwList(type); + public List ycldwList(String type,String lx){ + return baseMapper.ycldwList(type,lx); } } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 7b2cf3b..ed48ecc 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -36,18 +36,18 @@ public class ZyjhService extends ServiceImpl { private final DmCbxxpService dmCbxxpService; private final RedisTemplate redisTemplate; - public List getYdjhByZtOrForeman(String zt,String foreman){ + public List getYdjhByZtOrForeman(Integer zt,String foreman){ QueryWrapper wrapper = new QueryWrapper() - .ge("zt",11); + .ge("zt",11).ge(ObjUtil.isNotEmpty(zt),"zt",zt); switch (zt){ - case "31": + case 31: wrapper.eq("pwpgry",foreman).isNull("pwfkry"); break; - case "51": + case 51: wrapper.eq("hxpgry",foreman).isNull("hxfkry"); break; - case "61": + case 61: wrapper.eq("qgpgry",foreman).isNull("qgfkry"); break; } @@ -55,7 +55,7 @@ public class ZyjhService extends ServiceImpl { return list(wrapper); } - public List> getYdjhByZt(String zt,String wgzt,String wclzt,String zyq){ + public List> getYdjhByZt(Integer zt,String wgzt,String wclzt,String zyq){ DateTime date = DateUtil.date(); String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); @@ -65,7 +65,7 @@ public class ZyjhService extends ServiceImpl { public void pgWithForeman(PgWithPcDto dto){ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() - .eq(DmYdjh::getDcCh,dto.getDcCh()).eq(DmYdjh::getDcPl,dto.getDcPl()).ge(DmYdjh::getZt,2); + .eq(DmYdjh::getDcCh,dto.getDcCh()).eq(DmYdjh::getDcPl,dto.getDcPl()).ge(DmYdjh::getZt,32); String pgrq = DateUtil.date().toString("yyyy/MM/dd"); switch (dto.getZt()){ @@ -76,11 +76,11 @@ public class ZyjhService extends ServiceImpl { case "42": case "52": if ("HXPG".equals(dto.getZxZtName())){ - wrapper.set(DmYdjh::getHxpgrq,pgrq).set(DmYdjh::getHxpgry,dto.getForemanId()); + wrapper.set(DmYdjh::getHxpgrq,pgrq).set(DmYdjh::getHxpgry,dto.getForemanId()).set(DmYdjh::getZt,"51"); wrapper.lt(DmYdjh::getZt,51);//仅处理未派工的数据 } if ("QGPG".equals(dto.getZxZtName())){ - wrapper.set(DmYdjh::getQgpgrq,pgrq).set(DmYdjh::getQgpgry,dto.getForemanId()); + wrapper.set(DmYdjh::getQgpgrq,pgrq).set(DmYdjh::getQgpgry,dto.getForemanId()).set(DmYdjh::getZt,"61"); wrapper.lt(DmYdjh::getZt,61);//仅处理未派工的数据 } break; diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java index d292dcc..fb46991 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java @@ -48,8 +48,12 @@ public class WebSocketService extends TextWebSocketHandler { } public void connect(String uri) { - WebSocketConnectionManager manager = new WebSocketConnectionManager(client, this, uri); - manager.start(); + try { + WebSocketConnectionManager manager = new WebSocketConnectionManager(client, this, uri); + manager.start(); + }catch (Exception e) { + log.error("无法连接语音服务器:{},{}",this.url, e.getMessage()); + } } public void disconnect() throws Exception { @@ -95,7 +99,7 @@ public class WebSocketService extends TextWebSocketHandler { System.out.println("心跳"); this.sendMessage(message.toString()); } catch (Exception e) { - e.printStackTrace(); + log.error("语音服务器连接失效"); this.connect(this.url); } }); diff --git a/src/main/resources/mappers/zyjh/YcldwMapper.xml b/src/main/resources/mappers/zyjh/YcldwMapper.xml index 917f1ba..2601054 100644 --- a/src/main/resources/mappers/zyjh/YcldwMapper.xml +++ b/src/main/resources/mappers/zyjh/YcldwMapper.xml @@ -43,9 +43,10 @@ a.id,a.name,a.type,a.tzbh, from - ycldw a left join ycldw_info b on a.id=b.dw_id AND b.zt='BF' + ycldw a left join ycldw_info b on a.id=b.dw_id a.type = #{type} + AND b.zt=#{lx} order by a.id,ceng From 1a24e1c9d8d763efa41298f7dd1156e0c10e5032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 18 Dec 2024 14:46:51 +0800 Subject: [PATCH 153/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=9E=9B=E4=BD=8D?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=94=B1=E4=BA=8E=E6=B2=A1=E6=9C=89=E6=9D=BF?= =?UTF-8?q?=E6=9D=90=E6=97=B6=E5=9E=9B=E4=BD=8D=E4=B8=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=202.=E4=BC=98=E5=8C=96=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=98=BE=E7=A4=BA,=E6=98=BE=E7=A4=BA=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E8=AF=86=E5=88=AB=E7=BB=93=E6=9E=9C=203.=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=B8=8A=E6=96=99=E6=9F=A5=E8=AF=A2=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E6=8E=92=E5=BA=8F,=E4=BD=BF=E7=94=A8=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=8F=B7=E6=AD=A3=E5=BA=8F=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java | 1 + src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java | 1 + src/main/resources/mappers/zyjh/YcldwMapper.xml | 3 +-- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index cdebcfe..207191a 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -415,6 +415,7 @@ public class ZyjhController { .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getDcCh, search.getDcch()) .eq(StrUtil.isNotEmpty(search.getDcPl()),DmYdjh::getDcPl, search.getDcPl()) .eq(StrUtil.isNotEmpty(search.getKw()),DmYdjh::getKw, search.getKw()) + .orderByDesc(DmYdjh::getDjh) ); return new ResultBean<>(list); diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java index fb46991..8db6be4 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java @@ -125,6 +125,7 @@ public class WebSocketService extends TextWebSocketHandler { case ERROR: tipHandler.execute(msg); case ZX: + tipHandler.execute(msg); zxHandler.execute(msg); break; } diff --git a/src/main/resources/mappers/zyjh/YcldwMapper.xml b/src/main/resources/mappers/zyjh/YcldwMapper.xml index 2601054..f026c70 100644 --- a/src/main/resources/mappers/zyjh/YcldwMapper.xml +++ b/src/main/resources/mappers/zyjh/YcldwMapper.xml @@ -43,10 +43,9 @@ a.id,a.name,a.type,a.tzbh, from - ycldw a left join ycldw_info b on a.id=b.dw_id + ycldw a left join ycldw_info b on a.id=b.dw_id AND b.zt=#{lx} a.type = #{type} - AND b.zt=#{lx} order by a.id,ceng From a1c6cb8d1ab569ca9f614ece8becc58466d6fc78 Mon Sep 17 00:00:00 2001 From: xhj Date: Wed, 18 Dec 2024 15:09:08 +0800 Subject: [PATCH 154/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 83e2204..7e485f9 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -1167,7 +1167,7 @@ public class PgdSljhController { int num=1; for(SlKc slKc:slKcs1){ PwExportExcel pwExportExcel= new PwExportExcel(); - pwExportExcel.setXh(1); + pwExportExcel.setXh(num); pwExportExcel.setLph(slKc.getLPH()); pwExportExcel.setWpxh(slKc.getWPXH()); pwExportExcel.setWpgg(slKc.getWPGG()); From c565dad2302450b2e1ba3ffde5295eec068f23c2 Mon Sep 17 00:00:00 2001 From: xhj Date: Thu, 19 Dec 2024 10:30:29 +0800 Subject: [PATCH 155/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pgd/PgdSljhController.java | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 7e485f9..23fe269 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -589,36 +589,42 @@ public class PgdSljhController { dmYdjh.setKcch(slKc.getDCCH()); dmYdjh.setId(slKc.getYdid()); - // 修改跨位 // 修改作业区 + DmYdjh byId = dmYdjhService.getById(slKc.getYdid()); + if(!byId.getKw().equals(slKc.getSLDW())){ + // 修改跨位 // 修改作业区 + + if("1".equals(slKc.getSLDW()) || "13".equals(slKc.getSLDW()) || "14".equals(slKc.getSLDW()) ||"3".equals(slKc.getSLDW()) + || "6".equals(slKc.getSLDW())|| "7".equals(slKc.getSLDW())||"8".equals(slKc.getSLDW()) + ){ + dmYdjh.setZyq("FP2Q"); + dmYdjh.setZyq1("二区"); + dmYdjh.setYkw(byId.getKw()); + dmYdjh.setKw(slKc.getSLDW()); + } + if("10".equals(slKc.getSLDW()) || "11".equals(slKc.getSLDW()) || "12".equals(slKc.getSLDW()) ||"2".equals(slKc.getSLDW()) + || "5".equals(slKc.getSLDW())|| "9".equals(slKc.getSLDW()) + ){ + dmYdjh.setZyq("FP3Q"); + dmYdjh.setZyq1("三区"); + dmYdjh.setYkw(byId.getKw()); + dmYdjh.setKw(slKc.getSLDW()); + } - if("1".equals(slKc.getSLDW()) || "13".equals(slKc.getSLDW()) || "14".equals(slKc.getSLDW()) ||"3".equals(slKc.getSLDW()) - || "6".equals(slKc.getSLDW())|| "7".equals(slKc.getSLDW())||"8".equals(slKc.getSLDW()) - ){ - dmYdjh.setZyq("FP2Q"); - dmYdjh.setZyq1("二区"); - dmYdjh.setYkw(byId.getKw()); - dmYdjh.setKw(slKc.getSLDW()); - } - if("10".equals(slKc.getSLDW()) || "11".equals(slKc.getSLDW()) || "12".equals(slKc.getSLDW()) ||"2".equals(slKc.getSLDW()) - || "5".equals(slKc.getSLDW())|| "9".equals(slKc.getSLDW()) - ){ - dmYdjh.setZyq("FP3Q"); - dmYdjh.setZyq1("三区"); - dmYdjh.setYkw(byId.getKw()); - dmYdjh.setKw(slKc.getSLDW()); - } + if("4".equals(slKc.getSLDW())|| "15".equals(slKc.getSLDW()) + ){ + dmYdjh.setZyq("FP4Q"); + dmYdjh.setZyq1("四区"); + dmYdjh.setYkw(byId.getKw()); + dmYdjh.setKw(slKc.getSLDW()); + } - if("4".equals(slKc.getSLDW())|| "15".equals(slKc.getSLDW()) - ){ - dmYdjh.setZyq("FP4Q"); - dmYdjh.setZyq1("四区"); - dmYdjh.setYkw(byId.getKw()); - dmYdjh.setKw(slKc.getSLDW()); } + + ups.add(dmYdjh); } ups1.add(imCkwpkwp); From 64f36b5def5f5d5b27c4c9055b2daa070678043e Mon Sep 17 00:00:00 2001 From: xhj Date: Thu, 19 Dec 2024 14:44:48 +0800 Subject: [PATCH 156/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/controller/jhgk/DmYdjhController.java | 1 + src/main/resources/mappers/jhgk/DmYdjhMapper.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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 d315dc0..a3bb3dc 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 @@ -95,6 +95,7 @@ public class DmYdjhController { .eq(StrUtil.isNotEmpty(map.get("dcch")),"dc_ch",map.get("dcch")) .eq(StrUtil.isNotEmpty(map.get("dcpl")),"dc_pl",map.get("dcpl")) .eq("lx","B") + .and(wp->wp.ne("zt", "-1").or().ne("zt","99")) .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb") ); diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 60b112e..a29f3a1 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -862,7 +862,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} SUM(CASE WHEN ISNULL(dm_ydjh.ylbs, 'N') = 'Y' THEN 1 ELSE 0 END) AS ylbs FROM dm_ydjh - where 1=1 AND lx='B' and isnull(dm_ydjh.zt,'') != '-1' + where 1=1 AND lx='B' and ( isnull(dm_ydjh.zt,'') != '-1' or isnull(dm_ydjh.zt,'') !='99' ) and dm_ydjh.dc_ch=#{dcCh} From 5cfa75bfa093c0ff78dffc6517321f9c6992a860 Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 20 Dec 2024 11:26:19 +0800 Subject: [PATCH 157/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 1 + .../gj_erp/controller/pgd/PgdSljhController.java | 5 ++++- .../com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 1 + .../service/jcsj/impl/BomUploadServiceImpl.java | 12 ++++++++++-- src/main/resources/mappers/jhgk/DmYdjhMapper.xml | 15 ++++++++++----- 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 17a32a1..50fbe5c 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -373,6 +373,7 @@ public class DmYdjh implements Serializable { private String zyq; private String zyq1; private String ykw; + private String kwmc; @TableField(exist = false) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 23fe269..d51a478 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -1164,7 +1164,10 @@ public class PgdSljhController { if(StringUtils.isNotBlank(vo.getNbsbm())){ map.put("nbsbm",vo.getNbsbm()); List slKcs = imCkwpkwpMapper.slxxKcList(map); - slKcs1.add(slKcs.get(0)); + if(slKcs.size()>0){ + slKcs1.add(slKcs.get(0)); + } + } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 56f35fa..115aa8a 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -69,4 +69,5 @@ public interface DmYdjhMapper extends BaseMapper { List> getYdjhByZt(String zyq,Integer zt,String wgzt,String wclzt,String from, String to); void xzylbs(String dcch,String dcpl); + void updatezyq(String dcch,String dcpl); } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index e612f73..61678d3 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -278,6 +278,7 @@ public class BomUploadServiceImpl { // 修正数据 dmYdjhMapper.xzylbs(czbh,pl); + dmYdjhMapper.updatezyq(czbh,pl); for (MultipartFile f : file) { String fname = f.getOriginalFilename(); fname = fname.substring(fname.lastIndexOf('/') + 1); @@ -947,6 +948,7 @@ public class BomUploadServiceImpl { List qgkws = dm_zhbmpRepository.findByBMLB("QGKW"); Map zllbMap = zllbs.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM)); Map kwxxMap = kwxxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); + Map kwmcMap = kwxxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getZfbz)); Map qgKwMap = qgkws.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM)); int cs = 0; if (tltListOld.size() > 0 && "01".equals(zt) && tld == 1) { @@ -1114,7 +1116,7 @@ public class BomUploadServiceImpl { bchxmxpService.saveBatch(addmxs); bchxjbpService.saveBatch(adds); //List dmBchxjbps,Map kwxxMap,Map qgKwMap , HttpServletRequest req - Map bomxzjh = bomxzjh(adds, kwxxMap, qgKwMap, req,addmxs); + Map bomxzjh = bomxzjh(adds, kwxxMap, kwmcMap,qgKwMap, req,addmxs); List adds1 = (List) bomxzjh.get("adds"); List ups = (List) bomxzjh.get("ups"); List yds = (List) bomxzjh.get("ydjhs"); @@ -1819,7 +1821,7 @@ public class BomUploadServiceImpl { // 查询 船号 批量 修正作业计划 - public Map bomxzjh( List dmBchxjbps,Map kwxxMap,Map qgKwMap , HttpServletRequest req,Listmxs){ + public Map bomxzjh( List dmBchxjbps,Map kwxxMap, Map kwmcMap,Map qgKwMap , HttpServletRequest req,Listmxs){ String dcch=dmBchxjbps.get(0).getDcCh(); String dcpl=dmBchxjbps.get(0).getDcPl(); Map rMap = new HashMap(); @@ -1906,6 +1908,8 @@ public class BomUploadServiceImpl { 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); @@ -1991,6 +1995,8 @@ public class BomUploadServiceImpl { if(null!=bchxylp) { dmYdjh.setYlbs(null == bchxylp.getSfyl() ? "" : bchxylp.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 @@ -2067,6 +2073,8 @@ public class BomUploadServiceImpl { dmYdjhadd.setQgcd(dmBchxjbp.getYlzd4().doubleValue()); dmYdjhadd.setLjsl(dmBchxjbp.getLjsl().doubleValue()); dmYdjhadd.setZl(dmBchxjbp.getDcZl()); + 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 dmYdjhadd.setKw(zzcj); diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index a29f3a1..17b32d5 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -947,7 +947,15 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} - UPDATE dm_ydjh set dm_ydjh.ylbs=dm_bchxylp.sfyl, + UPDATE dm_ydjh set dm_ydjh.ylbs=dm_bchxylp.sfyl + from dm_ydjh LEFT JOIN dm_bchxylp ON dm_ydjh.dc_ch=dm_bchxylp.dc_ch AND dm_ydjh.dc_pl=dm_bchxylp.dc_pl AND + dm_ydjh.tzbh=dm_bchxylp.tzbh AND dm_ydjh.wpgg=dm_bchxylp.wpgg and dm_ydjh.wpxh=dm_bchxylp.wpxh where isnull(dm_ydjh.ylbs,'')='' +and dm_ydjh.DC_CH=#{dcch} and dm_ydjh.dc_pl=#{dcpl} + + + + + UPDATE dm_ydjh set dm_ydjh.zyq= (CASE substring(RTRIM(dm_ydjh.tzbh),6,1) WHEN '1' THEN 'FP2Q' WHEN '3' THEN 'FP2Q' @@ -965,10 +973,7 @@ END), dm_ydjh.zyq1= (CASE substring(RTRIM(dm_ydjh.tzbh),6,1) WHEN '6' THEN '四区' ELSE '' END) - from dm_ydjh LEFT JOIN dm_bchxylp ON dm_ydjh.dc_ch=dm_bchxylp.dc_ch AND dm_ydjh.dc_pl=dm_bchxylp.dc_pl AND - dm_ydjh.tzbh=dm_bchxylp.tzbh AND dm_ydjh.wpgg=dm_bchxylp.wpgg and dm_ydjh.wpxh=dm_bchxylp.wpxh where isnull(dm_ydjh.ylbs,'')='' -and dm_ydjh.DC_CH=#{dcch} and dm_ydjh.dc_pl=#{dcpl} +where dm_ydjh.DC_CH=#{dcch} and dm_ydjh.dc_pl=#{dcpl} - From e216da700e6907bdb4052ce2dda6670cec307e7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 20 Dec 2024 11:36:08 +0800 Subject: [PATCH 158/196] =?UTF-8?q?1.=E5=8F=96=E6=B6=88=E6=9C=88=E5=BA=A6?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=AE=A1=E6=A0=B8=E7=94=9F=E6=88=90=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=202.=E4=BC=98=E5=8C=96=E5=A4=84=E7=90=86?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/controller/zyjh/ZyjhController.java | 13 ++++++++----- .../com/dsic/gj_erp/controller/zyjh/dto/PgDto.java | 1 + .../dsic/gj_erp/controller/zyjh/dto/ShangLiao.java | 1 + .../service/jhgk/impl/DmSygdMxServiceImpl.java | 14 +++++++++----- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 207191a..5518728 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -267,7 +267,7 @@ public class ZyjhController { Message result = Message.result(webSocketService.getErpId(), "1"); webSocketService.sendMessage(result.toString()); } - + this.sendSuccessTips(dto.getDeviceId()); return new ResultBean<>(); } catch (NoSuchFieldException | IllegalAccessException e) { e.printStackTrace(); @@ -339,7 +339,7 @@ public class ZyjhController { zyjhService.updateBatchById(list); - + this.sendSuccessTips(dto.getDeviceId()); return new ResultBean<>(); } catch (NoSuchFieldException | IllegalAccessException e) { throw new ServiceException(10001,"属性字段不存在"); @@ -451,8 +451,6 @@ public class ZyjhController { //更新月度计划上料相关字段 zyjhService.updateForSl(sl); - //todo 更新库存信息 - switch (sl.getType()){ case YCL: wsHandler.sendSlComplete((JSONObject)JSONObject.toJSON(info)); @@ -461,7 +459,7 @@ public class ZyjhController { wsHandler.sendLLComplete((JSONObject)JSONObject.toJSON(info)); break; } - + this.sendSuccessTips(sl.getDeviceId()); return new ResultBean<>(); } @@ -496,8 +494,13 @@ public class ZyjhController { wsHandler.tip(msg.toJson()); if (msg.getCode()==3000){ wsHandler.zyjhzx(msg.toJson()); + //this.sendSuccessTips(); } + return new ResultBean<>(); } + private void sendSuccessTips(String deviceId){ + wsHandler.tip((JSONObject) JSONObject.toJSON(new ResultBean<>(deviceId))); + } } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java index 3306171..e3e58bb 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgDto.java @@ -16,6 +16,7 @@ public class PgDto { private List list; private String zt; private Boolean audioFlag=false; + private String deviceId; private YcldwInfo ycldwInfo; } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java index ff39fd9..d0089ee 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/ShangLiao.java @@ -34,6 +34,7 @@ public class ShangLiao { private String qgjhrq; private String bfr;//摆放人 private Ycldw.DwTypeEnum type;//垛位类型 + private String deviceId; public boolean checkCkwp(){ return ObjUtil.isNotEmpty(this.ckwpkwp); 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 bb08547..46ea9f9 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 @@ -116,15 +116,19 @@ public class DmSygdMxServiceImpl extends ServiceImpl i 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)); + val.forEach(item-> { + item.setPlxh(plXh); + item.setGxsj(gxsj); + }); }); //工单号 - List updateList = dmYdjhs.stream() - .filter(item->StrUtil.isNotEmpty(item.getSljhrq())) - .map(item->ofXf(item,gxsj)).collect(Collectors.toList()); + //此处取消工单号生成功能,改为图纸打印时生成,基础数据导入时同步到作业计划 +// List updateList = dmYdjhs.stream() +// .filter(item->StrUtil.isNotEmpty(item.getSljhrq())) +// .map(item->ofXf(item,gxsj)).collect(Collectors.toList()); - ydjhService.updateBatchById(updateList); + ydjhService.updateBatchById(dmYdjhs); } } From a9c507d64ee9b40003f81078002db8427bae8c94 Mon Sep 17 00:00:00 2001 From: xhj Date: Tue, 24 Dec 2024 10:44:33 +0800 Subject: [PATCH 159/196] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=AF=BC=E5=87=BAexc?= =?UTF-8?q?el?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pgd/PgdSljhController.java | 10 ++-- .../controller/zyjh/dto/PwExportExcel.java | 57 +++++++++++++------ 2 files changed, 47 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index d51a478..24d2e2e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -318,6 +318,7 @@ public class PgdSljhController { // 库存主键 没存 ydjh.setId(slKc.getYdid()); ydjh.setZt("2"); + ydjh.setSllsh(""); ydupList.add(ydjh); } } @@ -1176,16 +1177,17 @@ public class PgdSljhController { int num=1; for(SlKc slKc:slKcs1){ PwExportExcel pwExportExcel= new PwExportExcel(); - pwExportExcel.setXh(num); pwExportExcel.setLph(slKc.getLPH()); pwExportExcel.setWpxh(slKc.getWPXH()); pwExportExcel.setWpgg(slKc.getWPGG()); pwExportExcel.setWpzt(wpztMap.get(slKc.getWPZT())); - pwExportExcel.setZych(slKc.getZYCH()); - pwExportExcel.setZypl(slKc.getZYPL()); + pwExportExcel.setZych(slKc.getZYCH()+" " +slKc.getZYPL()); + pwExportExcel.setBz(slKc.getBZ()); +// pwExportExcel.setZypl(slKc.getZYPL()); pwExportExcel.setZylx(zylxMap.get(slKc.getZYLX())); pwExportExcel.setSldw(qgKwMap.get(slKc.getSLDW())); - pwExportExcel.setDcth(slKc.getDCTH()); + pwExportExcel.setText1(slKc.getLPH()+" "+slKc.getWPXH()+" "+slKc.getWPGG()+" "+wpztMap.get(slKc.getWPZT())+" "+slKc.getBZ()); + pwExportExcel.setText2(slKc.getZYCH()+" " +slKc.getZYPL()+" "+zylxMap.get(slKc.getZYLX())+" "+qgKwMap.get(slKc.getSLDW())+" "+slKc.getDCTH()); num++; excels.add(pwExportExcel); } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwExportExcel.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwExportExcel.java index b2a8384..a8f97a7 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwExportExcel.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwExportExcel.java @@ -11,25 +11,50 @@ import lombok.Data; */ @Data public class PwExportExcel { - @ExcelProperty(value = "序号") - private Integer xh; - @ExcelProperty(value = "炉批号") - private String lph; - @ExcelProperty(value = "材质") - private String wpxh; +// @ExcelProperty(value = "序号") +// private Integer xh; + + + @ExcelProperty(value = "船号 需求批量") + private String zych; + + +// @ExcelProperty(value = "批量") +// private String zypl; @ExcelProperty(value = "规格") private String wpgg; - @ExcelProperty(value = "状态") - private String wpzt; // - @ExcelProperty(value = "船号") - private String zych; - @ExcelProperty(value = "批量") - private String zypl; + @ExcelProperty(value = "材质") + private String wpxh; @ExcelProperty(value = "流向") - private String zylx; // - @ExcelProperty(value = "垛位") + private String zylx; + + @ExcelProperty(value = "切割跨位") private String sldw; // - @ExcelProperty(value = "套料图号") - private String dcth; // + + + @ExcelProperty(value = "炉批号") + private String lph; + + + @ExcelProperty(value = "物品状态") + private String wpzt; // + + @ExcelProperty(value = "备注") + private String bz; // + + + @ExcelProperty(value = "炉批号 材质 规格 物品状态 备注") + private String text1; // + + @ExcelProperty(value = "船号 需求批量 流向 切割跨位 套料图号") + private String text2; // + + + // + +// @ExcelProperty(value = "套料图号") +// private String dcth; // + + } From c7962059c24100d573942f06b156037e035f134b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 24 Dec 2024 16:58:24 +0800 Subject: [PATCH 160/196] =?UTF-8?q?1.=E5=8F=96=E6=B6=88=E6=9C=88=E5=BA=A6?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=AE=A1=E6=A0=B8=E7=94=9F=E6=88=90=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=202.=E4=BC=98=E5=8C=96=E5=A4=84=E7=90=86?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E6=98=BE=E7=A4=BA=203.=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=88=92=E7=BA=BF=E3=80=81=E5=88=87=E5=89=B2=E6=8A=A5=E5=B7=A5?= =?UTF-8?q?=E6=9C=AA=E6=A0=B9=E6=8D=AE=E4=BD=9C=E4=B8=9A=E5=8C=BA=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE=E7=9A=84bug=204.=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92=E4=BD=9C=E4=B8=9A=E5=8C=BA?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8A=9F=E8=83=BD=205.=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=B8=8A=E6=96=99=E6=91=86=E6=94=BE=E5=8C=BA=E5=9F=9F=E5=8F=AF?= =?UTF-8?q?=E6=8B=96=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/czzj/MpDhsj.java | 53 ++++++++++++++++++ .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 1 + .../java/com/dsic/gj_erp/bean/zyjh/Ycldw.java | 8 +++ .../com/dsic/gj_erp/config/JapConfig.java | 2 +- .../controller/jhgk/DmYdjhController.java | 6 ++ .../controller/zyjh/YcldwController.java | 56 +++++++++++++++++++ .../controller/zyjh/ZyjhController.java | 24 +++++++- .../dsic/gj_erp/mapper/czzj/MpDhsjMapper.java | 9 +++ .../gj_erp/service/czzj/MpDhsjServcie.java | 10 ++++ .../dsic/gj_erp/service/zyjh/ZyjhService.java | 6 +- .../resources/mappers/czzj/YcldwMapper.xml | 5 ++ 11 files changed, 174 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/czzj/MpDhsj.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/YcldwController.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/czzj/MpDhsjMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/service/czzj/MpDhsjServcie.java create mode 100644 src/main/resources/mappers/czzj/YcldwMapper.xml diff --git a/src/main/java/com/dsic/gj_erp/bean/czzj/MpDhsj.java b/src/main/java/com/dsic/gj_erp/bean/czzj/MpDhsj.java new file mode 100644 index 0000000..6d4449c --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/czzj/MpDhsj.java @@ -0,0 +1,53 @@ +package com.dsic.gj_erp.bean.czzj; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class MpDhsj { + + private String dhh; + + private String wph; + + private String wpjb; + + private String gzlx; + + private String gzbm; + + private String dhsl; + + private String cpxql; + + private String gysbh; + + private String gylb; + + private String zt; + + private String sysl; + + private String xdtz; + + private String dcCh; + + private String dcPl; + + private String dcFd;//船号+分段号 + + private String dcTh; + + private String dcZl; + + private String dcLph; + + private String dcTpbh; + + private String dcTpmc; + + private String hxfl; + + private String dhsl1; +} diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index 50fbe5c..d87a44a 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -374,6 +374,7 @@ public class DmYdjh implements Serializable { private String zyq1; private String ykw; private String kwmc; + private String zylx;//流向,对应字典编码类别:zylx @TableField(exist = false) diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java index 992e4e7..f4c9d2d 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/Ycldw.java @@ -20,10 +20,18 @@ public class Ycldw { private String name; private DwTypeEnum type; private String tzbh; + private String kw; @TableField(exist = false) private List list; + public void setTypeForYcl(){ + this.type=DwTypeEnum.YCL; + } + + public static DwTypeEnum getTypeForYcl(){ + return DwTypeEnum.YCL; + } public enum DwTypeEnum{ YCL,//预处理垛位 diff --git a/src/main/java/com/dsic/gj_erp/config/JapConfig.java b/src/main/java/com/dsic/gj_erp/config/JapConfig.java index 184f05a..4fd436a 100644 --- a/src/main/java/com/dsic/gj_erp/config/JapConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/JapConfig.java @@ -95,7 +95,7 @@ public class JapConfig { dataSource.setIdleTimeout(60000); dataSource.setMaximumPoolSize(200); dataSource.setLeakDetectionThreshold(60000); - dataSource.setMinimumIdle(40); + dataSource.setMinimumIdle(20); dataSource.setMaxLifetime(1800000); dsInitializer.setDataSource(dataSource); ResourceDatabasePopulator dbPopulator = new ResourceDatabasePopulator(); 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 a3bb3dc..de4b71b 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 @@ -57,6 +57,12 @@ public class DmYdjhController { @Autowired private DmYdjhMapper dmYdjhMapper; + @PostMapping("editZyq") + public ResultBean editZyq(@RequestBody DmYdjh ydjh){ + service.updateById(ydjh); + return new ResultBean<>(); + } + @PostMapping("save") public ResultBean save(@RequestBody List list){ service.updateBatchById(list); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/YcldwController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/YcldwController.java new file mode 100644 index 0000000..9ff4d70 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/YcldwController.java @@ -0,0 +1,56 @@ +package com.dsic.gj_erp.controller.zyjh; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.zyjh.Ycldw; +import com.dsic.gj_erp.service.zyjh.YcldwService; +import lombok.AllArgsConstructor; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("ycldw") +@AllArgsConstructor +public class YcldwController { + + private final YcldwService service; + + @PostMapping("list") + public ResultBean list(@RequestBody Ycldw ycldw) { + return new ResultBean<>( + service.list(Wrappers.lambdaQuery() + .eq(Ycldw::getType,Ycldw.getTypeForYcl()) + .eq(StrUtil.isNotEmpty(ycldw.getKw()),Ycldw::getKw,ycldw.getKw()) + )); + } + + @PostMapping("submit") + @Transactional(rollbackFor = Exception.class) + public ResultBean edit(@RequestBody Map> map) { + if (map.get("add")!=null){ + map.get("add").forEach(item->{ + item.setTypeForYcl(); + service.save(item); + }); + } + + if (map.get("edit")!=null){ + service.updateBatchById(map.get("edit")); + } + + if (map.get("remove")!=null){ + List remove = map.get("remove").stream().map(Ycldw::getId).collect(Collectors.toList()); + service.removeByIds(remove); + } + + return new ResultBean<>(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 5518728..a4731a4 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -9,15 +9,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.czzj.MpDhsj; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; +import com.dsic.gj_erp.bean.pbsc.MpYlxxp; import com.dsic.gj_erp.bean.zyjh.PwExcel; import com.dsic.gj_erp.bean.zyjh.Ycldw; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; import com.dsic.gj_erp.controller.zyjh.dto.*; import com.dsic.gj_erp.exception.ServiceException; import com.dsic.gj_erp.listeners.ExcelPwListener; +import com.dsic.gj_erp.service.czzj.MpDhsjServcie; import com.dsic.gj_erp.service.kc.ImCkwpkwpService; +import com.dsic.gj_erp.service.pgsc.MpYlxxpService; import com.dsic.gj_erp.service.zyjh.YcldwInfoService; import com.dsic.gj_erp.service.zyjh.YcldwService; import com.dsic.gj_erp.service.zyjh.ZyjhService; @@ -51,9 +55,10 @@ public class ZyjhController { private final WebSocketService webSocketService; - private final ImCkwpkwpService imCkwpkwpService; + private final MpDhsjServcie mpDhsjServcie; + /** * 抛丸导入 */ @@ -156,8 +161,8 @@ public class ZyjhController { * 根据状态或班组长,获取作业计划,用于报工 */ @GetMapping("getYdjhByZtOrForeman") - public ResultBean getYdjhByZtOrForeman(Integer zt,String foreman){ - List list = zyjhService.getYdjhByZtOrForeman(zt, foreman); + public ResultBean getYdjhByZtOrForeman(Integer zt,String foreman,String zyq){ + List list = zyjhService.getYdjhByZtOrForeman(zt, foreman,zyq); return new ResultBean<>(list); } @@ -245,21 +250,34 @@ public class ZyjhController { wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(info)); } } + if ("HXFK".equals(dto.getZxZtName())){ if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ ycldwInfoService.updatePw(dto.getYcldwInfo()); wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } } + if ("QGFK".equals(dto.getZxZtName())){ //无需划线,从理料间获取时才更新垛位信息 if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ if ("42".equals(dto.getZt())){ ycldwInfoService.updatePw(dto.getYcldwInfo()); } + + //更新质量的炉批号 + List collect=new ArrayList<>(); + list.forEach(item -> { + MpDhsj mpDhsj = new MpDhsj(); + + collect.add(mpDhsj); + }); + mpDhsjServcie.saveBatch(collect); + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } + } zyjhService.updateBatchById(list); diff --git a/src/main/java/com/dsic/gj_erp/mapper/czzj/MpDhsjMapper.java b/src/main/java/com/dsic/gj_erp/mapper/czzj/MpDhsjMapper.java new file mode 100644 index 0000000..c935d83 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/czzj/MpDhsjMapper.java @@ -0,0 +1,9 @@ +package com.dsic.gj_erp.mapper.czzj; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.czzj.MpDhsj; +import org.mapstruct.Mapper; + +@Mapper +public interface MpDhsjMapper extends BaseMapper { +} diff --git a/src/main/java/com/dsic/gj_erp/service/czzj/MpDhsjServcie.java b/src/main/java/com/dsic/gj_erp/service/czzj/MpDhsjServcie.java new file mode 100644 index 0000000..1f02260 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/czzj/MpDhsjServcie.java @@ -0,0 +1,10 @@ +package com.dsic.gj_erp.service.czzj; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.czzj.MpDhsj; +import com.dsic.gj_erp.mapper.czzj.MpDhsjMapper; +import org.springframework.stereotype.Service; + +@Service +public class MpDhsjServcie extends ServiceImpl { +} diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index ed48ecc..2dcb21f 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -36,9 +36,11 @@ public class ZyjhService extends ServiceImpl { private final DmCbxxpService dmCbxxpService; private final RedisTemplate redisTemplate; - public List getYdjhByZtOrForeman(Integer zt,String foreman){ + public List getYdjhByZtOrForeman(Integer zt,String foreman,String zyq){ QueryWrapper wrapper = new QueryWrapper() - .ge("zt",11).ge(ObjUtil.isNotEmpty(zt),"zt",zt); + .ge("zt",11) + .ge(ObjUtil.isNotEmpty(zt),"zt",zt) + .eq(StrUtil.isNotEmpty(zyq),"zyq1",zyq); switch (zt){ case 31: diff --git a/src/main/resources/mappers/czzj/YcldwMapper.xml b/src/main/resources/mappers/czzj/YcldwMapper.xml new file mode 100644 index 0000000..ebf316c --- /dev/null +++ b/src/main/resources/mappers/czzj/YcldwMapper.xml @@ -0,0 +1,5 @@ + + + + + From d69c08ad0a310c8ca3cb37186ad7ea18cab72794 Mon Sep 17 00:00:00 2001 From: xhj Date: Wed, 25 Dec 2024 08:58:21 +0800 Subject: [PATCH 161/196] zylx --- .../java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index 24d2e2e..c29ab3e 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -121,6 +121,7 @@ public class PgdSljhController { ydjh.setNbsbm(slKc.getNBSBM()); ydjh.setSllph(slKc.getLPH()); ydjh.setSldrrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); + ydjh.setZylx(slKc.getZYLX()); ydjh.setSldrry((String) req.getAttribute("yhms")); ydupList.add(ydjh); } @@ -139,6 +140,7 @@ public class PgdSljhController { ydjh.setDcPl(slKc.getZYPL()); ydjh.setWpgg(slKc.getWPGG()); ydjh.setWpxh(slKc.getWPXH()); + ydjh.setZylx(slKc.getZYLX()); ydjh.setZt("11"); ydjh.setJhlx("99"); ydjh.setSllsh(id); From 4deda9c9f91d04edf4c8ffd3765873b18892c084 Mon Sep 17 00:00:00 2001 From: xhj Date: Wed, 25 Dec 2024 09:23:38 +0800 Subject: [PATCH 162/196] bz --- .../java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index c29ab3e..ff5e34f 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -122,6 +122,7 @@ public class PgdSljhController { ydjh.setSllph(slKc.getLPH()); ydjh.setSldrrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm")); ydjh.setZylx(slKc.getZYLX()); + ydjh.setSlbz(slKc.getBZ()); ydjh.setSldrry((String) req.getAttribute("yhms")); ydupList.add(ydjh); } @@ -141,6 +142,7 @@ public class PgdSljhController { ydjh.setWpgg(slKc.getWPGG()); ydjh.setWpxh(slKc.getWPXH()); ydjh.setZylx(slKc.getZYLX()); + ydjh.setSlbz(slKc.getBZ()); ydjh.setZt("11"); ydjh.setJhlx("99"); ydjh.setSllsh(id); From 5b3e1880d3b92c64e6d88b7072e743d116d5b9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 25 Dec 2024 10:42:34 +0800 Subject: [PATCH 163/196] =?UTF-8?q?1.=E5=8F=96=E6=B6=88=E6=9C=88=E5=BA=A6?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=AE=A1=E6=A0=B8=E7=94=9F=E6=88=90=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=202.=E4=BC=98=E5=8C=96=E5=A4=84=E7=90=86?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E6=98=BE=E7=A4=BA=203.=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=88=92=E7=BA=BF=E3=80=81=E5=88=87=E5=89=B2=E6=8A=A5=E5=B7=A5?= =?UTF-8?q?=E6=9C=AA=E6=A0=B9=E6=8D=AE=E4=BD=9C=E4=B8=9A=E5=8C=BA=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE=E7=9A=84bug=204.=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92=E4=BD=9C=E4=B8=9A=E5=8C=BA?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8A=9F=E8=83=BD=205.=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=B8=8A=E6=96=99=E6=91=86=E6=94=BE=E5=8C=BA=E5=9F=9F=E5=8F=AF?= =?UTF-8?q?=E6=8B=96=E5=8A=A8=206.=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=A2=9E=E5=8A=A0=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/zyjh/ZyjhController.java | 23 +++--- .../controller/zyjh/dto/SljhSearch.java | 1 + .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 2 +- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 11 ++- .../resources/mappers/jhgk/DmYdjhMapper.xml | 73 +++++++++++++++++++ 5 files changed, 95 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index a4731a4..6696f45 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -9,10 +9,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.czzj.MpDhsj; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; -import com.dsic.gj_erp.bean.pbsc.MpYlxxp; import com.dsic.gj_erp.bean.zyjh.PwExcel; import com.dsic.gj_erp.bean.zyjh.Ycldw; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; @@ -21,7 +19,6 @@ import com.dsic.gj_erp.exception.ServiceException; import com.dsic.gj_erp.listeners.ExcelPwListener; import com.dsic.gj_erp.service.czzj.MpDhsjServcie; import com.dsic.gj_erp.service.kc.ImCkwpkwpService; -import com.dsic.gj_erp.service.pgsc.MpYlxxpService; import com.dsic.gj_erp.service.zyjh.YcldwInfoService; import com.dsic.gj_erp.service.zyjh.YcldwService; import com.dsic.gj_erp.service.zyjh.ZyjhService; @@ -265,14 +262,17 @@ public class ZyjhController { ycldwInfoService.updatePw(dto.getYcldwInfo()); } - //更新质量的炉批号 - List collect=new ArrayList<>(); - list.forEach(item -> { - MpDhsj mpDhsj = new MpDhsj(); + //生成零件信息 + list.forEach(item-> zyjhService.createLj(item.getDcCh(),item.getDcPl(),item.getTzbh())); - collect.add(mpDhsj); - }); - mpDhsjServcie.saveBatch(collect); + //生成质量信息 +// List collect=new ArrayList<>(); +// list.forEach(item -> { +// MpDhsj mpDhsj = new MpDhsj(); +// +// collect.add(mpDhsj); +// }); +// mpDhsjServcie.saveBatch(collect); wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); @@ -433,7 +433,8 @@ public class ZyjhController { .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getDcCh, search.getDcch()) .eq(StrUtil.isNotEmpty(search.getDcPl()),DmYdjh::getDcPl, search.getDcPl()) .eq(StrUtil.isNotEmpty(search.getKw()),DmYdjh::getKw, search.getKw()) - .orderByDesc(DmYdjh::getDjh) + .eq(StrUtil.isNotEmpty(search.getZylx()),DmYdjh::getZylx, search.getZylx()) + .orderByAsc(DmYdjh::getDjh) ); return new ResultBean<>(list); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java index 17ad843..fceb5a3 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/SljhSearch.java @@ -12,4 +12,5 @@ public class SljhSearch { private String sljhrq; private String sllsh; private String zt="2"; + private String zylx; } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 115aa8a..9abeaee 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -37,7 +37,7 @@ public interface DmYdjhMapper extends BaseMapper { int xfbc(List ids); int tqlj(List ids); - + int tqljByInfo(String dcCh,String dcPl,String tzbh); List getTzjh1(@Param("begin") String begin, @Param("end") String end); diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 2dcb21f..3d95e1d 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -16,14 +16,13 @@ import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; import com.dsic.gj_erp.service.jcsj.DmBzryService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; +import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.google.common.collect.ImmutableMap; import lombok.AllArgsConstructor; -import lombok.NonNull; -import org.springframework.cache.annotation.Cacheable; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -35,6 +34,12 @@ public class ZyjhService extends ServiceImpl { private final DmBzryService bzryService; private final DmCbxxpService dmCbxxpService; private final RedisTemplate redisTemplate; + private final DmYdjhLjService ljService; + + @Transactional(rollbackFor = Exception.class) + public void createLj(String dcCh, String dcPl, String tzbh){ + baseMapper.tqljByInfo(dcCh,dcPl,tzbh); + } public List getYdjhByZtOrForeman(Integer zt,String foreman,String zyq){ QueryWrapper wrapper = new QueryWrapper() diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 17b32d5..9e45dcd 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -824,6 +824,79 @@ + + insert into dm_ydjh_lj ( + id, + czbh, + pl, + fd, + kw, + zl, + tlth, + ptblx, + ljbh, + ljmc, + ljgg, + ljcz, + wpfl, + jldw, + sl, + qfxqrqxz, + qfxqrqdz, + gylx, + pklx, + pkcd, + pkbs, + dmbs, + dmcd, + qbs, + qjg_zt, + pk_zt, + dm_zt,dmjhrq,pkjhrq,qjgjhrq,ppzt + ) + SELECT + REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','') as id, + dm_ydjh.dc_ch as czbh, + dm_ydjh.dc_pl as pl, + dm_bom.fd as fd, + dm_ydjh.kw as kw, + dm_bom.zl as zl, + dm_bom.tzbh as tlth, + '' as ptblx, + dm_bom.ljbh as ljbh, + '' as ljmc, + dm_bom.wpgg as ljgg, + dm_bom.wpcz as ljcz, + '' as wpfl, + '' as jldw, + dm_bom.ljsl as sl, + dm_qfxq.xzglxq as qfxqrqxz, + dm_qfxq.dzglxq as qfxqrqdz, + '' as gylx, + dm_bom.pklx as pklx, + dm_bom.pkcd as pkcd, + case when isnull(dm_ydjh.pkrq,'')<>'' + then 'Y' + else '' end , + case when isnull(dm_ydjh.dmrq,'')<>'' + then 'Y' + else '' end , + dm_bom.dmcd as dmcd, + case when isnull(dm_ydjh.qjgrq,'')<>'' + then 'Y' + else '' end, + '01', + '01','01',dm_ydjh.dmrq dmjhrq,dm_ydjh.pkrq pkjhrq,dm_ydjh.qjgrq qjgjhrq,'01' + from dm_ydjh,dm_bom + LEFT JOIN dm_qfxq on dm_qfxq.DC_CH=dm_bom.dcch and dm_qfxq.DC_PL=dm_bom.pl and dm_qfxq.DC_FD=dm_bom.fd + WHERE + dm_ydjh.dc_ch= dm_bom.dcch + and dm_ydjh.dc_pl=dm_bom.pl + and dm_ydjh.tzbh=dm_bom.tzbh + and dm_ydjh.dc_fd=dm_bom.fd + and dm_ydjh.dc_ch=#{dcCh} and dm_ydjh.dc_pl=#{dcPl} and dm_ydjh.tzbh=#{tzbh} + + + SELECT + REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','') as id, + dm_ydjh.dc_ch as czbh, + dm_ydjh.dc_pl as pl, + dm_bom.fd as fd, + dm_ydjh.kw as kw, + dm_bom.zl as zl, + dm_bom.tzbh as tlth, + '' as ptblx, + dm_bom.ljbh as ljbh, + '' as ljmc, + dm_bom.wpgg as ljgg, + dm_bom.wpcz as ljcz, + '' as wpfl, + '' as jldw, + dm_bom.ljsl as sl, + dm_qfxq.xzglxq as qfxqrqxz, + dm_qfxq.dzglxq as qfxqrqdz, + '' as gylx, + dm_bom.pklx as pklx, + dm_bom.pkcd as pkcd, + case when isnull(dm_ydjh.pkrq,'')<>'' + then 'Y' + else '' end , + case when isnull(dm_ydjh.dmrq,'')<>'' + then 'Y' + else '' end , + dm_bom.dmcd as dmcd, + case when isnull(dm_ydjh.qjgrq,'')<>'' + then 'Y' + else '' end, + '01', + '01','01',dm_ydjh.dmrq dmjhrq,dm_ydjh.pkrq pkjhrq,dm_ydjh.qjgrq qjgjhrq,'01' + from dm_ydjh,dm_bom + LEFT JOIN dm_qfxq on dm_qfxq.DC_CH=dm_bom.dcch and dm_qfxq.DC_PL=dm_bom.pl and dm_qfxq.DC_FD=dm_bom.fd + WHERE + dm_ydjh.dc_ch= dm_bom.dcch + and dm_ydjh.dc_pl=dm_bom.pl + and dm_ydjh.tzbh=dm_bom.tzbh + and dm_ydjh.dc_fd=dm_bom.fd + and dm_ydjh.dc_ch=#{dcCh} and dm_ydjh.dc_pl=#{dcPl} and dm_ydjh.tzbh=#{tzbh} + + + + UPDATE dm_ydjh set dm_ydjh.ylbs=dm_bchxylp.sfyl From 0ea4429430143fc01f819c4306c549d248c2131f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 27 Dec 2024 16:37:17 +0800 Subject: [PATCH 173/196] =?UTF-8?q?1.=E5=88=92=E7=BA=BF=E5=88=87=E5=89=B2?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E5=9B=BE=E5=8F=B7=E5=A2=9E=E5=8A=A0=E7=AD=9B?= =?UTF-8?q?=E9=80=89=202.=E4=BD=9C=E4=B8=9A=E5=8F=8D=E9=A6=88=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=8C=89=E7=8F=AD=E7=BB=84=E6=9F=A5=E8=AF=A2=202.=E5=88=92?= =?UTF-8?q?=E7=BA=BF=E5=88=87=E5=89=B2=E5=8F=8D=E9=A6=88=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=8C=89=E7=85=A7=E4=BD=9C=E4=B8=9A=E5=8C=BA?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/zyjh/ZyjhController.java | 10 ++++++--- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 21 ++++++++++++++----- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 5c8ec52..3b1e968 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -38,7 +38,6 @@ import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @RestController @@ -60,6 +59,11 @@ public class ZyjhController { private final MpDhsjServcie mpDhsjServcie; + @GetMapping("getBzryByBz") + public ResultBean getBzryByBz(String zyq, String zt){ + return new ResultBean<>(zyjhService.getBzryByBz(zyq,zt)); + } + /** * 抛丸导入 */ @@ -162,8 +166,8 @@ public class ZyjhController { * 根据状态或班组长,获取作业计划,用于报工 */ @GetMapping("getYdjhByZtOrForeman") - public ResultBean getYdjhByZtOrForeman(Integer zt,String foreman,String zyq){ - List list = zyjhService.getYdjhByZtOrForeman(zt, foreman,zyq); + public ResultBean getYdjhByZtOrForeman(Integer zt,String foreman,String zyq,String userCode){ + List list = zyjhService.getYdjhByZtOrForeman(zt, foreman,userCode,zyq); return new ResultBean<>(list); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 6949f86..5bb3ea5 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -68,7 +68,7 @@ public class ZyjhService extends ServiceImpl { - public List getYdjhByZtOrForeman(Integer zt,String foreman,String zyq){ + public List getYdjhByZtOrForeman(Integer zt,String foreman,String userCode,String zyq){ QueryWrapper wrapper = new QueryWrapper() .ge("zt",11) .ge(ObjUtil.isNotEmpty(zt),"zt",zt) @@ -76,16 +76,22 @@ public class ZyjhService extends ServiceImpl { switch (zt){ case 31: - wrapper.eq("pwpgry",foreman).isNull("pwfkry"); +// wrapper.eq(!"1".equals(foreman),"pwpgry",foreman); +// wrapper.eq("1".equals(foreman),"pwpgry",userCode); + wrapper.isNull("pwfkry"); break; case 51: - wrapper.eq("hxpgry",foreman).isNull("hxfkry"); +// wrapper.eq(!"1".equals(foreman),"hxpgry",foreman); +// wrapper.eq("1".equals(foreman),"hxpgry",userCode); + wrapper.isNull("hxfkry"); break; case 61: - wrapper.eq("qgpgry",foreman).isNull("qgfkry"); +// wrapper.eq(!"1".equals(foreman),"qgpgry",foreman); +// wrapper.eq("1".equals(foreman),"qgpgry",userCode); + wrapper.isNull("qgfkry"); break; } - wrapper.orderByDesc("dc_ch","dc_pl,dc_fd,tzbh"); + wrapper.orderByDesc("dc_ch","dc_pl,tzbh"); return list(wrapper); } @@ -138,6 +144,11 @@ public class ZyjhService extends ServiceImpl { return bzryService.list(Wrappers.lambdaQuery() .eq(DmBzry::getForeman, "1").eq(DmBzry::getZyq, zyq)); } + + public List getBzryByBz(String zyq,String bz){ + return bzryService.list(Wrappers.lambdaQuery() + .eq(DmBzry::getResourcesCode, bz).eq(DmBzry::getZyq, zyq).orderByAsc(DmBzry::getUserName)); + } /** * 获取所有未处理批次 */ From b8b6ca5dcece9853c2c0c1794f13b27e150b9289 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 2 Jan 2025 11:32:31 +0800 Subject: [PATCH 174/196] =?UTF-8?q?1.=E6=9D=90=E8=B4=A8=E8=AF=81=E4=BB=B6?= =?UTF-8?q?=E8=B7=9F=E8=B8=AA=E5=A2=9E=E5=8A=A0excel=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=202.=E4=BF=AE=E6=AD=A3=E6=9D=90=E8=B4=A8?= =?UTF-8?q?=E8=AF=81=E4=BB=B6=E8=B7=9F=E8=B8=AA=E4=B8=BB=E9=94=AE=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=203.=E4=BC=98=E5=8C=96=E4=BD=9C=E4=B8=9A=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E6=89=A7=E8=A1=8C=E5=88=92=E7=BA=BF=E5=92=8C=E5=88=87?= =?UTF-8?q?=E5=89=B2=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=204.=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dsic/gj_erp/config/DynamicDataSourceConfig.java | 12 ++++++------ src/main/java/com/dsic/gj_erp/config/JapConfig.java | 10 ++++++---- .../dsic/gj_erp/config/MyBatisPlusConfigMaster.java | 4 ++-- .../com/dsic/gj_erp/service/zyjh/ZyjhService.java | 12 +++++++----- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java index 7ba5509..d705f01 100644 --- a/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java @@ -10,12 +10,12 @@ import javax.sql.DataSource; @Configuration public class DynamicDataSourceConfig { - @Primary - @Bean("masterDataSource") - @ConfigurationProperties("spring.datasource.master") - public DataSource masterDataSource() { - return DataSourceBuilder.create().build(); - } +// @Primary +// @Bean("masterDataSource") +// @ConfigurationProperties("spring.datasource.master") +// public DataSource masterDataSource() { +// return DataSourceBuilder.create().build(); +// } @Bean("jiuzhouDataSource") @ConfigurationProperties("spring.datasource.jiuzhou") diff --git a/src/main/java/com/dsic/gj_erp/config/JapConfig.java b/src/main/java/com/dsic/gj_erp/config/JapConfig.java index 4fd436a..40bd37e 100644 --- a/src/main/java/com/dsic/gj_erp/config/JapConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/JapConfig.java @@ -12,6 +12,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; import org.springframework.core.env.Environment; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.jdbc.datasource.init.DataSourceInitializer; @@ -41,6 +42,7 @@ public class JapConfig { return new DataSourceProperties(); } + @Primary @Bean("jpaDataSource") public DataSource jpaDataSource() { DataSourceProperties manDataSourceProperties = japDataSourceProperties(); @@ -91,12 +93,12 @@ public class JapConfig { public DataSourceInitializer manDataSourceInitializer() {//6 DataSourceInitializer dsInitializer = new DataSourceInitializer(); HikariDataSource dataSource = (HikariDataSource) jpaDataSource(); - dataSource.setConnectionTimeout(30000); + dataSource.setConnectionTimeout(10000); dataSource.setIdleTimeout(60000); - dataSource.setMaximumPoolSize(200); + dataSource.setMaximumPoolSize(2000); dataSource.setLeakDetectionThreshold(60000); - dataSource.setMinimumIdle(20); - dataSource.setMaxLifetime(1800000); + dataSource.setMinimumIdle(40); + dataSource.setMaxLifetime(300000); dsInitializer.setDataSource(dataSource); ResourceDatabasePopulator dbPopulator = new ResourceDatabasePopulator(); dsInitializer.setDatabasePopulator(dbPopulator); diff --git a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java index ac21bae..83d63bb 100644 --- a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java +++ b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java @@ -24,7 +24,7 @@ import javax.sql.DataSource; public class MyBatisPlusConfigMaster { @Primary @Bean("masterSqlSessionFactory") - public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource dataSource, MppSqlInjector mppSqlInjector) throws Exception { + public SqlSessionFactory masterSqlSessionFactory(@Qualifier("jpaDataSource") DataSource dataSource, MppSqlInjector mppSqlInjector) throws Exception { MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean(); sqlSessionFactory.setDataSource(dataSource); @@ -47,7 +47,7 @@ public class MyBatisPlusConfigMaster { @Primary @Bean(name = "masterTransactionManager") - public DataSourceTransactionManager masterTransactionManager(@Qualifier("masterDataSource") DataSource dataSource) { + public DataSourceTransactionManager masterTransactionManager(@Qualifier("jpaDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 5bb3ea5..59686fa 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -45,7 +45,7 @@ public class ZyjhService extends ServiceImpl { } public String getMpDhsjDhh(){ - String date=DateUtil.date().toString("yyyyMMdd"); + String date=DateUtil.date().toString("yyMMdd"); Object xh = redisTemplate.opsForHash().get(MPDHSJ_KEY, date); if(ObjUtil.isEmpty(xh)){ redisTemplate.opsForHash().put(MPDHSJ_KEY, date,0); @@ -107,8 +107,7 @@ public class ZyjhService extends ServiceImpl { LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() .eq(DmYdjh::getDcCh,dto.getDcCh()) .eq(DmYdjh::getDcPl,dto.getDcPl()) - .eq(DmYdjh::getZyq1,dto.getZyq()) - .ge(DmYdjh::getZt,32); + .eq(DmYdjh::getZyq1,dto.getZyq()); String pgrq = DateUtil.date().toString("yyyy/MM/dd HH:mm:ss"); switch (dto.getZt()){ @@ -118,13 +117,16 @@ public class ZyjhService extends ServiceImpl { break; case "42": case "52": + wrapper.ge(DmYdjh::getZt,32); if ("HXPG".equals(dto.getZxZtName())){ wrapper.set(DmYdjh::getHxpgrq,pgrq).set(DmYdjh::getHxpgry,dto.getForemanId()).set(DmYdjh::getZt,"51"); - wrapper.lt(DmYdjh::getZt,51);//仅处理未派工的数据 + wrapper.isNull(DmYdjh::getHxpgrq).isNull(DmYdjh::getHxpgry); + //wrapper.lt(DmYdjh::getZt,51);//仅处理未派工的数据 } if ("QGPG".equals(dto.getZxZtName())){ wrapper.set(DmYdjh::getQgpgrq,pgrq).set(DmYdjh::getQgpgry,dto.getForemanId()).set(DmYdjh::getZt,"61"); - wrapper.lt(DmYdjh::getZt,61);//仅处理未派工的数据 + wrapper.eq(DmYdjh::getZt,"52").isNull(DmYdjh::getQgpgrq).isNull(DmYdjh::getQgpgry); + //wrapper.lt(DmYdjh::getZt,61);//仅处理未派工的数据 } break; } From d680c8a1fa5e09c3cc68e9c79cabeda9591e98f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 6 Jan 2025 17:32:22 +0800 Subject: [PATCH 175/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/config/DynamicDataSourceConfig.java | 12 ++++++------ .../java/com/dsic/gj_erp/config/JapConfig.java | 16 ++++++++-------- .../service/jhgk/impl/YdjhImportService.java | 9 +++++---- .../com/dsic/gj_erp/service/sy/SYService.java | 3 ++- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java index d705f01..7ba5509 100644 --- a/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java @@ -10,12 +10,12 @@ import javax.sql.DataSource; @Configuration public class DynamicDataSourceConfig { -// @Primary -// @Bean("masterDataSource") -// @ConfigurationProperties("spring.datasource.master") -// public DataSource masterDataSource() { -// return DataSourceBuilder.create().build(); -// } + @Primary + @Bean("masterDataSource") + @ConfigurationProperties("spring.datasource.master") + public DataSource masterDataSource() { + return DataSourceBuilder.create().build(); + } @Bean("jiuzhouDataSource") @ConfigurationProperties("spring.datasource.jiuzhou") diff --git a/src/main/java/com/dsic/gj_erp/config/JapConfig.java b/src/main/java/com/dsic/gj_erp/config/JapConfig.java index 40bd37e..a6b5d70 100644 --- a/src/main/java/com/dsic/gj_erp/config/JapConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/JapConfig.java @@ -42,7 +42,7 @@ public class JapConfig { return new DataSourceProperties(); } - @Primary +// @Primary @Bean("jpaDataSource") public DataSource jpaDataSource() { DataSourceProperties manDataSourceProperties = japDataSourceProperties(); @@ -55,8 +55,8 @@ public class JapConfig { } @Bean - public PlatformTransactionManager manTransactionManager() { //4 - EntityManagerFactory factory = manEntityManagerFactory().getObject(); + public PlatformTransactionManager manTransactionManager(LocalContainerEntityManagerFactoryBean manEntityManagerFactory) { //4 + EntityManagerFactory factory = manEntityManagerFactory.getObject(); JpaTransactionManager jpaTransactionManager = new JpaTransactionManager(factory); System.out.println(jpaTransactionManager.isNestedTransactionAllowed()); return jpaTransactionManager; @@ -73,10 +73,10 @@ public class JapConfig { } @Bean - public LocalContainerEntityManagerFactoryBean manEntityManagerFactory() { + public LocalContainerEntityManagerFactoryBean manEntityManagerFactory(DataSource jpaDataSource) { LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean(); - factory.setDataSource(jpaDataSource()); + factory.setDataSource(jpaDataSource); factory.setPackagesToScan("com.dsic.gj_erp"); factory.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); Properties jpaProperties = new Properties(); @@ -90,14 +90,14 @@ public class JapConfig { } @Bean - public DataSourceInitializer manDataSourceInitializer() {//6 + public DataSourceInitializer manDataSourceInitializer(DataSource jpaDataSource) {//6 DataSourceInitializer dsInitializer = new DataSourceInitializer(); - HikariDataSource dataSource = (HikariDataSource) jpaDataSource(); + HikariDataSource dataSource = (HikariDataSource) jpaDataSource; dataSource.setConnectionTimeout(10000); dataSource.setIdleTimeout(60000); dataSource.setMaximumPoolSize(2000); dataSource.setLeakDetectionThreshold(60000); - dataSource.setMinimumIdle(40); + dataSource.setMinimumIdle(80); dataSource.setMaxLifetime(300000); dsInitializer.setDataSource(dataSource); ResourceDatabasePopulator dbPopulator = new ResourceDatabasePopulator(); 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 6a1986c..03f4eb0 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 @@ -172,7 +172,8 @@ public class YdjhImportService extends ServiceImpl { @Transactional(rollbackFor = Exception.class) public void execute(List objList) { HashMap _map = new HashMap<>(); - objList.parallelStream().forEach(item->{ + List addList = new ArrayList<>(); + objList.forEach(item->{ String dcPl=item.getDcPl(); if (item.getDcPl().contains("Q")) { dcPl=item.getDcPl().replace("Q", ""); @@ -254,7 +255,7 @@ public class YdjhImportService extends ServiceImpl { sygdMxes = this.initBySl(item, ljList,dcFd); } - List addList = new ArrayList<>(sygdMxes); + addList.addAll(sygdMxes); if (item.getPkqgjs() != null) { List _sygdMxes = sygdMxes.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); @@ -346,10 +347,10 @@ public class YdjhImportService extends ServiceImpl { addList.addAll(list); } } - this.saveBatch(addList); - // ljService.saveBatch(ljList); }); + + this.saveBatch(addList); } private List initBySl(YdjhImport item, List bomList,String dcFd) { diff --git a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java index 35463d2..402691e 100644 --- a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java +++ b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java @@ -149,7 +149,7 @@ public class SYService { * @return 最大单据号(流水号) */ // @Transactional(propagation = Propagation.REQUIRES_NEW,rollbackFor = Exception.class) - @Transactional + @Transactional(rollbackFor = Exception.class) public String f_getpjh(String zxt,String jg,String bmm){ entityManager.clear(); // 清除缓存 QDmBhdyp bhdy=QDmBhdyp.dmBhdyp; @@ -235,6 +235,7 @@ public class SYService { dmBhsjp.setBmqz(f_qz); dmBhsjp.setBmsxh(f_oxh); dmBhsjpRepository.addBhsjp(dmBhsjp); + entityManager.clear(); if (bmm.equals("APS")){ return f_qz+f_oxh; } From 4defed2c627feee175054239345806ab3d87579d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 9 Jan 2025 21:18:36 +0800 Subject: [PATCH 176/196] =?UTF-8?q?1.=E6=8C=89=E6=9C=88=E5=BA=A6=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E5=90=8D=E7=A7=B0=E6=9F=A5=E8=AF=A2=E6=9C=88=E5=BA=A6?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=AF=BC=E5=85=A5=E5=86=85=E5=AE=B9,?= =?UTF-8?q?=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E6=8C=89=E5=AF=BC=E5=85=A5?= =?UTF-8?q?excel=E6=9F=A5=E7=9C=8B=202.=E6=9C=88=E5=BA=A6=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E5=AF=BC=E5=85=A5=E6=97=B6=E6=8C=89=E7=85=A7=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E6=95=B0=E6=8D=AE=E8=AE=A1=E7=AE=97=E5=90=84=E5=B7=A5?= =?UTF-8?q?=E5=BA=8F=E5=AE=9E=E9=99=85=E6=95=B0=E9=87=8F=203.=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=204.=E7=9C=8B=E6=9D=BF=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=BB=84=E7=AB=8B=E6=B5=81=E5=90=91=205.=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BD=9C=E4=B8=9A=E5=8C=BA=206.=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E7=BA=BF=E8=A1=A8=E8=AE=A1=E5=88=92,=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E5=B7=B2=E5=AE=8C=E5=B7=A5=E8=88=B9=E5=8F=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/GjErpApplication.java | 7 +- .../com/dsic/gj_erp/bean/jhgk/YdjhImport.java | 2 + .../gj_erp/bean/jhgk/excel/JhxfExcel.java | 2 +- .../config/DynamicDataSourceConfig.java | 2 +- .../com/dsic/gj_erp/config/JapConfig.java | 2 +- .../config/MyBatisPlusConfigJiuZhou.java | 2 +- .../config/MyBatisPlusConfigMaster.java | 2 +- .../controller/jhgk/DmSygdMxController.java | 79 +-- .../controller/jhgk/DmXbjhController.java | 2 +- .../controller/jhgk/DmYdjhController.java | 3 +- .../controller/zyjh/ZyjhController.java | 20 +- .../gj_erp/listeners/ExcelJhxfListener.java | 56 +- .../dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java | 3 + .../gj_erp/mapper/jhgk/YdjhImportMapper.java | 4 + .../gj_erp/service/jhgk/DmXbjhService.java | 2 +- .../jhgk/impl/DmSygdMxServiceImpl.java | 5 + .../service/jhgk/impl/DmXbjhServiceImpl.java | 49 +- .../service/jhgk/impl/DmYdjhServiceImpl.java | 6 +- .../service/jhgk/impl/IYdjhImportService.java | 6 + .../service/jhgk/impl/YdjhImportService.java | 553 ++++++++++-------- .../gj_erp/service/jiuzhou/SljhService.java | 2 +- .../gj_erp/service/zyjh/YcldwInfoService.java | 2 +- .../java/com/dsic/gj_erp/ws/WsHandler.java | 4 + src/main/resources/application.properties | 40 +- .../resources/mappers/jhgk/DmXbjhMapper.xml | 17 + .../mappers/jhgk/YdjhImportMapper.xml | 3 + 26 files changed, 489 insertions(+), 386 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/GjErpApplication.java b/src/main/java/com/dsic/gj_erp/GjErpApplication.java index f446a6b..ec6c1b8 100644 --- a/src/main/java/com/dsic/gj_erp/GjErpApplication.java +++ b/src/main/java/com/dsic/gj_erp/GjErpApplication.java @@ -7,6 +7,7 @@ import com.jcraft.jsch.Session; import com.querydsl.jpa.impl.JPAQueryFactory; import org.modelmapper.ModelMapper; import org.modelmapper.convention.MatchingStrategies; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @@ -20,10 +21,10 @@ import java.util.Properties; @EnableAsync @EnableMPP -@SpringBootApplication(exclude = { - DataSourceAutoConfiguration.class} ) +@SpringBootApplication @EnableSwagger2 -@EnableTransactionManagement +//@EnableTransactionManagement +@MapperScan({"com.dsic.gj_erp.mapper"}) public class GjErpApplication { public static void main(String[] args) { 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 3ee11e7..cb4473c 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 @@ -101,6 +101,8 @@ public class YdjhImport { private int importIndex; + private String fileName; + @ApiModelProperty(value = "前方需求小组期") private String qfxqrqxz; diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java index f71e7cd..64ad9f4 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/excel/JhxfExcel.java @@ -206,7 +206,7 @@ public class JhxfExcel { private Boolean qwbBs=false; public boolean isAvailable(){ - return !StrUtil.isAllEmpty(this.sl,this.xcpw,this.pw,this.dbqgks,this.ykpkjs,this.lmqgks,this.lmqgjs, + return !StrUtil.isAllEmpty(this.dcCh,this.dcPl,this.dcFd,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/config/DynamicDataSourceConfig.java b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java index 7ba5509..7afb13d 100644 --- a/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java @@ -8,7 +8,7 @@ import org.springframework.context.annotation.Primary; import javax.sql.DataSource; -@Configuration +//@Configuration public class DynamicDataSourceConfig { @Primary @Bean("masterDataSource") diff --git a/src/main/java/com/dsic/gj_erp/config/JapConfig.java b/src/main/java/com/dsic/gj_erp/config/JapConfig.java index a6b5d70..9ade5b0 100644 --- a/src/main/java/com/dsic/gj_erp/config/JapConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/JapConfig.java @@ -26,7 +26,7 @@ import javax.persistence.EntityManagerFactory; import javax.sql.DataSource; import java.util.Properties; -@Configuration +//@Configuration @EnableJpaRepositories( basePackages = "com.dsic.gj_erp", entityManagerFactoryRef = "manEntityManagerFactory", diff --git a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigJiuZhou.java b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigJiuZhou.java index 3b0ebfd..f715a66 100644 --- a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigJiuZhou.java +++ b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigJiuZhou.java @@ -19,7 +19,7 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; @MapperScan(basePackages = {"com.dsic.gj_erp.jiuzhoumapper"}, sqlSessionTemplateRef = "jiuzhouSqlSessionTemplate") -@Configuration +//@Configuration public class MyBatisPlusConfigJiuZhou { @Bean("jiuzhouSqlSessionFactory") public SqlSessionFactory jiuzhouSqlSessionFactory(@Qualifier("jiuzhouDataSource") DataSource dataSource, MppSqlInjector mppSqlInjector) throws Exception { diff --git a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java index 83d63bb..fbb8ee5 100644 --- a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java +++ b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java @@ -20,7 +20,7 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; @MapperScan(basePackages = {"com.dsic.gj_erp.mapper"}, sqlSessionTemplateRef = "masterSqlSessionTemplate") -@Configuration +//@Configuration public class MyBatisPlusConfigMaster { @Primary @Bean("masterSqlSessionFactory") diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java index 9b93b26..5024d23 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdMxController.java @@ -1,6 +1,7 @@ package com.dsic.gj_erp.controller.jhgk; +import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; @@ -13,6 +14,7 @@ import com.dsic.gj_erp.listeners.ExcelJhxfListener; import com.dsic.gj_erp.service.jcsj.EmGcrlService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; +import com.dsic.gj_erp.service.jhgk.impl.IYdjhImportService; import com.dsic.gj_erp.service.jhgk.impl.YdjhImportService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -25,7 +27,7 @@ import java.util.stream.Collectors; /** *

- * 前端控制器 + * 前端控制器 *

* * @author xn @@ -37,6 +39,8 @@ public class DmSygdMxController { @Autowired private YdjhImportService ydjhImportService; + @Autowired + private IYdjhImportService iydjhImportService; @Autowired private DmSygdMxService service; @@ -47,18 +51,23 @@ public class DmSygdMxController { private EmGcrlService gcrlService; @PostMapping("cgjhdhqk") - public ResultBean cgjhdhqk(@RequestBody Map map){ + public ResultBean cgjhdhqk(@RequestBody Map map) { return new ResultBean<>(service.cgjhdhqk(map)); } + @GetMapping("listByFileName") + public ResultBean listByFileName(String fileName) { + return new ResultBean<>(ydjhImportService.listByFileName(fileName)); + } + @GetMapping("list") - public ResultBean list(String begin,String end){ - return new ResultBean<>(ydjhImportService.list(begin,end)); + public ResultBean list(String begin, String end) { + return new ResultBean<>(ydjhImportService.list(begin, end)); } @RequestMapping("/getList") @AuthFunction - public ResultBean getList(@RequestBody DmSygdMx sygd){ + public ResultBean getList(@RequestBody DmSygdMx sygd) { // List list= service.list(new QueryWrapper() // .eq(StrUtil.isNotEmpty(sygd.getDcCh()),"dc_ch",sygd.getDcCh()) // .eq(StrUtil.isNotEmpty(sygd.getDcPl()),"dc_pl",sygd.getDcPl()) @@ -67,7 +76,7 @@ public class DmSygdMxController { // DateUtil.endOfMonth(DateUtil.parseDate(sygd.getEndTime())).toString("yyyy/MM/dd")) // .orderByAsc("jssj,dc_ch,dc_pl") // ); - Map map=new HashMap(); + Map map = new HashMap(); // if (list.size()>0){ // String beginTime=list.get(0).getJssj(); // String endTime=list.get(list.size()-1).getJssj(); @@ -75,24 +84,24 @@ public class DmSygdMxController { // List gcrl = emGcrls.stream().map(EmGcrl::getGl).collect(Collectors.toList()); // map.put("gcrl",gcrl); // } - List list= this.service.tqSygd1(sygd.getBeginTime(),sygd.getEndTime()); - map.put("list",list); - return new ResultBean(map); + List list = this.service.tqSygd1(sygd.getBeginTime(), sygd.getEndTime()); + map.put("list", list); + return new ResultBean(map); } @RequestMapping("/saveByDcch") @AuthFunction - public ResultBean saveByDcch(@RequestBody HashMap> map ){ + public ResultBean saveByDcch(@RequestBody HashMap> map) { return null; } @RequestMapping("/symxhz") @AuthFunction - public ResultBean symxhz(@RequestBody Map mapObj){ - Map map=new HashMap<>(); + public ResultBean symxhz(@RequestBody Map mapObj) { + Map map = new HashMap<>(); //// 1.根据上料时间 从近到远排序 - List list=service.list(new QueryWrapper().between("jssj",mapObj.get("beginTime"),mapObj.get("endTime"))); - if(list.size()==0){ + List list = service.list(new QueryWrapper().between("jssj", mapObj.get("beginTime"), mapObj.get("endTime"))); + if (list.size() == 0) { return new ResultBean(); } list = list.stream() @@ -106,10 +115,10 @@ public class DmSygdMxController { String begin = mapObj.get("beginTime").substring(5, 7); String end = mapObj.get("endTime").substring(5, 7); - map.put("xbList",service.getXBList(list,year,begin,end)); - map.put("plList",service.getPl(list.get(0).getJssj(),list.get(list.size() - 1).getJssj())); - map.put("kwList",service.getKwList(list,list.get(0).getJssj(),list.get(list.size() - 1).getJssj())); - map.put("gcrlList",service.getGcrlList(list,list.get(0).getJssj(),list.get(list.size() - 1).getJssj())); + map.put("xbList", service.getXBList(list, year, begin, end)); + map.put("plList", service.getPl(list.get(0).getJssj(), list.get(list.size() - 1).getJssj())); + map.put("kwList", service.getKwList(list, list.get(0).getJssj(), list.get(list.size() - 1).getJssj())); + map.put("gcrlList", service.getGcrlList(list, list.get(0).getJssj(), list.get(list.size() - 1).getJssj())); // map.put("tzList",service.getTZList(list)); // map.put("dhList",service.getDhList(list)); return new ResultBean(map); @@ -117,48 +126,50 @@ public class DmSygdMxController { @RequestMapping("/getCnsb") @AuthFunction - public ResultBean getCnsb(){ - List list= emSbcnpService.list(); - Map> map= list.stream().filter(l -> Objects.nonNull(l.getTzbh())).collect(Collectors.groupingBy(EmSbcnp::getTzbh)); - return new ResultBean(map); + public ResultBean getCnsb() { + List list = emSbcnpService.list(); + Map> map = list.stream().filter(l -> Objects.nonNull(l.getTzbh())).collect(Collectors.groupingBy(EmSbcnp::getTzbh)); + return new ResultBean(map); } + @RequestMapping("/sygdPC") @AuthFunction - public ResultBean sygdPC(){ + public ResultBean sygdPC() { return service.sygdPC(); } @RequestMapping("/saveList") @AuthFunction - public ResultBean saveList( @RequestBody List list ){ + public ResultBean saveList(@RequestBody List list) { service.saveBatch(list); return new ResultBean(); } - @RequestMapping("/tqSygd") @AuthFunction - public ResultBean tqSygd(String from, String to){ - return service.tqSygd(from,to); + public ResultBean tqSygd(String from, String to) { + return service.tqSygd(from, to); } @RequestMapping("/ydjhImport") @AuthFunction - public ResultBean ydjhImport(@RequestParam("file") MultipartFile file , String isupload, HttpServletRequest req) throws IOException { - - + public ResultBean ydjhImport(@RequestParam("file") MultipartFile file, String isupload, HttpServletRequest req) throws IOException { ExcelJhxfListener objectListener = new ExcelJhxfListener(); EasyExcel.read(file.getInputStream(), JhxfExcel.class, objectListener).sheet(0).headRowNumber(1).doRead(); List objList = objectListener.getObjectList(); - ydjhImportService.handler(objList,req); -// service.ydjhImport(objList); - return new ResultBean(); - + String fileName = file.getOriginalFilename(); + fileName=StrUtil.removeSuffix(fileName, ".xls"); + //ydjhImportService.handler(objList, fileName, req); + return new ResultBean(fileName); + } + @RequestMapping("/getFileNameList") + public ResultBean getFileNameList(){ + return new ResultBean<>(iydjhImportService.getFileNameList()); } } diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java index e7fdf05..ae29d16 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmXbjhController.java @@ -57,7 +57,7 @@ public class DmXbjhController { @ApiOperation(value = "批量保存") @PostMapping(value = "/save") public ResultBean save(@RequestBody JSONObject dmXbjhs) { - dmXbjhService.save(dmXbjhs); + //dmXbjhService.save(dmXbjhs); return new ResultBean(); } 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 de4b71b..dd21fb3 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 @@ -113,7 +113,8 @@ public class DmYdjhController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); List list= service.list(new QueryWrapper() .eq(StrUtil.isNotEmpty(map.get("dcCh")),"dc_ch",map.get("dcCh")) - .eq(StrUtil.isNotEmpty(map.get("zt")),"zt",map.get("zt")) + .ge(StrUtil.isNotEmpty(map.get("zt")),"zt",map.get("zt")) + .lt("zt","61") .ge(StrUtil.isNotEmpty(map.get("yf")), "jssj", DateUtil.beginOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")) .le(StrUtil.isNotEmpty(map.get("yf")), "jssj", DateUtil.endOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd")) .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb") diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 3b1e968..886dde1 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -250,10 +250,22 @@ public class ZyjhController { } YcldwInfo info = dto.getYcldwInfo(); if ("PWFK".equals(dto.getZxZtName())){ - if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ - ycldwInfoService.updatePw(info); - wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(info)); - } +// if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ +// ycldwInfoService.updatePw(info); +// wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(info)); +// } + list.forEach(item-> { + YcldwInfo ycldwInfo = ycldwInfoService.getOne(Wrappers.query() + .select("top 1 *") + .eq("ydid", item.getId()) + ); + try { + ycldwInfoService.updatePw(ycldwInfo); + wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(ycldwInfo)); + }catch (Exception e){ + wsHandler.sendPwComplete1((JSONObject) JSONObject.toJSON(item)); + } + }); } if ("HXFK".equals(dto.getZxZtName())){ diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java index 658b6db..ed311da 100644 --- a/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.listeners; +import cn.hutool.core.util.StrUtil; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; @@ -15,24 +16,31 @@ import java.util.Map; */ public class ExcelJhxfListener extends AnalysisEventListener { - private static final int BATCH_COUNT = 5; + private static final int BATCH_COUNT = 1000; List objectList = new ArrayList<>(); List headList = new ArrayList<>(); private String sheetName; - List datas = new ArrayList(); + List datas = new ArrayList<>(); - private String dcch; - private String dcpl; + private String dcch=""; + private String dcpl=""; + private int size = 0; + private String lastXh=""; @Override public void invoke(JhxfExcel excelDemo, AnalysisContext analysisContext) { - //每解析一行数据,就会调用该方法一次 - //正常在这里调用数据处理得办法 - - //一条数据添加到暂时存储的存储结构中 - + if (size==1&&excelDemo.isAvailable() + &&!dcch.equals(excelDemo.getDcCh()) + &&!dcpl.equals(excelDemo.getDcPl()) + ){ + JhxfExcel jhxfExcel = new JhxfExcel(); + jhxfExcel.setDcCh(dcch); + jhxfExcel.setDcPl(dcpl); + datas.add(jhxfExcel); + size+=1; + } if(StringUtils.isBlank(excelDemo.getDcCh())){ excelDemo.setDcCh(dcch); @@ -44,42 +52,20 @@ public class ExcelJhxfListener extends AnalysisEventListener { }else{ dcpl=excelDemo.getDcPl(); } - boolean a=false; - // 9个数量都为空 不导入 -// if(StringUtils.isBlank(excelDemo.getBs1()) && -// StringUtils.isBlank(excelDemo.getYklm())&& -// StringUtils.isBlank(excelDemo.getYksk())&& -// StringUtils.isBlank(excelDemo.getEklmbs())&& -// StringUtils.isBlank(excelDemo.getEksk())&& -// StringUtils.isBlank(excelDemo.getSksk())&& -// StringUtils.isBlank(excelDemo.getSkpt())&& -// StringUtils.isBlank(excelDemo.getFbbs())&& -// StringUtils.isBlank(excelDemo.getSkbs()) -// ){ -// a=true; -// } - - -// boolean b = ObjConvertUtils.checkObjAllFieldsIsNull(excelDemo); -// if(!b && !a){ -// datas.add(excelDemo); -// } + size+=1; datas.add(excelDemo); - - - // 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM if (datas.size() >= BATCH_COUNT) { saveData(); // 存储完成清理 list datas.clear(); } + if (size>1){ + size=0; + } } - - - @Override public void doAfterAllAnalysed(AnalysisContext context) { //获取sheetName diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java index b10fdd3..902119c 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java @@ -4,6 +4,8 @@ package com.dsic.gj_erp.mapper.jhgk; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.jhgk.DmXbjh; +import java.util.List; + /** *

* Mapper 接口 @@ -14,4 +16,5 @@ import com.dsic.gj_erp.bean.jhgk.DmXbjh; */ public interface DmXbjhMapper extends BaseMapper { + List getList(String dcCh,String nf,String startTime,String endTime,String version); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportMapper.java index 1327ac3..dd7df07 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportMapper.java @@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.jhgk.YdjhImport; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface YdjhImportMapper extends BaseMapper { + + List getFileNameList(); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java index ed9caac..7e6ef30 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java @@ -24,7 +24,7 @@ public interface DmXbjhService extends IService { JSONObject upload(MultipartFile file) throws IOException; - void save(JSONObject dmXbjhs); + void save(JSONObject dmXbjhs,int version); void tj(List dmXbjhs); 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 46ea9f9..fab7bc9 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 @@ -225,6 +225,11 @@ public class DmSygdMxServiceImpl extends ServiceImpl i &&dmYdjh.getTzbh().equals(item.getTzbh()) ){ dmYdjh.setId(dmYdjh.getId()); + //二跨T型材腹板默认四区切割,这里修正一下 + if (dmYdjh.getTzbh().contains("N2T")){ + dmYdjh.setZyq1("四区"); + dmYdjh.setZyq("FP4Q"); + } this.updateYdjh(dmYdjh,item); diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java index 51621c5..51139c0 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java @@ -55,15 +55,20 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme if (StringUtils.isNotEmpty(json.getString("Zt"))) { queryWrapper.eq("zt", json.getString("Zt")); } - + String startTime=null; + String endTime=null; if (StringUtils.isNotEmpty(json.getString("nf"))) { String nf = json.getString("nf"); - String startTime = nf.split("~")[0]; - String endTime = nf.split("~")[1]; + startTime = nf.split("~")[0]; + endTime = nf.split("~")[1]; queryWrapper.between("nf", startTime, endTime); } queryWrapper.orderByDesc("zl"); - List dmTzjhs = dmXbjhMapper.selectList(queryWrapper); + String version=json.getString("version"); + if (version!=null){ + version=version.replace("v",""); + } + List dmTzjhs = dmXbjhMapper.getList(json.getString("dcCh"), json.getString("nf"),startTime,endTime,version); Map> map = dmTzjhs.stream() .collect(Collectors.groupingBy(DmXbjh::getDcCh)); @@ -78,9 +83,9 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme return collect; } - public Map> getByVersion(String startTime,String _version){ + public Map> getByVersion(String startTime, String _version) { List> version = this.getVersion(startTime); - if (ObjectUtil.isNotEmpty(version)&&!version.get(version.size()-1).get("version").equals(_version)) { + if (ObjectUtil.isNotEmpty(version) && !version.get(version.size() - 1).get("version").equals(_version)) { List dmXbjhs = new ArrayList<>(); for (HashMap map : version) { if (map.get("version").equals(_version)) { @@ -114,8 +119,8 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme return null; } - public List> getVersion(String nf){ - if (nf==null){ + public List> getVersion(String nf) { + if (nf == null) { return null; } File[] files = FileUtil.ls(xbjhPath); @@ -123,7 +128,7 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme for (File file : files) { String name = FileUtil.getPrefix(file.getName()); String[] s = name.split("_"); - if (nf.equals(s[0])){ + if (nf.equals(s[0])) { HashMap map = new HashMap<>(); map.put("fileName", file.getName()); map.put("version", s[1]); @@ -133,7 +138,7 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme return versions; } - public JSONObject readFile(File file){ + public JSONObject readFile(File file) { return ExcelUtil.readDmXbjh(file); } @@ -143,7 +148,7 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file); if (dmXbjhs != null) { File[] files = FileUtil.ls(xbjhPath); - AtomicInteger maxVersion= new AtomicInteger(0); + AtomicInteger maxVersion = new AtomicInteger(0); if (files.length > 0) { HashSet names = new HashSet<>(); for (File file1 : files) { @@ -151,8 +156,11 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme String[] s = name.split("_"); names.add(s[s.length - 1]); } - String tmpVersion=names.stream().max(String::compareTo).get(); - Optional.of(tmpVersion).ifPresent(item->{ + + names.stream() + .filter(item -> item.contains(DateUtil.thisYear() + "")) + .max(String::compareTo) + .ifPresent(item -> { String v = item.replace("v", ""); maxVersion.set(Integer.parseInt(v)); }); @@ -164,16 +172,16 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme uploadFile.mkdirs(); } int version = maxVersion.incrementAndGet(); - File uploadFiles = new File(StrUtil.format("{}/{}_{}{}{}{}", xbjhPath,DateUtil.thisYear(), "v",version, StrUtil.DOT, type)); + File uploadFiles = new File(StrUtil.format("{}/{}_{}{}{}{}", xbjhPath, DateUtil.thisYear(), "v", version, StrUtil.DOT, type)); file.transferTo(uploadFiles); - this.save(dmXbjhs); + this.save(dmXbjhs,version); } return dmXbjhs; } @Override @Transactional - public void save(JSONObject json) { + public void save(JSONObject json,int version) { List dmXbjhs = new ArrayList<>(); for (String key : json.keySet()) { JSONArray jsonArray = json.getJSONArray(key); @@ -181,11 +189,12 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme // JSONObject dmxb=JSONObject.parseObject(object.toString()); DmXbjh dmXbjh = modelMapper.map(object, DmXbjh.class); dmXbjh.setDcCh(key); + dmXbjh.setVersion(version); dmXbjhs.add(dmXbjh); - this.remove(new QueryWrapper().eq("dc_ch", dmXbjh.getDcCh()) - .eq("nf", dmXbjh.getNf()) - .eq("yf", dmXbjh.getYf()) - ); +// this.remove(new QueryWrapper().eq("dc_ch", dmXbjh.getDcCh()) +// .eq("nf", dmXbjh.getNf()) +// .eq("yf", dmXbjh.getYf()) +// ); } } 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 150f995..b1cc736 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 @@ -56,8 +56,8 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme private PgdPwjhService pwService; @Autowired private PgdQgjhService qgService; - @Autowired - private SljhService sljhService; +// @Autowired +// private SljhService sljhService; @Override public List tjydjh() { @@ -310,7 +310,7 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme baseMapper.tqlj(idList); } - publisher.publishEvent(ydjhList); +// publisher.publishEvent(ydjhList); } private DmYdjh ofXf(DmYdjh item,String gxsj){ diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/IYdjhImportService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/IYdjhImportService.java index 07335ef..67cc00e 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/IYdjhImportService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/IYdjhImportService.java @@ -5,6 +5,12 @@ import com.dsic.gj_erp.bean.jhgk.YdjhImport; import com.dsic.gj_erp.mapper.jhgk.YdjhImportMapper; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class IYdjhImportService extends ServiceImpl { + + public List getFileNameList(){ + return baseMapper.getFileNameList(); + } } 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 03f4eb0..f172e8f 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,21 +6,19 @@ 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.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.*; 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.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; -import com.dsic.gj_erp.service.jhgk.DmSygdMxLjService; +import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.pgd.PgdTzjhService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.TransactionTemplate; import javax.servlet.http.HttpServletRequest; import java.util.*; @@ -28,14 +26,22 @@ import java.util.stream.Collectors; @Service @AllArgsConstructor -public class YdjhImportService extends ServiceImpl { +public class YdjhImportService { private final DmSygdxqMapper sygdxqMapper; private final IYdjhImportService importService; private final DmBomService bomService; - private final DmSygdMxLjService ljService; private final DmCbxxpService dmCbxxpService; private final PgdTzjhService tzjhService; + private final TransactionTemplate transactionTemplate; + private final DmSygdMxService sygdMxService; + + public List listByFileName(String fileName) { + return importService.list(Wrappers.lambdaQuery() + .eq(StrUtil.isNotEmpty(fileName),YdjhImport::getFileName, fileName) + .orderByAsc(YdjhImport::getId) + ); + } public List list(String begin, String end) { return importService.list(Wrappers.lambdaQuery() @@ -44,122 +50,97 @@ public class YdjhImportService extends ServiceImpl { ); } - @Transactional(rollbackFor = Exception.class) - public void handler(List objList, HttpServletRequest request) { + public void handler(List objList,String fileName, HttpServletRequest request) { 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) - ); -// ljService.remove(new QueryWrapper() -// .eq("dcch", item.getDcCh()) -// .eq("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); - - //没有基础数据的计划生成图纸计划 - String yhms= (String) request.getAttribute("yhms"); - String date= DateUtil.date().toString("yyyy/MM/dd"); - List tzjhList = new ArrayList<>(); - - HashMap map = new HashMap<>(); - ydjhImports.stream() - .filter(item -> !StrUtil.equals(item.getExtData(), "1")||item.getExtData()!=null) +// .filter(YdjhImport::isAvailable) +// .filter(item -> !item.getDcPl().contains("-"))//去除T型材 +// .filter(item -> !item.getDcPl().contains("/"))//去除T型材 +// .filter(item -> !item.getDcPl().contains("Q")) + .filter(item -> StrUtil.isAllNotEmpty(item.getDcCh(),item.getDcPl())) + .collect(Collectors.toList()); + List sygdMxList = this.execute(list); + + transactionTemplate.execute((status)->{ + ydjhImports.stream().filter(item -> StrUtil.isAllNotEmpty(item.getDcCh(),item.getDcPl())) .forEach(item->{ - YdjhImport ydjhImport = map.get(item.getDcCh() + item.getDcPl()); - if (ydjhImport==null){ - map.put(item.getDcCh() + item.getDcPl(),item); - String dcPl=item.getDcPl(); - if (item.getDcPl().contains("Q")) { - dcPl=item.getDcPl().replace("Q", ""); - } + item.setFileName(fileName); + 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) { - } + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { + } - tzjhService.remove(Wrappers.lambdaQuery() - .eq(PgdTzjh::getCzbh,item.getDcCh()) - .eq(PgdTzjh::getPl,dcPl) - .and(it->it.isNull(PgdTzjh::getFkrq).or().eq(PgdTzjh::getFkrq,"")) - ); + importService.remove(new QueryWrapper() + .eq("dc_ch", item.getDcCh()) + .eq("dc_pl", item.getDcPl()) + ); - PgdTzjh dmTzjh = PgdTzjh.of(item,dcPl); - dmTzjh.setBzry(yhms); - dmTzjh.setBzrq(date); - dmTzjh.setXfry(yhms); - dmTzjh.setXfrq(date); - dmTzjh.setQfxqrqxz(item.getQfxqrqxz()); - dmTzjh.setQfxqrqdz(item.getQfxqrqdz()); - dmTzjh.setQgxqrq(item.getQgrq()); - tzjhList.add(dmTzjh); - } + sygdMxService.remove(new QueryWrapper() + .eq("dc_ch", item.getDcCh()) + .eq("dc_pl", dcPl) + ); }); - tzjhService.saveBatch(tzjhList); + sygdMxService.saveBatch(sygdMxList); + ydjhImports.forEach(importService::save); + + //没有基础数据的计划生成图纸计划 + String yhms= (String) request.getAttribute("yhms"); + String date= DateUtil.date().toString("yyyy/MM/dd"); + List tzjhList = new ArrayList<>(); + + HashMap map = new HashMap<>(); + ydjhImports.stream() + .filter(item -> !StrUtil.equals(item.getExtData(), "1")||item.getExtData()!=null) + .filter(item -> StrUtil.isAllNotEmpty(item.getDcCh(),item.getDcPl())) + .forEach(item->{ + YdjhImport ydjhImport = map.get(item.getDcCh() + item.getDcPl()); + if (ydjhImport==null){ + map.put(item.getDcCh() + item.getDcPl(),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) { + } + + tzjhService.remove(Wrappers.lambdaQuery() + .eq(PgdTzjh::getCzbh,item.getDcCh()) + .eq(PgdTzjh::getPl,dcPl) + .and(it->it.isNull(PgdTzjh::getFkrq).or().eq(PgdTzjh::getFkrq,"")) + ); + + PgdTzjh dmTzjh = PgdTzjh.of(item,dcPl); + dmTzjh.setBzry(yhms); + dmTzjh.setBzrq(date); + dmTzjh.setXfry(yhms); + dmTzjh.setXfrq(date); + dmTzjh.setQfxqrqxz(item.getQfxqrqxz()); + dmTzjh.setQfxqrqdz(item.getQfxqrqdz()); + dmTzjh.setQgxqrq(item.getQgrq()); + tzjhList.add(dmTzjh); + } + }); + tzjhService.saveBatch(tzjhList); + return true; + }); } - @Transactional(rollbackFor = Exception.class) public List executeYdjhImport(List objList) { - Map map = new HashMap<>(); List list = new ArrayList<>(); - for (int i = 0; i < objList.size(); i++) { - JhxfExcel item = objList.get(i); + for (JhxfExcel item : objList) { 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) { - jh.setFdxq(_jh.getFdxq()); - } - if (_jh.getFdxq() == null && jh.getFdxq() != null) { - _jh.setFdxq(jh.getFdxq()); - } - if (_jh.getQwbjs() != null && jh.getQwbjs() == null) { - jh.setQwbjs(_jh.getQwbjs()); - } - if (_jh.getQwbjs() == null && jh.getQwbjs() != null) { - _jh.setQwbjs(jh.getQwbjs()); - } - } else { - map.put(jh.getDcCh() + jh.getDcPl(), jh); - } - importService.remove(new QueryWrapper() - .eq("dc_ch", jh.getDcCh()) - .eq("dc_pl", jh.getDcPl()) - ); jh.setZt("0"); list.add(jh); } @@ -169,191 +150,246 @@ public class YdjhImportService extends ServiceImpl { /** * 月度计划导入,不使用月度计划只能排产功能前提下使用该功能导入月度计划 */ - @Transactional(rollbackFor = Exception.class) - public void execute(List objList) { + public List execute(List objList) { HashMap _map = new HashMap<>(); List addList = new ArrayList<>(); objList.forEach(item->{ - String dcPl=item.getDcPl(); - if (item.getDcPl().contains("Q")) { - dcPl=item.getDcPl().replace("Q", ""); + String _dcPl=item.getDcPl(); + List plList=new ArrayList<>(); + if (_dcPl.contains("Q")) { + plList.add(item.getDcPl().replace("Q", "")); item.setQwbBs(true); + }else if(_dcPl.contains("-")||_dcPl.contains("/")){ + String[] split = _dcPl.split("/"); + for (String s : split) { + String[] split1 = s.split("-"); + if (split1.length == 1) { + plList.add(split1[0]); + } else { + for (int j = Integer.parseInt(split1[0]); j <= Integer.parseInt(split1[1].replace("D","")); j++) { + plList.add(j + ""); + } + } + } } - try { - dcPl = String.format("%03d", Integer.parseInt(dcPl)); - } catch (Exception ignored) { - } - String[] dcfd=item.getDcFd().split("\\."); - - String dcFd=dcfd[0]; - - Object o = _map.get(item.getDcCh() + item.getDcPl()); - if(o==null){ - _map.put(item.getDcCh() + item.getDcPl(),item); - }else{ - item.setExtData(item.getExtData()); - item.setQfxqrqxz(item.getQfxqrqxz()); - item.setQfxqrqdz(item.getQfxqrqdz()); - return; - } + for (String dcPl : plList) { + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { + } + + Object o = _map.get(item.getDcCh() + item.getDcPl()); + if(o==null){ + _map.put(item.getDcCh() + item.getDcPl(),item); + }else{ + item.setExtData(item.getExtData()); + item.setQfxqrqxz(item.getQfxqrqxz()); + item.setQfxqrqdz(item.getQfxqrqdz()); + return; + } - List bomList = bomService.getBomWithYlbs(item.getDcCh(), dcPl); + 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); + 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,dcPl); + dmSygdMx.setDcCh1(dcCh); + + item.setExtData("0");//无基础数据 + return; + } + } else { item.setExtData("0");//无基础数据 + DmSygdMx dmSygdMx = this.initDefault(item,dcPl); + addList.add(dmSygdMx); return; } } else { - item.setExtData("0");//无基础数据 - DmSygdMx dmSygdMx = this.initDefault(item,dcFd,dcPl); - this.save(dmSygdMx); - return; + item.setExtData("1");//有基础数据 } - } else { - item.setExtData("1");//有基础数据 - } - List dmSygdxqs = sygdxqMapper.selectList(Wrappers.lambdaQuery() - .eq(DmSygdxq::getDcCh, item.getDcCh()).eq(DmSygdxq::getDcPl, dcPl)); + List dmSygdxqs = sygdxqMapper.selectList(Wrappers.lambdaQuery() + .eq(DmSygdxq::getDcCh, item.getDcCh()).eq(DmSygdxq::getDcPl, dcPl)); - if (ObjUtil.isNotEmpty(dmSygdxqs)){ - DmSygdxq dmSygdxq = dmSygdxqs.get(0); - item.setQfxqrqxz(dmSygdxq.getXzglxq()); - item.setQfxqrqdz(dmSygdxq.getDzglxq()); - } + if (ObjUtil.isNotEmpty(dmSygdxqs)){ + DmSygdxq dmSygdxq = dmSygdxqs.get(0); + item.setQfxqrqxz(dmSygdxq.getXzglxq()); + item.setQfxqrqdz(dmSygdxq.getDzglxq()); + } - 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); + 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=new ArrayList<>(); + if (StrUtil.isNotEmpty(item.getSl())){ + if (item.getQwbBs()) { + ljList=ljList.stream().filter(it -> "3".equals(it.getTzbh().substring(5, 6))) + .collect(Collectors.toList()); + } else { + ljList=ljList.stream().filter(it -> !"3".equals(it.getTzbh().substring(5, 6))) + .collect(Collectors.toList()); + } + sygdMxes = this.initBySl(item, ljList); + item.setBs1(sygdMxes.size()+""); + addList.addAll(sygdMxes); + } - List sygdMxes; - if (item.getQwbBs()) { - ljList=ljList.stream().filter(it -> "3".equals(it.getTzbh().substring(5, 6))) - .collect(Collectors.toList()); - sygdMxes = this.initBySl(item, ljList,dcFd); - } else { - ljList=ljList.stream().filter(it -> !"3".equals(it.getTzbh().substring(5, 6))) - .collect(Collectors.toList()); - sygdMxes = this.initBySl(item, ljList,dcFd); - } + if (item.getPkqgjs() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateByYklm(item, sygdMx); + } + item.setYklm(_sygdMxes.size()+""); + } else { + List _ljlist = ljList.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); + if (!_ljlist.isEmpty()){ + List list = this.initByYklm(item, _ljlist); + addList.addAll(list); + item.setYklm(list.size()+""); + } - addList.addAll(sygdMxes); + } - if (item.getPkqgjs() != null) { - List _sygdMxes = sygdMxes.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); - if (!_sygdMxes.isEmpty()) { - for (DmSygdMx sygdMx : _sygdMxes) { - this.updateByYklm(item, sygdMx); + List _sygdMxes1 = sygdMxes.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes1.isEmpty()) { + for (DmSygdMx dmSygdMx : _sygdMxes1) { + this.updateByYksk(item, dmSygdMx); + } + item.setYksk(_sygdMxes1.size()+""); + } else { + List _ljlist = ljList.stream().filter(it -> "8".equals(it.getKw())).collect(Collectors.toList()); + if (!_ljlist.isEmpty()) { + List list = this.initByYksk(item, _ljlist); + addList.addAll(list); + item.setYksk(list.size()+""); + } } - } else { - List _ljlist = ljList.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); - 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,dcPl); -// addList.addAll(list); -// } -// } - } -// - if (item.getLmqgks() != null) { - List _sygdMxes = sygdMxes.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); - if (!_sygdMxes.isEmpty()) { - for (DmSygdMx sygdMx : _sygdMxes) { - this.updateByEklm(item, sygdMx); + if (item.getLmqgks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateByEklm(item, sygdMx); + } + item.setEklmbs(_sygdMxes.size()+""); + } else { + List _ljlist = ljList.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); + if (!_ljlist.isEmpty()){ + List list = this.initByEklmbs(item, _ljlist); + addList.addAll(list); + item.setEklmbs(list.size()+""); + } } - } else { - List _ljlist = ljList.stream().filter(it -> "5".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initByEklmbs(item, _ljlist,dcFd,dcPl); - addList.addAll(list); } - } - if (item.getEkskks() != null) { - List _sygdMxes = sygdMxes.stream().filter(it -> "9".equals(it.getKw())).collect(Collectors.toList()); - if (!_sygdMxes.isEmpty()) { - for (DmSygdMx sygdMx : _sygdMxes) { - this.updateByEksk(item, sygdMx); + if (item.getEkskks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "9".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateByEksk(item, sygdMx); + } + item.setEksk(_sygdMxes.size()+""); + } else { + List _ljlist = ljList.stream().filter(it -> "9".equals(it.getKw())).collect(Collectors.toList()); + if (!_ljlist.isEmpty()) { + List list = this.initByEksk(item, _ljlist); + addList.addAll(list); + item.setEksk(list.size()+""); + } } - } else { - List _ljlist = ljList.stream().filter(it -> "9".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initByEksk(item, _ljlist,dcFd,dcPl); - addList.addAll(list); } - } - if (item.getSkskqgks() != null) { - List _sygdMxes = sygdMxes.stream().filter(it -> "14".equals(it.getKw())).collect(Collectors.toList()); - if (!_sygdMxes.isEmpty()) { - for (DmSygdMx sygdMx : _sygdMxes) { - this.updateBySksk(item, sygdMx); + if (item.getSkskqgks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "14".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateBySksk(item, sygdMx); + } + item.setSksk(_sygdMxes.size()+""); + } else { + List _ljlist = ljList.stream().filter(it -> "14".equals(it.getKw())).collect(Collectors.toList()); + if (!_ljlist.isEmpty()) { + List list = this.initBySksk(item, _ljlist); + addList.addAll(list); + item.setSksk(list.size()+""); + } } - } else { - List _ljlist = ljList.stream().filter(it -> "14".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initBySksk(item, _ljlist,dcFd,dcPl); - addList.addAll(list); } - } - if (item.getPtks() != null) { - List _sygdMxes = sygdMxes.stream().filter(it -> "6".equals(it.getKw())).collect(Collectors.toList()); - if (!_sygdMxes.isEmpty()) { - for (DmSygdMx sygdMx : _sygdMxes) { - this.updateBySkpt(item, sygdMx); + if (item.getPtks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "6".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateBySkpt(item, sygdMx); + } + item.setSkpt(_sygdMxes.size()+""); + } else { + List _ljlist = ljList.stream().filter(it -> "6".equals(it.getKw())).collect(Collectors.toList()); + if(!_ljlist.isEmpty()){ + List list = this.initBySkpt(item, _ljlist); + addList.addAll(list); + item.setSkpt(list.size()+""); + } } - } else { - List _ljlist = ljList.stream().filter(it -> "6".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initBySkpt(item, _ljlist,dcFd,dcPl); - addList.addAll(list); } - } - if (item.getSkqgks() != null) { - List _sygdMxes = sygdMxes.stream().filter(it -> "15".equals(it.getKw())).collect(Collectors.toList()); - if (!_sygdMxes.isEmpty()) { - for (DmSygdMx sygdMx : _sygdMxes) { - this.updateBySkbs(item, sygdMx); + if (item.getSkqgks() != null) { + List _sygdMxes = sygdMxes.stream().filter(it -> "15".equals(it.getKw())).collect(Collectors.toList()); + if (!_sygdMxes.isEmpty()) { + for (DmSygdMx sygdMx : _sygdMxes) { + this.updateBySkbs(item, sygdMx); + } + if ("T型材".equals(item.getDcFd())&&"Z".equals(item.getZl())){ + long count = _sygdMxes.stream().filter(it -> it.getZl().equals("1110")).count(); + item.setSkbs(count+""); + }else if("机器人肘板".equals(item.getDcFd())&&"X".equals(item.getZl())){ + long count = _sygdMxes.stream().filter(it -> it.getZl().equals("1010")).count(); + item.setSkbs(count+""); + }else { + item.setSkbs(_sygdMxes.size()+""); + } + } else { + List _ljlist = ljList.stream().filter(it -> "15".equals(it.getKw())).collect(Collectors.toList()); + if (_ljlist.isEmpty()){ + List list = this.initBySkbs(item, _ljlist); + addList.addAll(list); + if ("T型材".equals(item.getDcFd())&&"Z".equals(item.getZl())){ + long count = _ljlist.stream().filter(it -> it.getZl().equals("1110")).count(); + item.setSkbs(count+""); + }else if("机器人肘板".equals(item.getDcFd())&&"X".equals(item.getZl())){ + long count = _ljlist.stream().filter(it -> it.getZl().equals("1010")).count(); + item.setSkbs(count+""); + }else { + item.setSkbs(_ljlist.size()+""); + } + } } - } else { - List _ljlist = ljList.stream().filter(it -> "15".equals(it.getKw())).collect(Collectors.toList()); - List list = this.initBySkbs(item, _ljlist,dcFd,dcPl); - addList.addAll(list); } } -// ljService.saveBatch(ljList); }); - this.saveBatch(addList); +// this.saveBatch(addList); + return addList; } - private List initBySl(YdjhImport item, List bomList,String dcFd) { + private List initBySl(YdjhImport item, List bomList) { List addList = new ArrayList<>(); if (item.getSl() != null) { @@ -373,7 +409,7 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initByYklm(YdjhImport item, List bomList,String dcFd,String dcPl) { + private List initByYklm(YdjhImport item, List bomList) { List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( @@ -391,7 +427,7 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initByYksk(YdjhImport item, List bomList,String dcFd,String dcPl) { + private List initByYksk(YdjhImport item, List bomList) { List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( @@ -409,7 +445,7 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initByEklmbs(YdjhImport item, List bomList,String dcFd,String dcPl) { + private List initByEklmbs(YdjhImport item, List bomList) { List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( @@ -427,7 +463,7 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initByEksk(YdjhImport item, List bomList,String dcFd,String dcPl) { + private List initByEksk(YdjhImport item, List bomList) { List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( @@ -445,7 +481,7 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initBySksk(YdjhImport item, List bomList,String dcFd,String dcPl) { + private List initBySksk(YdjhImport item, List bomList) { List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( @@ -463,7 +499,7 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initBySkpt(YdjhImport item, List bomList,String dcFd,String dcPl) { + private List initBySkpt(YdjhImport item, List bomList) { List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( @@ -481,7 +517,7 @@ public class YdjhImportService extends ServiceImpl { return addList; } - private List initBySkbs(YdjhImport item, List bomList,String dcFd,String dcPl) { + private List initBySkbs(YdjhImport item, List bomList) { List addList = new ArrayList<>(); ArrayList list = bomList.stream().collect( Collectors.collectingAndThen( @@ -542,14 +578,13 @@ public class YdjhImportService extends ServiceImpl { dmSygdMx.setQgrq(item.getSkqgks()); } - private DmSygdMx initDefault(YdjhImport item,String dcFd,String dcPl) { + private DmSygdMx initDefault(YdjhImport item,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()); diff --git a/src/main/java/com/dsic/gj_erp/service/jiuzhou/SljhService.java b/src/main/java/com/dsic/gj_erp/service/jiuzhou/SljhService.java index ffbc54c..f770e54 100644 --- a/src/main/java/com/dsic/gj_erp/service/jiuzhou/SljhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jiuzhou/SljhService.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.stream.Collectors; @Slf4j -@Service +//@Service public class SljhService extends ServiceImpl { @Async diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java index 8fde3a4..39f4d6e 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java @@ -29,7 +29,7 @@ public class YcldwInfoService extends ServiceImpl { @Transactional(rollbackOn = Exception.class) public void updatePw(YcldwInfo info){ this.removeById(info.getId()); - baseMapper.pwfk(info.getCeng(),info.getDwId()); +// baseMapper.pwfk(info.getCeng(),info.getDwId()); } @Transactional(rollbackOn = Exception.class) diff --git a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java index 6590fd3..2bbde87 100644 --- a/src/main/java/com/dsic/gj_erp/ws/WsHandler.java +++ b/src/main/java/com/dsic/gj_erp/ws/WsHandler.java @@ -54,6 +54,10 @@ public class WsHandler { socketIOServer.getBroadcastOperations().sendEvent("slComplete", object); } + public void sendPwComplete1(JSONObject object) { + socketIOServer.getBroadcastOperations().sendEvent("pwComplete1", object); + } + public void sendPwComplete(JSONObject object) { socketIOServer.getBroadcastOperations().sendEvent("pwComplete", object); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b532c40..dd5af0b 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -20,24 +20,28 @@ spring.servlet.multipart.max-request-size=500MB spring.servlet.multipart.enabled = true server.port=8081 - -spring.datasource.master.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver -spring.datasource.master.url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP -spring.datasource.master.jdbc-url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP -spring.datasource.master.username=sa -spring.datasource.master.password=gjerp -spring.datasource.master.initialize=true - -spring.datasource.jiuzhou.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jiuzhou.jdbc-url=jdbc:mysql://192.168.3.12:3306/jiuzhou?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true -spring.datasource.jiuzhou.username=root -spring.datasource.jiuzhou.password=gjerp -spring.datasource.jiuzhou.initialize=true - -hibernate.naming.physical_strategy=com.dsic.gj_erp.config.MyPhysicalNamingStrategy -hibernate.show_sql=true -hibernate.connection.autocommit=true -hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect +spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver +spring.datasource.url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP +spring.datasource.username=sa +spring.datasource.password=gjerp + +#spring.datasource.master.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver +#spring.datasource.master.url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP +#spring.datasource.master.jdbc-url=jdbc:sqlserver://192.127.0.3:1433;DatabaseName=GJ_ERP +#spring.datasource.master.username=sa +#spring.datasource.master.password=gjerp +#spring.datasource.master.initialize=true +# +#spring.datasource.jiuzhou.driver-class-name=com.mysql.cj.jdbc.Driver +#spring.datasource.jiuzhou.jdbc-url=jdbc:mysql://192.168.3.12:3306/jiuzhou?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true +#spring.datasource.jiuzhou.username=root +#spring.datasource.jiuzhou.password=gjerp +#spring.datasource.jiuzhou.initialize=true +# +#hibernate.naming.physical_strategy=com.dsic.gj_erp.config.MyPhysicalNamingStrategy +#hibernate.show_sql=true +#hibernate.connection.autocommit=true +#hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect mybatis-plus.configuration.batch-size=5000 diff --git a/src/main/resources/mappers/jhgk/DmXbjhMapper.xml b/src/main/resources/mappers/jhgk/DmXbjhMapper.xml index 36c35f3..7638ae9 100644 --- a/src/main/resources/mappers/jhgk/DmXbjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmXbjhMapper.xml @@ -33,4 +33,21 @@ + + diff --git a/src/main/resources/mappers/jhgk/YdjhImportMapper.xml b/src/main/resources/mappers/jhgk/YdjhImportMapper.xml index 82b50b2..a3efb97 100644 --- a/src/main/resources/mappers/jhgk/YdjhImportMapper.xml +++ b/src/main/resources/mappers/jhgk/YdjhImportMapper.xml @@ -3,4 +3,7 @@ + From 35b52cca16b0a00cac08a52cd554a77e6ce0dae0 Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 10 Jan 2025 11:03:39 +0800 Subject: [PATCH 177/196] bz --- .../resources/mappers/jhgk/DmYdjhMapper.xml | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index fdf4fdb..5d3d82b 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -963,12 +963,13 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} SELECT dm_ydjh.dc_ch, dm_ydjh.dc_pl, - dm_ydjh.jssj, - dm_ydjh.sljhrq, - dm_ydjh.pwjhrq, - dm_ydjh.lljhrq, - dm_ydjh.hxjhrq, - dm_ydjh.qgjhrq, + isnull( min (dm_ydjh.jssj) ,'')as jssj, + isnull( min (dm_ydjh.sljhrq) ,'')as sljhrq, + + isnull( min (dm_ydjh.pwjhrq) ,'')as pwjhrq, + isnull( min (dm_ydjh.lljhrq) ,'')as lljhrq, + isnull( min (dm_ydjh.hxjhrq) ,'')as hxjhrq, + isnull( min (dm_ydjh.qgjhrq) ,'')as qgjhrq, COUNT(dm_ydjh.id) AS bs, SUM(CASE WHEN ISNULL(dm_ydjh.slxhth, '') != '' THEN 1 ELSE 0 END) AS slxhth_count, SUM(CASE WHEN ISNULL(dm_ydjh.slfkry, '') != '' THEN 1 ELSE 0 END) AS sl_count, @@ -994,17 +995,18 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} GROUP BY dm_ydjh.dc_ch, - dm_ydjh.dc_pl, - dm_ydjh.jssj, - dm_ydjh.sljhrq, - dm_ydjh.pwjhrq, - dm_ydjh.lljhrq, - dm_ydjh.hxjhrq, - dm_ydjh.qgjhrq + dm_ydjh.dc_pl + order by dc_ch,dc_pl,jssj + + + + + + SELECT a.* - FROM dm_xbjh a --left join DM_CBXXP b on a.dc_ch =b.CBBM + FROM dm_xbjh a WHERE - b.wgbs ='N' - - and version=#{version} - + version=#{version} and dc_ch=#{dcCh} and nf BETWEEN #{startTime} AND #{endTime} - ORDER BY zl DESC + ORDER BY yf ,zl DESC From ffa9f3a50b642419336641e2bf74c6aa4995ed3c 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, 11 Jan 2025 09:28:19 +0800 Subject: [PATCH 179/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=BA=BF=E8=A1=A8?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E9=87=8D=E5=A4=8D=E5=AF=BC=E5=85=A5=E6=97=B6?= =?UTF-8?q?=E5=80=99=E7=89=88=E6=9C=AC=E5=8F=B7=E9=94=99=E8=AF=AF=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java index 51139c0..a008280 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java @@ -153,12 +153,13 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme HashSet names = new HashSet<>(); for (File file1 : files) { String name = FileUtil.getPrefix(file1.getName()); - String[] s = name.split("_"); - names.add(s[s.length - 1]); + if (name.contains(DateUtil.thisYear()+"")){ + String[] s = name.split("_"); + names.add(s[s.length - 1]); + } } names.stream() - .filter(item -> item.contains(DateUtil.thisYear() + "")) .max(String::compareTo) .ifPresent(item -> { String v = item.replace("v", ""); From d3b27f4f68156d4f3242b8dcb7f8715fd0a70e31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 13 Jan 2025 10:50:18 +0800 Subject: [PATCH 180/196] =?UTF-8?q?1.=E4=B8=8A=E6=96=99=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E4=B8=8A=E6=96=99=E5=8A=9F=E8=83=BD,?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E9=80=89=E6=8B=A9=E4=B8=8A=E6=96=99=E8=AE=A1?= =?UTF-8?q?=E5=88=92,=E7=84=B6=E5=90=8E=E9=80=89=E6=8B=A9=E5=9E=9B?= =?UTF-8?q?=E4=BD=8D,=E8=87=AA=E5=8A=A8=E6=8A=8A=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E4=B8=8A=E6=96=99=E8=AE=A1=E5=88=92=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E4=B8=8A=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dsic/gj_erp/controller/zyjh/ZyjhController.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 886dde1..ad349d3 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -495,6 +495,17 @@ public class ZyjhController { return new ResultBean<>(ycldwService.list(Wrappers.lambdaQuery().eq(Ycldw::getType,type))); } + /** + * 批量上料 + */ + @PostMapping("sls") + @Transactional(rollbackFor = Exception.class) + public ResultBean sls(@RequestBody List list) { + for (ShangLiao shangLiao : list) { + this.sl(shangLiao); + } + return new ResultBean<>(); + } /** * 上料 From 0ed582cc8fcec1282117d6fac3068355154300ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 22 Jan 2025 13:43:23 +0800 Subject: [PATCH 181/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=9C=8B=E6=9D=BF?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 11 ++ src/main/java/com/dsic/gj_erp/Test.java | 131 ++++++++++++++++-- .../com/dsic/gj_erp/mapper/KbanMapper.java | 4 +- .../com/dsic/gj_erp/service/KbanService.java | 42 +++++- .../resources/mappers/kban/KbanMapper.xml | 119 ++++++++-------- 5 files changed, 231 insertions(+), 76 deletions(-) diff --git a/pom.xml b/pom.xml index 43f4223..a1eb8f0 100644 --- a/pom.xml +++ b/pom.xml @@ -282,6 +282,17 @@ org.springframework.boot spring-boot-starter-websocket + + + com.google.zxing + core + 3.4.1 + + + com.google.zxing + javase + 3.4.1 + diff --git a/src/main/java/com/dsic/gj_erp/Test.java b/src/main/java/com/dsic/gj_erp/Test.java index 6da244f..cebc834 100644 --- a/src/main/java/com/dsic/gj_erp/Test.java +++ b/src/main/java/com/dsic/gj_erp/Test.java @@ -1,32 +1,143 @@ package com.dsic.gj_erp; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.date.TimeInterval; +import cn.hutool.extra.qrcode.QrCodeUtil; +import cn.hutool.extra.qrcode.QrConfig; +import com.google.zxing.BarcodeFormat; +import com.google.zxing.WriterException; +import com.google.zxing.client.j2se.MatrixToImageWriter; +import com.google.zxing.common.BitMatrix; +import com.google.zxing.qrcode.QRCodeWriter; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDPageContentStream; +import org.apache.pdfbox.pdmodel.PDPageTree; +import org.apache.pdfbox.pdmodel.graphics.image.JPEGFactory; +import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; +import org.apache.pdfbox.text.PDFTextStripper; +import org.apache.pdfbox.text.PDFTextStripperByArea; +import java.awt.*; +import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; +import java.io.File; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; public class Test { public static void main(String[] args) throws IOException { - System.out.println(DateUtil.thisYear()); +// System.out.println(DateUtil.thisYear()); // System.out.println(StrUtil.padPre("1",3,"0")); //String aaa="gagagag"; //System.out.println(aaa.split("@")[0]); //System.out.println("aaa = " + String.format("%03d",1)); +// MatrixToImageWriter. -// String pdfFilePath = "E:/B046HC103HN第046批量数控套料图2023-05-11.pdf"; // PDF文件路径 -// PDDocument document = PDDocument.load(new File(pdfFilePath)); + TimeInterval timer = DateUtil.timer(); + String pdfFilePath = "E:\\T300K-130_1_20250106\\PDF\\B001HC103HN数控套料图.pdf"; // PDF文件路径 + PDDocument document = PDDocument.load(new File(pdfFilePath)); // PDFTextStripper stripper = new PDFTextStripper(); // String text = stripper.getText(document); -// document.close(); +// String[] split = text.split("\\n"); + +// List list = new ArrayList<>(); + QrConfig config = new QrConfig(300, 300);//二维码宽/高 + // 设置边距,既二维码和背景之间的边距(即白边大小) + config.setMargin(0); + // 设置前景色,既二维码颜色(青色) + //config.setForeColor(Color.CYAN.getRGB()); + // 设置背景色(灰色) + //config.setBackColor(Color.GRAY.getRGB()); + +// for (int i = 0; i < split.length; i++) { +// String str = split[i]; + +// if (str.contains("船名 批量 图纸比例 套料图号 图号 页码")) { +// str = split[i - 4]; +// QrCodeDto qrCodeDto = new QrCodeDto(); +// try { +// qrCodeDto.page = Integer.parseInt(str.split(" ")[0]); +// }catch (Exception e){ +// str = split[i - 3]; +// qrCodeDto.page = Integer.parseInt(str.split(" ")[0]); +// } // -// // 输出提取的文本到控制台 +// list.add(qrCodeDto); +// } +// if (str.contains("序号 零件属性零件编号 零件属性 零件属性 零件属性序号 序号 序号零件编号 零件编号 零件编号")) { +// str = split[i + 1]; +// if (!list.isEmpty()) { +// String[] split1 = str.split(" "); +// String dcch = split1[0]; +// String dcpl = split1[1]; +// String tzbh = split1[3]; +// QrCodeDto qrCodeDto = list.get(list.size() - 1); +//// BitMatrix qrcode = createQrcode(String.format("%s_%s_%s", dcch, dcpl, tzbh)); +//// assert qrcode != null; +// //qrCodeDto.bufferedImage = MatrixToImageWriter.toBufferedImage(qrcode); +// qrCodeDto.bufferedImage = QrCodeUtil.generate(String.format("%s_%s_%s", dcch, dcpl, tzbh), config); +//// +// } +// } +// } + + for (int pageNumber = 1; pageNumber < document.getNumberOfPages(); ++pageNumber) { + PDPage page = document.getPage(pageNumber); + String textByRegion = getTextByRegion(page, 80, 50, 1100, 40); +// System.out.println(textByRegion); + String[] split = textByRegion.split(" "); + String dcch = split[1]; + String dcpl = split[3]; + String tzbh = split[7]; + String pageIndex = split[12]; + BufferedImage bufferedImage = QrCodeUtil.generate(String.format("%s_%s_%s", dcch, dcpl, tzbh), config); + PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true, true); + PDImageXObject qrCodeImage = JPEGFactory.createFromImage(document, bufferedImage); + contentStream.drawImage(qrCodeImage, 10, 10, 75, 75); // 在PDF中的坐标位置添加二维码 + contentStream.close(); + } + + document.save("E:/updated_document.pdf"); + document.close(); + System.out.println(timer.interval()); + // 输出提取的文本到控制台 // System.out.println(text); -// -// // 可以选择将文本写入文件 -// String outputPath = "E:/B046HC103HN第046批量数控套料图2023-05-11.txt"; // 输出文本文件路径 -// Files.write(Paths.get(outputPath), text.getBytes()); + + // 可以选择将文本写入文件 + //String outputPath = "E:/B001HC103HN数控套料图.txt"; // 输出文本文件路径 + //Files.write(Paths.get(outputPath), text.getBytes()); } + + private static BitMatrix createQrcode(String dataToEncode) { + QRCodeWriter qrCodeWriter = new QRCodeWriter(); + int width = 200; + int height = 200; + BitMatrix bitMatrix = null; + try { + return qrCodeWriter.encode(dataToEncode, BarcodeFormat.QR_CODE, width, height); + } catch (WriterException e) { + e.printStackTrace(); + } + return null; + } + + private static String getTextByRegion(PDPage page,double x,double y,double width,double height) throws IOException { + PDFTextStripperByArea stripper = new PDFTextStripperByArea(); + stripper.setSortByPosition(true); + stripper.addRegion("textRegion", new Rectangle2D.Double(x, y, width, height)); // 假设二维码区域是100x100,从(100,100)开始 + stripper.extractRegions(page); + return stripper.getTextForRegion("textRegion"); // 获取二维码区域的文本 + } + + + static class QrCodeDto { + public int page; + public BufferedImage bufferedImage; + } + } diff --git a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java index 047eef3..cdf5761 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java @@ -14,7 +14,7 @@ public interface KbanMapper { List> getProjects(); //线表重量 - List getEveryMonXbzlByNf(String nf); + List getEveryMonXbzlByNf(String nf,Integer version); //作业计划完成重量 List> getEveryCompZlByNf(String from, String to); @@ -48,7 +48,7 @@ public interface KbanMapper { Map todayZyjhzx(String from, String to); - List> xbgtt(String nf); + List> xbgtt(String nf,Integer version); List> zrcpcsl(String from, String to); diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index e961a08..0ab7476 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -1,14 +1,15 @@ package com.dsic.gj_erp.service; +import java.io.File; import java.math.BigDecimal; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; +import cn.hutool.core.io.FileUtil; import com.dsic.gj_erp.bean.xiaochi.Device; import com.dsic.gj_erp.mapper.xiaochi.DeviceMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.dsic.gj_erp.bean.jhgk.DmYdjh; @@ -19,12 +20,15 @@ import cn.hutool.core.date.DateUtil; import lombok.AllArgsConstructor; @Service -@AllArgsConstructor +@RequiredArgsConstructor public class KbanService { private final KbanMapper kbanMapper; private final DeviceMapper deviceMapper; + @Value("${xbjh-path}") + String xbjhPath; + public List getDeviceStatus(){ return deviceMapper.getDeviceStatus(); } @@ -57,7 +61,8 @@ public class KbanService { } public List> xbgtt(String nf){ - return kbanMapper.xbgtt(nf); + + return kbanMapper.xbgtt(nf,this.getMaxVersion()); } public Map todayZyjhzx() { @@ -227,7 +232,8 @@ public class KbanService { } public List getEveryMonXbzlByNf(String nf) { - return kbanMapper.getEveryMonXbzlByNf(nf); + + return kbanMapper.getEveryMonXbzlByNf(nf,this.getMaxVersion()); } public List> getEveryCompZlByNf(String nf) { @@ -236,4 +242,26 @@ public class KbanService { return kbanMapper.getEveryCompZlByNf(from.toString("yyyy/MM/dd"), to.toString("yyyy/MM/dd")); } + private Integer getMaxVersion(){ + File[] files = FileUtil.ls(xbjhPath); + AtomicInteger maxVersion = new AtomicInteger(0); + if (files.length > 0) { + HashSet names = new HashSet<>(); + for (File file1 : files) { + String name = FileUtil.getPrefix(file1.getName()); + if (name.contains(DateUtil.thisYear()+"")){ + String[] s = name.split("_"); + names.add(s[s.length - 1]); + } + } + + names.stream() + .max(String::compareTo) + .ifPresent(item -> { + String v = item.replace("v", ""); + maxVersion.set(Integer.parseInt(v)); + }); + } + return maxVersion.get(); + } } diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index c1c2785..50e8c16 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -3,7 +3,7 @@ @@ -20,7 +22,7 @@ @@ -59,7 +66,7 @@ from dm_ydjh WHERE - jssj BETWEEN #{from} and #{to} + jssj BETWEEN #{from} and #{to} and lx='b' group by dc_ch ,dc_pl ,qgfkrq order by dc_ch ,dc_pl @@ -70,19 +77,19 @@ DISTINCT dc_ch ,dc_pl , sum(case when zt>=2 then 1 else 0 end ) OVER(PARTITION by dc_ch,dc_pl) jhsl, sum(case when zt>11 then 1 else 0 end ) OVER(PARTITION by dc_ch,dc_pl) 一区, - sum(case when zt>=62 and (SUBSTRING(tzbh,6,1)=1 or SUBSTRING(tzbh,6,1)=3) then 1 else 0 end ) OVER(PARTITION by dc_ch,dc_pl) 二区, - sum(case when zt>=62 and SUBSTRING(tzbh,6,1)=2 then 1 else 0 end ) OVER(PARTITION by dc_ch,dc_pl) 三区, - sum(case when zt>=62 and SUBSTRING(tzbh,6,1)=4 then 1 else 0 end ) OVER(PARTITION by dc_ch,dc_pl) 四区 + sum(case when zt>=62 and zyq1='二区' then 1 else 0 end ) OVER(PARTITION by dc_ch,dc_pl) 二区, + sum(case when zt>=62 and zyq1='三区' then 1 else 0 end ) OVER(PARTITION by dc_ch,dc_pl) 三区, + sum(case when zt>=62 and zyq1='四区' then 1 else 0 end ) OVER(PARTITION by dc_ch,dc_pl) 四区 from dm_ydjh WHERE - zt>=2 and jssj BETWEEN #{from} and #{to} + zt>=2 and jssj BETWEEN #{from} and #{to} and lx='b' and (SUBSTRING(tzbh,6,1)=1 or SUBSTRING(tzbh,6,1)=3) - - + + @@ -107,7 +114,7 @@ from dm_ydjh WHERE - slfkrq = #{today} or hxfkrq = #{today} or qgfkrq = #{today} + lx='b' and (slfkrq = #{today} or hxfkrq = #{today} or qgfkrq = #{today}) SELECT DISTINCT - SUM(isnull(b.bclqzl,0)/10000) over(PARTITION by dcch) zl,dcch dcCh - from dm_sygdxq a left join - (SELECT DISTINCT dcch,pl,tzbh,bclqzl from dm_bom ) b - on a.DC_CH =b.dcch and a.DC_PL =b.pl - where a.xzglxq BETWEEN #{from} and #{to} and isnull(dcch,'')!='' + SUM(isnull(bclqzl,0)/1000) over(PARTITION by dc_ch) as zl,dc_ch dcCh + from dm_sygd_mx + where jssj BETWEEN #{from} and #{to} and isnull(dc_ch,'')!='' - + SELECT sum(t) total from (SELECT DC_CH , DC_PL ,sum(1) t from dm_zrcjh where jssj_xz BETWEEN - #{from} and #{to} group by DC_CH,DC_PL ) a + #{from} and #{to} group by DC_CH,DC_PL ) a @@ -241,11 +244,9 @@ From 2c7cec8e2523220f56f597a24f57cb3a8bf3a141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 12 Feb 2025 10:47:23 +0800 Subject: [PATCH 182/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E7=9C=8B=E6=9D=BF?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=202.=E4=BA=8C=E8=B7=A8T=E5=9E=8B=E6=9D=90?= =?UTF-8?q?=E8=85=B9=E6=9D=BF=E5=AF=B9=E5=BA=94=E5=9B=9B=E5=8C=BA,?= =?UTF-8?q?=E4=BA=8C=E8=B7=A8T=E5=9E=8B=E6=9D=90=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E4=B8=89=E5=8C=BA=203.=E5=9C=A8=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E8=AE=A1=E5=88=92=E6=9F=A5=E8=AF=A2=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BD=9C=E4=B8=9A=E5=8C=BA=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E8=82=9D=E5=8A=9F=E8=83=BD=204.=E6=8A=A5=E5=B7=A5=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=AD=A3=205.=E5=90=AF?= =?UTF-8?q?=E7=94=A8=E4=BD=9C=E4=B8=9A=E5=8C=BA=E6=8A=A5=E5=B7=A5=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=99=BB=E5=BD=95=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pgd/PgdSljhController.java | 14 ++++---- .../dsic/gj_erp/mapper/jcsj/DmBomMapper.java | 1 + .../gj_erp/service/jcsj/DmBomService.java | 1 + .../service/jcsj/impl/DmBomServiceImpl.java | 6 ++++ .../jhgk/impl/DmSygdMxServiceImpl.java | 5 --- .../service/jhgk/impl/YdjhImportService.java | 19 ++++++++-- .../resources/mappers/jcsj/DmBomMapper.xml | 4 +++ .../resources/mappers/kban/KbanMapper.xml | 36 +++++++++---------- 8 files changed, 55 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index ff5e34f..af0f4fb 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -614,6 +614,14 @@ public class PgdSljhController { dmYdjh.setZyq1("三区"); dmYdjh.setYkw(byId.getKw()); dmYdjh.setKw(slKc.getSLDW()); + + //作业区默认值修正 + //二跨T型材腹板对应四区 + //二跨T型材面板对应三区 上面已处理 这里只做记录 + if("11".equals(slKc.getSLDW())){ + dmYdjh.setZyq("FP4Q"); + dmYdjh.setZyq1("四区"); + } } if("4".equals(slKc.getSLDW())|| "15".equals(slKc.getSLDW()) @@ -623,13 +631,7 @@ public class PgdSljhController { dmYdjh.setYkw(byId.getKw()); dmYdjh.setKw(slKc.getSLDW()); } - } - - - - - ups.add(dmYdjh); } ups1.add(imCkwpkwp); 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 11d7c1d..4f3f3ee 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 @@ -24,4 +24,5 @@ public interface DmBomMapper extends BaseMapper { int insertFile(@Param("filepath")String filepath,@Param("yhdm") String yhdm); + List getBomUni(String dcCh,String dcPl); } 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 9d31836..4e1e2f4 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 @@ -26,4 +26,5 @@ public interface DmBomService extends IService { void copyListBom(HttpServletRequest req, Map map); + List getBomUni(String dcCh,String dcPl); } 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 d7d6339..7293c08 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 @@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -122,4 +123,9 @@ public class DmBomServiceImpl extends ServiceImpl implements this.saveBatch(list,1000); //this.saveBatch() } + + @Override + public List getBomUni(String dcCh, String dcPl) { + return baseMapper.getBomUni(dcCh,dcPl); + } } 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 fab7bc9..46ea9f9 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 @@ -225,11 +225,6 @@ public class DmSygdMxServiceImpl extends ServiceImpl i &&dmYdjh.getTzbh().equals(item.getTzbh()) ){ dmYdjh.setId(dmYdjh.getId()); - //二跨T型材腹板默认四区切割,这里修正一下 - if (dmYdjh.getTzbh().contains("N2T")){ - dmYdjh.setZyq1("四区"); - dmYdjh.setZyq("FP4Q"); - } this.updateYdjh(dmYdjh,item); 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 f172e8f..14d3b9e 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 @@ -37,10 +37,25 @@ public class YdjhImportService { private final DmSygdMxService sygdMxService; public List listByFileName(String fileName) { - return importService.list(Wrappers.lambdaQuery() - .eq(StrUtil.isNotEmpty(fileName),YdjhImport::getFileName, fileName) + List list = importService.list(Wrappers.lambdaQuery() + .eq(StrUtil.isNotEmpty(fileName), YdjhImport::getFileName, fileName) .orderByAsc(YdjhImport::getId) ); + //修正个产线数量 + //todo 需根据于庆胜最新格式开发 +// list.stream().filter(item->StrUtil.isNotEmpty(item.getDcPl())) +// .forEach(item->{ +// List bomList = bomService.getBomUni(item.getDcCh(),item.getDcPl()); +// if (StrUtil.isNotEmpty(item.getSl())){ +// item.setBs1(bomList.size()+""); +// } +// +// if (StrUtil.isNotEmpty(item.getEkskks())){ +// +// } +// +// }); + return list; } public List list(String begin, String end) { diff --git a/src/main/resources/mappers/jcsj/DmBomMapper.xml b/src/main/resources/mappers/jcsj/DmBomMapper.xml index 2139324..9f99670 100644 --- a/src/main/resources/mappers/jcsj/DmBomMapper.xml +++ b/src/main/resources/mappers/jcsj/DmBomMapper.xml @@ -277,5 +277,9 @@ dm_bom.type = 'b' and dm_bom.dcch=#{dcCh} and dm_bom.pl=#{dcPl} + + diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index 50e8c16..fd9b867 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -12,7 +12,7 @@ from dm_ydjh WHERE - jssj BETWEEN #{from} and #{to} and lx='b' and zt>=11 + jssj BETWEEN #{from} and #{to} and lx='b' and ylbs='N' and zt>=11 group by MONTH(CAST(jssj AS DATE)) order by @@ -22,7 +22,7 @@ @@ -55,7 +55,7 @@ from dm_ydjh - zt>=42 and lx='b' and (hxsb=#{code} or qgsb=#{code}) + zt>=42 and lx='b' and ylbs='N' and (hxsb=#{code} or qgsb=#{code}) @@ -66,7 +66,7 @@ from dm_ydjh WHERE - jssj BETWEEN #{from} and #{to} and lx='b' + jssj BETWEEN #{from} and #{to} and lx='b' and ylbs='N' group by dc_ch ,dc_pl ,qgfkrq order by dc_ch ,dc_pl @@ -83,7 +83,7 @@ from dm_ydjh WHERE - zt>=2 and jssj BETWEEN #{from} and #{to} and lx='b' + zt>=2 and jssj BETWEEN #{from} and #{to} and lx='b' and ylbs='N' and (SUBSTRING(tzbh,6,1)=1 or SUBSTRING(tzbh,6,1)=3) @@ -114,7 +114,7 @@ from dm_ydjh WHERE - lx='b' and (slfkrq = #{today} or hxfkrq = #{today} or qgfkrq = #{today}) + lx='b' and ylbs='N' and (slfkrq = #{today} or hxfkrq = #{today} or qgfkrq = #{today}) @@ -157,7 +157,7 @@ from dm_ydjh WHERE - jssj BETWEEN #{from} and #{to} and lx='b' + jssj BETWEEN #{from} and #{to} and lx='b' and ylbs='N' @@ -203,7 +203,7 @@ from dm_ydjh WHERE - jssj BETWEEN #{from} and #{to} and lx='b' + jssj BETWEEN #{from} and #{to} and lx='b' and ylbs='N' @@ -255,7 +255,7 @@ From f8add09c520aca3f5bfd1dd97546c682e605f5d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 17 Feb 2025 16:15:17 +0800 Subject: [PATCH 183/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E7=9C=8B=E6=9D=BF?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=202.=E4=BA=8C=E8=B7=A8T=E5=9E=8B=E6=9D=90?= =?UTF-8?q?=E8=85=B9=E6=9D=BF=E5=AF=B9=E5=BA=94=E5=9B=9B=E5=8C=BA,?= =?UTF-8?q?=E4=BA=8C=E8=B7=A8T=E5=9E=8B=E6=9D=90=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E4=B8=89=E5=8C=BA=203.=E5=9C=A8=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E8=AE=A1=E5=88=92=E6=9F=A5=E8=AF=A2=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BD=9C=E4=B8=9A=E5=8C=BA=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E8=82=9D=E5=8A=9F=E8=83=BD=204.=E6=8A=A5=E5=B7=A5=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=AD=A3=205.=E5=90=AF?= =?UTF-8?q?=E7=94=A8=E4=BD=9C=E4=B8=9A=E5=8C=BA=E6=8A=A5=E5=B7=A5=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=99=BB=E5=BD=95=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 5ed8f3a..d2447ec 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -1586,7 +1586,10 @@ public class BomUploadServiceImpl { System.out.println("e.getWpggZ().split(\"\\\\*\")[0] = " + e.getWpgg().split("\\*")[0]); System.out.println("e.getWpggZ().split(\"\\\\*\")[0] = " + e.getWpgg()); dmBom.setBh(new BigDecimal(e.getWpgg().split("\\*")[0])); - dmBom.setBc(new BigDecimal(e.getWpgg().split("\\*")[2])); + try { + dmBom.setBc(new BigDecimal(e.getWpgg().split("\\*")[2])); + }catch (Exception e0){} + String tzbh = e.getTzbh(); String hxlx = ""; // 根据图纸编号获取 手工,数控 跨位,组立,、 From ed4c3e432ca0cbde4f945c8490c717c74b4e89a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 19 Feb 2025 14:09:14 +0800 Subject: [PATCH 184/196] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/service/jcsj/impl/BomUploadServiceImpl.java | 2 +- src/main/resources/mappers/jcsj/DmBomMapper.xml | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index d2447ec..6ea4df7 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -1555,7 +1555,7 @@ public class BomUploadServiceImpl { Map qgKwMap = qgkws.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM)); List adds = new ArrayList<>(); int cs = list.get(0).getCs(); - if (2 == cs) { + if (2 == cs || 4==cs) { ArrayList collect = list.stream().collect( Collectors.collectingAndThen( Collectors.toCollection( diff --git a/src/main/resources/mappers/jcsj/DmBomMapper.xml b/src/main/resources/mappers/jcsj/DmBomMapper.xml index 9f99670..9773e15 100644 --- a/src/main/resources/mappers/jcsj/DmBomMapper.xml +++ b/src/main/resources/mappers/jcsj/DmBomMapper.xml @@ -278,7 +278,13 @@ From cff7f8f7c170c0711218637785eeffec034e401d Mon Sep 17 00:00:00 2001 From: xhj Date: Wed, 19 Feb 2025 14:25:24 +0800 Subject: [PATCH 185/196] bz --- .../jcsj/impl/BomUploadServiceImpl.java | 48 ++++++++++++++++--- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 6ea4df7..6cbf878 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -1555,13 +1555,47 @@ public class BomUploadServiceImpl { Map qgKwMap = qgkws.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM)); List adds = new ArrayList<>(); int cs = list.get(0).getCs(); - if (2 == cs || 4==cs) { - ArrayList collect = list.stream().collect( - Collectors.collectingAndThen( - Collectors.toCollection( - () -> new TreeSet<>( - Comparator.comparing( - tc -> tc.getTjb().getWpgg() + ";" + tc.getTjb().getWpxh() + ";" + tc.getTjb().getTzbh()))), ArrayList::new)); + +// for(BomVO vo :list){ +// if(StringUtils.isBlank(vo.getTjb().getWpxh())){ +// vo.getTjb().setWpxh(""); +// } +// if(StringUtils.isBlank(vo.getTjb().getWpgg())){ +// vo.getTjb().setWpgg(""); +// } +// if(StringUtils.isBlank(vo.getTjb().getTzbh())){ +// vo.getTjb().setTzbh(""); +// } +// } + + if (2 == cs || 4==cs ) { +// ArrayList collect = list.stream().collect( +// Collectors.collectingAndThen( +// Collectors.toCollection( +// () -> new TreeSet<>( +// Comparator.comparing( +// tc -> tc.getTjb().getWpgg() + ";" + tc.getTjb().getWpxh() + ";" + tc.getTjb().getTzbh()))), ArrayList::new)); + ArrayList collect = list.stream() + .collect( + Collectors.collectingAndThen( + Collectors.toCollection( + () -> new TreeSet<>( + Comparator.comparing( + tc -> { + // 检查 tc.getTjb() 是否为 null + if (tc.getTjb() == null) { + // 如果为 null,可以返回一个默认值或抛出异常 + return ""; // 这里返回空字符串作为默认值 + } + // 拼接字段 + return tc.getTjb().getWpgg() + ";" + tc.getTjb().getWpxh() + ";" + tc.getTjb().getTzbh(); + } + ) + ) + ), + ArrayList::new + ) + ); collect.forEach(i -> { if(null !=i.getTjb()){ DmBchxylp e = i.getTjb(); From 44910e569bf287b1266b6a413c042e388554b24f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 19 Feb 2025 17:04:17 +0800 Subject: [PATCH 186/196] =?UTF-8?q?1.=E6=96=B0=E5=AF=BC=E5=85=A5=E6=9C=88?= =?UTF-8?q?=E5=BA=A6=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmSygdMx.java | 4 +- .../dsic/gj_erp/bean/jhgk/YdjhImportNew.java | 163 +++++ .../com/dsic/gj_erp/bean/pgd/PgdTzjh.java | 15 +- .../jhgk/YdjhImportNewController.java | 65 ++ .../listeners/ExcelYdjhImportNewListener.java | 31 + .../mapper/jhgk/YdjhImportNewMapper.java | 14 + .../jhgk/impl/YdjhImportNewService.java | 616 ++++++++++++++++++ .../mappers/jhgk/YdjhImportNewMapper.xml | 9 + 8 files changed, 911 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImportNew.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/jhgk/YdjhImportNewController.java create mode 100644 src/main/java/com/dsic/gj_erp/listeners/ExcelYdjhImportNewListener.java create mode 100644 src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportNewMapper.java create mode 100644 src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java create mode 100644 src/main/resources/mappers/jhgk/YdjhImportNewMapper.xml diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java index 8e8e8f1..d051e32 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java @@ -281,6 +281,7 @@ public class DmSygdMx implements Serializable { } } + public static DmSygdMx ofWithDmSygdMxlj(DmSygdMxLj lj){ DmSygdMx mx = new DmSygdMx(); BeanUtil.copyProperties(lj,mx); @@ -374,7 +375,4 @@ public class DmSygdMx implements Serializable { this.ylbhgg=bom.getYlbhgg(); } - public boolean isAvailable(){ - return !StrUtil.isAllBlank(this.slrq,this.xcpw,this.pw,this.qgrq,this.qgjs,this.mbjb,this.xcmb,this.fdxq,this.gdjs); - } } diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImportNew.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImportNew.java new file mode 100644 index 0000000..7022714 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImportNew.java @@ -0,0 +1,163 @@ +package com.dsic.gj_erp.bean.jhgk; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +@TableName("ydjh_import_new") +public class YdjhImportNew { + + @TableId(type = IdType.AUTO) + private String id; + + @ExcelProperty("序号") + private String xh; + + @ExcelProperty("产品") + private String dcCh; + + @ExcelProperty("批量") + private String dcPl; + + @ExcelProperty("分段") + private String dcFd; + + @ExcelProperty("板数") + private String 板数; + + @ExcelProperty("上料\n完成") + @DateTimeFormat("yyyy/MM/dd") + private String 上料完成; + + @ExcelProperty("型材抛丸") + @DateTimeFormat("yyyy/MM/dd") + private String 型材抛丸; + + @ExcelProperty("抛丸\n完成") + @DateTimeFormat("yyyy/MM/dd") + private String 抛丸完成; + + @ExcelProperty("一垮\n龙门\n板数") + private String 一垮龙门板数; + + @ExcelProperty("一垮\n数控\n板数") + private String 一垮数控板数; + + @ExcelProperty(value = "切割完成",index = 10) + @DateTimeFormat("yyyy/MM/dd") + private String 切割完成1; + + @ExcelProperty("二垮\n面板\n板数") + private String 二跨面板板数; + + @ExcelProperty(value = "切割完成",index = 12) + @DateTimeFormat("yyyy/MM/dd") + private String 切割完成2; + + @ExcelProperty("二垮\n数控\n板数") + private String 二跨数控板数; + + @ExcelProperty(value = "切割完成",index = 14) + @DateTimeFormat("yyyy/MM/dd") + private String 切割完成3; + + @ExcelProperty("三垮\n平铁\n板数") + private String 三跨平铁板数; + + @ExcelProperty(value = "切割完成",index = 16) + @DateTimeFormat("yyyy/MM/dd") + private String 切割完成4; + + @ExcelProperty("曲平铁曲完成") + @DateTimeFormat("yyyy/MM/dd") + private String 曲平铁曲完成; + + @ExcelProperty("三垮\n数控\n板数") + private String 三跨数控板数; + + @ExcelProperty(value = "切割完成",index = 19) + @DateTimeFormat("yyyy/MM/dd") + private String 切割完成5; + + @ExcelProperty("曲外板曲完成") + @DateTimeFormat("yyyy/MM/dd") + private String 曲外板曲完成; + + @ExcelProperty("四区\n腹板\n板数") + private String 四区腹板板数; + + @ExcelProperty(value = "切割完成",index = 22) + @DateTimeFormat("yyyy/MM/dd") + private String 切割完成6; + + @ExcelProperty("四区\n数控\n板数") + private String 四区数控板数; + + @ExcelProperty(value = "切割完成",index = 24) + @DateTimeFormat("yyyy/MM/dd") + private String 切割完成7; + + @ExcelProperty("面板挤边完成") + @DateTimeFormat("yyyy/MM/dd") + private String 面板挤边完成; + + @ExcelProperty("面板切割完成") + @DateTimeFormat("yyyy/MM/dd") + private String 面板切割完成; + + @ExcelProperty("七垮\n型材\n米数") + private String 七跨型材米数; + + @ExcelProperty("型材切割完成") + @DateTimeFormat("yyyy/MM/dd") + private String 型材切割完成; + + @ExcelProperty("光电 完成") + @DateTimeFormat("yyyy/MM/dd") + private String 光电完成; + + @ExcelProperty("小组\n配送\n完成") + @DateTimeFormat("yyyy/MM/dd") + private String 小组配送完成; + + @ExcelProperty("备注") + private String 备注; + + private String fdxq; + + private String 文件名; + + private boolean nonBom=true; + + private String mbcz; + + private String qfxqrqxz; + + private String qfxqrqdz; + + private String zt="0"; + + private String bzr; + + private String bzrq; + + public void tj(){ + this.zt=ZtEnum.TJ.ordinal()+""; + } + + public void sh(){ + this.zt=ZtEnum.SH.ordinal()+""; + } + + public enum ZtEnum{ + BZ,TJ,SH + } + +} 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 3a0d357..89e9f33 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 @@ -3,6 +3,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 com.dsic.gj_erp.bean.jhgk.YdjhImportNew; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -80,15 +81,23 @@ public class PgdTzjh implements Serializable { private String fkry; - public static PgdTzjh of(YdjhImport jh,String pl){ + public static PgdTzjh of(YdjhImport jh, String pl){ + PgdTzjh tzjh = new PgdTzjh(); + tzjh.setCzbh(jh.getDcCh()); + tzjh.setPl(pl); + tzjh.setQfxqrqxz(jh.getQfxqrqxz()); + tzjh.setQfxqrqdz(jh.getQfxqrqdz()); + tzjh.setZt("01"); + return tzjh; + } + + public static PgdTzjh of(YdjhImportNew jh, String pl){ 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/controller/jhgk/YdjhImportNewController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/YdjhImportNewController.java new file mode 100644 index 0000000..ae6f61e --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/YdjhImportNewController.java @@ -0,0 +1,65 @@ +package com.dsic.gj_erp.controller.jhgk; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; +import com.dsic.gj_erp.annotation.AuthFunction; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jhgk.YdjhImportNew; +import com.dsic.gj_erp.listeners.ExcelYdjhImportNewListener; +import com.dsic.gj_erp.service.jhgk.impl.YdjhImportNewService; +import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.util.List; + + +@RestController +@RequestMapping("ydjhImportNew") +@AllArgsConstructor +public class YdjhImportNewController { + + private final YdjhImportNewService ydjhImportNewService; + + @GetMapping("listByFileName") + public ResultBean listByFileName(String fileName) { + return new ResultBean<>(ydjhImportNewService.listByFileName(fileName)); + } + + @RequestMapping("/getFileNameList") + public ResultBean getFileNameList(){ + return new ResultBean<>(ydjhImportNewService.getFileNameList()); + } + + @RequestMapping("/ydjhImportNew") + @AuthFunction + public ResultBean ydjhImportNew(@RequestParam("file") MultipartFile file, HttpServletRequest req) throws IOException { + ExcelYdjhImportNewListener objectListener = new ExcelYdjhImportNewListener(); + EasyExcel.read(file.getInputStream(), YdjhImportNew.class, objectListener).sheet(0).headRowNumber(1).doRead(); + List objList = objectListener.getObjectList(); + + String fileName = file.getOriginalFilename(); + fileName= StrUtil.removeSuffix(fileName, ".xls"); + fileName=StrUtil.removeSuffix(fileName, ".xlsx"); + ydjhImportNewService.handler(objList, fileName, req); + return new ResultBean(fileName); + } + + @GetMapping("/tj") + public ResultBean tj(String fileName) { + ydjhImportNewService.tj(fileName); + return new ResultBean<>(); + } + + @GetMapping("/sh") + public ResultBean sh(String fileName) { + ydjhImportNewService.sh(fileName); + return new ResultBean<>(); + } +} diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelYdjhImportNewListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelYdjhImportNewListener.java new file mode 100644 index 0000000..fdc02e8 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelYdjhImportNewListener.java @@ -0,0 +1,31 @@ +package com.dsic.gj_erp.listeners; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.dsic.gj_erp.bean.jhgk.YdjhImportNew; +import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Excel通用监听器 + */ +public class ExcelYdjhImportNewListener extends AnalysisEventListener { + + @Getter + List objectList = new ArrayList<>(); + + @Override + public void invoke(YdjhImportNew excelDemo, AnalysisContext analysisContext) { + objectList.add(excelDemo); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + +} diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportNewMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportNewMapper.java new file mode 100644 index 0000000..b169def --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportNewMapper.java @@ -0,0 +1,14 @@ +package com.dsic.gj_erp.mapper.jhgk; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsic.gj_erp.bean.jhgk.YdjhImport; +import com.dsic.gj_erp.bean.jhgk.YdjhImportNew; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface YdjhImportNewMapper extends BaseMapper { + + List getFileNameList(); +} diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java new file mode 100644 index 0000000..f931a79 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java @@ -0,0 +1,616 @@ +package com.dsic.gj_erp.service.jhgk.impl; + +import cn.hutool.core.bean.BeanUtil; +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.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +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.*; +import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; +import com.dsic.gj_erp.bean.pgd.PgdTzjh; +import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper; +import com.dsic.gj_erp.mapper.jhgk.YdjhImportMapper; +import com.dsic.gj_erp.mapper.jhgk.YdjhImportNewMapper; +import com.dsic.gj_erp.service.jcsj.DmBomService; +import com.dsic.gj_erp.service.jcsj.DmCbxxpService; +import com.dsic.gj_erp.service.jhgk.DmSygdMxService; +import com.dsic.gj_erp.service.jhgk.DmYdjhService; +import com.dsic.gj_erp.service.pgd.PgdTzjhService; +import lombok.AllArgsConstructor; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.transaction.support.TransactionTemplate; + +import javax.servlet.http.HttpServletRequest; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Consumer; +import java.util.stream.Collectors; + +@Service +@AllArgsConstructor +public class YdjhImportNewService extends ServiceImpl { + + private final DmSygdxqMapper sygdxqMapper; + private final DmBomService bomService; + private final DmCbxxpService dmCbxxpService; + private final PgdTzjhService tzjhService; + private final DmYdjhService dmYdjhService; + private final TransactionTemplate transactionTemplate; + private final DmSygdMxService sygdMxService; + private final RedisTemplate redisTemplate; + + private static final String GJSCGK_SYGDMX_KEY = "GJSCGK::SYGDMX::"; + private static final String GJSCGK_TZJH_KEY = "GJSCGK::TZJH::"; + + public List getFileNameList() { + return baseMapper.getFileNameList(); + } + + public List listByFileName(String fileName) { + List list = this.list(Wrappers.lambdaQuery() + .eq(StrUtil.isNotEmpty(fileName), YdjhImportNew::get文件名, fileName) + .orderByAsc(YdjhImportNew::getId) + ); + list.stream().filter(item->StrUtil.isNotEmpty(item.getDcPl())) + .forEach(item->{ + List bomList = bomService.getBomUni(item.getDcCh(),item.getDcPl()); + if (ObjUtil.isNotEmpty(bomList)){ + item.set板数(bomList.size()+""); + Map> collect = bomList.stream().collect(Collectors.groupingBy(DmBom::getKw)); + //一垮龙门和一垮数控 + if (item.get切割完成1() != null) { + Optional.ofNullable(collect.get("7")).ifPresent(bom -> { + item.set一垮龙门板数(bom.size()+""); + }); + + Optional.ofNullable(collect.get("8")).ifPresent(bom -> { + item.set一垮数控板数(bom.size()+""); + }); + } + + if (item.get切割完成2() != null) { + Optional.ofNullable(collect.get("5")).ifPresent(bom -> { + item.set二跨面板板数(bom.size()+""); + }); + } + + if (item.get切割完成3() != null) { + AtomicInteger atomicInteger = new AtomicInteger(0); + Optional.ofNullable(collect.get("9")).ifPresent(bom -> { + atomicInteger.addAndGet(bom.size()); + }); + + Optional.ofNullable(collect.get("10")).ifPresent(bom -> { + atomicInteger.addAndGet(bom.size()); + }); + + Optional.ofNullable(collect.get("12")).ifPresent(bom -> { + atomicInteger.addAndGet(bom.size()); + }); + item.set二跨数控板数(atomicInteger.toString()); + } + + if (item.get切割完成4() != null) { + AtomicInteger atomicInteger = new AtomicInteger(0); + Optional.ofNullable(collect.get("6")).ifPresent(bom -> { + atomicInteger.addAndGet(bom.size()); + }); + + Optional.ofNullable(collect.get("14")).ifPresent(bom -> { + atomicInteger.addAndGet(bom.size()); + }); + item.set三跨平铁板数(atomicInteger.toString()); + } + + if (item.get切割完成5() != null) { + Optional.ofNullable(collect.get("13")).ifPresent(bom -> { + item.set三跨数控板数(bom.size()+""); + }); + } + + if (item.get切割完成6() != null) { + Optional.ofNullable(collect.get("11")).ifPresent(bom -> { + item.set四区腹板板数(bom.size()+""); + }); + } + + if (item.get切割完成7() != null) { + AtomicInteger atomicInteger = new AtomicInteger(0); + Optional.ofNullable(collect.get("15")).ifPresent(bom -> { + atomicInteger.addAndGet(bom.size()); + }); + + Optional.ofNullable(collect.get("16")).ifPresent(bom -> { + atomicInteger.addAndGet(bom.size()); + }); + item.set四区数控板数(atomicInteger.toString()); + } + } + }); + return list; + } + + public void sh(String fileName) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .eq(YdjhImportNew::get文件名, fileName) + .eq(YdjhImportNew::getZt, YdjhImportNew.ZtEnum.TJ.ordinal()); + List list = this.updateData(wrapper, YdjhImportNew::sh); + if (ObjUtil.isEmpty(list)){ + return; + } + List updateList=new ArrayList<>(); + list.stream().filter(item->StrUtil.isAllNotEmpty(item.getDcCh(),item.getDcPl())) + .forEach(item->{ + String dcPl = item.getDcPl(); + + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { + } + List ydjhList = dmYdjhService.list(Wrappers.lambdaQuery().eq(DmYdjh::getDcCh, dcPl)); + if (ObjUtil.isNotEmpty(ydjhList)){ + Map> collect = ydjhList.stream().collect(Collectors.groupingBy(DmYdjh::getKw)); + //一垮龙门和一垮数控 + if (item.get切割完成1() != null) { + Optional.ofNullable(collect.get("7")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成1()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + + Optional.ofNullable(collect.get("8")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成1()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + } + + if (item.get切割完成2() != null) { + Optional.ofNullable(collect.get("5")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成2()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + } + + if (item.get切割完成3() != null) { + Optional.ofNullable(collect.get("9")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成3()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + + Optional.ofNullable(collect.get("10")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成3()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + + Optional.ofNullable(collect.get("12")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成3()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + } + + if (item.get切割完成4() != null) { + Optional.ofNullable(collect.get("6")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成4()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + + Optional.ofNullable(collect.get("14")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成4()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + } + + if (item.get切割完成5() != null) { + Optional.ofNullable(collect.get("13")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成5()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + } + + if (item.get切割完成6() != null) { + Optional.ofNullable(collect.get("11")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成6()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + } + + if (item.get切割完成7() != null) { + Optional.ofNullable(collect.get("15")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成7()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + + }); + + Optional.ofNullable(collect.get("16")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成7()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + } + } + }); + + dmYdjhService.updateBatchById(updateList); + } + + private DmYdjh updateYdjh(String slrq,String pwrq,String qgrq){ + DmYdjh dmYdjh = new DmYdjh(); + dmYdjh.setSljhrq(slrq); + dmYdjh.setPwjhrq(pwrq); + dmYdjh.setHxjhrq(qgrq); + dmYdjh.setQgjhrq(qgrq); + return dmYdjh; + } + + public void tj(String fileName) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .eq(YdjhImportNew::get文件名, fileName) + .eq(YdjhImportNew::getZt, YdjhImportNew.ZtEnum.BZ.ordinal()); + List list = this.updateData(wrapper, YdjhImportNew::tj); + + List sygdMxList = new ArrayList<>(); + List tzjhList = new ArrayList<>(); + if (ObjUtil.isEmpty(list)){ + return; + } + list.forEach(item -> { + String dcPl = item.getDcPl(); + + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { + } + item.setDcPl(dcPl); + List sygdmx = (List) redisTemplate.opsForHash().get(GJSCGK_SYGDMX_KEY + fileName, item.getDcCh() + "_" + dcPl); + if (ObjUtil.isNotEmpty(sygdmx)) { + sygdMxList.addAll(sygdmx); + } + PgdTzjh tzjh = (PgdTzjh) redisTemplate.opsForHash().get(GJSCGK_TZJH_KEY + fileName, item.getDcCh() + "_" + dcPl); + if (ObjUtil.isNotEmpty(tzjh)){ + tzjhList.add(tzjh); + } + }); + + if (ObjUtil.isAllEmpty(sygdMxList,tzjhList)){ + return; + } + transactionTemplate.execute((status)->{ + list.stream().filter(item -> StrUtil.isAllNotEmpty(item.getDcCh(),item.getDcPl())) + .forEach(item->{ + sygdMxService.remove(new QueryWrapper() + .eq("dc_ch", item.getDcCh()) + .eq("dc_pl", item.getDcPl()) + ); + //清理未处理的图纸计划 + tzjhService.remove(Wrappers.lambdaQuery() + .eq(PgdTzjh::getCzbh,item.getDcCh()) + .eq(PgdTzjh::getPl,item.getDcPl()) + .and(it->it.isNull(PgdTzjh::getFkrq).or().eq(PgdTzjh::getFkrq,"")) + ); + }); + + sygdMxService.saveBatch(sygdMxList); + + //图纸计划入库 + tzjhService.saveBatch(tzjhList); + return true; + }); +// redisTemplate.opsForHash().delete(GJSCGK_SYGDMX_KEY+fileName); +// redisTemplate.opsForHash().delete(GJSCGK_TZJH_KEY+fileName); + } + + private List updateData(LambdaQueryWrapper wrapper, Consumer handler) { + List list = this.list(wrapper); + list.forEach(item -> { + YdjhImportNew ydjhImportNew = new YdjhImportNew(); + ydjhImportNew.setId(item.getId()); + ydjhImportNew.setNonBom(item.isNonBom()); + handler.accept(ydjhImportNew); + this.updateById(ydjhImportNew); + }); + return list; + } + + public void handler(List list, String fileName, HttpServletRequest request) { + //三月滚动明细 + this.createSygdmx(list, fileName); + + //没有基础数据的计划生成图纸计划 + this.createTzjh(list, fileName, request); + + transactionTemplate.execute((status) -> { + list.stream().filter(item -> StrUtil.isAllNotEmpty(item.getDcCh(), item.getDcPl())) + .forEach(item -> { + item.set文件名(fileName); + this.remove(new QueryWrapper() + .eq("dc_ch", item.getDcCh()) + .eq("dc_pl", item.getDcPl()) + .eq("文件名", fileName)//根据同名文件进行删除 + ); + }); + list.forEach(this::save); + return true; + }); + } + + private void createTzjh(List list, String fileName, HttpServletRequest request) { + String yhms = (String) request.getAttribute("yhms"); + String date = DateUtil.date().toString("yyyy/MM/dd"); + + list.stream() + .filter(YdjhImportNew::isNonBom) + .forEach(item -> { + String dcPl = item.getDcPl(); + + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { + } + + PgdTzjh dmTzjh = PgdTzjh.of(item, dcPl); + dmTzjh.setBzry(yhms); + dmTzjh.setBzrq(date); + redisTemplate.opsForHash().put(GJSCGK_TZJH_KEY + fileName, item.getDcCh() + "_" + dcPl, dmTzjh); + }); + } + + /** + * 月度计划导入,不使用月度计划只能排产功能前提下使用该功能导入月度计划 + */ + private void createSygdmx(List objList, String fileName) { + + objList.stream() + .filter(item -> !item.getDcPl().contains("-"))//批次范围的数据暂不处理 + .forEach(item -> { + + List addList = new ArrayList<>(); + String dcPl = item.getDcPl(); + + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + } catch (Exception ignored) { + } + + List bomList = bomService.getBomUni(item.getDcCh(), dcPl); + + if (ObjUtil.isEmpty(bomList)) { + //无bom,明细数据使用目标船只替代,切在作业计划中生成一条(按照kw进行区分)数据 + return; + } + + if (ObjUtil.isNotEmpty(bomList)) { + item.setNonBom(false); + } + + //修正前方需求数据 + List dmSygdxqs = sygdxqMapper.selectList(Wrappers.lambdaQuery() + .eq(DmSygdxq::getDcCh, item.getDcCh()).eq(DmSygdxq::getDcPl, dcPl)); + if (ObjUtil.isNotEmpty(dmSygdxqs)) { + DmSygdxq dmSygdxq = dmSygdxqs.get(0); + item.setQfxqrqxz(dmSygdxq.getXzglxq()); + item.setQfxqrqdz(dmSygdxq.getDzglxq()); + } + + Map> collect = bomList.stream().collect(Collectors.groupingBy(DmBom::getKw)); + //一垮龙门和一垮数控 + if (item.get切割完成1() != null) { + Optional.ofNullable(collect.get("7")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成1()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + + Optional.ofNullable(collect.get("8")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成1()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + } + + if (item.get切割完成2() != null) { + Optional.ofNullable(collect.get("5")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成2()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + } + + if (item.get切割完成3() != null) { + Optional.ofNullable(collect.get("9")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成3()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + + Optional.ofNullable(collect.get("10")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成3()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + + Optional.ofNullable(collect.get("12")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成3()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + } + + if (item.get切割完成4() != null) { + Optional.ofNullable(collect.get("6")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成4()); + dmSygdMx.setQbs("1"); + dmSygdMx.setQjgrq(item.get曲平铁曲完成()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + + Optional.ofNullable(collect.get("14")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成4()); + dmSygdMx.setQbs("1"); + dmSygdMx.setQjgrq(item.get曲平铁曲完成()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + + } + + if (item.get切割完成5() != null) { + Optional.ofNullable(collect.get("13")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成5()); + dmSygdMx.setQbs("1"); + dmSygdMx.setQjgrq(item.get曲外板曲完成()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + } + + if (item.get切割完成6() != null) { + Optional.ofNullable(collect.get("11")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成6()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + } + + if (item.get切割完成7() != null) { + Optional.ofNullable(collect.get("15")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成7()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + + Optional.ofNullable(collect.get("16")).ifPresent(boms -> { + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get切割完成7()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + } + redisTemplate.opsForHash().put(GJSCGK_SYGDMX_KEY + fileName, item.getDcCh() + "_" + dcPl, addList); + }); + } +} diff --git a/src/main/resources/mappers/jhgk/YdjhImportNewMapper.xml b/src/main/resources/mappers/jhgk/YdjhImportNewMapper.xml new file mode 100644 index 0000000..c1bb47f --- /dev/null +++ b/src/main/resources/mappers/jhgk/YdjhImportNewMapper.xml @@ -0,0 +1,9 @@ + + + + + + + From 56d00a75484681f58ffa843030ae38252b64d105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 20 Feb 2025 15:15:55 +0800 Subject: [PATCH 187/196] =?UTF-8?q?1.=E6=96=B0=E5=AF=BC=E5=85=A5=E6=9C=88?= =?UTF-8?q?=E5=BA=A6=E8=AE=A1=E5=88=92=202.=E5=8E=BB=E9=99=A4=E5=86=97?= =?UTF-8?q?=E4=BD=99import=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/GjErpApplication.java | 2 - src/main/java/com/dsic/gj_erp/Test.java | 6 - .../dsic/gj_erp/bean/jhgk/YdjhImportNew.java | 14 + .../config/DynamicDataSourceConfig.java | 1 - .../com/dsic/gj_erp/config/JapConfig.java | 2 - .../config/MyBatisPlusConfigJiuZhou.java | 1 - .../config/MyBatisPlusConfigMaster.java | 1 - .../controller/jcsj/BomUploadController.java | 7 - .../controller/jcsj/DmBomController.java | 6 +- .../controller/jhgk/DmSygdController.java | 2 - .../controller/jhgk/DmYdjhController.java | 5 - .../jhgk/YdjhImportNewController.java | 11 +- .../controller/kban/KbanController.java | 35 +-- .../controller/pgd/DmPpxxbController.java | 2 - .../controller/pgd/PgdSljhController.java | 3 - .../gj_erp/listeners/ExcelJhxfListener.java | 1 - .../listeners/ExcelYdjhImportNewListener.java | 2 - .../com/dsic/gj_erp/mapper/KbanMapper.java | 7 +- .../dsic/gj_erp/mapper/jcsj/DmBomMapper.java | 2 +- .../mapper/jhgk/YdjhImportNewMapper.java | 1 - .../gj_erp/pc/service/三月滚动接口.java | 2 - .../com/dsic/gj_erp/service/KbanService.java | 19 +- .../gj_erp/service/jcsj/DmBomService.java | 2 +- .../jcsj/impl/BomUploadServiceImpl.java | 1 - .../service/jcsj/impl/DmBomServiceImpl.java | 5 +- .../gj_erp/service/jhgk/DmXbjhService.java | 1 - .../service/jhgk/impl/DmDhqdpServiceImpl.java | 1 - .../service/jhgk/impl/DmSygdServiceImpl.java | 8 - .../jhgk/impl/DmSygdxqServiceImpl.java | 1 - .../service/jhgk/impl/DmYdjhServiceImpl.java | 1 - .../jhgk/impl/YdjhImportNewService.java | 285 ++++++++++++------ .../service/jhgk/impl/YdjhImportService.java | 5 +- .../gj_erp/service/jiuzhou/SljhService.java | 1 - .../gj_erp/service/zyjh/YcldwInfoService.java | 1 - .../dsic/gj_erp/service/zyjh/ZyjhService.java | 1 - .../resources/mappers/jcsj/DmBomMapper.xml | 3 + 36 files changed, 253 insertions(+), 195 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/GjErpApplication.java b/src/main/java/com/dsic/gj_erp/GjErpApplication.java index ec6c1b8..9da305f 100644 --- a/src/main/java/com/dsic/gj_erp/GjErpApplication.java +++ b/src/main/java/com/dsic/gj_erp/GjErpApplication.java @@ -10,10 +10,8 @@ import org.modelmapper.convention.MatchingStrategies; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.transaction.annotation.EnableTransactionManagement; import springfox.documentation.swagger2.annotations.EnableSwagger2; import javax.persistence.EntityManager; diff --git a/src/main/java/com/dsic/gj_erp/Test.java b/src/main/java/com/dsic/gj_erp/Test.java index cebc834..b27af88 100644 --- a/src/main/java/com/dsic/gj_erp/Test.java +++ b/src/main/java/com/dsic/gj_erp/Test.java @@ -6,25 +6,19 @@ import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrConfig; import com.google.zxing.BarcodeFormat; import com.google.zxing.WriterException; -import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.QRCodeWriter; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; -import org.apache.pdfbox.pdmodel.PDPageTree; import org.apache.pdfbox.pdmodel.graphics.image.JPEGFactory; import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; -import org.apache.pdfbox.text.PDFTextStripper; import org.apache.pdfbox.text.PDFTextStripperByArea; -import java.awt.*; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; public class Test { public static void main(String[] args) throws IOException { diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImportNew.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImportNew.java index 7022714..93bd591 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImportNew.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/YdjhImportNew.java @@ -148,6 +148,20 @@ public class YdjhImportNew { private String bzrq; + private String shry; + + private String shrq; + + public void updateToBz(String bzr,String bzrq){ + this.bzr=bzr; + this.bzrq=bzrq; + } + + public void updateToSh(String shr,String shrq){ + this.shry =shr; + this.shrq=shrq; + } + public void tj(){ this.zt=ZtEnum.TJ.ordinal()+""; } diff --git a/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java index 7afb13d..5ac062e 100644 --- a/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java @@ -3,7 +3,6 @@ package com.dsic.gj_erp.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import javax.sql.DataSource; diff --git a/src/main/java/com/dsic/gj_erp/config/JapConfig.java b/src/main/java/com/dsic/gj_erp/config/JapConfig.java index 9ade5b0..0624541 100644 --- a/src/main/java/com/dsic/gj_erp/config/JapConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/JapConfig.java @@ -11,8 +11,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; import org.springframework.core.env.Environment; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.jdbc.datasource.init.DataSourceInitializer; diff --git a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigJiuZhou.java b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigJiuZhou.java index f715a66..febe204 100644 --- a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigJiuZhou.java +++ b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigJiuZhou.java @@ -12,7 +12,6 @@ import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; diff --git a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java index fbb8ee5..be30e52 100644 --- a/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java +++ b/src/main/java/com/dsic/gj_erp/config/MyBatisPlusConfigMaster.java @@ -12,7 +12,6 @@ import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java index 0052d7b..063cd19 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java @@ -1,13 +1,10 @@ package com.dsic.gj_erp.controller.jcsj; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.DmBom; -import com.dsic.gj_erp.bean.jcsj.DmTltpdf; import com.dsic.gj_erp.bean.sy.Dm_zhbmp; import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; @@ -16,17 +13,13 @@ import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.DmTltpdfService; import com.dsic.gj_erp.service.jcsj.impl.BomUploadServiceImpl; import lombok.extern.slf4j.Slf4j; -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.text.PDFTextStripper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; -import java.io.File; import java.io.IOException; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java index 454940b..f11cdc5 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java @@ -7,7 +7,10 @@ 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.*; +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.vo.BomVO; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.sy.Dm_zhbmp; @@ -31,7 +34,6 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java index d43efcb..80a01dc 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java @@ -17,9 +17,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** *

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 dd21fb3..d6d060b 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 @@ -1,17 +1,13 @@ package com.dsic.gj_erp.controller.jhgk; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; 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.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jcsj.DmCzplpNew; import com.dsic.gj_erp.bean.jhgk.DmYdjh; -import com.dsic.gj_erp.bean.kc.ImCkwpkwp; import com.dsic.gj_erp.exception.CustomException; import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; import com.dsic.gj_erp.service.jcsj.DmCzplpNewService; @@ -28,7 +24,6 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/YdjhImportNewController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/YdjhImportNewController.java index ae6f61e..cbe75bb 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/YdjhImportNewController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/YdjhImportNewController.java @@ -8,7 +8,6 @@ import com.dsic.gj_erp.bean.jhgk.YdjhImportNew; import com.dsic.gj_erp.listeners.ExcelYdjhImportNewListener; import com.dsic.gj_erp.service.jhgk.impl.YdjhImportNewService; import lombok.AllArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -28,8 +27,8 @@ public class YdjhImportNewController { private final YdjhImportNewService ydjhImportNewService; @GetMapping("listByFileName") - public ResultBean listByFileName(String fileName) { - return new ResultBean<>(ydjhImportNewService.listByFileName(fileName)); + public ResultBean listByFileName(String fileName,String zt) { + return new ResultBean<>(ydjhImportNewService.listByFileName(fileName,zt)); } @RequestMapping("/getFileNameList") @@ -58,8 +57,10 @@ public class YdjhImportNewController { } @GetMapping("/sh") - public ResultBean sh(String fileName) { - ydjhImportNewService.sh(fileName); + @AuthFunction + public ResultBean sh(String fileName,HttpServletRequest request) { + String yhms = (String) request.getAttribute("yhms"); + ydjhImportNewService.sh(fileName,yhms); return new ResultBean<>(); } } diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index bfb8758..d02354c 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -1,20 +1,10 @@ package com.dsic.gj_erp.controller.kban; -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Collectors; - -import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; +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.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; @@ -27,13 +17,16 @@ import com.dsic.gj_erp.service.jcsj.DmBzryService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.sy.impl.SyMsgService; import com.dsic.gj_erp.service.zyjh.ZyjhService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.util.StrUtil; -import lombok.AllArgsConstructor; +import java.io.File; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; /** * 各作业区划分规则 diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java index a326b75..e18bff6 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/DmPpxxbController.java @@ -2,10 +2,8 @@ package com.dsic.gj_erp.controller.pgd; import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.zyjh.DmYppyz; import com.dsic.gj_erp.mapper.pgd.PgdQmjhMapper; diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java index af0f4fb..048c84c 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdSljhController.java @@ -21,7 +21,6 @@ import com.dsic.gj_erp.controller.zyjh.dto.PwExportExcel; import com.dsic.gj_erp.controller.zyjh.dto.PwpgDto; import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository; import com.dsic.gj_erp.exception.CustomException; -import com.dsic.gj_erp.exception.ServiceException; import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; import com.dsic.gj_erp.mapper.kc.ImCkwpkwpMapper; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; @@ -42,8 +41,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import java.util.stream.Collectors; /** diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java index 0494d8c..81fa753 100644 --- a/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelJhxfListener.java @@ -4,7 +4,6 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; -import com.dsic.gj_erp.util.ObjConvertUtils; import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelYdjhImportNewListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelYdjhImportNewListener.java index fdc02e8..0c211cd 100644 --- a/src/main/java/com/dsic/gj_erp/listeners/ExcelYdjhImportNewListener.java +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelYdjhImportNewListener.java @@ -3,12 +3,10 @@ package com.dsic.gj_erp.listeners; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.dsic.gj_erp.bean.jhgk.YdjhImportNew; -import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; import lombok.Getter; import java.util.ArrayList; import java.util.List; -import java.util.Map; /** * Excel通用监听器 diff --git a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java index cdf5761..ab26736 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java @@ -1,13 +1,12 @@ package com.dsic.gj_erp.mapper; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import org.apache.ibatis.annotations.Mapper; + import java.math.BigDecimal; import java.util.List; import java.util.Map; -import org.apache.ibatis.annotations.Mapper; - -import com.dsic.gj_erp.bean.jhgk.DmYdjh; - @Mapper public interface KbanMapper { 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 4f3f3ee..02b0b9a 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 @@ -24,5 +24,5 @@ public interface DmBomMapper extends BaseMapper { int insertFile(@Param("filepath")String filepath,@Param("yhdm") String yhdm); - List getBomUni(String dcCh,String dcPl); + List getBomUni(String dcCh,String dcPl,String kw); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportNewMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportNewMapper.java index b169def..c99a72f 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportNewMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/YdjhImportNewMapper.java @@ -1,7 +1,6 @@ package com.dsic.gj_erp.mapper.jhgk; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsic.gj_erp.bean.jhgk.YdjhImport; import com.dsic.gj_erp.bean.jhgk.YdjhImportNew; import org.apache.ibatis.annotations.Mapper; diff --git a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java index b808d67..76666dc 100644 --- a/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java +++ b/src/main/java/com/dsic/gj_erp/pc/service/三月滚动接口.java @@ -5,9 +5,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; -import com.dsic.gj_erp.bean.jcsj.DmBchxylp; import com.dsic.gj_erp.bean.jhgk.DmSygd; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index 0ab7476..7b0e759 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -1,23 +1,20 @@ package com.dsic.gj_erp.service; -import java.io.File; -import java.math.BigDecimal; -import java.util.*; -import java.util.concurrent.atomic.AtomicInteger; - +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.xiaochi.Device; +import com.dsic.gj_erp.mapper.KbanMapper; import com.dsic.gj_erp.mapper.xiaochi.DeviceMapper; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import com.dsic.gj_erp.bean.jhgk.DmYdjh; -import com.dsic.gj_erp.mapper.KbanMapper; - -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import lombok.AllArgsConstructor; +import java.io.File; +import java.math.BigDecimal; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; @Service @RequiredArgsConstructor 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 4e1e2f4..3fe3443 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 @@ -26,5 +26,5 @@ public interface DmBomService extends IService { void copyListBom(HttpServletRequest req, Map map); - List getBomUni(String dcCh,String dcPl); + List getBomUni(String dcCh,String dcPl,String kw); } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 6cbf878..4df4bff 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jcsj.*; import com.dsic.gj_erp.bean.jcsj.vo.BomVO; -import com.dsic.gj_erp.bean.jhgk.DmTzjh; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.bean.sy.Dm_zhbmp; 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 7293c08..c1158a1 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 @@ -15,7 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; -import java.util.Collections; import java.util.List; import java.util.Map; @@ -125,7 +124,7 @@ public class DmBomServiceImpl extends ServiceImpl implements } @Override - public List getBomUni(String dcCh, String dcPl) { - return baseMapper.getBomUni(dcCh,dcPl); + public List getBomUni(String dcCh, String dcPl,String kw) { + return baseMapper.getBomUni(dcCh,dcPl,kw); } } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java index 7e6ef30..f04f772 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java @@ -7,7 +7,6 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java index 8330132..e5a8a8b 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmDhqdpServiceImpl.java @@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmDhqdp; import com.dsic.gj_erp.mapper.jhgk.DmDhqdpMapper; import com.dsic.gj_erp.service.jhgk.DmDhqdpService; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.*; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java index c006024..f39a808 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java @@ -1,18 +1,11 @@ package com.dsic.gj_erp.service.jhgk.impl; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmSygd; -import com.dsic.gj_erp.bean.jhgk.DmSygdMx; -import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.excel.SyExcel; import com.dsic.gj_erp.mapper.jhgk.DmSygdMapper; -import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmSygdService; -import com.dsic.gj_erp.service.jhgk.DmYdjhService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,7 +14,6 @@ import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** *

diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java index c218d8f..bb9a9c9 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdxqServiceImpl.java @@ -16,7 +16,6 @@ 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.exception.ServiceException; import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; 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 b1cc736..b6e9f32 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 @@ -15,7 +15,6 @@ import com.dsic.gj_erp.bean.pgd.*; import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; import com.dsic.gj_erp.service.jhgk.DmQfxqService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; -import com.dsic.gj_erp.service.jiuzhou.SljhService; import com.dsic.gj_erp.service.pgd.*; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java index f931a79..4f61666 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java @@ -1,21 +1,19 @@ package com.dsic.gj_erp.service.jhgk.impl; -import cn.hutool.core.bean.BeanUtil; 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.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; 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.*; -import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; +import com.dsic.gj_erp.bean.jhgk.DmSygdMx; +import com.dsic.gj_erp.bean.jhgk.DmSygdxq; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.jhgk.YdjhImportNew; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper; -import com.dsic.gj_erp.mapper.jhgk.YdjhImportMapper; import com.dsic.gj_erp.mapper.jhgk.YdjhImportNewMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; @@ -25,10 +23,14 @@ import com.dsic.gj_erp.service.pgd.PgdTzjhService; import lombok.AllArgsConstructor; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.TransactionTemplate; import javax.servlet.http.HttpServletRequest; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; import java.util.stream.Collectors; @@ -48,100 +50,143 @@ public class YdjhImportNewService extends ServiceImpl getFileNameList() { return baseMapper.getFileNameList(); } - public List listByFileName(String fileName) { + public List listByFileName(String fileName,String zt) { List list = this.list(Wrappers.lambdaQuery() .eq(StrUtil.isNotEmpty(fileName), YdjhImportNew::get文件名, fileName) + .eq(StrUtil.isNotEmpty(zt),YdjhImportNew::getZt,zt) .orderByAsc(YdjhImportNew::getId) ); list.stream().filter(item->StrUtil.isNotEmpty(item.getDcPl())) .forEach(item->{ - List bomList = bomService.getBomUni(item.getDcCh(),item.getDcPl()); - if (ObjUtil.isNotEmpty(bomList)){ - item.set板数(bomList.size()+""); - Map> collect = bomList.stream().collect(Collectors.groupingBy(DmBom::getKw)); - //一垮龙门和一垮数控 - if (item.get切割完成1() != null) { - Optional.ofNullable(collect.get("7")).ifPresent(bom -> { - item.set一垮龙门板数(bom.size()+""); - }); + String dcPl = item.getDcPl(); - Optional.ofNullable(collect.get("8")).ifPresent(bom -> { - item.set一垮数控板数(bom.size()+""); - }); - } + try { + dcPl = String.format("%03d", Integer.parseInt(dcPl)); + item.setDcPl(dcPl); + } catch (Exception ignored) { + } - if (item.get切割完成2() != null) { - Optional.ofNullable(collect.get("5")).ifPresent(bom -> { - item.set二跨面板板数(bom.size()+""); - }); - } + AtomicInteger 板数 = new AtomicInteger(0); + //一垮龙门和一垮数控 + if (item.get切割完成1() != null) { + this.getBomSize(item, "7",(size)->{ + item.set二跨面板板数(size+""); + 板数.addAndGet(size); + }); - if (item.get切割完成3() != null) { - AtomicInteger atomicInteger = new AtomicInteger(0); - Optional.ofNullable(collect.get("9")).ifPresent(bom -> { - atomicInteger.addAndGet(bom.size()); - }); + this.getBomSize(item, "8",(size)->{ + item.set二跨面板板数(size+""); + 板数.addAndGet(size); + }); + } - Optional.ofNullable(collect.get("10")).ifPresent(bom -> { - atomicInteger.addAndGet(bom.size()); - }); + if (item.get切割完成2() != null) { + this.getBomSize(item, "5",(size)->{ + item.set二跨面板板数(size+""); + 板数.addAndGet(size); + }); + } - Optional.ofNullable(collect.get("12")).ifPresent(bom -> { - atomicInteger.addAndGet(bom.size()); - }); - item.set二跨数控板数(atomicInteger.toString()); - } + if (item.get切割完成3() != null) { + AtomicInteger atomicInteger = new AtomicInteger(0); - if (item.get切割完成4() != null) { - AtomicInteger atomicInteger = new AtomicInteger(0); - Optional.ofNullable(collect.get("6")).ifPresent(bom -> { - atomicInteger.addAndGet(bom.size()); - }); + this.getBomSize(item, "9",(size)->{ + atomicInteger.addAndGet(size); + 板数.addAndGet(size); + }); - Optional.ofNullable(collect.get("14")).ifPresent(bom -> { - atomicInteger.addAndGet(bom.size()); - }); - item.set三跨平铁板数(atomicInteger.toString()); - } + this.getBomSize(item, "10",(size)->{ + atomicInteger.addAndGet(size); + 板数.addAndGet(size); + }); - if (item.get切割完成5() != null) { - Optional.ofNullable(collect.get("13")).ifPresent(bom -> { - item.set三跨数控板数(bom.size()+""); - }); - } + this.getBomSize(item, "12",(size)->{ + atomicInteger.addAndGet(size); + 板数.addAndGet(size); + }); - if (item.get切割完成6() != null) { - Optional.ofNullable(collect.get("11")).ifPresent(bom -> { - item.set四区腹板板数(bom.size()+""); - }); - } + item.set二跨数控板数(atomicInteger.toString()); + } - if (item.get切割完成7() != null) { - AtomicInteger atomicInteger = new AtomicInteger(0); - Optional.ofNullable(collect.get("15")).ifPresent(bom -> { - atomicInteger.addAndGet(bom.size()); - }); + if (item.get切割完成4() != null) { + this.getBomSize(item, "6",(size)->{ + item.set三跨平铁板数(size.toString()); + 板数.addAndGet(size); + }); - Optional.ofNullable(collect.get("16")).ifPresent(bom -> { - atomicInteger.addAndGet(bom.size()); - }); - item.set四区数控板数(atomicInteger.toString()); - } } + + if(item.get曲平铁曲完成()!=null){ + this.getBomSize(item, "13", 板数::addAndGet); + } + + if (item.get切割完成5() != null) { + this.getBomSize(item, "14",(size)->{ + item.set三跨数控板数(size+""); + 板数.addAndGet(size); + }); + } + + if (item.get切割完成6() != null) { + this.getBomSize(item, "11",(size)->{ + item.set四区腹板板数(size+""); + 板数.addAndGet(size); + }); + } + + if (item.get切割完成7() != null) { + AtomicInteger atomicInteger = new AtomicInteger(0); + + this.getBomSize(item, "15",(size)->{ + atomicInteger.addAndGet(size); + 板数.addAndGet(size); + }); + + this.getBomSize(item, "16",(size)->{ + atomicInteger.addAndGet(size); + 板数.addAndGet(size); + }); + item.set四区数控板数(atomicInteger.toString()); + } + + if(item.get光电完成()!=null){ + this.getBomSize(item, "17", 板数::addAndGet); + } + + item.set板数(板数.toString()); }); return list; } - public void sh(String fileName) { + private void getBomSize(YdjhImportNew item, String kw, Consumer handler){ + Integer o = (Integer) redisTemplate.opsForHash().get(GJSCGK_BOM_COUNT_KEY + item.getDcCh(), item.getDcPl() + "_"+kw); +// if (o==null||o==0){ +// List bomUni = bomService.getBomUni(item.getDcCh(), item.getDcPl(), kw); +// if (bomUni!=null){ +// o=bomUni.size(); +// redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY + item.getDcCh(), item.getDcPl() + "_"+kw,o); +// } +// } + Optional.ofNullable(o).ifPresent(handler); + + } + + @Transactional(rollbackFor = Exception.class) + public void sh(String fileName,String shr) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() .eq(YdjhImportNew::get文件名, fileName) .eq(YdjhImportNew::getZt, YdjhImportNew.ZtEnum.TJ.ordinal()); - List list = this.updateData(wrapper, YdjhImportNew::sh); + String shrq=DateUtil.date().toString("yyyy/MM/dd"); + List list = this.updateData(wrapper, (item)->{ + item.updateToSh(shr,shrq); + item.sh(); + }); if (ObjUtil.isEmpty(list)){ return; } @@ -154,9 +199,14 @@ public class YdjhImportNewService extends ServiceImpl ydjhList = dmYdjhService.list(Wrappers.lambdaQuery().eq(DmYdjh::getDcCh, dcPl)); + List ydjhList = dmYdjhService.list(Wrappers.lambdaQuery() + .eq(DmYdjh::getDcCh, item.getDcCh()) + .eq(DmYdjh::getDcPl, dcPl) + ); if (ObjUtil.isNotEmpty(ydjhList)){ - Map> collect = ydjhList.stream().collect(Collectors.groupingBy(DmYdjh::getKw)); + Map> collect = ydjhList.stream() + .filter(ydjh->StrUtil.isNotEmpty(ydjh.getKw())) + .collect(Collectors.groupingBy(DmYdjh::getKw)); //一垮龙门和一垮数控 if (item.get切割完成1() != null) { Optional.ofNullable(collect.get("7")).ifPresent(ydjhs -> { @@ -221,9 +271,12 @@ public class YdjhImportNewService extends ServiceImpl { + } + + if(item.get曲平铁曲完成()!=null){ + Optional.ofNullable(collect.get("13")).ifPresent(ydjhs -> { ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成4()); + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get曲平铁曲完成()); dmYdjh.setId(ydjh.getId()); updateList.add(dmYdjh); }); @@ -231,7 +284,7 @@ public class YdjhImportNewService extends ServiceImpl { + Optional.ofNullable(collect.get("14")).ifPresent(ydjhs -> { ydjhs.forEach(ydjh->{ DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成5()); dmYdjh.setId(ydjh.getId()); @@ -268,6 +321,16 @@ public class YdjhImportNewService extends ServiceImpl { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get光电完成()); + dmYdjh.setId(ydjh.getId()); + updateList.add(dmYdjh); + }); + }); + } } }); @@ -294,7 +357,9 @@ public class YdjhImportNewService extends ServiceImpl { + list.stream() + .filter(item -> !item.getDcPl().contains("-"))//批次范围的数据暂不处理 + .forEach(item -> { String dcPl = item.getDcPl(); try { @@ -316,7 +381,9 @@ public class YdjhImportNewService extends ServiceImpl{ - list.stream().filter(item -> StrUtil.isAllNotEmpty(item.getDcCh(),item.getDcPl())) + list.stream() + .filter(item -> !item.getDcPl().contains("-"))//批次范围的数据暂不处理 + .filter(item -> StrUtil.isAllNotEmpty(item.getDcCh(),item.getDcPl())) .forEach(item->{ sygdMxService.remove(new QueryWrapper() .eq("dc_ch", item.getDcCh()) @@ -342,6 +409,7 @@ public class YdjhImportNewService extends ServiceImpl updateData(LambdaQueryWrapper wrapper, Consumer handler) { List list = this.list(wrapper); + list.forEach(item -> { YdjhImportNew ydjhImportNew = new YdjhImportNew(); ydjhImportNew.setId(item.getId()); @@ -353,16 +421,21 @@ public class YdjhImportNewService extends ServiceImpl list, String fileName, HttpServletRequest request) { + + String yhms = (String) request.getAttribute("yhms"); //三月滚动明细 this.createSygdmx(list, fileName); //没有基础数据的计划生成图纸计划 - this.createTzjh(list, fileName, request); + this.createTzjh(list, fileName, yhms); + String date = DateUtil.date().toString("yyyy/MM/dd"); transactionTemplate.execute((status) -> { - list.stream().filter(item -> StrUtil.isAllNotEmpty(item.getDcCh(), item.getDcPl())) + list.stream() + .filter(item -> StrUtil.isAllNotEmpty(item.getDcCh(), item.getDcPl())) .forEach(item -> { item.set文件名(fileName); + item.updateToBz(yhms,date); this.remove(new QueryWrapper() .eq("dc_ch", item.getDcCh()) .eq("dc_pl", item.getDcPl()) @@ -374,11 +447,11 @@ public class YdjhImportNewService extends ServiceImpl list, String fileName, HttpServletRequest request) { - String yhms = (String) request.getAttribute("yhms"); + private void createTzjh(List list, String fileName,String yhms) { String date = DateUtil.date().toString("yyyy/MM/dd"); list.stream() + .filter(item -> !item.getDcPl().contains("-"))//批次范围的数据暂不处理 .filter(YdjhImportNew::isNonBom) .forEach(item -> { String dcPl = item.getDcPl(); @@ -412,7 +485,7 @@ public class YdjhImportNewService extends ServiceImpl bomList = bomService.getBomUni(item.getDcCh(), dcPl); + List bomList = bomService.getBomUni(item.getDcCh(), dcPl,null); if (ObjUtil.isEmpty(bomList)) { //无bom,明细数据使用目标船只替代,切在作业计划中生成一条(按照kw进行区分)数据 @@ -434,8 +507,10 @@ public class YdjhImportNewService extends ServiceImpl> collect = bomList.stream().collect(Collectors.groupingBy(DmBom::getKw)); //一垮龙门和一垮数控 + String finalDcPl = dcPl; if (item.get切割完成1() != null) { Optional.ofNullable(collect.get("7")).ifPresent(boms -> { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_7",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); @@ -449,6 +524,7 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_8",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); @@ -464,6 +540,7 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_5",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); @@ -479,6 +556,7 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_9",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); @@ -492,6 +570,7 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_10",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); @@ -505,6 +584,7 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_12",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); @@ -520,13 +600,12 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_6",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); dmSygdMx.setDcPl(item.getDcPl()); dmSygdMx.setQgrq(item.get切割完成4()); - dmSygdMx.setQbs("1"); - dmSygdMx.setQjgrq(item.get曲平铁曲完成()); dmSygdMx.setJssj(item.getQfxqrqxz()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); dmSygdMx.setBomData(bom); @@ -534,32 +613,34 @@ public class YdjhImportNewService extends ServiceImpl { + } + + if(item.get曲平铁曲完成()!=null){ + Optional.ofNullable(collect.get("13")).ifPresent(boms -> { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_13",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); dmSygdMx.setDcPl(item.getDcPl()); - dmSygdMx.setQgrq(item.get切割完成4()); + dmSygdMx.setQgrq(item.get曲平铁曲完成()); dmSygdMx.setQbs("1"); - dmSygdMx.setQjgrq(item.get曲平铁曲完成()); + dmSygdMx.setQjgrq(item.get曲外板曲完成()); dmSygdMx.setJssj(item.getQfxqrqxz()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); dmSygdMx.setBomData(bom); addList.add(dmSygdMx); }); }); - } if (item.get切割完成5() != null) { - Optional.ofNullable(collect.get("13")).ifPresent(boms -> { + Optional.ofNullable(collect.get("14")).ifPresent(boms -> { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_14",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); dmSygdMx.setDcPl(item.getDcPl()); dmSygdMx.setQgrq(item.get切割完成5()); - dmSygdMx.setQbs("1"); - dmSygdMx.setQjgrq(item.get曲外板曲完成()); dmSygdMx.setJssj(item.getQfxqrqxz()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); dmSygdMx.setBomData(bom); @@ -570,6 +651,7 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_11",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); @@ -585,6 +667,7 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_15",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); @@ -598,6 +681,7 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_16",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); @@ -610,6 +694,23 @@ public class YdjhImportNewService extends ServiceImpl { + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_17",boms.size()); + boms.forEach(bom -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setDcCh(item.getDcCh()); + dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setQgrq(item.get光电完成()); + dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setGjjsDz(item.getQfxqrqdz()); + dmSygdMx.setBomData(bom); + addList.add(dmSygdMx); + }); + }); + } + redisTemplate.opsForHash().put(GJSCGK_SYGDMX_KEY + fileName, item.getDcCh() + "_" + dcPl, addList); }); } 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 14d3b9e..aa0b825 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 @@ -8,7 +8,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.DmSygdMx; +import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; +import com.dsic.gj_erp.bean.jhgk.DmSygdxq; +import com.dsic.gj_erp.bean.jhgk.YdjhImport; import com.dsic.gj_erp.bean.jhgk.excel.JhxfExcel; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper; diff --git a/src/main/java/com/dsic/gj_erp/service/jiuzhou/SljhService.java b/src/main/java/com/dsic/gj_erp/service/jiuzhou/SljhService.java index f770e54..e8bdd51 100644 --- a/src/main/java/com/dsic/gj_erp/service/jiuzhou/SljhService.java +++ b/src/main/java/com/dsic/gj_erp/service/jiuzhou/SljhService.java @@ -7,7 +7,6 @@ import com.dsic.gj_erp.jiuzhoumapper.SljhMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java index 39f4d6e..549f09d 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java @@ -1,6 +1,5 @@ package com.dsic.gj_erp.service.zyjh; -import cn.hutool.core.util.ObjUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmYdjh; diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 59686fa..d703dcc 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -19,7 +19,6 @@ import com.dsic.gj_erp.service.jcsj.DmBzryService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.google.common.collect.ImmutableMap; -import lombok.AllArgsConstructor; import lombok.RequiredArgsConstructor; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; diff --git a/src/main/resources/mappers/jcsj/DmBomMapper.xml b/src/main/resources/mappers/jcsj/DmBomMapper.xml index 9773e15..aa6c80b 100644 --- a/src/main/resources/mappers/jcsj/DmBomMapper.xml +++ b/src/main/resources/mappers/jcsj/DmBomMapper.xml @@ -285,6 +285,9 @@ dm_bom WHERE dcch =#{dcCh} and pl =#{dcPl} and type='b' + + and kw=#{kw} + From 21b09e7e0fae34dfe9227f6d03af832e0605efea Mon Sep 17 00:00:00 2001 From: xhj Date: Thu, 20 Feb 2025 15:31:02 +0800 Subject: [PATCH 188/196] bz --- .../com/dsic/gj_erp/controller/jcsj/BomUploadController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java index 0052d7b..a5852d6 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/BomUploadController.java @@ -86,7 +86,9 @@ public class BomUploadController { String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"/"+pl+"/QG"+"/"+s); bomMapper.insertFile(url,""); - }else if (file.getOriginalFilename().contains(".pdf")){ + }else if (file.getOriginalFilename().contains(".xlsx")|| file.getOriginalFilename().contains(".cvs")|| file.getOriginalFilename().contains(".xls") ){ + String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"/"+pl+"/其他"); + } else if (file.getOriginalFilename().contains(".pdf")){ String url= com.dsic.gj_erp.util.FileUtil.handlerUpload(file,"/"+dcCh+"/"+pl+"/PDF"); From fb8c90f3b1a3f998afbc07a0217e7d809b6889ed Mon Sep 17 00:00:00 2001 From: xhj Date: Sat, 22 Feb 2025 10:15:05 +0800 Subject: [PATCH 189/196] bz --- .../controller/jcsj/DmBomController.java | 15 +- .../jcsj/impl/BomUploadServiceImpl.java | 326 +++++++++++++++++- 2 files changed, 335 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java index f11cdc5..56ae4fa 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmBomController.java @@ -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(); + } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 4df4bff..9244835 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -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 zllbs = dm_zhbmpRepository.findByBMLB("ZLLB"); + List kwxxs = dm_zhbmpRepository.findByBMLB("KWXX"); + List qgkws = dm_zhbmpRepository.findByBMLB("QGKW"); + Map zllbMap = zllbs.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM)); + Map kwxxMap = kwxxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm)); + Map kwmcMap = kwxxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getZfbz)); + Map qgKwMap = qgkws.stream().collect(Collectors.toMap(Dm_zhbmp::getBmsm, Dm_zhbmp::getBM)); + List bclqmxpList = bclqmxpService.list(new QueryWrapper().eq("DC_CH_z", dcch) + .eq("DC_PL_z", dcpl) + ); + List tjListOld = bchxylpService.list(new QueryWrapper().eq("dc_ch", dcch).eq("dc_pl", dcpl)); + List ydjhs = dmYdjhService.list(new QueryWrapper().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 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 adds =new ArrayList<>(); + List 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; + } + } From 00c1c1e30f7c40ef0724efd23e9e04fdfbc15a36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 24 Feb 2025 14:44:22 +0800 Subject: [PATCH 190/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jhgk/impl/YdjhImportNewService.java | 121 +++++++++--------- 1 file changed, 57 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java index 4f61666..7d8ce0b 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java @@ -75,18 +75,21 @@ public class YdjhImportNewService extends ServiceImpl{ - item.set二跨面板板数(size+""); + item.set一垮龙门板数(size+""); 板数.addAndGet(size); }); + item.set一垮数控板数("0"); this.getBomSize(item, "8",(size)->{ - item.set二跨面板板数(size+""); + item.set一垮数控板数(size+""); 板数.addAndGet(size); }); } if (item.get切割完成2() != null) { + item.set二跨面板板数("0"); this.getBomSize(item, "5",(size)->{ item.set二跨面板板数(size+""); 板数.addAndGet(size); @@ -110,23 +113,27 @@ public class YdjhImportNewService extends ServiceImpl{ - item.set三跨平铁板数(size.toString()); + atomicInteger.addAndGet(size); + 板数.addAndGet(size); + }); + this.getBomSize(item, "13", (size)->{ + atomicInteger.addAndGet(size); 板数.addAndGet(size); }); + item.set三跨平铁板数(atomicInteger.toString()); } - if(item.get曲平铁曲完成()!=null){ - this.getBomSize(item, "13", 板数::addAndGet); - } - - if (item.get切割完成5() != null) { + if (item.get切割完成5() != null||item.get三跨数控板数()!=null) { + item.set三跨数控板数("0"); this.getBomSize(item, "14",(size)->{ item.set三跨数控板数(size+""); 板数.addAndGet(size); @@ -134,6 +141,7 @@ public class YdjhImportNewService extends ServiceImpl{ item.set四区腹板板数(size+""); 板数.addAndGet(size); @@ -148,16 +156,13 @@ public class YdjhImportNewService extends ServiceImpl{ - atomicInteger.addAndGet(size); - 板数.addAndGet(size); - }); + item.set四区数控板数("0"); item.set四区数控板数(atomicInteger.toString()); } - if(item.get光电完成()!=null){ - this.getBomSize(item, "17", 板数::addAndGet); - } +// if(item.get光电完成()!=null){ +// this.getBomSize(item, "17", 板数::addAndGet); +// } item.set板数(板数.toString()); }); @@ -270,20 +275,16 @@ public class YdjhImportNewService extends ServiceImpl { ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get曲平铁曲完成()); + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成4()); dmYdjh.setId(ydjh.getId()); updateList.add(dmYdjh); }); }); } - if (item.get切割完成5() != null) { + if (item.get切割完成5() != null||item.get三跨数控板数()!=null) { Optional.ofNullable(collect.get("14")).ifPresent(ydjhs -> { ydjhs.forEach(ydjh->{ DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成5()); @@ -312,14 +313,6 @@ public class YdjhImportNewService extends ServiceImpl { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成7()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); - }); - }); } if(item.get光电完成()!=null){ @@ -335,6 +328,8 @@ public class YdjhImportNewService extends ServiceImpl updateData(LambdaQueryWrapper wrapper, Consumer handler) { @@ -516,7 +509,7 @@ public class YdjhImportNewService extends ServiceImpl { redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_13",boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); dmSygdMx.setDcPl(item.getDcPl()); - dmSygdMx.setQgrq(item.get曲平铁曲完成()); + dmSygdMx.setQgrq(item.get切割完成4()); dmSygdMx.setQbs("1"); - dmSygdMx.setQjgrq(item.get曲外板曲完成()); - dmSygdMx.setJssj(item.getQfxqrqxz()); + dmSygdMx.setQjgrq(item.get曲平铁曲完成()); + dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); dmSygdMx.setBomData(bom); addList.add(dmSygdMx); }); }); + } - if (item.get切割完成5() != null) { + if (item.get切割完成5() != null||item.get三跨数控板数()!=null) { Optional.ofNullable(collect.get("14")).ifPresent(boms -> { redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_14",boms.size()); boms.forEach(bom -> { @@ -641,12 +631,28 @@ public class YdjhImportNewService extends ServiceImpl { +// redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_14",boms.size()); +// boms.forEach(bom -> { +// DmSygdMx dmSygdMx = new DmSygdMx(); +// dmSygdMx.setDcCh(item.getDcCh()); +// dmSygdMx.setDcPl(item.getDcPl()); +// dmSygdMx.setQgrq(item.get切割完成5()); +// dmSygdMx.setQbs("1"); +// dmSygdMx.setQjgrq(item.get曲外板曲完成()); +// dmSygdMx.setJssj(item.get小组配送完成()); +// dmSygdMx.setGjjsDz(item.getQfxqrqdz()); +// dmSygdMx.setBomData(bom); +// addList.add(dmSygdMx); +// }); +// }); } if (item.get切割完成6() != null) { @@ -657,7 +663,7 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_16",boms.size()); - boms.forEach(bom -> { - DmSygdMx dmSygdMx = new DmSygdMx(); - dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); - dmSygdMx.setQgrq(item.get切割完成7()); - dmSygdMx.setJssj(item.getQfxqrqxz()); - dmSygdMx.setGjjsDz(item.getQfxqrqdz()); - dmSygdMx.setBomData(bom); - addList.add(dmSygdMx); - }); - }); } if(item.get光电完成()!=null){ @@ -703,7 +696,7 @@ public class YdjhImportNewService extends ServiceImpl Date: Tue, 25 Feb 2025 16:13:20 +0800 Subject: [PATCH 191/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E4=B8=8A=E6=96=99=E9=A2=84=E5=A4=84=E7=90=86=E5=9E=9B=E4=BD=8D?= =?UTF-8?q?=E5=B1=82=E6=95=B0=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=202.=E5=A2=9E=E5=8A=A0=E5=88=87=E5=89=B2?= =?UTF-8?q?=E5=90=8E=E6=91=86=E6=94=BE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/zyjh/GetXXXController.java | 35 +++++++++++++++++++ .../controller/zyjh/ZyjhController.java | 11 ++++++ .../service/jcsj/impl/DmDwxxpService.java | 8 +++++ .../resources/mappers/jcsj/DmDwxxpMapper.xml | 5 +++ 4 files changed, 59 insertions(+) create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java create mode 100644 src/main/resources/mappers/jcsj/DmDwxxpMapper.xml diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java new file mode 100644 index 0000000..4d2b7fa --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java @@ -0,0 +1,35 @@ +package com.dsic.gj_erp.controller.zyjh; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; +import com.dsic.gj_erp.service.jcsj.impl.DmDwxxpService; +import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("zyjh") +@AllArgsConstructor +public class GetXXXController { + + private final DmDwxxpService dmDwxxpService; + private final DmYdjhLjService ydjhLjService; + + @PostMapping("getYdjhlj") + public ResultBean getYdjhlj(@RequestBody DmYdjhLj lj){ + List list = ydjhLjService.list(Wrappers.lambdaQuery() + .eq(DmYdjhLj::getCzbh, lj.getCzbh()) + .eq(StrUtil.isNotEmpty(lj.getPl()), DmYdjhLj::getPl, lj.getPl()) + ); + return new ResultBean<>(list); + } + + @GetMapping("getBFangDwxx") + public ResultBean getBFangDwxx(){ + return new ResultBean<>(dmDwxxpService.getDwxxForSelect()); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index ad349d3..42c9a5a 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -59,6 +59,17 @@ public class ZyjhController { private final MpDhsjServcie mpDhsjServcie; + /** + * 零件摆放 + * @param list + * @return + */ + @PostMapping("ljbf") + public ResultBean ljbf(@RequestBody List list){ + + return new ResultBean<>(); + } + @GetMapping("getBzryByBz") public ResultBean getBzryByBz(String zyq, String zt){ return new ResultBean<>(zyjhService.getBzryByBz(zyq,zt)); diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmDwxxpService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmDwxxpService.java index 819e2d8..c1651ca 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmDwxxpService.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmDwxxpService.java @@ -7,10 +7,17 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service public class DmDwxxpService extends MppServiceImpl { + public Map> getDwxxForSelect(){ + List list = this.list(); + return list.stream().collect(Collectors.groupingBy(DmDwxxp::getQy)); + } + @Transactional(rollbackFor = Exception.class) public void saveOrEdit(List list){ this.saveOrUpdateBatchByMultiId(list); @@ -18,4 +25,5 @@ public class DmDwxxpService extends MppServiceImpl { public void remove(DmDwxxp dwxxp){ baseMapper.deleteByMultiId(dwxxp); } + } diff --git a/src/main/resources/mappers/jcsj/DmDwxxpMapper.xml b/src/main/resources/mappers/jcsj/DmDwxxpMapper.xml new file mode 100644 index 0000000..68696b6 --- /dev/null +++ b/src/main/resources/mappers/jcsj/DmDwxxpMapper.xml @@ -0,0 +1,5 @@ + + + + + From c0994e8f46c5e6e6fb30abcdca1c9e2cc8418ac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 28 Feb 2025 09:28:13 +0800 Subject: [PATCH 192/196] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E4=B8=8A=E6=96=99=E9=A2=84=E5=A4=84=E7=90=86=E5=9E=9B=E4=BD=8D?= =?UTF-8?q?=E5=B1=82=E6=95=B0=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=202.=E5=A2=9E=E5=8A=A0=E5=88=87=E5=89=B2?= =?UTF-8?q?=E5=90=8E=E6=91=86=E6=94=BE=E5=8A=9F=E8=83=BD=203.=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E7=8F=AD=E7=BB=84=E4=BA=BA=E5=91=98=E8=81=8C=E4=BD=8D?= =?UTF-8?q?=E4=B8=BA=E5=88=92=E7=BA=BF=E6=97=B6=E7=9A=84=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=97=AE=E9=A2=98=204.=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=BF=E6=95=B0=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=A5=97=E6=96=99=E5=9B=BE=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java | 12 +++++------- src/main/java/com/dsic/gj_erp/bean/zyjh/DmYppyz.java | 8 ++++++++ .../gj_erp/controller/jcsj/DmDwxxpController.java | 7 +++++-- .../gj_erp/controller/zyjh/DmYppyzController.java | 1 + .../gj_erp/service/jcsj/impl/DmDwxxpService.java | 4 ++-- 5 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java index 3e80c66..3f3eb66 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java +++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmDwxxp.java @@ -1,5 +1,7 @@ package com.dsic.gj_erp.bean.jcsj; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Getter; @@ -15,15 +17,11 @@ import java.io.Serializable; @TableName("dm_dwxxp") public class DmDwxxp implements Serializable { - @MppMultiId + @TableId(type=IdType.AUTO) + private Integer id; + private String dwh;//垛位号 - @MppMultiId private String qy;//区域 - private String dcCh; - - private String dcPl; - - private String dcFd; } 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 bd6ad45..06f855e 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 @@ -31,4 +31,12 @@ public class DmYppyz { private String ppch;//配盘船号 private String ypph;//预配盘号 + + private Integer dwxxId; + + private StatusEnum status=StatusEnum.未设置垛位; + + private enum StatusEnum{ + 未设置垛位,设置垛位,已配送 + } } diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmDwxxpController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmDwxxpController.java index aed259c..09b82e9 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmDwxxpController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmDwxxpController.java @@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; +import java.util.Optional; @RestController @RequestMapping("dwxx") @@ -24,13 +25,15 @@ public class DmDwxxpController { @PostMapping("addOrEdit") public ResultBean add(@RequestBody Map> map){ try { - dwxxpService.saveOrEdit(map.get("add")); + Optional.ofNullable(map.get("add")).ifPresent(item->{ + item.forEach(dwxxpService::save); + }); dwxxpService.saveOrEdit(map.get("edit")); }catch (Exception e){ throw new RuntimeException("同一个区域存在相同垛位号,禁止保存"); } if (map.get("remove")!=null&& !map.get("remove").isEmpty()){ - map.get("remove").forEach(dwxxpService::deleteByMultiId); + map.get("remove").forEach(dwxxpService::removeById); } return new ResultBean<>(); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/DmYppyzController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/DmYppyzController.java index 976dff4..c77d1fe 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/DmYppyzController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/DmYppyzController.java @@ -47,6 +47,7 @@ public class DmYppyzController { public ResultBean list(@RequestBody DmYppyz entity){ List list = service.list(Wrappers.lambdaQuery() .eq(StrUtil.isNotEmpty(entity.getDcCh()), DmYppyz::getDcCh, entity.getDcCh()) + .eq(StrUtil.isNotEmpty(entity.getDcPl()), DmYppyz::getDcPl, entity.getDcPl()) ); return new ResultBean<>(list); } diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmDwxxpService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmDwxxpService.java index c1651ca..fa0e4eb 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmDwxxpService.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/DmDwxxpService.java @@ -20,10 +20,10 @@ public class DmDwxxpService extends MppServiceImpl { @Transactional(rollbackFor = Exception.class) public void saveOrEdit(List list){ - this.saveOrUpdateBatchByMultiId(list); + this.saveOrUpdateBatch(list); } public void remove(DmDwxxp dwxxp){ - baseMapper.deleteByMultiId(dwxxp); + baseMapper.deleteById(dwxxp); } } From 86e65dee36a2c0ae32175cb0e92e58d7d4c7e481 Mon Sep 17 00:00:00 2001 From: xhj Date: Fri, 28 Feb 2025 12:13:54 +0800 Subject: [PATCH 193/196] bz --- .../jcsj/impl/BomUploadServiceImpl.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java index 9244835..e9e223f 100644 --- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/BomUploadServiceImpl.java @@ -1738,18 +1738,21 @@ public class BomUploadServiceImpl { List collect11 = list.stream().filter(fst -> null!= fst.getTjb() && tzbh.equals(fst.getTjb().getTzbh()) ).collect(Collectors.toList()); // 找到长度 - BigDecimal cd=collect11.get(0).getTjb().getXccd().divide(new BigDecimal("1000")); - dmBom.setYlbs(collect11.get(0).getTjb().getSfyl()); - List collect111 = list.stream().filter(fst -> null!= fst.getBclq() && fst.getBclq().getWpgg().equals(e.getWpxhZ()) && - fst.getBclq().getWpxh().equals(e.getWpggZ()) && fst.getBclq().getDcPlZ().equals(e.getDcPlZ()) && fst.getBclq().getYlzd11().compareTo(cd)==0 - ).collect(Collectors.toList()); - if (collect111.size() > 0) { + if(collect11.size()>0){ + BigDecimal cd=collect11.get(0).getTjb().getXccd().divide(new BigDecimal("1000")); + dmBom.setYlbs(collect11.get(0).getTjb().getSfyl()); + List collect111 = list.stream().filter(fst -> null!= fst.getBclq() && fst.getBclq().getWpgg().equals(e.getWpxhZ()) && + fst.getBclq().getWpxh().equals(e.getWpggZ()) && fst.getBclq().getDcPlZ().equals(e.getDcPlZ()) && fst.getBclq().getYlzd11().compareTo(cd)==0 + ).collect(Collectors.toList()); + if (collect111.size() > 0) { // dmBom.setFds(collect11.get(0).getBclq().getDcFdZ()); - dmBom.setXcgs(collect111.get(0).getBclq().getSl()); - dmBom.setXcshms(collect111.get(0).getBclq().getShms()); - dmBom.setFds(collect111.get(0).getBclq().getDcFdZ()); + dmBom.setXcgs(collect111.get(0).getBclq().getSl()); + dmBom.setXcshms(collect111.get(0).getBclq().getShms()); + dmBom.setFds(collect111.get(0).getBclq().getDcFdZ()); + } } + dmBom.setType("X"); }else { From ff07ad68506a95b6dece79996834168cdd0332cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Mon, 3 Mar 2025 16:18:13 +0800 Subject: [PATCH 194/196] =?UTF-8?q?1.=E6=A0=B9=E6=8D=AE=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E7=89=88=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=86=85=E5=AE=B9,=E8=B0=83=E6=95=B4=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jhgk/impl/YdjhImportNewService.java | 337 +++++++++++------- 1 file changed, 209 insertions(+), 128 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java index 7d8ce0b..c92f20b 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportNewService.java @@ -20,17 +20,16 @@ import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; import com.dsic.gj_erp.service.pgd.PgdTzjhService; +import lombok.AccessLevel; import lombok.AllArgsConstructor; +import lombok.experimental.FieldDefaults; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.TransactionTemplate; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; import java.util.stream.Collectors; @@ -64,11 +63,12 @@ public class YdjhImportNewService extends ServiceImplStrUtil.isNotEmpty(item.getDcPl())) .forEach(item->{ - String dcPl = item.getDcPl(); + TmpDcPl tmpDcPl = getDcPl(item); + String dcPl=tmpDcPl.dcPl; + String rowType=tmpDcPl.rowType; try { dcPl = String.format("%03d", Integer.parseInt(dcPl)); - item.setDcPl(dcPl); } catch (Exception ignored) { } @@ -76,13 +76,13 @@ public class YdjhImportNewService extends ServiceImpl{ + this.getBomSize(item, "7"+rowType,(size)->{ item.set一垮龙门板数(size+""); 板数.addAndGet(size); }); item.set一垮数控板数("0"); - this.getBomSize(item, "8",(size)->{ + this.getBomSize(item, "8"+rowType,(size)->{ item.set一垮数控板数(size+""); 板数.addAndGet(size); }); @@ -90,7 +90,7 @@ public class YdjhImportNewService extends ServiceImpl{ + this.getBomSize(item, "5"+rowType,(size)->{ item.set二跨面板板数(size+""); 板数.addAndGet(size); }); @@ -99,17 +99,17 @@ public class YdjhImportNewService extends ServiceImpl{ + this.getBomSize(item, "9"+rowType,(size)->{ atomicInteger.addAndGet(size); 板数.addAndGet(size); }); - this.getBomSize(item, "10",(size)->{ + this.getBomSize(item, "10"+rowType,(size)->{ atomicInteger.addAndGet(size); 板数.addAndGet(size); }); - this.getBomSize(item, "12",(size)->{ + this.getBomSize(item, "12"+rowType,(size)->{ atomicInteger.addAndGet(size); 板数.addAndGet(size); }); @@ -120,11 +120,11 @@ public class YdjhImportNewService extends ServiceImpl{ + this.getBomSize(item, "6"+rowType,(size)->{ atomicInteger.addAndGet(size); 板数.addAndGet(size); }); - this.getBomSize(item, "13", (size)->{ + this.getBomSize(item, "13"+rowType, (size)->{ atomicInteger.addAndGet(size); 板数.addAndGet(size); }); @@ -134,7 +134,7 @@ public class YdjhImportNewService extends ServiceImpl{ + this.getBomSize(item, "14"+rowType,(size)->{ item.set三跨数控板数(size+""); 板数.addAndGet(size); }); @@ -142,7 +142,7 @@ public class YdjhImportNewService extends ServiceImpl{ + this.getBomSize(item, "11"+rowType,(size)->{ item.set四区腹板板数(size+""); 板数.addAndGet(size); }); @@ -151,7 +151,7 @@ public class YdjhImportNewService extends ServiceImpl{ + this.getBomSize(item, "15"+rowType,(size)->{ atomicInteger.addAndGet(size); 板数.addAndGet(size); }); @@ -198,7 +198,8 @@ public class YdjhImportNewService extends ServiceImpl updateList=new ArrayList<>(); list.stream().filter(item->StrUtil.isAllNotEmpty(item.getDcCh(),item.getDcPl())) .forEach(item->{ - String dcPl = item.getDcPl(); + TmpDcPl tmpDcPl = getDcPl(item); + String dcPl=tmpDcPl.dcPl; try { dcPl = String.format("%03d", Integer.parseInt(dcPl)); @@ -214,115 +215,153 @@ public class YdjhImportNewService extends ServiceImpl { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成1()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成1(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("7")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成1()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); - - Optional.ofNullable(collect.get("8")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成1()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + } + + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成1(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("8")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成1()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); + } } if (item.get切割完成2() != null) { - Optional.ofNullable(collect.get("5")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成2()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成2(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("5")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成2()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); + } } if (item.get切割完成3() != null) { - Optional.ofNullable(collect.get("9")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成3()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成3(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("9")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成3()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); - - Optional.ofNullable(collect.get("10")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成3()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + } + + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成3(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("10")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成3()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); - - Optional.ofNullable(collect.get("12")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成3()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + } + + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成3(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("12")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成3()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); + } } if (item.get切割完成4() != null) { - Optional.ofNullable(collect.get("6")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成4()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成4(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("6")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成4()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); - Optional.ofNullable(collect.get("13")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成4()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + } + + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成4(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("13")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成4()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); + } + } if (item.get切割完成5() != null||item.get三跨数控板数()!=null) { - Optional.ofNullable(collect.get("14")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成5()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成5(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("14")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成5()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); + } } if (item.get切割完成6() != null) { - Optional.ofNullable(collect.get("11")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成6()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成6(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("11")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成6()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); + } } if (item.get切割完成7() != null) { - Optional.ofNullable(collect.get("15")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成7()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); - }); + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get切割完成7(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("15")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get切割完成7()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); - }); + }); + } } if(item.get光电完成()!=null){ - Optional.ofNullable(collect.get("17")).ifPresent(ydjhs -> { - ydjhs.forEach(ydjh->{ - DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get光电完成()); - dmYdjh.setId(ydjh.getId()); - updateList.add(dmYdjh); + if (!StrUtil.isAllEmpty(item.get上料完成(),item.get抛丸完成(),item.get光电完成(),item.get小组配送完成())){ + Optional.ofNullable(collect.get("17")).ifPresent(ydjhs -> { + ydjhs.forEach(ydjh->{ + DmYdjh dmYdjh = this.updateYdjh(item.get上料完成(),item.get抛丸完成(),item.get光电完成()); + dmYdjh.setId(ydjh.getId()); + dmYdjh.setJssj(item.get小组配送完成()); + updateList.add(dmYdjh); + }); }); - }); + } } } }); @@ -355,14 +394,16 @@ public class YdjhImportNewService extends ServiceImpl !item.getDcPl().contains("-"))//批次范围的数据暂不处理 .forEach(item -> { - String dcPl = item.getDcPl(); + TmpDcPl tmpDcPl = getDcPl(item); + String dcPl=tmpDcPl.dcPl; + String rowType=tmpDcPl.rowType; try { dcPl = String.format("%03d", Integer.parseInt(dcPl)); } catch (Exception ignored) { } item.setDcPl(dcPl); - List sygdmx = (List) redisTemplate.opsForHash().get(GJSCGK_SYGDMX_KEY + fileName, item.getDcCh() + "_" + dcPl); + List sygdmx = (List) redisTemplate.opsForHash().get(GJSCGK_SYGDMX_KEY + fileName, item.getDcCh() + "_" + dcPl+rowType); if (ObjUtil.isNotEmpty(sygdmx)) { sygdMxList.addAll(sygdmx); } @@ -471,12 +512,9 @@ public class YdjhImportNewService extends ServiceImpl { List addList = new ArrayList<>(); - String dcPl = item.getDcPl(); - - try { - dcPl = String.format("%03d", Integer.parseInt(dcPl)); - } catch (Exception ignored) { - } + TmpDcPl tmpDcPl = getDcPl(item); + String dcPl=tmpDcPl.dcPl; + String rowType=tmpDcPl.rowType; List bomList = bomService.getBomUni(item.getDcCh(), dcPl,null); @@ -500,14 +538,13 @@ public class YdjhImportNewService extends ServiceImpl> collect = bomList.stream().collect(Collectors.groupingBy(DmBom::getKw)); //一垮龙门和一垮数控 - String finalDcPl = dcPl; if (item.get切割完成1() != null) { Optional.ofNullable(collect.get("7")).ifPresent(boms -> { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_7",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_7"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成1()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -517,11 +554,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_8",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_8"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成1()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -533,11 +570,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_5",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_5"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成2()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -549,11 +586,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_9",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_9"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成3()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -563,11 +600,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_10",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_10"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成3()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -577,11 +614,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_12",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_12"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成3()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -593,11 +630,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_6",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_6"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成4()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -606,11 +643,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_13",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_13"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成4()); dmSygdMx.setQbs("1"); dmSygdMx.setQjgrq(item.get曲平铁曲完成()); @@ -625,11 +662,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_14",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_14"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成5()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -657,11 +694,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_11",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_11"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成6()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -673,11 +710,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_15",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_15"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get切割完成7()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -690,11 +727,11 @@ public class YdjhImportNewService extends ServiceImpl { - redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), finalDcPl +"_17",boms.size()); + redisTemplate.opsForHash().put(GJSCGK_BOM_COUNT_KEY+item.getDcCh(), item.getDcPl() +"_17"+rowType,boms.size()); boms.forEach(bom -> { DmSygdMx dmSygdMx = new DmSygdMx(); dmSygdMx.setDcCh(item.getDcCh()); - dmSygdMx.setDcPl(item.getDcPl()); + dmSygdMx.setDcPl(dcPl); dmSygdMx.setQgrq(item.get光电完成()); dmSygdMx.setJssj(item.get小组配送完成()); dmSygdMx.setGjjsDz(item.getQfxqrqdz()); @@ -704,7 +741,51 @@ public class YdjhImportNewService extends ServiceImpl Date: Mon, 10 Mar 2025 15:43:03 +0800 Subject: [PATCH 195/196] =?UTF-8?q?1.=E9=A2=84=E9=85=8D=E7=9B=98=202.?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=98=8E=E7=BB=86=E6=A0=87=E7=AD=BE=E5=86=85=E7=9A=84?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=88=97=E6=98=BE=E7=A4=BA=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/Test.java | 2 +- src/main/java/com/dsic/gj_erp/bean/zyjh/DmYppyz.java | 12 +++++++++++- .../gj_erp/controller/pgd/PgdTzjhController.java | 6 +++--- .../gj_erp/controller/zyjh/GetXXXController.java | 9 +++++++++ .../dsic/gj_erp/controller/zyjh/ZyjhController.java | 7 ++++++- .../com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 2 ++ .../com/dsic/gj_erp/service/jhgk/DmYdjhService.java | 2 ++ .../gj_erp/service/jhgk/impl/DmYdjhServiceImpl.java | 7 +++++++ src/main/resources/mappers/jhgk/DmYdjhMapper.xml | 4 ++++ 9 files changed, 45 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/Test.java b/src/main/java/com/dsic/gj_erp/Test.java index b27af88..dc28c61 100644 --- a/src/main/java/com/dsic/gj_erp/Test.java +++ b/src/main/java/com/dsic/gj_erp/Test.java @@ -33,7 +33,7 @@ public class Test { // MatrixToImageWriter. TimeInterval timer = DateUtil.timer(); - String pdfFilePath = "E:\\T300K-130_1_20250106\\PDF\\B001HC103HN数控套料图.pdf"; // PDF文件路径 + String pdfFilePath = "E:\\B058HC104HN第058批量龙门套料图2023-07-20.pdf"; // PDF文件路径 PDDocument document = PDDocument.load(new File(pdfFilePath)); // PDFTextStripper stripper = new PDFTextStripper(); // String text = stripper.getText(document); 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 06f855e..127e5ba 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 @@ -1,13 +1,16 @@ package com.dsic.gj_erp.bean.zyjh; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; import lombok.Getter; import lombok.Setter; @Getter @Setter -public class DmYppyz { +public class DmYppyz extends Model { @TableId(type = IdType.AUTO) public Integer id; @@ -36,6 +39,13 @@ public class DmYppyz { private StatusEnum status=StatusEnum.未设置垛位; + public static DmYppyz of(DmYdjh ydjh){ + + DmYppyz dmYppyz = new DmYppyz(); + BeanUtil.copyProperties(ydjh,dmYppyz); + return dmYppyz; + } + private enum StatusEnum{ 未设置垛位,设置垛位,已配送 } diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index 8a87e47..520b8ee 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -135,11 +135,11 @@ public class PgdTzjhController { List gxry = emSbjgryService.list(); List bmbm = syService.em_sbjbb_ZM("bmbm"); // 多为 - List dwxxs = dwxxpService.list(); +// List dwxxs = dwxxpService.list(); List qys = dwxxpService.list(new QueryWrapper().select("DISTINCT qy as qy ")); returnMap.put("qys", qys); - returnMap.put("dwxxs", dwxxs); - returnMap.put("dwxxs1", dwxxs); +// returnMap.put("dwxxs", dwxxs); +// returnMap.put("dwxxs1", dwxxs); List ycldws = ycldwService.ycldwList("ycl","BF"); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java index 4d2b7fa..9ecfb01 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java @@ -3,9 +3,11 @@ package com.dsic.gj_erp.controller.zyjh; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.service.jcsj.impl.DmDwxxpService; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; +import com.dsic.gj_erp.service.jhgk.DmYdjhService; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -17,6 +19,7 @@ import java.util.List; public class GetXXXController { private final DmDwxxpService dmDwxxpService; + private final DmYdjhService dmYdjhService; private final DmYdjhLjService ydjhLjService; @PostMapping("getYdjhlj") @@ -28,6 +31,12 @@ public class GetXXXController { return new ResultBean<>(list); } + @GetMapping("tq") + public ResultBean tqFromYdjh(){ + + return new ResultBean<>(dmDwxxpService.getDwxxForSelect()); + } + @GetMapping("getBFangDwxx") public ResultBean getBFangDwxx(){ return new ResultBean<>(dmDwxxpService.getDwxxForSelect()); diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 42c9a5a..4beac21 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -13,6 +13,7 @@ import com.dsic.gj_erp.bean.czzj.MpDhsj; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; +import com.dsic.gj_erp.bean.zyjh.DmYppyz; import com.dsic.gj_erp.bean.zyjh.PwExcel; import com.dsic.gj_erp.bean.zyjh.Ycldw; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; @@ -297,8 +298,12 @@ public class ZyjhController { wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } - //生成零件信息 for (DmYdjh item : list) { + //生成预配盘信息 +// DmYppyz dmYppyz = DmYppyz.of(item); +// dmYppyz.insert(); + + //生成零件信息 List ljList = zyjhService.createLj(item.getDcCh(), item.getDcPl(), item.getTzbh()); //兼容老系统回报的数据 diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 858b28c..cb0fa49 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -22,6 +22,8 @@ import java.util.Map; */ public interface DmYdjhMapper extends BaseMapper { + List tqYppyzFromYdjh(DmYdjh dmYdjh); + List getSygdmx(String nextMonth); // List getTzjh(@Param("begin") String begin, @Param("end") String end); 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 2aa380c..d9a5bea 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 @@ -27,4 +27,6 @@ public interface DmYdjhService extends IService { // Map hz(List ydjhList); void xf(List ydjhList, HttpServletRequest request); + + List tqYppyzFromYdjh(DmYdjh dmYdjh); } 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 b6e9f32..3f3f4ef 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 @@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -312,6 +313,12 @@ public class DmYdjhServiceImpl extends ServiceImpl impleme // publisher.publishEvent(ydjhList); } + @Override + public List tqYppyzFromYdjh(DmYdjh dmYdjh) { + baseMapper.tqYppyzFromYdjh(dmYdjh); + return Collections.emptyList(); + } + private DmYdjh ofXf(DmYdjh item,String gxsj){ Long djh=this.handlerDjh(item); DmYdjh dmYdjh = new DmYdjh(); diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 5d3d82b..82ea069 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -1145,6 +1145,10 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} and MP_SYCLJLJBP.DC_CH =#{dcCh} and MP_SYCLJLJBP.DC_TH =#{tzbh} + + UPDATE dm_ydjh set dm_ydjh.ylbs=dm_bchxylp.sfyl From 787feb107bbb872c0e3004216b8433e120d20b8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 12 Mar 2025 17:28:05 +0800 Subject: [PATCH 196/196] =?UTF-8?q?1.=E9=A2=84=E9=85=8D=E7=9B=98=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/zyjh/DmYppyz.java | 6 +++++- .../dsic/gj_erp/controller/zyjh/GetXXXController.java | 11 +++++++++-- .../com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 2 ++ .../com/dsic/gj_erp/service/zyjh/ZyjhService.java | 7 +++++++ src/main/resources/mappers/jhgk/DmYdjhMapper.xml | 9 ++++++++- 5 files changed, 31 insertions(+), 4 deletions(-) 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 127e5ba..056ef06 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 @@ -39,6 +39,10 @@ public class DmYppyz extends Model { private StatusEnum status=StatusEnum.未设置垛位; + public static StatusEnum 已设置垛位状态(){ + return StatusEnum.设置垛位; + } + public static DmYppyz of(DmYdjh ydjh){ DmYppyz dmYppyz = new DmYppyz(); @@ -46,7 +50,7 @@ public class DmYppyz extends Model { return dmYppyz; } - private enum StatusEnum{ + public enum StatusEnum{ 未设置垛位,设置垛位,已配送 } } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java index 9ecfb01..d749c79 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/GetXXXController.java @@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; +import com.dsic.gj_erp.bean.zyjh.DmYppyz; import com.dsic.gj_erp.service.jcsj.impl.DmDwxxpService; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.dsic.gj_erp.service.jhgk.DmYdjhService; +import com.dsic.gj_erp.service.zyjh.DmYppyzService; +import com.dsic.gj_erp.service.zyjh.ZyjhService; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -18,10 +21,15 @@ import java.util.List; @AllArgsConstructor public class GetXXXController { + private final ZyjhService zyjhService; private final DmDwxxpService dmDwxxpService; - private final DmYdjhService dmYdjhService; private final DmYdjhLjService ydjhLjService; + @GetMapping("getYppyz") + public ResultBean getYppyz(String zyq){ + return new ResultBean<>(zyjhService.getWppljAndPpyz(zyq)); + } + @PostMapping("getYdjhlj") public ResultBean getYdjhlj(@RequestBody DmYdjhLj lj){ List list = ydjhLjService.list(Wrappers.lambdaQuery() @@ -33,7 +41,6 @@ public class GetXXXController { @GetMapping("tq") public ResultBean tqFromYdjh(){ - return new ResultBean<>(dmDwxxpService.getDwxxForSelect()); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index cb0fa49..2f881d6 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -22,6 +22,8 @@ import java.util.Map; */ public interface DmYdjhMapper extends BaseMapper { + List getWppljAndPpyz(String zyq1); + List tqYppyzFromYdjh(DmYdjh dmYdjh); List getSygdmx(String nextMonth); diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index d703dcc..a5495af 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -39,6 +39,13 @@ public class ZyjhService extends ServiceImpl { private static final String MPDHSJ_KEY="MPDHSJ"; + /** + * 获取预配盘原则和对应未配盘零件信息 + */ + public Object getWppljAndPpyz(String zyq1){ + return baseMapper.getWppljAndPpyz(zyq1); + } + public Map getMPSYCLJLJBP(String dcCh,String tzbh){ return baseMapper.getMPSYCLJLJBP(dcCh,tzbh); } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 82ea069..20819a5 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -937,7 +937,6 @@ dm_ydjh.dc_ch= dm_bom.dcch and dm_ydjh.dc_pl=dm_bom.pl and dm_ydjh.tzbh=dm_bom.tzbh - and dm_ydjh.dc_fd=dm_bom.fd and dm_ydjh.dc_ch=#{dcCh} and dm_ydjh.dc_pl=#{dcPl} and dm_ydjh.tzbh=#{tzbh} @@ -1149,6 +1148,14 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} + + UPDATE dm_ydjh set dm_ydjh.ylbs=dm_bchxylp.sfyl