Commit a69d0f4499a70c6f0470f798e5b304c305ea55ae

Authored by chenhang4442024
1 parent bf78f16c

fix:剔除多余代码

@@ -55,6 +55,12 @@ @@ -55,6 +55,12 @@
55 <groupId>com.alibaba</groupId> 55 <groupId>com.alibaba</groupId>
56 <artifactId>easyexcel</artifactId> 56 <artifactId>easyexcel</artifactId>
57 <version>${easyexcel.version}</version> 57 <version>${easyexcel.version}</version>
  58 + <exclusions>
  59 + <exclusion>
  60 + <artifactId>asm</artifactId>
  61 + <groupId>org.ow2.asm</groupId>
  62 + </exclusion>
  63 + </exclusions>
58 </dependency> 64 </dependency>
59 65
60 <dependency> 66 <dependency>
@@ -86,6 +92,12 @@ @@ -86,6 +92,12 @@
86 <artifactId>spring-boot-starter-test</artifactId> 92 <artifactId>spring-boot-starter-test</artifactId>
87 <version>${springboot.version}</version> 93 <version>${springboot.version}</version>
88 <scope>test</scope> 94 <scope>test</scope>
  95 + <exclusions>
  96 + <exclusion>
  97 + <artifactId>asm</artifactId>
  98 + <groupId>org.ow2.asm</groupId>
  99 + </exclusion>
  100 + </exclusions>
89 </dependency> 101 </dependency>
90 102
91 <dependency> 103 <dependency>
@@ -265,6 +277,12 @@ @@ -265,6 +277,12 @@
265 <groupId>com.aliyun.oss</groupId> 277 <groupId>com.aliyun.oss</groupId>
266 <artifactId>aliyun-sdk-oss</artifactId> 278 <artifactId>aliyun-sdk-oss</artifactId>
267 <version>${aliyun-sdk-oss.version}</version> 279 <version>${aliyun-sdk-oss.version}</version>
  280 + <exclusions>
  281 + <exclusion>
  282 + <artifactId>aliyun-java-sdk-core</artifactId>
  283 + <groupId>com.aliyun</groupId>
  284 + </exclusion>
  285 + </exclusions>
268 </dependency> 286 </dependency>
269 287
270 <!--thumbnailator 图片压缩工具--> 288 <!--thumbnailator 图片压缩工具-->
@@ -280,8 +298,25 @@ @@ -280,8 +298,25 @@
280 <groupId>wiki.xsx</groupId> 298 <groupId>wiki.xsx</groupId>
281 <artifactId>x-easypdf-pdfbox</artifactId> 299 <artifactId>x-easypdf-pdfbox</artifactId>
282 <version>${x-easypdf-pdfbox.version}</version> 300 <version>${x-easypdf-pdfbox.version}</version>
  301 + <exclusions>
  302 + <exclusion>
  303 + <artifactId>commons-logging</artifactId>
  304 + <groupId>commons-logging</groupId>
  305 + </exclusion>
  306 + </exclusions>
283 </dependency> 307 </dependency>
284 308
  309 + <!--email邮件配置-->
  310 + <dependency>
  311 + <groupId>org.springframework.boot</groupId>
  312 + <artifactId>spring-boot-starter-mail</artifactId>
  313 + </dependency>
  314 +
  315 + <!--Freemarker-->
  316 + <dependency>
  317 + <groupId>org.springframework.boot</groupId>
  318 + <artifactId>spring-boot-starter-freemarker</artifactId>
  319 + </dependency>
285 </dependencies> 320 </dependencies>
286 <build> 321 <build>
287 <finalName>order-erp.service-1.0-SNAPSHOT</finalName> 322 <finalName>order-erp.service-1.0-SNAPSHOT</finalName>
src/main/java/com/order/erp/controller/InvoiceBillOrderController.java deleted 100644 → 0
1 -package com.order.erp.controller;  
2 -  
3 -import com.order.erp.common.annotation.AnonymousAccess;  
4 -import com.order.erp.common.constant.ServerResult;  
5 -import com.order.erp.common.excel4j.exceptions.Excel4JException;  
6 -import com.order.erp.common.jsr303.OperateGroup;  
7 -import com.order.erp.domain.vo.order.*;  
8 -import com.order.erp.service.order.InvoiceBillOrderService;  
9 -import io.swagger.annotations.ApiOperation;  
10 -import org.springframework.validation.annotation.Validated;  
11 -import org.springframework.web.bind.annotation.PostMapping;  
12 -import org.springframework.web.bind.annotation.RequestBody;  
13 -import org.springframework.web.bind.annotation.RequestMapping;  
14 -import org.springframework.web.bind.annotation.RestController;  
15 -  
16 -import javax.annotation.Resource;  
17 -import javax.servlet.http.HttpServletResponse;  
18 -import java.io.IOException;  
19 -  
20 -/**  
21 - * 应收款账单表(InvoiceBillOrder)表控制层  
22 - *  
23 - * @author makejava  
24 - * @since 2024-08-05 16:26:34  
25 - */  
26 -@RestController  
27 -@RequestMapping("/order/erp/invoice_bill")  
28 -public class InvoiceBillOrderController {  
29 - /**  
30 - * 服务对象  
31 - */  
32 - @Resource  
33 - private InvoiceBillOrderService invoiceBillOrderService;  
34 -  
35 - /**  
36 - * 分页查询  
37 - *  
38 - * @param invoiceBillOrderQueryVO 查询条件  
39 - * @return 查询结果  
40 - */  
41 - @PostMapping("/list_by_page")  
42 - public ServerResult listByPage(@RequestBody @Validated({OperateGroup.List.class}) InvoiceBillOrderQueryVO invoiceBillOrderQueryVO) {  
43 - return invoiceBillOrderService.listByPage(invoiceBillOrderQueryVO);  
44 - }  
45 -  
46 - /**  
47 - * 基础订单查询  
48 - *  
49 - * @param queryVO 查询条件  
50 - * @return 查询结果  
51 - */  
52 - @PostMapping("/list_base_order_info_by")  
53 - public ServerResult listBaseOrderInfoBy(@RequestBody @Validated InvoiceBaseOrderQueryVO queryVO) {  
54 - return invoiceBillOrderService.listBaseOrderInfoBy(queryVO);  
55 - }  
56 -  
57 - /**  
58 - * 分析列表  
59 - *  
60 - * @param queryVO 查询条件  
61 - * @return 查询结果  
62 - */  
63 - @PostMapping("/list_analysis_by")  
64 - public ServerResult listAnalysisBy(@RequestBody @Validated({OperateGroup.List.class}) InvoiceBillAnalysisVO queryVO) {  
65 - return invoiceBillOrderService.listAnalysisBy(queryVO);  
66 - }  
67 -  
68 - /**  
69 - * 导出分析列表  
70 - *  
71 - * @param queryVO 查询条件  
72 - * @return 查询结果  
73 - */  
74 - @PostMapping(value = "/export")  
75 - @ApiOperation("导出分析列表")  
76 - @AnonymousAccess  
77 - public void export(HttpServletResponse response, @RequestBody @Validated InvoiceBillAnalysisVO queryVO) throws IOException, Excel4JException {  
78 - invoiceBillOrderService.export(response, queryVO);  
79 - }  
80 -  
81 - /**  
82 - * 创建invoice单据  
83 - *  
84 - * @param createVO 数据VO  
85 - * @return 新增结果  
86 - */  
87 - @PostMapping("/create")  
88 - public ServerResult create(@RequestBody InvoiceBillCreateVO createVO) {  
89 - return invoiceBillOrderService.create(createVO);  
90 - }  
91 -  
92 - /**  
93 - * 获取必须回款日期  
94 - *  
95 - * @param createVO 数据VO  
96 - * @return 新增结果  
97 - */  
98 - @PostMapping("/get_back_refund_date")  
99 - public ServerResult getBackRefundDate(@RequestBody InvoiceBillCreateVO createVO) {  
100 - return invoiceBillOrderService.getBackRefundDate(createVO);  
101 - }  
102 -  
103 - /**  
104 - * 更新扣款信息  
105 - *  
106 - * @param deductInfoVO 数据VO  
107 - * @return 编辑结果  
108 - */  
109 - @PostMapping("/update_deduct_info")  
110 - public ServerResult updateDeductInfo(@RequestBody InvoiceBillDeductInfoVO deductInfoVO) {  
111 - return invoiceBillOrderService.updateDeductInfo(deductInfoVO);  
112 - }  
113 -  
114 - /**  
115 - * 更新其他金额信息  
116 - *  
117 - * @param amountInfoVO 数据VO  
118 - * @return 编辑结果  
119 - */  
120 - @PostMapping("/update_amount_info")  
121 - public ServerResult updateAmountInfo(@RequestBody InvoiceBillAmountInfoVO amountInfoVO) {  
122 - return invoiceBillOrderService.updateAmountInfo(amountInfoVO);  
123 - }  
124 -  
125 - /**  
126 - * 提交审核  
127 - *  
128 - * @param commitApplyVO 数据VO  
129 - * @return 编辑结果  
130 - */  
131 - @PostMapping("/commit_apply")  
132 - public ServerResult commitApply(@RequestBody InvoiceBillCommitApplyVO commitApplyVO) {  
133 - return invoiceBillOrderService.commitApply(commitApplyVO);  
134 - }  
135 -  
136 - /**  
137 - * 删除数据  
138 - *  
139 - * @param invoiceBillOrderQueryVO 查询条件  
140 - * @return 删除是否成功  
141 - */  
142 - @PostMapping("/delete_by_id")  
143 - public ServerResult deleteById(@RequestBody InvoiceBillOrderQueryVO invoiceBillOrderQueryVO) {  
144 - return invoiceBillOrderService.deleteById(invoiceBillOrderQueryVO);  
145 - }  
146 -  
147 -}  
148 -  
src/main/java/com/order/erp/controller/ProducePaymentCheckBillOrderController.java deleted 100644 → 0
1 -package com.order.erp.controller;  
2 -  
3 -import com.order.erp.common.constant.ServerResult;  
4 -import com.order.erp.common.jsr303.OperateGroup;  
5 -import com.order.erp.domain.vo.order.ProducePaymentCheckBillOrderQueryVO;  
6 -import com.order.erp.domain.vo.order.ProducePaymentCheckBillOrderVO;  
7 -import com.order.erp.service.order.ProducePaymentCheckBillOrderService;  
8 -import org.springframework.validation.annotation.Validated;  
9 -import org.springframework.web.bind.annotation.PostMapping;  
10 -import org.springframework.web.bind.annotation.RequestBody;  
11 -import org.springframework.web.bind.annotation.RequestMapping;  
12 -import org.springframework.web.bind.annotation.RestController;  
13 -  
14 -import javax.annotation.Resource;  
15 -  
16 -/**  
17 - * 生产科对账单应收账单(ProducePaymentCheckBillOrder)表控制层  
18 - *  
19 - * @author makejava  
20 - * @since 2024-08-05 16:26:35  
21 - */  
22 -@RestController  
23 -@RequestMapping("/order/erp/check_bill/")  
24 -public class ProducePaymentCheckBillOrderController {  
25 - /**  
26 - * 服务对象  
27 - */  
28 - @Resource  
29 - private ProducePaymentCheckBillOrderService producePaymentCheckBillOrderService;  
30 -  
31 - /**  
32 - * 分页查询  
33 - *  
34 - * @param producePaymentCheckBillOrderQueryVO 查询条件  
35 - * @return 查询结果  
36 - */  
37 - @PostMapping("/list")  
38 - public ServerResult list(@RequestBody @Validated({OperateGroup.List.class}) ProducePaymentCheckBillOrderQueryVO producePaymentCheckBillOrderQueryVO) {  
39 - return producePaymentCheckBillOrderService.list(producePaymentCheckBillOrderQueryVO);  
40 - }  
41 -  
42 - /**  
43 - * 通过主键查询单条数据  
44 - *  
45 - * @param producePaymentCheckBillOrderQueryVO 查询条件  
46 - * @return 单条数据  
47 - */  
48 - @PostMapping("/query_by_id")  
49 - public ServerResult queryById(@RequestBody ProducePaymentCheckBillOrderQueryVO producePaymentCheckBillOrderQueryVO) {  
50 - return producePaymentCheckBillOrderService.queryById(producePaymentCheckBillOrderQueryVO);  
51 - }  
52 -  
53 - /**  
54 - * 新增数据  
55 - *  
56 - * @param producePaymentCheckBillOrderVO 数据VO  
57 - * @return 新增结果  
58 - */  
59 - @PostMapping("/add")  
60 - public ServerResult add(@RequestBody ProducePaymentCheckBillOrderVO producePaymentCheckBillOrderVO) {  
61 - return producePaymentCheckBillOrderService.add(producePaymentCheckBillOrderVO);  
62 - }  
63 -  
64 - /**  
65 - * 编辑数据  
66 - *  
67 - * @param producePaymentCheckBillOrderVO 数据VO  
68 - * @return 编辑结果  
69 - */  
70 - @PostMapping("/edit")  
71 - public ServerResult edit(@RequestBody ProducePaymentCheckBillOrderVO producePaymentCheckBillOrderVO) {  
72 - return producePaymentCheckBillOrderService.edit(producePaymentCheckBillOrderVO);  
73 - }  
74 -  
75 - /**  
76 - * 删除数据  
77 - *  
78 - * @param producePaymentCheckBillOrderQueryVO 查询条件  
79 - * @return 删除是否成功  
80 - */  
81 - @PostMapping("/delete_by_id")  
82 - public ServerResult deleteById(@RequestBody ProducePaymentCheckBillOrderQueryVO producePaymentCheckBillOrderQueryVO) {  
83 - return producePaymentCheckBillOrderService.deleteById(producePaymentCheckBillOrderQueryVO);  
84 - }  
85 -  
86 -}  
87 -  
src/main/java/com/order/erp/domain/dto/order/CheckBillMappingDO.java deleted 100644 → 0
1 -package com.order.erp.domain.dto.order;  
2 -  
3 -import com.baomidou.mybatisplus.annotation.TableName;  
4 -import com.order.erp.domain.dto.BaseDO;  
5 -import lombok.*;  
6 -import lombok.experimental.SuperBuilder;  
7 -  
8 -import java.io.Serializable;  
9 -  
10 -/**  
11 - * 生产科对账单应收账单映射表(CheckBillMapping)实体类  
12 - *  
13 - * @author makejava  
14 - * @since 2024-08-05 16:26:36  
15 - */  
16 -@TableName("check_bill_mapping")  
17 -@Data  
18 -@AllArgsConstructor  
19 -@ToString  
20 -@NoArgsConstructor  
21 -@EqualsAndHashCode(callSuper = false)  
22 -@SuperBuilder  
23 -public class CheckBillMappingDO extends BaseDO implements Serializable {  
24 - private static final long serialVersionUID = 199786248752278040L;  
25 -  
26 - private Long id;  
27 - /**  
28 - * 生产科对账单号  
29 - */  
30 - private String checkNo;  
31 - /**  
32 - * check账单id  
33 - */  
34 - private Long checkBillId;  
35 - /**  
36 - * 订单id  
37 - */  
38 - private Long orderId;  
39 -  
40 -}  
src/main/java/com/order/erp/domain/dto/order/InvoiceBillMappingDO.java deleted 100644 → 0
1 -package com.order.erp.domain.dto.order;  
2 -  
3 -import com.baomidou.mybatisplus.annotation.TableName;  
4 -import com.order.erp.domain.dto.BaseDO;  
5 -import lombok.*;  
6 -import lombok.experimental.SuperBuilder;  
7 -  
8 -import java.io.Serializable;  
9 -  
10 -/**  
11 - * 应收款账单关联订单映射表(InvoiceBillMapping)实体类  
12 - *  
13 - * @author makejava  
14 - * @since 2024-08-05 16:26:36  
15 - */  
16 -@TableName("invoice_bill_mapping")  
17 -@Data  
18 -@AllArgsConstructor  
19 -@ToString  
20 -@NoArgsConstructor  
21 -@EqualsAndHashCode(callSuper = false)  
22 -@SuperBuilder  
23 -public class InvoiceBillMappingDO extends BaseDO implements Serializable {  
24 -  
25 - private Long id;  
26 - /**  
27 - * 发票单号  
28 - */  
29 - private String invoiceNo;  
30 - /**  
31 - * invoice账单id  
32 - */  
33 - private Long invoiceBillId;  
34 - /**  
35 - * 订单id  
36 - */  
37 - private Long orderId;  
38 -  
39 -}  
src/main/java/com/order/erp/domain/dto/order/InvoiceBillOrderDO.java deleted 100644 → 0
1 -package com.order.erp.domain.dto.order;  
2 -  
3 -import com.baomidou.mybatisplus.annotation.TableName;  
4 -import com.order.erp.domain.dto.BaseDO;  
5 -import lombok.*;  
6 -import lombok.experimental.SuperBuilder;  
7 -  
8 -import java.io.Serializable;  
9 -import java.math.BigDecimal;  
10 -  
11 -/**  
12 - * 应收款账单表(InvoiceBillOrder)实体类  
13 - *  
14 - * @author makejava  
15 - * @since 2024-08-05 16:26:33  
16 - */  
17 -@TableName("invoice_bill_order")  
18 -@Data  
19 -@AllArgsConstructor  
20 -@ToString  
21 -@NoArgsConstructor  
22 -@EqualsAndHashCode(callSuper = false)  
23 -@SuperBuilder  
24 -public class InvoiceBillOrderDO extends BaseDO implements Serializable {  
25 -  
26 - private Long id;  
27 - /**  
28 - * 发票单号  
29 - */  
30 - private String invoiceNo;  
31 - /**  
32 - * 报关单url地址  
33 - */  
34 - private String bgUrl;  
35 - /**  
36 - * 必须回款日期  
37 - */  
38 - private String backRefundDate;  
39 - /**  
40 - * 实际回款日期  
41 - */  
42 - private String actualRefundDate;  
43 -  
44 - /**  
45 - * 发生扣款金额  
46 - */  
47 - private BigDecimal deductAmount;  
48 - /**  
49 - * 扣款单url地址  
50 - */  
51 - private String deductUrl;  
52 - /**  
53 - * 实际应收金额  
54 - */  
55 - private BigDecimal actualReceivableAmount;  
56 - /**  
57 - * 实际应付金额1  
58 - */  
59 - private BigDecimal actualPayedAmount1;  
60 - /**  
61 - * 实际应付金额2  
62 - */  
63 - private BigDecimal actualPayedAmount2;  
64 - /**  
65 - * 实际应付金额3  
66 - */  
67 - private BigDecimal actualPayedAmount3;  
68 - /**  
69 - * 其他费用金额  
70 - */  
71 - private BigDecimal otherAmount;  
72 - /**  
73 - * 总经理审核状态 0:待审核、1:审核通过,2:审核驳回  
74 - */  
75 - private Integer status;  
76 -  
77 -}  
src/main/java/com/order/erp/domain/dto/order/ProducePaymentCheckBillOrderDO.java deleted 100644 → 0
1 -package com.order.erp.domain.dto.order;  
2 -  
3 -import com.baomidou.mybatisplus.annotation.TableName;  
4 -import com.order.erp.domain.dto.BaseDO;  
5 -import lombok.*;  
6 -import lombok.experimental.SuperBuilder;  
7 -  
8 -import java.io.Serializable;  
9 -  
10 -/**  
11 - * 生产科对账单应收账单(ProducePaymentCheckBillOrder)实体类  
12 - *  
13 - * @author makejava  
14 - * @since 2024-08-05 16:26:35  
15 - */  
16 -@TableName("produce_payment_check_bill_order")  
17 -@Data  
18 -@AllArgsConstructor  
19 -@ToString  
20 -@NoArgsConstructor  
21 -@EqualsAndHashCode(callSuper = false)  
22 -@SuperBuilder  
23 -public class ProducePaymentCheckBillOrderDO extends BaseDO implements Serializable {  
24 -  
25 - private Long id;  
26 - /**  
27 - * 生产科对账单  
28 - */  
29 - private String checkNo;  
30 - /**  
31 - * 发票url地址  
32 - */  
33 - private String invoiceUrl;  
34 - /**  
35 - * 扣款单url地址  
36 - */  
37 - private String deductPdfUrl;  
38 - /**  
39 - * 生产科应付款日期  
40 - */  
41 - private String payedDate;  
42 - /**  
43 - * 生产科扣款责任部门  
44 - */  
45 - private String deductDept;  
46 - /**  
47 - * 生产科扣款金额  
48 - */  
49 - private Double deductAmount;  
50 - /**  
51 - * 实际应付金额  
52 - */  
53 - private Double actualPayedAmount;  
54 - /**  
55 - * 总经理审核状态 0:待审核、1:审核通过,2:审核驳回  
56 - */  
57 - private Integer status;  
58 -  
59 -}  
src/main/java/com/order/erp/mapper/order/CheckBillMappingMapper.java deleted 100644 → 0
1 -package com.order.erp.mapper.order;  
2 -  
3 -import com.baomidou.mybatisplus.core.mapper.BaseMapper;  
4 -import com.order.erp.domain.dto.order.CheckBillMappingDO;  
5 -  
6 -/**  
7 - * 生产科对账单应收账单映射表(CheckBillMapping)表数据库访问层  
8 - *  
9 - * @author makejava  
10 - * @since 2024-08-05 16:26:37  
11 - */  
12 -public interface CheckBillMappingMapper extends BaseMapper<CheckBillMappingDO> {  
13 -  
14 -  
15 -}  
16 -  
src/main/java/com/order/erp/mapper/order/InvoiceBillMappingMapper.java deleted 100644 → 0
1 -package com.order.erp.mapper.order;  
2 -  
3 -import com.baomidou.mybatisplus.core.mapper.BaseMapper;  
4 -import com.order.erp.domain.dto.order.InvoiceBillMappingDO;  
5 -  
6 -/**  
7 - * 应收款账单关联订单映射表(InvoiceBillMapping)表数据库访问层  
8 - *  
9 - * @author makejava  
10 - * @since 2024-08-05 16:26:36  
11 - */  
12 -public interface InvoiceBillMappingMapper extends BaseMapper<InvoiceBillMappingDO> {  
13 -  
14 -  
15 -}  
16 -  
src/main/java/com/order/erp/mapper/order/InvoiceBillOrderMapper.java deleted 100644 → 0
1 -package com.order.erp.mapper.order;  
2 -  
3 -import com.baomidou.mybatisplus.core.mapper.BaseMapper;  
4 -import com.order.erp.domain.dto.order.InvoiceBillOrderDO;  
5 -  
6 -/**  
7 - * 应收款账单表(InvoiceBillOrder)表数据库访问层  
8 - *  
9 - * @author makejava  
10 - * @since 2024-08-05 16:26:34  
11 - */  
12 -public interface InvoiceBillOrderMapper extends BaseMapper<InvoiceBillOrderDO> {  
13 -  
14 -  
15 -}  
16 -  
src/main/java/com/order/erp/mapper/order/ProducePaymentCheckBillOrderMapper.java deleted 100644 → 0
1 -package com.order.erp.mapper.order;  
2 -  
3 -import com.baomidou.mybatisplus.core.mapper.BaseMapper;  
4 -import com.order.erp.domain.dto.order.ProducePaymentCheckBillOrderDO;  
5 -  
6 -/**  
7 - * 生产科对账单应收账单(ProducePaymentCheckBillOrder)表数据库访问层  
8 - *  
9 - * @author makejava  
10 - * @since 2024-08-05 16:26:35  
11 - */  
12 -public interface ProducePaymentCheckBillOrderMapper extends BaseMapper<ProducePaymentCheckBillOrderDO> {  
13 -  
14 -  
15 -}  
16 -  
src/main/java/com/order/erp/service/order/CheckBillMappingService.java deleted 100644 → 0
1 -package com.order.erp.service.order;  
2 -  
3 -import com.baomidou.mybatisplus.extension.service.IService;  
4 -import com.order.erp.common.constant.ServerResult;  
5 -import com.order.erp.domain.dto.order.CheckBillMappingDO;  
6 -import com.order.erp.domain.vo.order.CheckBillMappingQueryVO;  
7 -import com.order.erp.domain.vo.order.CheckBillMappingVO;  
8 -  
9 -/**  
10 - * 生产科对账单应收账单映射表(CheckBillMapping)表服务接口  
11 - *  
12 - * @author makejava  
13 - * @since 2024-08-05 16:26:37  
14 - */  
15 -public interface CheckBillMappingService extends IService<CheckBillMappingDO> {  
16 -  
17 - /**  
18 - * 通过ID查询单条数据  
19 - *  
20 - * @param checkBillMappingQueryVO 主键  
21 - * @return 实例对象  
22 - */  
23 - ServerResult queryById(CheckBillMappingQueryVO checkBillMappingQueryVO);  
24 -  
25 - /**  
26 - * 分页查询  
27 - *  
28 - * @param checkBillMappingQueryVO 筛选条件  
29 - * @return 查询结果  
30 - */  
31 - ServerResult list(CheckBillMappingQueryVO checkBillMappingQueryVO);  
32 -  
33 - /**  
34 - * 新增数据  
35 - *  
36 - * @param checkBillMappingVO 数据VO  
37 - * @return 新增结果  
38 - */  
39 - ServerResult add(CheckBillMappingVO checkBillMappingVO);  
40 -  
41 - /**  
42 - * 修改数据  
43 - *  
44 - * @param checkBillMappingVO 数据VO  
45 - * @return 编辑结果  
46 - */  
47 - ServerResult edit(CheckBillMappingVO checkBillMappingVO);  
48 -  
49 - /**  
50 - * 通过主键删除数据  
51 - *  
52 - * @param checkBillMappingQueryVO 筛选条件  
53 - * @return 是否成功  
54 - */  
55 - ServerResult deleteById(CheckBillMappingQueryVO checkBillMappingQueryVO);  
56 -  
57 -}  
src/main/java/com/order/erp/service/order/InvoiceBillMappingService.java deleted 100644 → 0
1 -package com.order.erp.service.order;  
2 -  
3 -import com.baomidou.mybatisplus.extension.service.IService;  
4 -import com.order.erp.common.constant.ServerResult;  
5 -import com.order.erp.domain.dto.order.InvoiceBillMappingDO;  
6 -import com.order.erp.domain.vo.order.InvoiceBillMappingQueryVO;  
7 -import com.order.erp.domain.vo.order.InvoiceBillMappingVO;  
8 -  
9 -/**  
10 - * 应收款账单关联订单映射表(InvoiceBillMapping)表服务接口  
11 - *  
12 - * @author makejava  
13 - * @since 2024-08-05 16:26:36  
14 - */  
15 -public interface InvoiceBillMappingService extends IService<InvoiceBillMappingDO> {  
16 -  
17 - /**  
18 - * 通过ID查询单条数据  
19 - *  
20 - * @param invoiceBillMappingQueryVO 主键  
21 - * @return 实例对象  
22 - */  
23 - ServerResult queryById(InvoiceBillMappingQueryVO invoiceBillMappingQueryVO);  
24 -  
25 - /**  
26 - * 分页查询  
27 - *  
28 - * @param invoiceBillMappingQueryVO 筛选条件  
29 - * @return 查询结果  
30 - */  
31 - ServerResult list(InvoiceBillMappingQueryVO invoiceBillMappingQueryVO);  
32 -  
33 - /**  
34 - * 新增数据  
35 - *  
36 - * @param invoiceBillMappingVO 数据VO  
37 - * @return 新增结果  
38 - */  
39 - ServerResult add(InvoiceBillMappingVO invoiceBillMappingVO);  
40 -  
41 - /**  
42 - * 修改数据  
43 - *  
44 - * @param invoiceBillMappingVO 数据VO  
45 - * @return 编辑结果  
46 - */  
47 - ServerResult edit(InvoiceBillMappingVO invoiceBillMappingVO);  
48 -  
49 - /**  
50 - * 通过主键删除数据  
51 - *  
52 - * @param invoiceBillMappingQueryVO 筛选条件  
53 - * @return 是否成功  
54 - */  
55 - ServerResult deleteById(InvoiceBillMappingQueryVO invoiceBillMappingQueryVO);  
56 -  
57 -}  
src/main/java/com/order/erp/service/order/InvoiceBillOrderService.java deleted 100644 → 0
1 -package com.order.erp.service.order;  
2 -  
3 -import com.baomidou.mybatisplus.extension.service.IService;  
4 -import com.order.erp.common.constant.ServerResult;  
5 -import com.order.erp.domain.dto.order.InvoiceBillOrderDO;  
6 -import com.order.erp.domain.vo.order.*;  
7 -  
8 -import javax.servlet.http.HttpServletResponse;  
9 -import java.io.IOException;  
10 -  
11 -/**  
12 - * 应收款账单表(InvoiceBillOrder)表服务接口  
13 - *  
14 - * @author makejava  
15 - * @since 2024-08-05 16:26:34  
16 - */  
17 -public interface InvoiceBillOrderService extends IService<InvoiceBillOrderDO> {  
18 -  
19 - /**  
20 - * 分页查询  
21 - *  
22 - * @param invoiceBillOrderQueryVO 筛选条件  
23 - * @return 查询结果  
24 - */  
25 - ServerResult listByPage(InvoiceBillOrderQueryVO invoiceBillOrderQueryVO);  
26 -  
27 - /**  
28 - * @param queryVO  
29 - * @return  
30 - */  
31 - ServerResult listBaseOrderInfoBy(InvoiceBaseOrderQueryVO queryVO);  
32 -  
33 - /**  
34 - * @param queryVO  
35 - * @return  
36 - */  
37 - ServerResult listAnalysisBy(InvoiceBillAnalysisVO queryVO);  
38 -  
39 - /**  
40 - * @param queryVO  
41 - * @return  
42 - */  
43 - ServerResult export(HttpServletResponse response, InvoiceBillAnalysisVO queryVO) throws IOException;  
44 -  
45 - /**  
46 - * 新增数据  
47 - *  
48 - * @param createVO 数据VO  
49 - * @return 新增结果  
50 - */  
51 - ServerResult create(InvoiceBillCreateVO createVO);  
52 -  
53 - /**  
54 - *  
55 - * @param createVO  
56 - * @return  
57 - */  
58 - ServerResult getBackRefundDate(InvoiceBillCreateVO createVO);  
59 -  
60 - /**  
61 - * 更新扣款信息  
62 - *  
63 - * @param deductInfoVO 数据VO  
64 - * @return 编辑结果  
65 - */  
66 - ServerResult updateDeductInfo(InvoiceBillDeductInfoVO deductInfoVO);  
67 -  
68 - /**  
69 - * 更新其他金额信息  
70 - *  
71 - * @param amountInfoVO  
72 - * @return  
73 - */  
74 - ServerResult updateAmountInfo(InvoiceBillAmountInfoVO amountInfoVO);  
75 -  
76 - /**  
77 - * 提交审核  
78 - *  
79 - * @param commitApplyVO  
80 - * @return  
81 - */  
82 - ServerResult commitApply(InvoiceBillCommitApplyVO commitApplyVO);  
83 -  
84 - /**  
85 - * 通过主键删除数据  
86 - *  
87 - * @param invoiceBillOrderQueryVO 筛选条件  
88 - * @return 是否成功  
89 - */  
90 - ServerResult deleteById(InvoiceBillOrderQueryVO invoiceBillOrderQueryVO);  
91 -  
92 -}  
src/main/java/com/order/erp/service/order/ProducePaymentCheckBillOrderService.java deleted 100644 → 0
1 -package com.order.erp.service.order;  
2 -  
3 -import com.baomidou.mybatisplus.extension.service.IService;  
4 -import com.order.erp.common.constant.ServerResult;  
5 -import com.order.erp.domain.dto.order.ProducePaymentCheckBillOrderDO;  
6 -import com.order.erp.domain.vo.order.ProducePaymentCheckBillOrderQueryVO;  
7 -import com.order.erp.domain.vo.order.ProducePaymentCheckBillOrderVO;  
8 -  
9 -/**  
10 - * 生产科对账单应收账单(ProducePaymentCheckBillOrder)表服务接口  
11 - *  
12 - * @author makejava  
13 - * @since 2024-08-05 16:26:35  
14 - */  
15 -public interface ProducePaymentCheckBillOrderService extends IService<ProducePaymentCheckBillOrderDO> {  
16 -  
17 - /**  
18 - * 通过ID查询单条数据  
19 - *  
20 - * @param producePaymentCheckBillOrderQueryVO 主键  
21 - * @return 实例对象  
22 - */  
23 - ServerResult queryById(ProducePaymentCheckBillOrderQueryVO producePaymentCheckBillOrderQueryVO);  
24 -  
25 - /**  
26 - * 分页查询  
27 - *  
28 - * @param producePaymentCheckBillOrderQueryVO 筛选条件  
29 - * @return 查询结果  
30 - */  
31 - ServerResult list(ProducePaymentCheckBillOrderQueryVO producePaymentCheckBillOrderQueryVO);  
32 -  
33 - /**  
34 - * 新增数据  
35 - *  
36 - * @param producePaymentCheckBillOrderVO 数据VO  
37 - * @return 新增结果  
38 - */  
39 - ServerResult add(ProducePaymentCheckBillOrderVO producePaymentCheckBillOrderVO);  
40 -  
41 - /**  
42 - * 修改数据  
43 - *  
44 - * @param producePaymentCheckBillOrderVO 数据VO  
45 - * @return 编辑结果  
46 - */  
47 - ServerResult edit(ProducePaymentCheckBillOrderVO producePaymentCheckBillOrderVO);  
48 -  
49 - /**  
50 - * 通过主键删除数据  
51 - *  
52 - * @param producePaymentCheckBillOrderQueryVO 筛选条件  
53 - * @return 是否成功  
54 - */  
55 - ServerResult deleteById(ProducePaymentCheckBillOrderQueryVO producePaymentCheckBillOrderQueryVO);  
56 -  
57 -}  
src/main/java/com/order/erp/service/order/impl/CheckBillMappingServiceImpl.java deleted 100644 → 0
1 -package com.order.erp.service.order.impl;  
2 -  
3 -import cn.hutool.core.bean.BeanUtil;  
4 -import cn.hutool.core.collection.CollUtil;  
5 -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;  
6 -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;  
7 -import com.baomidou.mybatisplus.core.metadata.IPage;  
8 -import com.baomidou.mybatisplus.extension.plugins.pagination.Page;  
9 -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;  
10 -import com.order.erp.common.constant.Constant;  
11 -import com.order.erp.common.constant.ServerResult;  
12 -import com.order.erp.common.utils.PageUtils;  
13 -import com.order.erp.domain.dto.order.CheckBillMappingDO;  
14 -import com.order.erp.domain.vo.order.CheckBillMappingQueryVO;  
15 -import com.order.erp.domain.vo.order.CheckBillMappingVO;  
16 -import com.order.erp.mapper.order.CheckBillMappingMapper;  
17 -import com.order.erp.service.order.CheckBillMappingService;  
18 -import lombok.extern.slf4j.Slf4j;  
19 -import org.springframework.stereotype.Service;  
20 -  
21 -import java.util.List;  
22 -import java.util.Objects;  
23 -  
24 -/**  
25 - * 生产科对账单应收账单映射表(CheckBillMapping)表服务实现类  
26 - *  
27 - * @author makejava  
28 - * @since 2024-08-05 16:26:37  
29 - */  
30 -@Slf4j  
31 -@Service  
32 -public class CheckBillMappingServiceImpl extends ServiceImpl<CheckBillMappingMapper, CheckBillMappingDO> implements CheckBillMappingService {  
33 -  
34 -  
35 - /**  
36 - * 通过ID查询单条数据  
37 - * <p>  
38 - * checkBillMappingQueryVO 主键  
39 - *  
40 - * @return 实例对象  
41 - */  
42 - @Override  
43 - public ServerResult queryById(CheckBillMappingQueryVO checkBillMappingQueryVO) {  
44 - if (Objects.isNull(checkBillMappingQueryVO.getId())) {  
45 - return ServerResult.fail("id 不能为空");  
46 - }  
47 - CheckBillMappingDO CheckBillMappingDo = getById(checkBillMappingQueryVO.getId());  
48 - if (Objects.isNull(CheckBillMappingDo)) {  
49 - return ServerResult.success(null);  
50 - }  
51 - return ServerResult.success(BeanUtil.copyProperties(CheckBillMappingDo, CheckBillMappingVO.class));  
52 - }  
53 -  
54 - /**  
55 - * 分页查询  
56 - *  
57 - * @param checkBillMappingQueryVO 筛选条件  
58 - * @return 查询结果  
59 - */  
60 - @Override  
61 - public ServerResult list(CheckBillMappingQueryVO checkBillMappingQueryVO) {  
62 -  
63 - LambdaQueryWrapper<CheckBillMappingDO> queryWapper = new LambdaQueryWrapper<CheckBillMappingDO>()  
64 - .eq(CheckBillMappingDO::getEnableFlag, Constant.ENABLE_TEN)  
65 - .orderByDesc(CheckBillMappingDO::getId);  
66 - Page page = new Page<>(checkBillMappingQueryVO.getPage(), checkBillMappingQueryVO.getPageSize());  
67 - IPage<CheckBillMappingDO> iPage = page(page, queryWapper);  
68 - checkBillMappingQueryVO.setTotal(Long.valueOf(iPage.getTotal()).intValue());  
69 - return ServerResult.success(PageUtils.getPageReturn(null, checkBillMappingQueryVO));  
70 - }  
71 -  
72 - /**  
73 - * 新增数据  
74 - *  
75 - * @param checkBillMappingVO 实例对象  
76 - * @return 实例对象  
77 - */  
78 - @Override  
79 - public ServerResult add(CheckBillMappingVO checkBillMappingVO) {  
80 - //todo 校验  
81 - if (Objects.nonNull(checkBillMappingVO.getId())) {  
82 - checkBillMappingVO.setId(null);  
83 - }  
84 - CheckBillMappingDO checkBillMappingDo = BeanUtil.copyProperties(checkBillMappingVO, CheckBillMappingDO.class);  
85 -  
86 - save(checkBillMappingDo);  
87 -  
88 - return ServerResult.success();  
89 - }  
90 -  
91 - /**  
92 - * 修改数据  
93 - *  
94 - * @param checkBillMappingVO 实例对象  
95 - * @return 实例对象  
96 - */  
97 - @Override  
98 - public ServerResult edit(CheckBillMappingVO checkBillMappingVO) {  
99 - //todo 校验  
100 - if (Objects.isNull(checkBillMappingVO.getId())) {  
101 - return ServerResult.fail("id 不能为空");  
102 - }  
103 - CheckBillMappingDO checkBillMappingDo = BeanUtil.copyProperties(checkBillMappingVO, CheckBillMappingDO.class);  
104 -  
105 - updateById(checkBillMappingDo);  
106 -  
107 - return ServerResult.success();  
108 - }  
109 -  
110 - /**  
111 - * 通过主键删除数据  
112 - *  
113 - * @param checkBillMappingQueryVO 筛选条件  
114 - * @return 是否成功  
115 - */  
116 - @Override  
117 - public ServerResult deleteById(CheckBillMappingQueryVO checkBillMappingQueryVO) {  
118 - List<Long> ids = checkBillMappingQueryVO.getIds();  
119 - if (CollUtil.isEmpty(ids)) {  
120 - return ServerResult.fail("ids 参数不能为空");  
121 - }  
122 - List<CheckBillMappingDO> checkBillMappingList = listByIds(ids);  
123 - if (CollUtil.isEmpty(checkBillMappingList)) {  
124 - return ServerResult.success();  
125 - }  
126 - //todo 校验是否可以逻辑删除  
127 - LambdaUpdateWrapper<CheckBillMappingDO> updateWrapper = new LambdaUpdateWrapper<CheckBillMappingDO>()  
128 - .in(CheckBillMappingDO::getId, ids)  
129 - .set(CheckBillMappingDO::getEnableFlag, Constant.UNABLE_TWENTY);  
130 - update(updateWrapper);  
131 - return ServerResult.success();  
132 - }  
133 -}  
src/main/java/com/order/erp/service/order/impl/InvoiceBillMappingServiceImpl.java deleted 100644 → 0
1 -package com.order.erp.service.order.impl;  
2 -  
3 -import cn.hutool.core.bean.BeanUtil;  
4 -import cn.hutool.core.collection.CollUtil;  
5 -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;  
6 -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;  
7 -import com.baomidou.mybatisplus.core.metadata.IPage;  
8 -import com.baomidou.mybatisplus.extension.plugins.pagination.Page;  
9 -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;  
10 -import com.order.erp.common.constant.Constant;  
11 -import com.order.erp.common.constant.ServerResult;  
12 -import com.order.erp.common.utils.PageUtils;  
13 -import com.order.erp.domain.dto.order.InvoiceBillMappingDO;  
14 -import com.order.erp.domain.vo.order.InvoiceBillMappingQueryVO;  
15 -import com.order.erp.domain.vo.order.InvoiceBillMappingVO;  
16 -import com.order.erp.mapper.order.InvoiceBillMappingMapper;  
17 -import com.order.erp.service.order.InvoiceBillMappingService;  
18 -import lombok.extern.slf4j.Slf4j;  
19 -import org.springframework.stereotype.Service;  
20 -  
21 -import java.util.List;  
22 -import java.util.Objects;  
23 -  
24 -/**  
25 - * 应收款账单关联订单映射表(InvoiceBillMapping)表服务实现类  
26 - *  
27 - * @author makejava  
28 - * @since 2024-08-05 16:26:36  
29 - */  
30 -@Slf4j  
31 -@Service  
32 -public class InvoiceBillMappingServiceImpl extends ServiceImpl<InvoiceBillMappingMapper, InvoiceBillMappingDO> implements InvoiceBillMappingService {  
33 -  
34 -  
35 - /**  
36 - * 通过ID查询单条数据  
37 - * <p>  
38 - * invoiceBillMappingQueryVO 主键  
39 - *  
40 - * @return 实例对象  
41 - */  
42 - @Override  
43 - public ServerResult queryById(InvoiceBillMappingQueryVO invoiceBillMappingQueryVO) {  
44 - if (Objects.isNull(invoiceBillMappingQueryVO.getId())) {  
45 - return ServerResult.fail("id 不能为空");  
46 - }  
47 - InvoiceBillMappingDO InvoiceBillMappingDo = getById(invoiceBillMappingQueryVO.getId());  
48 - if (Objects.isNull(InvoiceBillMappingDo)) {  
49 - return ServerResult.success(null);  
50 - }  
51 - return ServerResult.success(BeanUtil.copyProperties(InvoiceBillMappingDo, InvoiceBillMappingVO.class));  
52 - }  
53 -  
54 - /**  
55 - * 分页查询  
56 - *  
57 - * @param invoiceBillMappingQueryVO 筛选条件  
58 - * @return 查询结果  
59 - */  
60 - @Override  
61 - public ServerResult list(InvoiceBillMappingQueryVO invoiceBillMappingQueryVO) {  
62 -  
63 - LambdaQueryWrapper<InvoiceBillMappingDO> queryWapper = new LambdaQueryWrapper<InvoiceBillMappingDO>()  
64 - .eq(InvoiceBillMappingDO::getEnableFlag, Constant.ENABLE_TEN)  
65 - .orderByDesc(InvoiceBillMappingDO::getId);  
66 - Page page = new Page<>(invoiceBillMappingQueryVO.getPage(), invoiceBillMappingQueryVO.getPageSize());  
67 - IPage<InvoiceBillMappingDO> iPage = page(page, queryWapper);  
68 - invoiceBillMappingQueryVO.setTotal(Long.valueOf(iPage.getTotal()).intValue());  
69 - return ServerResult.success(PageUtils.getPageReturn(null, invoiceBillMappingQueryVO));  
70 - }  
71 -  
72 - /**  
73 - * 新增数据  
74 - *  
75 - * @param invoiceBillMappingVO 实例对象  
76 - * @return 实例对象  
77 - */  
78 - @Override  
79 - public ServerResult add(InvoiceBillMappingVO invoiceBillMappingVO) {  
80 - //todo 校验  
81 - if (Objects.nonNull(invoiceBillMappingVO.getId())) {  
82 - invoiceBillMappingVO.setId(null);  
83 - }  
84 - InvoiceBillMappingDO invoiceBillMappingDo = BeanUtil.copyProperties(invoiceBillMappingVO, InvoiceBillMappingDO.class);  
85 -  
86 - save(invoiceBillMappingDo);  
87 -  
88 - return ServerResult.success();  
89 - }  
90 -  
91 - /**  
92 - * 修改数据  
93 - *  
94 - * @param invoiceBillMappingVO 实例对象  
95 - * @return 实例对象  
96 - */  
97 - @Override  
98 - public ServerResult edit(InvoiceBillMappingVO invoiceBillMappingVO) {  
99 - //todo 校验  
100 - if (Objects.isNull(invoiceBillMappingVO.getId())) {  
101 - return ServerResult.fail("id 不能为空");  
102 - }  
103 - InvoiceBillMappingDO invoiceBillMappingDo = BeanUtil.copyProperties(invoiceBillMappingVO, InvoiceBillMappingDO.class);  
104 -  
105 - updateById(invoiceBillMappingDo);  
106 -  
107 - return ServerResult.success();  
108 - }  
109 -  
110 - /**  
111 - * 通过主键删除数据  
112 - *  
113 - * @param invoiceBillMappingQueryVO 筛选条件  
114 - * @return 是否成功  
115 - */  
116 - @Override  
117 - public ServerResult deleteById(InvoiceBillMappingQueryVO invoiceBillMappingQueryVO) {  
118 - List<Long> ids = invoiceBillMappingQueryVO.getIds();  
119 - if (CollUtil.isEmpty(ids)) {  
120 - return ServerResult.fail("ids 参数不能为空");  
121 - }  
122 - List<InvoiceBillMappingDO> invoiceBillMappingList = listByIds(ids);  
123 - if (CollUtil.isEmpty(invoiceBillMappingList)) {  
124 - return ServerResult.success();  
125 - }  
126 - //todo 校验是否可以逻辑删除  
127 - LambdaUpdateWrapper<InvoiceBillMappingDO> updateWrapper = new LambdaUpdateWrapper<InvoiceBillMappingDO>()  
128 - .in(InvoiceBillMappingDO::getId, ids)  
129 - .set(InvoiceBillMappingDO::getEnableFlag, Constant.UNABLE_TWENTY);  
130 - update(updateWrapper);  
131 - return ServerResult.success();  
132 - }  
133 -}  
src/main/java/com/order/erp/service/order/impl/InvoiceBillOrderServiceImpl.java deleted 100644 → 0
1 -package com.order.erp.service.order.impl;  
2 -  
3 -import cn.hutool.core.collection.CollUtil;  
4 -import com.alibaba.fastjson.JSONObject;  
5 -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;  
6 -import com.baomidou.mybatisplus.core.metadata.IPage;  
7 -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;  
8 -import com.baomidou.mybatisplus.extension.plugins.pagination.Page;  
9 -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;  
10 -import com.github.stupdit1t.excel.common.PoiWorkbookType;  
11 -import com.github.stupdit1t.excel.core.ExcelHelper;  
12 -import com.github.stupdit1t.excel.style.CellPosition;  
13 -import com.order.erp.common.constant.Constant;  
14 -import com.order.erp.common.constant.ServerResult;  
15 -import com.order.erp.common.constant.ServerResultCode;  
16 -import com.order.erp.common.exception.BusinessException;  
17 -import com.order.erp.common.utils.DateUtils;  
18 -import com.order.erp.common.utils.StringUtils;  
19 -import com.order.erp.common.utils.TransactionHelper;  
20 -import com.order.erp.config.DataScope;  
21 -import com.order.erp.domain.ApplyStatusEnum;  
22 -import com.order.erp.domain.ApplyTypeEnum;  
23 -import com.order.erp.domain.RoleEnum;  
24 -import com.order.erp.domain.dto.BaseDO;  
25 -import com.order.erp.domain.dto.SystemSettingDO;  
26 -import com.order.erp.domain.dto.order.*;  
27 -import com.order.erp.domain.vo.order.*;  
28 -import com.order.erp.mapper.order.InvoiceBillOrderMapper;  
29 -import com.order.erp.service.SystemSettingService;  
30 -import com.order.erp.service.order.*;  
31 -import lombok.extern.slf4j.Slf4j;  
32 -import org.springframework.beans.BeanUtils;  
33 -import org.springframework.stereotype.Service;  
34 -  
35 -import javax.annotation.Resource;  
36 -import javax.servlet.http.HttpServletResponse;  
37 -import java.io.IOException;  
38 -import java.math.BigDecimal;  
39 -import java.time.LocalDateTime;  
40 -import java.util.*;  
41 -import java.util.function.Function;  
42 -import java.util.stream.Collectors;  
43 -  
44 -/**  
45 - * 应收款账单表(InvoiceBillOrder)表服务实现类  
46 - *  
47 - * @author makejava  
48 - * @since 2024-08-05 16:26:34  
49 - */  
50 -@Slf4j  
51 -@Service  
52 -public class InvoiceBillOrderServiceImpl extends ServiceImpl<InvoiceBillOrderMapper, InvoiceBillOrderDO> implements InvoiceBillOrderService {  
53 -  
54 -  
55 - @Resource  
56 - private OrderBaseInfoService orderBaseInfoService;  
57 -  
58 - @Resource  
59 - private OrderProfitAnalysisService profitAnalysisService;  
60 -  
61 - @Resource  
62 - private InvoiceBillMappingService invoiceBillMappingService;  
63 -  
64 - @Resource  
65 - private OrderFieldLockApplyService orderFieldLockApplyService;  
66 -  
67 - @Resource  
68 - private SystemSettingService systemSettingService;  
69 -  
70 - @Resource  
71 - private DataScope dataScope;  
72 -  
73 - @Resource  
74 - private TransactionHelper transactionHelper;  
75 -  
76 -  
77 - /**  
78 - * 分页查询  
79 - *  
80 - * @param queryVO 筛选条件  
81 - * @return 查询结果  
82 - */  
83 - @Override  
84 - public ServerResult listByPage(InvoiceBillOrderQueryVO queryVO) {  
85 - LambdaQueryWrapper<InvoiceBillOrderDO> queryWrapper = getQueryWrapper(queryVO);  
86 - Page page = new Page<>(queryVO.getPage(), queryVO.getPageSize());  
87 - IPage<InvoiceBillOrderDO> iPage = page(page, queryWrapper);  
88 - return ServerResult.success(iPage);  
89 - }  
90 -  
91 - /**  
92 - * @param queryVO  
93 - * @return  
94 - */  
95 - private LambdaQueryWrapper<InvoiceBillOrderDO> getQueryWrapper(InvoiceBillOrderQueryVO queryVO) {  
96 - LambdaQueryWrapper<InvoiceBillOrderDO> queryWrapper = new LambdaQueryWrapper<InvoiceBillOrderDO>()  
97 - .eq(InvoiceBillOrderDO::getEnableFlag, Constant.ENABLE_TEN)  
98 - .eq(StringUtils.isNotBlank(queryVO.getInvoiceNo()), InvoiceBillOrderDO::getInvoiceNo, queryVO.getInvoiceNo())  
99 - .eq(Objects.nonNull(queryVO.getStatus()), InvoiceBillOrderDO::getStatus, queryVO.getStatus())  
100 - .ge(StringUtils.isNotBlank(queryVO.getStartTime()), InvoiceBillOrderDO::getCreateTime, queryVO.getStartTime())  
101 - .le(StringUtils.isNotBlank(queryVO.getEndTime()), InvoiceBillOrderDO::getCreateTime, queryVO.getEndTime())  
102 - .orderByDesc(InvoiceBillOrderDO::getId);  
103 - if (CollectionUtils.isNotEmpty(queryVO.getIds())) {  
104 - queryWrapper.in(InvoiceBillOrderDO::getId, queryVO.getIds());  
105 - } else {  
106 - Set<Long> billOrderIds = filterBillOrderIdsBy(queryVO);  
107 - queryWrapper.in(CollectionUtils.isNotEmpty(billOrderIds), InvoiceBillOrderDO::getId, billOrderIds);  
108 - }  
109 - return queryWrapper;  
110 - }  
111 -  
112 - @Override  
113 - public ServerResult listBaseOrderInfoBy(InvoiceBaseOrderQueryVO queryVO) {  
114 - List<InvoiceBillMappingDO> mappingDOS = invoiceBillMappingService.list(new LambdaQueryWrapper<InvoiceBillMappingDO>()  
115 - .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)  
116 - .eq(InvoiceBillMappingDO::getInvoiceNo, queryVO.getInvoiceNo()));  
117 - if (CollectionUtils.isEmpty(mappingDOS)) {  
118 - return ServerResult.success();  
119 - }  
120 - Set<Long> orderIds = mappingDOS.stream().map(InvoiceBillMappingDO::getOrderId).collect(Collectors.toSet());  
121 - return ServerResult.success(orderBaseInfoService.listByIds(orderIds));  
122 - }  
123 -  
124 - @Override  
125 - public ServerResult listAnalysisBy(InvoiceBillAnalysisVO queryVO) {  
126 - return ServerResult.success(getAnalysisResult(queryVO));  
127 - }  
128 -  
129 - @Override  
130 - public ServerResult export(HttpServletResponse response, InvoiceBillAnalysisVO queryVO) throws IOException {  
131 - InvoiceBillAnalysisResultVO resultVO = getAnalysisResult(queryVO);  
132 - if (Objects.isNull(resultVO)) {  
133 - throw new BusinessException("数据为空,不能导出!");  
134 - }  
135 - List<Map<String, Object>> list = buildExportMapVOS(resultVO);  
136 - if (CollectionUtils.isNotEmpty(list)) {  
137 - List<String> keys = new ArrayList<>(list.get(Constant.ZERO).keySet());  
138 -  
139 - ExcelHelper.opsExport(PoiWorkbookType.XLSX)  
140 - .opsSheet(list)  
141 - .opsHeader().simple().texts(keys).done()  
142 - .opsColumn().fields(keys).done()  
143 - .height(CellPosition.CELL, 750)  
144 - .done()  
145 - .export(response.getOutputStream());  
146 - }  
147 - return ServerResult.success();  
148 - }  
149 -  
150 - /**  
151 - * @param resultVO  
152 - * @return  
153 - */  
154 - private List<Map<String, Object>> buildExportMapVOS(InvoiceBillAnalysisResultVO resultVO) throws IOException {  
155 - List<InvoiceBillAnalysisExportVO> exportVOS = resultVO.getExportVOS();  
156 - List<Map<String, Object>> list = new ArrayList<>();  
157 - int i = 0;  
158 - for (InvoiceBillAnalysisExportVO exportVO : exportVOS) {  
159 - Map<String, Object> map = new LinkedHashMap<>();  
160 - map.put("编号", i++);  
161 - map.put("客户编码", exportVO.getCustomerCode());  
162 - map.put("INVOICE编码", exportVO.getInvoiceNo());  
163 - map.put("客户总金额汇总", exportVO.getCustomerTotalPrice());  
164 - map.put("客户扣款金额汇总", exportVO.getDeductAmount());  
165 - map.put("实际应收金额", exportVO.getActualReceivableAmount());  
166 - map.put("实际收款金额汇总", exportVO.getActualPayedAmount());  
167 - map.put("其他费用金额汇总", exportVO.getOtherAmount());  
168 - map.put("其他费用合计", exportVO.getOtherTotalAmount());  
169 - map.put("必须回款日期", exportVO.getBackRefundDate());  
170 - map.put("实际回款日期", exportVO.getActualRefundDate());  
171 - list.add(map);  
172 - }  
173 - Map<String, Object> map = new LinkedHashMap<>();  
174 - map.put("编号", "合计");  
175 - map.put("客户编码", "");  
176 - map.put("INVOICE编码", "");  
177 - map.put("客户总金额汇总", resultVO.getCustomerTotalPrice());  
178 - map.put("客户扣款金额汇总", resultVO.getDeductAmount());  
179 - map.put("实际应收金额", resultVO.getActualReceivableAmount());  
180 - map.put("实际收款金额汇总", resultVO.getActualPayedAmount());  
181 - map.put("其他费用金额汇总", resultVO.getOtherAmount());  
182 - map.put("其他费用合计", resultVO.getOtherTotalAmount());  
183 - map.put("必须回款日期", "");  
184 - map.put("实际回款日期", "");  
185 - list.add(map);  
186 - return list;  
187 - }  
188 -  
189 - /**  
190 - * @param queryVO  
191 - * @return  
192 - */  
193 - private InvoiceBillAnalysisResultVO getAnalysisResult(InvoiceBillAnalysisVO queryVO) {  
194 - LambdaQueryWrapper<InvoiceBillOrderDO> queryWrapper = getQueryWrapper(queryVO);  
195 - List<InvoiceBillOrderDO> invoiceBillOrderDOS = list(queryWrapper);  
196 - if (CollectionUtils.isEmpty(invoiceBillOrderDOS)) {  
197 - return null;  
198 - }  
199 - Set<Long> ids = invoiceBillOrderDOS.stream().map(InvoiceBillOrderDO::getId).collect(Collectors.toSet());  
200 - List<InvoiceBillMappingDO> invoiceBillMappingDOS = invoiceBillMappingService.list(new LambdaQueryWrapper<InvoiceBillMappingDO>().eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN).in(InvoiceBillMappingDO::getInvoiceBillId, ids));  
201 - if (CollectionUtils.isEmpty(invoiceBillMappingDOS)) {  
202 - return null;  
203 - }  
204 - Map<Long, InvoiceBillMappingDO> orderBillMap = invoiceBillMappingDOS.stream().collect(Collectors.toMap(InvoiceBillMappingDO::getOrderId, Function.identity(), (x, y) -> x));  
205 - List<InvoiceOrderBaseItemVO> itemVOS = getInvoiceOrderBaseItems(orderBillMap);  
206 - Map<String, InvoiceBillOrderDO> invoiceBillOrderDOMap = invoiceBillOrderDOS.stream().collect(Collectors.toMap(InvoiceBillOrderDO::getInvoiceNo, Function.identity(), (x, y) -> x));  
207 - Map<String, List<InvoiceOrderBaseItemVO>> baseItemMap = itemVOS.stream().collect(Collectors.groupingBy(InvoiceOrderBaseItemVO::getInvoiceCode));  
208 - List<InvoiceBillAnalysisExportVO> exportVOS = wrapperAnalysisExport(invoiceBillOrderDOMap, baseItemMap);  
209 - return wrapperAnalysisResultVO(exportVOS);  
210 - }  
211 -  
212 - /**  
213 - * @param exportVOS  
214 - * @return  
215 - */  
216 - private InvoiceBillAnalysisResultVO wrapperAnalysisResultVO(List<InvoiceBillAnalysisExportVO> exportVOS) {  
217 - if (CollectionUtils.isEmpty(exportVOS)) {  
218 - return null;  
219 - }  
220 - InvoiceBillAnalysisResultVO resultVO = InvoiceBillAnalysisResultVO.builder().exportVOS(exportVOS).build();  
221 - BigDecimal customerTotalPrice = new BigDecimal(Constant.ZERO);  
222 - BigDecimal deductAmount = new BigDecimal(Constant.ZERO);  
223 - BigDecimal actualReceivableAmount = new BigDecimal(Constant.ZERO);  
224 - BigDecimal actualPayedAmount = new BigDecimal(Constant.ZERO);  
225 - BigDecimal otherAmount = new BigDecimal(Constant.ZERO);  
226 - BigDecimal otherTotalAmount = new BigDecimal(Constant.ZERO);  
227 - for (InvoiceBillAnalysisExportVO exportVO : exportVOS) {  
228 - if (Objects.nonNull(exportVO.getCustomerTotalPrice())) {  
229 - customerTotalPrice = customerTotalPrice.add(exportVO.getCustomerTotalPrice());  
230 - }  
231 - if (Objects.nonNull(exportVO.getDeductAmount())) {  
232 - deductAmount = deductAmount.add(exportVO.getDeductAmount());  
233 - }  
234 - if (Objects.nonNull(exportVO.getActualReceivableAmount())) {  
235 - actualReceivableAmount = actualReceivableAmount.add(exportVO.getActualReceivableAmount());  
236 - }  
237 - if (Objects.nonNull(exportVO.getActualPayedAmount())) {  
238 - actualPayedAmount = actualPayedAmount.add(exportVO.getActualPayedAmount());  
239 - }  
240 - if (Objects.nonNull(exportVO.getOtherAmount())) {  
241 - otherAmount = customerTotalPrice.add(exportVO.getOtherAmount());  
242 - }  
243 - if (Objects.nonNull(exportVO.getOtherTotalAmount())) {  
244 - otherTotalAmount = otherTotalAmount.add(exportVO.getOtherTotalAmount());  
245 - }  
246 - }  
247 - resultVO.setCustomerTotalPrice(customerTotalPrice);  
248 - resultVO.setDeductAmount(deductAmount);  
249 - resultVO.setActualReceivableAmount(actualReceivableAmount);  
250 - resultVO.setActualPayedAmount(actualPayedAmount);  
251 - resultVO.setOtherAmount(otherAmount);  
252 - resultVO.setOtherTotalAmount(otherTotalAmount);  
253 - return resultVO;  
254 - }  
255 -  
256 - /**  
257 - * @param invoiceBillOrderDOMap  
258 - * @param baseItemMap  
259 - * @return  
260 - */  
261 - private List<InvoiceBillAnalysisExportVO> wrapperAnalysisExport(Map<String, InvoiceBillOrderDO> invoiceBillOrderDOMap, Map<String, List<InvoiceOrderBaseItemVO>> baseItemMap) {  
262 - if (CollectionUtils.isEmpty(invoiceBillOrderDOMap)) {  
263 - return Collections.emptyList();  
264 - }  
265 - List<InvoiceBillAnalysisExportVO> results = new ArrayList<>();  
266 - for (Map.Entry<String, InvoiceBillOrderDO> entry : invoiceBillOrderDOMap.entrySet()) {  
267 - InvoiceBillOrderDO invoiceBillOrderDO = entry.getValue();  
268 - List<InvoiceBillAnalysisExportVO> exportVOS = transfer2analysisExportVO(invoiceBillOrderDO, baseItemMap);  
269 - if (CollectionUtils.isNotEmpty(exportVOS)) {  
270 - results.addAll(exportVOS);  
271 - }  
272 - }  
273 - return results;  
274 - }  
275 -  
276 - /**  
277 - * @param invoiceBillOrderDO  
278 - * @param baseItemMap  
279 - * @return  
280 - */  
281 - private List<InvoiceBillAnalysisExportVO> transfer2analysisExportVO(InvoiceBillOrderDO invoiceBillOrderDO, Map<String, List<InvoiceOrderBaseItemVO>> baseItemMap) {  
282 - List<InvoiceBillAnalysisExportVO> results = new ArrayList<>();  
283 - String invoiceNo = invoiceBillOrderDO.getInvoiceNo();  
284 - if (baseItemMap.containsKey(invoiceNo)) {  
285 - List<InvoiceOrderBaseItemVO> baseItemVOS = baseItemMap.get(invoiceNo);  
286 - Map<String, List<InvoiceOrderBaseItemVO>> listMap = baseItemVOS.stream().collect(Collectors.groupingBy(InvoiceOrderBaseItemVO::getCustomerCode));  
287 - for (Map.Entry<String, List<InvoiceOrderBaseItemVO>> entry : listMap.entrySet()) {  
288 - String customerCode = entry.getKey();  
289 - List<InvoiceOrderBaseItemVO> itemVOS = entry.getValue();  
290 - InvoiceBillAnalysisExportVO exportVO = buildAnalysisExportVO(invoiceBillOrderDO);  
291 - exportVO.setCustomerCode(customerCode);  
292 - if (CollectionUtils.isEmpty(itemVOS)) {  
293 - exportVO.setCustomerTotalPrice(new BigDecimal(Constant.ZERO));  
294 - } else {  
295 - BigDecimal customerTotalPrice = new BigDecimal(Constant.ZERO);  
296 - for (InvoiceOrderBaseItemVO itemVO : itemVOS) {  
297 - customerTotalPrice = customerTotalPrice.add(Objects.nonNull(itemVO.getCustomerTotalPrice()) ? itemVO.getCustomerTotalPrice() : new BigDecimal(Constant.ZERO));  
298 - }  
299 - exportVO.setCustomerTotalPrice(customerTotalPrice);  
300 - }  
301 - results.add(exportVO);  
302 - }  
303 - }  
304 - return results;  
305 - }  
306 -  
307 - /**  
308 - * @param invoiceBillOrderDO  
309 - * @return  
310 - */  
311 - private InvoiceBillAnalysisExportVO buildAnalysisExportVO(InvoiceBillOrderDO invoiceBillOrderDO) {  
312 - InvoiceBillAnalysisExportVO exportVO = new InvoiceBillAnalysisExportVO();  
313 - BeanUtils.copyProperties(invoiceBillOrderDO, exportVO);  
314 - BigDecimal actualPayedAmount = new BigDecimal(Constant.ZERO);  
315 - if (Objects.nonNull(invoiceBillOrderDO.getActualPayedAmount1())) {  
316 - actualPayedAmount = actualPayedAmount.add(invoiceBillOrderDO.getActualPayedAmount1());  
317 - }  
318 - if (Objects.nonNull(invoiceBillOrderDO.getActualPayedAmount2())) {  
319 - actualPayedAmount = actualPayedAmount.add(invoiceBillOrderDO.getActualPayedAmount2());  
320 - }  
321 - if (Objects.nonNull(invoiceBillOrderDO.getActualPayedAmount3())) {  
322 - actualPayedAmount = actualPayedAmount.add(invoiceBillOrderDO.getActualPayedAmount3());  
323 - }  
324 - exportVO.setActualPayedAmount(actualPayedAmount);  
325 - BigDecimal otherAmount = (Objects.nonNull(invoiceBillOrderDO.getActualReceivableAmount()) ? invoiceBillOrderDO.getActualReceivableAmount() : new BigDecimal(Constant.ZERO))  
326 - .subtract(exportVO.getActualPayedAmount());  
327 - exportVO.setOtherAmount(otherAmount);  
328 - BigDecimal otherTotalAmount = (Objects.nonNull(invoiceBillOrderDO.getActualReceivableAmount()) ? invoiceBillOrderDO.getActualReceivableAmount() : new BigDecimal(Constant.ZERO))  
329 - .subtract(exportVO.getActualPayedAmount()).subtract(otherAmount);  
330 - exportVO.setOtherTotalAmount(otherTotalAmount);  
331 - return exportVO;  
332 - }  
333 -  
334 - /**  
335 - * @param mappingDOMap  
336 - * @return  
337 - */  
338 - private List<InvoiceOrderBaseItemVO> getInvoiceOrderBaseItems(Map<Long, InvoiceBillMappingDO> mappingDOMap) {  
339 - Set<Long> orderIds = mappingDOMap.keySet();  
340 - List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.listByIds(orderIds);  
341 - List<OrderProfitAnalysisDO> profitAnalysisDOS = profitAnalysisService.list(new LambdaQueryWrapper<OrderProfitAnalysisDO>().eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN).in(OrderProfitAnalysisDO::getOrderId, orderIds));  
342 - Map<Long, OrderBaseInfoDO> orderBaseInfoDOMap = orderBaseInfoDOList.stream().collect(Collectors.toMap(OrderBaseInfoDO::getId, Function.identity(), (x, y) -> x));  
343 - Map<Long, OrderProfitAnalysisDO> profitAnalysisDOMap = profitAnalysisDOS.stream().collect(Collectors.toMap(OrderProfitAnalysisDO::getOrderId, Function.identity(), (x, y) -> x));  
344 - List<InvoiceOrderBaseItemVO> baseItemVOS = new ArrayList<>();  
345 - for (Map.Entry<Long, OrderBaseInfoDO> entry : orderBaseInfoDOMap.entrySet()) {  
346 - Long orderId = entry.getKey();  
347 - OrderBaseInfoDO baseInfoDO = entry.getValue();  
348 - InvoiceOrderBaseItemVO itemVO = InvoiceOrderBaseItemVO.builder()  
349 - .orderId(orderId)  
350 - .customerCode(baseInfoDO.getCustomerCode())  
351 - .build();  
352 - if (profitAnalysisDOMap.containsKey(orderId)) {  
353 - OrderProfitAnalysisDO profitAnalysisDO = profitAnalysisDOMap.get(orderId);  
354 - itemVO.setCustomerTotalPrice(Objects.isNull(profitAnalysisDO.getCustomerTotalPrice()) ? new BigDecimal(Constant.ZERO) : new BigDecimal(profitAnalysisDO.getCustomerTotalPrice()));  
355 - } else {  
356 - itemVO.setCustomerTotalPrice(new BigDecimal(Constant.ZERO));  
357 - }  
358 -  
359 - if (mappingDOMap.containsKey(orderId)) {  
360 - InvoiceBillMappingDO mappingDO = mappingDOMap.get(orderId);  
361 - itemVO.setInvoiceCode(mappingDO.getInvoiceNo());  
362 - }  
363 - baseItemVOS.add(itemVO);  
364 - }  
365 - return baseItemVOS;  
366 - }  
367 -  
368 - /**  
369 - * @param queryVO  
370 - * @return  
371 - */  
372 - private Set<Long> filterBillOrderIdsBy(InvoiceBillOrderQueryVO queryVO) {  
373 - List<Long> orderIds = filterOrderIdsBy(queryVO);  
374 - if (CollectionUtils.isEmpty(orderIds)) {  
375 - return null;  
376 - }  
377 - List<InvoiceBillMappingDO> mappingDOS = invoiceBillMappingService.list(new LambdaQueryWrapper<InvoiceBillMappingDO>().eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)  
378 - .in(CollectionUtils.isNotEmpty(orderIds), InvoiceBillMappingDO::getOrderId, orderIds));  
379 - if (CollectionUtils.isEmpty(mappingDOS)) {  
380 - Set<Long> ids = new HashSet<>();  
381 - ids.add(-1L);  
382 - return ids;  
383 - }  
384 - return mappingDOS.stream().map(InvoiceBillMappingDO::getInvoiceBillId).collect(Collectors.toSet());  
385 - }  
386 -  
387 - /**  
388 - * @param queryVO  
389 - * @return  
390 - */  
391 - private List<Long> filterOrderIdsBy(InvoiceBillOrderQueryVO queryVO) {  
392 - Boolean flag = false;  
393 - if (StringUtils.isNotBlank(queryVO.getCustomerCode())) {  
394 - flag = flag | true;  
395 - }  
396 - if (StringUtils.isNotBlank(queryVO.getProductionDepartment())) {  
397 - flag = flag | true;  
398 - }  
399 - if (StringUtils.isNotBlank(queryVO.getCustomerPo())) {  
400 - flag = flag | true;  
401 - }  
402 - if (StringUtils.isNotBlank(queryVO.getInnerNo())) {  
403 - flag = flag | true;  
404 - }  
405 - if (StringUtils.isNotBlank(queryVO.getProjectNo())) {  
406 - flag = flag | true;  
407 - }  
408 - if (!flag) {  
409 - return null;  
410 - }  
411 - LambdaQueryWrapper<OrderBaseInfoDO> queryWrapper = new LambdaQueryWrapper<OrderBaseInfoDO>()  
412 - .eq(OrderBaseInfoDO::getEnableFlag, Constant.ENABLE_TEN)  
413 - .eq(StringUtils.isNotBlank(queryVO.getCustomerCode()), OrderBaseInfoDO::getCustomerCode, queryVO.getCustomerCode())  
414 - .eq(StringUtils.isNotBlank(queryVO.getProductionDepartment()), OrderBaseInfoDO::getProductionDepartment, queryVO.getProductionDepartment())  
415 - .eq(StringUtils.isNotBlank(queryVO.getCustomerPo()), OrderBaseInfoDO::getCustomerPo, queryVO.getCustomerPo())  
416 - .eq(StringUtils.isNotBlank(queryVO.getInnerNo()), OrderBaseInfoDO::getInnerNo, queryVO.getInnerNo())  
417 - .eq(StringUtils.isNotBlank(queryVO.getProjectNo()), OrderBaseInfoDO::getProjectNo, queryVO.getProjectNo());  
418 - List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.list(queryWrapper);  
419 - if (CollectionUtils.isEmpty(orderBaseInfoDOList)) {  
420 - List<Long> orderIds = new ArrayList<>();  
421 - orderIds.add(-1L);  
422 - return orderIds;  
423 - }  
424 - return orderBaseInfoDOList.stream().map(OrderBaseInfoDO::getId).collect(Collectors.toList());  
425 - }  
426 -  
427 - /**  
428 - * 创建invoice单据  
429 - *  
430 - * @param createVO 实例对象  
431 - * @return 实例对象  
432 - */  
433 - @Override  
434 - public ServerResult create(InvoiceBillCreateVO createVO) {  
435 - if (Objects.nonNull(createVO.getId())) {  
436 - createVO.setId(null);  
437 - }  
438 -  
439 - validaBillOrder(createVO);  
440 -  
441 - InvoiceBillOrderDO invoiceBillOrderDO = buildInvoiceBillOrderDO(createVO);  
442 -  
443 - transactionHelper.run(() -> {  
444 - save(invoiceBillOrderDO);  
445 -  
446 - invoiceBillMappingService.saveBatch(buildInvoiceBillMappingDOS(createVO, invoiceBillOrderDO));  
447 - });  
448 -  
449 - return ServerResult.success();  
450 - }  
451 -  
452 - @Override  
453 - public ServerResult getBackRefundDate(InvoiceBillCreateVO createVO) {  
454 - List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.listByIds(createVO.getOrderIds());  
455 - if (CollectionUtils.isEmpty(orderBaseInfoDOList)) {  
456 - throw new BusinessException("勾选的订单信息不存在!");  
457 - }  
458 -  
459 - InvoiceHoldTimeItemVO invoiceHoldTimeItemVO = getCustomerHoldTime(orderBaseInfoDOList);  
460 -  
461 - return ServerResult.success(calculateBackRefundDate(invoiceHoldTimeItemVO));  
462 - }  
463 -  
464 - /**  
465 - * @param invoiceHoldTimeItemVO  
466 - * @return  
467 - */  
468 - private String calculateBackRefundDate(InvoiceHoldTimeItemVO invoiceHoldTimeItemVO) {  
469 - Integer holdDays = getHoldTimeByCustomerCode(invoiceHoldTimeItemVO.getCustomerCode());  
470 - LocalDateTime holdTime = DateUtils.parse(invoiceHoldTimeItemVO.getHoldTime(), DateUtils.DATE_TIME).plusDays(holdDays);  
471 - return DateUtils.format(holdTime, DateUtils.DATE);  
472 - }  
473 -  
474 - /**  
475 - * @param customerCode  
476 - * @return  
477 - */  
478 - private Integer getHoldTimeByCustomerCode(String customerCode) {  
479 - SystemSettingDO systemSettingDO = systemSettingService.getOne(new LambdaQueryWrapper<SystemSettingDO>().eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)  
480 - .eq(SystemSettingDO::getSettingCode, "customerCode").eq(SystemSettingDO::getSettingValue, customerCode)  
481 - .eq(SystemSettingDO::getRelationCode, "orderHodTime").last("limit 1"));  
482 - if (Objects.isNull(systemSettingDO)) {  
483 - return Constant.ZERO;  
484 - }  
485 - String holdTime = systemSettingDO.getRelationValue();  
486 - return StringUtils.isBlank(holdTime) ? Constant.ZERO : Integer.parseInt(holdTime);  
487 - }  
488 -  
489 - /**  
490 - * @param orderBaseInfoDOList  
491 - * @return  
492 - */  
493 - private InvoiceHoldTimeItemVO getCustomerHoldTime(List<OrderBaseInfoDO> orderBaseInfoDOList) {  
494 - if (CollectionUtils.isEmpty(orderBaseInfoDOList)) {  
495 - return null;  
496 - }  
497 -  
498 - Map<String, OrderBaseInfoDO> holdTimeMap = new HashMap<String, OrderBaseInfoDO>();  
499 - String maxHoldTime = null;  
500 - for (OrderBaseInfoDO baseInfoDO : orderBaseInfoDOList) {  
501 - if (StringUtils.isNotBlank(baseInfoDO.getOrderHodTime())) {  
502 - holdTimeMap.put(baseInfoDO.getOrderHodTime(), baseInfoDO);  
503 - if (StringUtils.isBlank(maxHoldTime)) {  
504 - maxHoldTime = baseInfoDO.getOrderHodTime();  
505 - } else if (maxHoldTime.compareTo(baseInfoDO.getOrderHodTime()) <= 0) {  
506 - maxHoldTime = baseInfoDO.getOrderHodTime();  
507 - }  
508 - }  
509 - }  
510 - if (StringUtils.isBlank(maxHoldTime)) {  
511 - return null;  
512 - }  
513 - InvoiceHoldTimeItemVO itemVO = new InvoiceHoldTimeItemVO();  
514 - if (holdTimeMap.containsKey(maxHoldTime)) {  
515 - OrderBaseInfoDO baseInfoDO = holdTimeMap.get(maxHoldTime);  
516 - itemVO.setCustomerCode(baseInfoDO.getCustomerCode());  
517 - itemVO.setHoldTime(maxHoldTime);  
518 - itemVO.setBaseInfoDO(baseInfoDO);  
519 - }  
520 - return itemVO;  
521 - }  
522 -  
523 - /**  
524 - * @param createVO  
525 - * @return  
526 - */  
527 - private InvoiceBillOrderDO buildInvoiceBillOrderDO(InvoiceBillCreateVO createVO) {  
528 - return InvoiceBillOrderDO.builder()  
529 - .invoiceNo(createVO.getInvoiceNo())  
530 - .bgUrl(createVO.getBgUrl())  
531 - .backRefundDate(createVO.getBackRefundDate())  
532 - .status(ApplyStatusEnum.NO_COMMIT.getStatus())  
533 - .build();  
534 - }  
535 -  
536 - /**  
537 - * @param createVO  
538 - * @param invoiceBillOrderDO  
539 - * @return  
540 - */  
541 - private List<InvoiceBillMappingDO> buildInvoiceBillMappingDOS(InvoiceBillCreateVO createVO, InvoiceBillOrderDO invoiceBillOrderDO) {  
542 - return createVO.getOrderIds().stream().map(x -> {  
543 - return InvoiceBillMappingDO.builder()  
544 - .orderId(x)  
545 - .invoiceBillId(invoiceBillOrderDO.getId())  
546 - .invoiceNo(invoiceBillOrderDO.getInvoiceNo())  
547 - .build();  
548 - }).collect(Collectors.toList());  
549 - }  
550 -  
551 - /**  
552 - * @param createVO  
553 - */  
554 - private void validaBillOrder(InvoiceBillCreateVO createVO) {  
555 - if (CollectionUtils.isEmpty(createVO.getOrderIds())) {  
556 - throw new BusinessException("请勾选订单!");  
557 - }  
558 -  
559 - List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.listByIds(createVO.getOrderIds());  
560 - if (CollectionUtils.isEmpty(orderBaseInfoDOList)) {  
561 - throw new BusinessException("勾选的订单信息不存在!");  
562 - }  
563 -  
564 - if (orderBaseInfoDOList.size() != createVO.getOrderIds().size()) {  
565 - throw new BusinessException("勾选的订单信息有误!");  
566 - }  
567 -  
568 - String invoiceNo = createVO.getInvoiceNo();  
569 -  
570 - List<InvoiceBillOrderDO> invoiceBillOrderDOS = list(new LambdaQueryWrapper<InvoiceBillOrderDO>()  
571 - .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)  
572 - .eq(InvoiceBillOrderDO::getInvoiceNo, invoiceNo));  
573 - if (CollectionUtils.isNotEmpty(invoiceBillOrderDOS)) {  
574 - throw new BusinessException("存在相同的invoice订单!");  
575 - }  
576 -  
577 - List<InvoiceBillMappingDO> invoiceBillMappingDOList = invoiceBillMappingService.list(new LambdaQueryWrapper<InvoiceBillMappingDO>().eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN).in(InvoiceBillMappingDO::getOrderId, createVO.getOrderIds()));  
578 - if (CollectionUtils.isNotEmpty(invoiceBillMappingDOList)) {  
579 - throw new BusinessException("该勾选的订单已经绑定其他账单了!");  
580 - }  
581 - }  
582 -  
583 - /**  
584 - * 修改数据  
585 - *  
586 - * @param deductInfoVO 实例对象  
587 - * @return 实例对象  
588 - */  
589 - @Override  
590 - public ServerResult updateDeductInfo(InvoiceBillDeductInfoVO deductInfoVO) {  
591 - if (Objects.isNull(deductInfoVO.getId())) {  
592 - throw new BusinessException("id 不能为空");  
593 - }  
594 - InvoiceBillOrderDO invoiceBillOrderDo = getById(deductInfoVO.getId());  
595 - if (Objects.isNull(invoiceBillOrderDo)) {  
596 - throw new BusinessException("应收款单据不存在");  
597 - }  
598 -  
599 - checkCommitApply(invoiceBillOrderDo.getId());  
600 -  
601 - invoiceBillOrderDo.setDeductUrl(deductInfoVO.getDeductUrl());  
602 - invoiceBillOrderDo.setDeductAmount(deductInfoVO.getDeductAmount());  
603 - updateById(invoiceBillOrderDo);  
604 - return ServerResult.success();  
605 - }  
606 -  
607 - @Override  
608 - public ServerResult updateAmountInfo(InvoiceBillAmountInfoVO amountInfoVO) {  
609 - if (Objects.isNull(amountInfoVO.getId())) {  
610 - throw new BusinessException("id 不能为空");  
611 - }  
612 - InvoiceBillOrderDO invoiceBillOrderDo = getById(amountInfoVO.getId());  
613 - if (Objects.isNull(invoiceBillOrderDo)) {  
614 - throw new BusinessException("应收款单据不存在");  
615 - }  
616 -  
617 - checkCommitApply(invoiceBillOrderDo.getId());  
618 -  
619 - invoiceBillOrderDo.setBgUrl(amountInfoVO.getBgUrl());  
620 - invoiceBillOrderDo.setActualReceivableAmount(amountInfoVO.getActualReceivableAmount());  
621 - invoiceBillOrderDo.setActualPayedAmount1(amountInfoVO.getActualPayedAmount1());  
622 - invoiceBillOrderDo.setActualPayedAmount2(amountInfoVO.getActualPayedAmount2());  
623 - invoiceBillOrderDo.setActualPayedAmount3(amountInfoVO.getActualPayedAmount3());  
624 - invoiceBillOrderDo.setOtherAmount(amountInfoVO.getOtherAmount());  
625 - updateById(invoiceBillOrderDo);  
626 - return ServerResult.success();  
627 - }  
628 -  
629 - /**  
630 - * @param id  
631 - */  
632 - private void checkCommitApply(Long id) {  
633 - OrderFieldLockApplyDO applyDO = orderFieldLockApplyService.getOne(new LambdaQueryWrapper<OrderFieldLockApplyDO>()  
634 - .eq(OrderFieldLockApplyDO::getEnableFlag, Constant.ENABLE_TEN)  
635 - .eq(OrderFieldLockApplyDO::getStatus, ApplyStatusEnum.WAIT_AUDIT.getStatus())  
636 - .eq(OrderFieldLockApplyDO::getOrderId, id).last("limit 1"));  
637 - if (Objects.nonNull(applyDO)) {  
638 - throw new BusinessException("该账单还在审批中,请联系总经理审批后操作!");  
639 - }  
640 - }  
641 -  
642 - @Override  
643 - public ServerResult commitApply(InvoiceBillCommitApplyVO commitApplyVO) {  
644 - InvoiceBillOrderDO invoiceBillOrderDO = getById(commitApplyVO.getId());  
645 - if (Objects.isNull(invoiceBillOrderDO)) {  
646 - throw new BusinessException("账单不存在!");  
647 - }  
648 - Long userId = dataScope.getLoginUserId();  
649 - checkApply(commitApplyVO, userId);  
650 -  
651 - OrderFieldLockApplyDO applyDO = initOrderFieldLockApplyDO(invoiceBillOrderDO, userId);  
652 - transactionHelper.run(() -> {  
653 - orderFieldLockApplyService.save(applyDO);  
654 - invoiceBillOrderDO.setStatus(ApplyStatusEnum.WAIT_AUDIT.getStatus());  
655 - invoiceBillOrderDO.setActualRefundDate(DateUtils.format(LocalDateTime.now(), DateUtils.DATE));  
656 - updateById(invoiceBillOrderDO);  
657 - });  
658 - return ServerResult.success();  
659 - }  
660 -  
661 - /**  
662 - * @param commitApplyVO  
663 - * @param userId  
664 - */  
665 - private void checkApply(InvoiceBillCommitApplyVO commitApplyVO, Long userId) {  
666 - List<OrderFieldLockApplyDO> applyDOS = orderFieldLockApplyService.list(new LambdaQueryWrapper<OrderFieldLockApplyDO>()  
667 - .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)  
668 - .eq(OrderFieldLockApplyDO::getOrderId, commitApplyVO.getId())  
669 - .eq(OrderFieldLockApplyDO::getApplyUserId, userId)  
670 - .eq(OrderFieldLockApplyDO::getType, ApplyTypeEnum.INVOICE_BILL_APPLY.getType())  
671 - .eq(OrderFieldLockApplyDO::getStatus, ApplyStatusEnum.WAIT_AUDIT.getStatus()));  
672 - if (CollectionUtils.isNotEmpty(applyDOS)) {  
673 - throw new BusinessException(ServerResultCode.APPLY_UNLOCK_FIELD_EXIST);  
674 - }  
675 - }  
676 -  
677 - /**  
678 - * @param invoiceBillOrderDO  
679 - * @param userId  
680 - * @return  
681 - */  
682 - private OrderFieldLockApplyDO initOrderFieldLockApplyDO(InvoiceBillOrderDO invoiceBillOrderDO, Long userId) {  
683 - OrderLockFieldVO lockFieldVO = new OrderLockFieldVO();  
684 - lockFieldVO.setInvoiceBillOrderDO(invoiceBillOrderDO);  
685 - return OrderFieldLockApplyDO.builder()  
686 - .applyUserId(userId)  
687 - .auditUserId(null)  
688 - .fields(JSONObject.toJSONString(lockFieldVO))  
689 - .orderId(invoiceBillOrderDO.getId())  
690 - .type(ApplyTypeEnum.INVOICE_BILL_APPLY.getType())  
691 - .remark(ApplyTypeEnum.INVOICE_BILL_APPLY.getDesc())  
692 - .status(ApplyStatusEnum.WAIT_AUDIT.getStatus())  
693 - .auditRoleCodes(RoleEnum.BUSINESS_USER.getCode() + Constant.COMMA_CHARACTER + RoleEnum.ADMIN.getCode())  
694 - .build();  
695 - }  
696 -  
697 - /**  
698 - * 通过主键删除数据  
699 - *  
700 - * @param invoiceBillOrderQueryVO 筛选条件  
701 - * @return 是否成功  
702 - */  
703 - @Override  
704 - public ServerResult deleteById(InvoiceBillOrderQueryVO invoiceBillOrderQueryVO) {  
705 - List<Long> ids = invoiceBillOrderQueryVO.getIds();  
706 - if (CollUtil.isEmpty(ids)) {  
707 - return ServerResult.fail("ids 参数不能为空");  
708 - }  
709 - List<InvoiceBillOrderDO> invoiceBillOrderList = listByIds(ids);  
710 - if (CollUtil.isEmpty(invoiceBillOrderList)) {  
711 - return ServerResult.success();  
712 - }  
713 - transactionHelper.run(() -> {  
714 - removeByIds(ids);  
715 - invoiceBillMappingService.remove(new LambdaQueryWrapper<InvoiceBillMappingDO>().in(InvoiceBillMappingDO::getInvoiceBillId, ids));  
716 - });  
717 -  
718 - return ServerResult.success();  
719 - }  
720 -}  
src/main/java/com/order/erp/service/order/impl/ProducePaymentCheckBillOrderServiceImpl.java deleted 100644 → 0
1 -package com.order.erp.service.order.impl;  
2 -  
3 -import cn.hutool.core.bean.BeanUtil;  
4 -import cn.hutool.core.collection.CollUtil;  
5 -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;  
6 -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;  
7 -import com.baomidou.mybatisplus.core.metadata.IPage;  
8 -import com.baomidou.mybatisplus.extension.plugins.pagination.Page;  
9 -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;  
10 -import com.order.erp.common.constant.Constant;  
11 -import com.order.erp.common.constant.ServerResult;  
12 -import com.order.erp.common.utils.PageUtils;  
13 -import com.order.erp.domain.dto.order.ProducePaymentCheckBillOrderDO;  
14 -import com.order.erp.domain.vo.order.ProducePaymentCheckBillOrderQueryVO;  
15 -import com.order.erp.domain.vo.order.ProducePaymentCheckBillOrderVO;  
16 -import com.order.erp.mapper.order.ProducePaymentCheckBillOrderMapper;  
17 -import com.order.erp.service.order.ProducePaymentCheckBillOrderService;  
18 -import lombok.extern.slf4j.Slf4j;  
19 -import org.springframework.stereotype.Service;  
20 -  
21 -import java.util.List;  
22 -import java.util.Objects;  
23 -  
24 -/**  
25 - * 生产科对账单应收账单(ProducePaymentCheckBillOrder)表服务实现类  
26 - *  
27 - * @author makejava  
28 - * @since 2024-08-05 16:26:35  
29 - */  
30 -@Slf4j  
31 -@Service  
32 -public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl<ProducePaymentCheckBillOrderMapper, ProducePaymentCheckBillOrderDO> implements ProducePaymentCheckBillOrderService {  
33 -  
34 -  
35 - /**  
36 - * 通过ID查询单条数据  
37 - * <p>  
38 - * producePaymentCheckBillOrderQueryVO 主键  
39 - *  
40 - * @return 实例对象  
41 - */  
42 - @Override  
43 - public ServerResult queryById(ProducePaymentCheckBillOrderQueryVO producePaymentCheckBillOrderQueryVO) {  
44 - if (Objects.isNull(producePaymentCheckBillOrderQueryVO.getId())) {  
45 - return ServerResult.fail("id 不能为空");  
46 - }  
47 - ProducePaymentCheckBillOrderDO ProducePaymentCheckBillOrderDo = getById(producePaymentCheckBillOrderQueryVO.getId());  
48 - if (Objects.isNull(ProducePaymentCheckBillOrderDo)) {  
49 - return ServerResult.success(null);  
50 - }  
51 - return ServerResult.success(BeanUtil.copyProperties(ProducePaymentCheckBillOrderDo, ProducePaymentCheckBillOrderVO.class));  
52 - }  
53 -  
54 - /**  
55 - * 分页查询  
56 - *  
57 - * @param producePaymentCheckBillOrderQueryVO 筛选条件  
58 - * @return 查询结果  
59 - */  
60 - @Override  
61 - public ServerResult list(ProducePaymentCheckBillOrderQueryVO producePaymentCheckBillOrderQueryVO) {  
62 -  
63 - LambdaQueryWrapper<ProducePaymentCheckBillOrderDO> queryWapper = new LambdaQueryWrapper<ProducePaymentCheckBillOrderDO>()  
64 - .eq(ProducePaymentCheckBillOrderDO::getEnableFlag, Constant.ENABLE_TEN)  
65 - .orderByDesc(ProducePaymentCheckBillOrderDO::getId);  
66 - Page page = new Page<>(producePaymentCheckBillOrderQueryVO.getPage(), producePaymentCheckBillOrderQueryVO.getPageSize());  
67 - IPage<ProducePaymentCheckBillOrderDO> iPage = page(page, queryWapper);  
68 - producePaymentCheckBillOrderQueryVO.setTotal(Long.valueOf(iPage.getTotal()).intValue());  
69 - return ServerResult.success(PageUtils.getPageReturn(null, producePaymentCheckBillOrderQueryVO));  
70 - }  
71 -  
72 - /**  
73 - * 新增数据  
74 - *  
75 - * @param producePaymentCheckBillOrderVO 实例对象  
76 - * @return 实例对象  
77 - */  
78 - @Override  
79 - public ServerResult add(ProducePaymentCheckBillOrderVO producePaymentCheckBillOrderVO) {  
80 - //todo 校验  
81 - if (Objects.nonNull(producePaymentCheckBillOrderVO.getId())) {  
82 - producePaymentCheckBillOrderVO.setId(null);  
83 - }  
84 - ProducePaymentCheckBillOrderDO producePaymentCheckBillOrderDo = BeanUtil.copyProperties(producePaymentCheckBillOrderVO, ProducePaymentCheckBillOrderDO.class);  
85 -  
86 - save(producePaymentCheckBillOrderDo);  
87 -  
88 - return ServerResult.success();  
89 - }  
90 -  
91 - /**  
92 - * 修改数据  
93 - *  
94 - * @param producePaymentCheckBillOrderVO 实例对象  
95 - * @return 实例对象  
96 - */  
97 - @Override  
98 - public ServerResult edit(ProducePaymentCheckBillOrderVO producePaymentCheckBillOrderVO) {  
99 - //todo 校验  
100 - if (Objects.isNull(producePaymentCheckBillOrderVO.getId())) {  
101 - return ServerResult.fail("id 不能为空");  
102 - }  
103 - ProducePaymentCheckBillOrderDO producePaymentCheckBillOrderDo = BeanUtil.copyProperties(producePaymentCheckBillOrderVO, ProducePaymentCheckBillOrderDO.class);  
104 -  
105 - updateById(producePaymentCheckBillOrderDo);  
106 -  
107 - return ServerResult.success();  
108 - }  
109 -  
110 - /**  
111 - * 通过主键删除数据  
112 - *  
113 - * @param producePaymentCheckBillOrderQueryVO 筛选条件  
114 - * @return 是否成功  
115 - */  
116 - @Override  
117 - public ServerResult deleteById(ProducePaymentCheckBillOrderQueryVO producePaymentCheckBillOrderQueryVO) {  
118 - List<Long> ids = producePaymentCheckBillOrderQueryVO.getIds();  
119 - if (CollUtil.isEmpty(ids)) {  
120 - return ServerResult.fail("ids 参数不能为空");  
121 - }  
122 - List<ProducePaymentCheckBillOrderDO> producePaymentCheckBillOrderList = listByIds(ids);  
123 - if (CollUtil.isEmpty(producePaymentCheckBillOrderList)) {  
124 - return ServerResult.success();  
125 - }  
126 - //todo 校验是否可以逻辑删除  
127 - LambdaUpdateWrapper<ProducePaymentCheckBillOrderDO> updateWrapper = new LambdaUpdateWrapper<ProducePaymentCheckBillOrderDO>()  
128 - .in(ProducePaymentCheckBillOrderDO::getId, ids)  
129 - .set(ProducePaymentCheckBillOrderDO::getEnableFlag, Constant.UNABLE_TWENTY);  
130 - update(updateWrapper);  
131 - return ServerResult.success();  
132 - }  
133 -}