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