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 e4add63..d5610e6 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,6 +9,7 @@ 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;
@@ -81,8 +82,12 @@ public class DmBom implements Serializable {
@ApiModelProperty(value = "切割长度")
private BigDecimal qgcd;
+ @ApiModelProperty(value = "实际切割长度")
+ private BigDecimal fkqgcd;
@ApiModelProperty(value = "划线长度")
private BigDecimal hxcd;
+ @ApiModelProperty(value = "实际划线长度")
+ private BigDecimal fkhxcd;
@ApiModelProperty(value = "图纸编号")
private String tzbh;
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmTltpdf.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmTltpdf.java
index b811b02..d5447c9 100644
--- a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmTltpdf.java
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmTltpdf.java
@@ -47,5 +47,8 @@ public class DmTltpdf implements Serializable {
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
+ @ApiModelProperty(value = "保存路径")
+ private String filePath;
+
}
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 88e83b4..a7403a0 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
@@ -73,6 +73,8 @@ public class PgdQgjh implements Serializable {
@ApiModelProperty(value = "划线长度")
private Double hxcd;
+ @ApiModelProperty(value = "实际划线长度")
+ private Double fkhxcd;
@ApiModelProperty(value = "划线空程长度")
private Double hxkccd;
@@ -82,6 +84,8 @@ public class PgdQgjh implements Serializable {
@ApiModelProperty(value = "切割长度")
private String qgcd;
+ @ApiModelProperty(value = "实际切割长度")
+ private String fkqgcd;
@ApiModelProperty(value = "切割空程长度")
private Double qgkccd;
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 7f1978c..1f9473f 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
@@ -14,6 +14,7 @@ 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 io.swagger.annotations.Authorization;
import org.apache.commons.lang3.StringUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
@@ -55,12 +56,26 @@ public class DmBomController {
@Autowired
DmTltpdfService tltpdfService;
+ @PostMapping("/saveDegs")
+ @AuthFunction
+ public ResultBean saveDegs( @RequestBody List<DmBom> list ){
+ for (DmBom bom : list) {
+ dmBomService.update(new UpdateWrapper<DmBom>().eq("idd",bom.getIdd())
+ .set("pkgs",bom.getPkgs())
+ .set("dmgs",bom.getDmgs())
+ .set("qgs",bom.getQgs())
+ );
+ }
+ return new ResultBean();
+ }
@PostMapping("/uploadPDF")
@Authorization("")
@Transactional
@ResponseBody
public ResultBean uploadPDF(@RequestParam("file") MultipartFile[] fileList)throws IOException {
+
for (MultipartFile file : fileList) {
+ String url= FileUtil.handlerUpload(file,"/tltpdf");
PDDocument document = PDDocument.load(file.getInputStream());
int pageNum = document.getNumberOfPages();
PDFTextStripper stripper = new PDFTextStripper();
@@ -95,6 +110,7 @@ public class DmBomController {
tltpdf.setPageNum(i +"/"+pageNum);
tltpdf.setRows((j+1) +"/"+a.length);
tltpdf.setContent(a[j]);
+ tltpdf.setFilePath(url);
list.add(tltpdf);
// System.out.println("第 " + (j+1) +"/"+a.length+ " 行 :");
// System.out.println(a[j]);
diff --git a/src/main/java/com/dsic/gj_erp/mapper/xiaochi/CutPlanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/xiaochi/CutPlanMapper.java
index 2e660bf..994be3f 100644
--- a/src/main/java/com/dsic/gj_erp/mapper/xiaochi/CutPlanMapper.java
+++ b/src/main/java/com/dsic/gj_erp/mapper/xiaochi/CutPlanMapper.java
@@ -7,4 +7,6 @@ import java.util.List;
public interface CutPlanMapper extends BaseMapper<CutPlan> {
List<CutPlan> getCutPlanList(String st,String ed);
+
+ void synBom_qgPgd();
}
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 9a7e0d7..38e4fc6 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
@@ -90,4 +90,15 @@ public class XiaoChiService{
});
CronUtil.start();
}
+
+// @PostConstruct
+ public void synBom_qgPgd(){
+ //每天凌晨一点,同步前一天数据
+// CronUtil.schedule("0 1 * * *", (Task) () -> {
+ CronUtil.schedule("*/1 * * * * *", (Task) () -> {
+ mapper.synBom_qgPgd();
+ });
+ CronUtil.start();
+ }
+
}
diff --git a/src/main/java/com/dsic/gj_erp/util/FileUtil.java b/src/main/java/com/dsic/gj_erp/util/FileUtil.java
new file mode 100644
index 0000000..873759a
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/util/FileUtil.java
@@ -0,0 +1,50 @@
+package com.dsic.gj_erp.util;
+
+import org.springframework.lang.NonNull;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+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 {
+
+ public static String handlerUpload(MultipartFile multipartFile,@NonNull String path) {
+ String originalFilename = multipartFile.getOriginalFilename();
+ AtomicReference<String> url = new AtomicReference<>("");
+ Optional.ofNullable(originalFilename).ifPresent(name -> {
+// String suffix = name.substring(name.lastIndexOf("."));
+// String suffix = name.substring(name.lastIndexOf("/"));
+ File filePath = new File("./static/upload" + path);
+ if (!filePath.exists()) {
+ filePath.mkdirs();
+ }
+ String fileName = name.substring(name.lastIndexOf("/"));
+ String tmpUrl = path + fileName;
+ url.set(tmpUrl);
+ FileUtil.saveToDisk("./static/upload" + tmpUrl, multipartFile);
+ });
+ return url.get();
+ }
+
+ public static void saveToDisk(String filePath, MultipartFile multipartFile) {
+ try (BufferedOutputStream bos = new BufferedOutputStream(Files.newOutputStream(Paths.get(filePath)))) {
+ FileInputStream fileInputStream = (FileInputStream) multipartFile.getInputStream();
+ byte[] bs = new byte[1024];
+ int len;
+ while ((len = fileInputStream.read(bs)) != -1) {
+ bos.write(bs, 0, len);
+ }
+ bos.flush();
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException("上传失败");
+ }
+ }
+}
diff --git a/src/main/resources/mappers/xiaochi/CutPlanMapper.xml b/src/main/resources/mappers/xiaochi/CutPlanMapper.xml
index ac0bac8..b5d0096 100644
--- a/src/main/resources/mappers/xiaochi/CutPlanMapper.xml
+++ b/src/main/resources/mappers/xiaochi/CutPlanMapper.xml
@@ -24,4 +24,12 @@
and (b.qgksrq is null or qgjsrq is null )
)
</select>
+
+ <update id="synBom_qgPgd" statementType="CALLABLE">
+ <![CDATA[
+ {
+ call synchronization_bom_gqpgd
+ }
+ ]]>
+ </update>
</mapper>