From ff057092893a5c3852d66d2423cfeb5463106079 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期一, 08 四月 2024 18:03:19 +0800
Subject: [PATCH] 费用统计

---
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java    |   49 ++++++++++++++-
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java           |    2 
 system-run/src/main/resources/application-dev.yml                                   |    2 
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                         |   12 ++++
 inspect-server/src/main/java/com/yuanchu/mom/dto/CostStatisticsDto.java             |   44 ++++++++++++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java |   14 ++++
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java     |    9 +++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java  |   10 +++
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java             |    3 +
 inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java          |    4 +
 10 files changed, 143 insertions(+), 6 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
index 0598af8..3f32791 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.annotation.ValueAuth;
+import com.yuanchu.mom.dto.CostStatisticsDto;
 import com.yuanchu.mom.dto.SampleOrderDto;
 import com.yuanchu.mom.dto.SampleProductDto;
 import com.yuanchu.mom.dto.SampleProductDto2;
@@ -123,4 +124,12 @@
         return Result.success(insOrderService.selectSampleAndProductByOrderId(page, sampleProductDto));
     }
 
+    @ApiOperation(value = "璐圭敤缁熻")
+    @PostMapping("/costStatistics")
+    public Result<?> costStatistics(@RequestBody Map<String, Object> data) throws Exception {
+        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+        CostStatisticsDto costStatisticsDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), CostStatisticsDto.class);
+        return Result.success(insOrderService.costStatistics(page, costStatisticsDto));
+    }
+
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
index 7532034..c580fc2 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
@@ -1,29 +1,36 @@
 package com.yuanchu.mom.controller;
 
+import cn.hutool.core.lang.UUID;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.annotation.ValueAuth;
 import com.yuanchu.mom.dto.ReportPageDto;
 import com.yuanchu.mom.dto.SampleOrderDto;
+import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.service.InsReportService;
 import com.yuanchu.mom.utils.JackSonUtil;
 import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 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.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
+import java.io.File;
+import java.util.HashMap;
 import java.util.Map;
 
-@AllArgsConstructor
 @RestController
 @RequestMapping("/insReport")
 @Api("妫�楠屾姤鍛�")
 public class InsReportController {
 
+    @Resource
     private InsReportService insReportService;
+
+    @Value("${wordUrl}")
+    private String wordUrl;
 
     @ApiOperation(value = "鏌ヨ妫�楠屾姤鍛婃暟鎹�")
     @PostMapping("/pageInsReport")
@@ -40,4 +47,36 @@
         return Result.success("杞崲鎴愬姛", insReportService.wordToHtml(path));
     }
 
+    @ApiOperation(value = "鎶ュ憡涓婁紶")
+    @PostMapping("/inReport")
+    public Result inReport(MultipartFile file, Integer id) {
+        String urlString;
+        String pathName;
+        try {
+            String path = wordUrl;
+            File realpath = new File(path);
+            if (!realpath.exists()) {
+                realpath.mkdirs();
+            }
+            pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
+            urlString = realpath + "/" + pathName;
+            file.transferTo(new File(urlString));
+            return Result.success(insReportService.inReport("/word/"+pathName, id));
+        } catch (Exception e) {
+            throw new ErrorException("鏂囦欢涓婁紶澶辫触");
+        }
+    }
+
+    @ApiOperation(value = "鎶ュ憡杩樺師")
+    @PostMapping("/upReportUrl")
+    public Result upReportUrl(Integer id) {
+        return Result.success(insReportService.upReportUrl(id));
+    }
+
+    @ApiOperation(value = "鎶ュ憡鍦ㄧ嚎缂栧埗")
+    @GetMapping("/upReportFile")
+    public Result upReportFile() {
+        return Result.success();
+    }
+
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/CostStatisticsDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/CostStatisticsDto.java
new file mode 100644
index 0000000..5abd147
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/CostStatisticsDto.java
@@ -0,0 +1,44 @@
+package com.yuanchu.mom.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+public class CostStatisticsDto extends OrderBy {
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ValueTableShow(value = 1, name = "涓嬪崟鏃堕棿")
+    private LocalDateTime createTime;
+
+    @ValueTableShow(value = 2, name = "濮旀墭缂栧彿")
+    private String entrustCode;
+
+    @ValueTableShow(value = 3, name = "鏍峰搧鍚嶇О")
+    private String sample;
+
+    @ValueTableShow(value = 4, name = "瑙勬牸鍨嬪彿")
+    private String model;
+
+    @ValueTableShow(value = 5, name = "鏍峰搧鏁伴噺")
+    private Integer num = 1;
+
+    @ValueTableShow(value = 6, name = "鎬讳环")
+    private BigDecimal price;
+
+    @ValueTableShow(value = 7, name = "璇曢獙椤圭洰")
+    private String product;
+
+    @ValueTableShow(value = 8, name = "濮旀墭鍗曚綅")
+    private String company;
+
+    @ValueTableShow(value = 9, name = "濮旀墭浜�")
+    private String name;
+
+    private Integer createUser;
+
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
index 274175b..097916d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.dto.CostStatisticsDto;
 import com.yuanchu.mom.dto.SampleOrderDto;
 import com.yuanchu.mom.dto.SampleProductDto;
 import com.yuanchu.mom.dto.SampleProductDto2;
@@ -28,6 +29,8 @@
 
     IPage<SampleProductDto2> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, QueryWrapper<SampleProductDto2> ew);
 
+    IPage<CostStatisticsDto> selectCostStatistics(IPage<CostStatisticsDto> page, QueryWrapper<CostStatisticsDto> ew);
+
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
index 5b93cf6..4f1f80f 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
@@ -31,4 +31,6 @@
 
     Map<String, Object> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto);
 
+    Map<String, Object> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto);
+
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
index 0d0e283..dbb3df2 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
@@ -19,4 +19,8 @@
 
     String wordToHtml(String path);
 
+    int inReport(String url, Integer id);
+
+    int upReportUrl(Integer id);
+
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index 007168e..bd725d6 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -149,6 +149,16 @@
         map.put("body", insOrderMapper.selectSampleAndProductByOrderId(page, QueryWrappers.queryWrappers(sampleProductDto)));
         return map;
     }
+
+    @Override
+    public Map<String, Object> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(CostStatisticsDto.class));
+        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("costStatistics");
+        if (map1.get("look") == 1) costStatisticsDto.setCreateUser(map1.get("userId"));
+        map.put("body", insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto)));
+        return map;
+    }
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
index c211dfd..a7294cf 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.spire.doc.Document;
@@ -65,6 +66,19 @@
             throw new ErrorException("杞崲澶辫触");
         }
     }
+
+    @Override
+    public int inReport(String url, Integer id) {
+        InsReport insReport = new InsReport();
+        insReport.setId(id);
+        insReport.setUrlS(url);
+        return insReportMapper.updateById(insReport);
+    }
+
+    @Override
+    public int upReportUrl(Integer id) {
+        return insReportMapper.update(null, Wrappers.<InsReport>lambdaUpdate().eq(InsReport::getId, id).set(InsReport::getUrlS, null));
+    }
 }
 
 
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 50bacda..d168a3a 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -116,6 +116,18 @@
             ${ew.customSqlSegment}
         </if>
     </select>
+    <select id="selectCostStatistics" resultType="com.yuanchu.mom.dto.CostStatisticsDto">
+        select * from {
+        SELECT io.id,io.entrust_code,io.create_time,isa.sample,isa.model,ip.price,ip.inspection_item,u.company,u.`name`,io.create_user from ins_order io
+        LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
+        LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
+        LEFT JOIN `user` u ON u.id = io.user_id
+#         where (io.state = 3 OR io.state = 4)
+        } a
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
 
     <update id="upInsOrderParameter" parameterType="com.yuanchu.mom.pojo.InsOrder">
         UPDATE ins_order
diff --git a/system-run/src/main/resources/application-dev.yml b/system-run/src/main/resources/application-dev.yml
index 5d8371c..eb33049 100644
--- a/system-run/src/main/resources/application-dev.yml
+++ b/system-run/src/main/resources/application-dev.yml
@@ -10,7 +10,7 @@
 # 鏁版嵁搴撳浠借矾寰�
 backup:
   # 鏁版嵁搴撳浠借矾寰�+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++
-  path: D:\Download\log
+  path: #D:\Download\log
   # 鏁版嵁搴撳浠藉ぉ鏁�
   destiny: 7
   # 鏁版嵁搴撳浠藉伐鍏疯矾寰�+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++

--
Gitblit v1.9.3