diff --git a/gj_erp.iml b/gj_erp.iml index f836073..bf09a36 100644 --- a/gj_erp.iml +++ b/gj_erp.iml @@ -13,6 +13,7 @@ + @@ -32,13 +33,27 @@ + + + + + + + + + + + + + + + - @@ -57,9 +72,7 @@ - - @@ -82,17 +95,15 @@ - - - - + + @@ -104,7 +115,6 @@ - @@ -119,7 +129,6 @@ - @@ -159,7 +168,7 @@ - + @@ -184,8 +193,6 @@ - - @@ -198,6 +205,7 @@ - + + \ No newline at end of file diff --git a/src/main/java/com/dsic/gj_erp/Test.java b/src/main/java/com/dsic/gj_erp/Test.java index 99cadc4..c006d94 100644 --- a/src/main/java/com/dsic/gj_erp/Test.java +++ b/src/main/java/com/dsic/gj_erp/Test.java @@ -16,22 +16,64 @@ import java.util.regex.Pattern; public class Test { public static void main(String[] args) throws IOException { - //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文件路径 + String pdfFilePath = "E:/runpeng/1润芃工作日志/第21个月/第3周/钢加项目资料/小池/新建文件夹/G175K-3/G175K-3_81_20240401/PDF/B081HC103HN第81批数控套料图.pdf"; // PDF文件路径 +// String pdfFilePath = "E:/runpeng/1润芃工作日志/第21个月/第3周/钢加项目资料/小池/B046HC103HN第046批量数控套料图2023-05-11.pdf"; // PDF文件路径 PDDocument document = PDDocument.load(new File(pdfFilePath)); PDFTextStripper stripper = new PDFTextStripper(); - String text = stripper.getText(document); + stripper.setStartPage(72); + stripper.setEndPage(72); + String text = stripper.getText(document);//本页文字内容 +// String tlth[]=s.split("序号零件编号")[1].split(" "); +// String dcCh=tlth[2].split("\r\n")[1]; +// String pl=tlth[3]; +// String th=tlth[6].substring(0,12); +// String thbh=tlth[5]; + +// String tlth1[]=text.split("序号零件编号")[1].split("\r\n"); +// Double hxcd=new Double(tlth1[2]); +// Double qgcd=new Double(tlth1[3]); +// Double hxkc=new Double(tlth1[4]); +// Double qgkc=new Double(tlth1[5]); + String tlth1[]=text.split("DNV\\+CCS")[1].split("\r\n"); + Double ljzl=new Double(tlth1[1]); + System.out.println(ljzl); +// System.out.println(dcCh); +// System.out.println(pl); +// System.out.println(th); +// System.out.println(thbh); +// System.out.println(hxcd+"/"+qgcd+"/"+hxkc+"/"+qgkc); +// String[] a=text.split("\r\n"); +// int ljCount= text.split("\\|")[0].split("\r\n").length;//零件数量 + //取用下标count 至 count*2-1的数组,为属性 +// String[] sxArray=getArrayByIndex(a,ljCount-1,ljCount*2-2); + + //取用下标count*2 至 count*3-1 的数组,为零件号 +// String[] ljArray=getArrayByIndex(a,ljCount*2-2,ljCount*3-3); +// for (int i = 0; i < sxArray.length; i++) { +// if (i==0){ +// String[] b= ljArray[i].split("\\|"); +// System.out.println(b[b.length-1]); +// System.out.println(sxArray[i].split("\\|")[4]); +// }else { +// System.out.println(ljArray[i]); +// System.out.println(sxArray[i].split("\\|")[4]); +// } +// } document.close(); // 输出提取的文本到控制台 - System.out.println(text); // 可以选择将文本写入文件 - String outputPath = "E:/B046HC103HN第046批量数控套料图2023-05-11.txt"; // 输出文本文件路径 + String outputPath = "C:/Users/91564/Desktop/B046HC103HN第046批量数控套料图2023-05-11.txt"; // 输出文本文件路径 Files.write(Paths.get(outputPath), text.getBytes()); } + public static String[] getArrayByIndex(String[] oldArray,int startIndex,int endIndex){ + int newArraylen=endIndex-startIndex+1; + String[] array=new String[newArraylen]; + for (int i = 0; i < newArraylen; i++) { + array[i]=oldArray[i+startIndex]; + } + return array; + } + } 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 @@