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] =?UTF-8?q?1.=E6=8C=89=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E6=9F=A5=E8=AF=A2=E6=9C=88=E5=BA=A6=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E5=AF=BC=E5=85=A5=E5=86=85=E5=AE=B9,=E6=9C=88?= =?UTF-8?q?=E5=BA=A6=E8=AE=A1=E5=88=92=E6=8C=89=E5=AF=BC=E5=85=A5excel?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=202.=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=97=B6=E6=8C=89=E7=85=A7=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=AE=A1=E7=AE=97=E5=90=84=E5=B7=A5=E5=BA=8F?= =?UTF-8?q?=E5=AE=9E=E9=99=85=E6=95=B0=E9=87=8F=203.=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=9C=88=E5=BA=A6=E8=AE=A1=E5=88=92=E5=AF=BC=E5=85=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=204.=E7=9C=8B=E6=9D=BF=E5=A2=9E=E5=8A=A0=E7=BB=84?= =?UTF-8?q?=E7=AB=8B=E6=B5=81=E5=90=91=205.=E6=89=B9=E9=87=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=BD=9C=E4=B8=9A=E5=8C=BA=206.=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E7=BA=BF=E8=A1=A8=E8=AE=A1=E5=88=92,=E5=8F=96=E6=B6=88?= =?UTF-8?q?=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 @@ +