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