From dfa9258c8879dbb0d1bfc00d7f939031d0bb623b Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 29 一月 2026 18:32:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java | 4 +
src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java | 16 +++++
src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java | 1
src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml | 20 ++++++
src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java | 6 ++
src/main/resources/mapper/production/ProductionProductMainMapper.xml | 64 ++++++++++++++------
src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java | 16 +++++
src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java | 3 +
src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java | 4 +
src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java | 8 ++
10 files changed, 120 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index 55d2ed0..ca0cc8e 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -123,12 +123,14 @@
LambdaQueryWrapper<ApproveNode> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ApproveNode::getApproveProcessId, id);
queryWrapper.eq(ApproveNode::getDeleteFlag, 0);
+ queryWrapper.eq(ApproveNode::getApproveNodeStatus, 0);
List<ApproveNode> list = list(queryWrapper);
// 鎸夌収 approveNodeOrder 瀛楁鍗囧簭鎺掑簭
list.sort(Comparator.comparingInt(ApproveNode::getApproveNodeOrder));
LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveId, id)
.eq(ApproveProcess::getApproveDelete, 0)
+ .eq(ApproveProcess::getApproveStatus, 0)
.last("limit 1");
ApproveProcess approveProcess = approveProcessMapper.selectOne(approveProcessLambdaQueryWrapper);
if(approveProcess != null && approveProcess.getApproveStatus() == 3){
@@ -154,6 +156,7 @@
LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveId, approveNode.getApproveProcessId())
.eq(ApproveProcess::getApproveDelete, 0)
+ .eq(ApproveProcess::getApproveStatus, 0)
.last("limit 1");
ApproveProcess approveProcess = approveProcessMapper.selectOne(approveProcessLambdaQueryWrapper);
if(approveProcess == null) throw new RuntimeException("瀹℃壒涓嶅瓨鍦�");
@@ -161,6 +164,7 @@
approveNodeLambdaQueryWrapper.eq(ApproveNode::getApproveProcessId, approveNode.getApproveProcessId())
.eq(ApproveNode::getApproveNodeOrder, approveNode.getApproveNodeOrder() + 1)
.eq(ApproveNode::getDeleteFlag, 0)
+ .eq(ApproveNode::getApproveNodeStatus, 0)
.last("limit 1");
ApproveNode approveNode1 = approveNodeMapper.selectOne(approveNodeLambdaQueryWrapper);
approveProcess.setApproveStatus(status);
diff --git a/src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java b/src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java
index 0473c3a..50fa4aa 100644
--- a/src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java
+++ b/src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java
@@ -8,11 +8,14 @@
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
+import com.ruoyi.production.service.SalesLedgerProductionAccountingService;
import com.ruoyi.production.service.impl.SalesLedgerProductionAccountingServiceImpl;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -33,7 +36,7 @@
public class SalesLedgerProductionAccountingController extends BaseController {
@Autowired
- private SalesLedgerProductionAccountingServiceImpl salesLedgerProductionAccountingService;
+ private SalesLedgerProductionAccountingService salesLedgerProductionAccountingService;
@GetMapping("/listPage")
@ApiOperation("鐢熶骇鏍哥畻-鍒嗛〉鏌ヨ")
@@ -53,5 +56,16 @@
ExcelUtil<SalesLedgerProductionAccountingDto> util = new ExcelUtil<SalesLedgerProductionAccountingDto>(SalesLedgerProductionAccountingDto.class);
util.exportExcel(response, list, "鐢熶骇鏍哥畻鏁版嵁");
}
+//----------------------------------------------------------------------------------------------------------------------------------------------------
+ @GetMapping("/page")
+ @ApiModelProperty("鏌ヨ宸ヤ汉鐢熶骇宸ヨ祫淇℃伅")
+ public R pageProductionAccounting(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page){
+ return R.ok(salesLedgerProductionAccountingService.pageProductionAccounting(salesLedgerProductionAccountingDto, page));
+ }
+ @GetMapping("/listProductionDetails")
+ @ApiModelProperty("鏌ヨ宸ヤ汉鐢熶骇宸ヨ祫淇℃伅")
+ public R listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page){
+ return R.ok(salesLedgerProductionAccountingService.listProductionDetails(salesLedgerProductionAccountingDto,page));
+ }
}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
index 08d65fa..f34124b 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -7,6 +7,7 @@
import lombok.Data;
import java.math.BigDecimal;
+import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
@@ -46,4 +47,11 @@
//閿�鍞悎鍚屽彿
@Excel(name = "閿�鍞悎鍚屽彿")
private String salesContractNo;
+
+ private LocalDate scheduleDate;
+ private String schedulingUserName;
+ private String customerName;
+ private String process;
+ private BigDecimal workHours;
+ private BigDecimal wages;
}
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
index 6707622..c86d7bb 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
@@ -70,4 +70,10 @@
@ApiModelProperty(value = "缁撴潫鏃堕棿")
private String entryDateEnd;
+
+ private BigDecimal outputNum;
+
+ private BigDecimal outputRate;
+
+
}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
index 2bdefa3..1958e05 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.production.dto.ProductionProductMainDto;
+import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
import com.ruoyi.production.pojo.ProductOrder;
import com.ruoyi.production.pojo.ProductionProductMain;
import org.apache.ibatis.annotations.Mapper;
@@ -27,4 +28,6 @@
* @return
*/
ProductOrder getOrderByMainId(@Param("productMainId") Long productMainId);
+
+ IPage<ProductionProductMainDto> listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
}
diff --git a/src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java b/src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java
index 64477b5..aad58ed 100644
--- a/src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java
@@ -17,4 +17,5 @@
IPage<SalesLedgerProductionAccountingDto> listPage(Page page,@Param("salesLedgerDto") SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto);
+ IPage<SalesLedgerProductionAccountingDto> pageProductionAccounting(Page page, @Param("ew") SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto);
}
diff --git a/src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java b/src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java
index 11c62f4..bf0176b 100644
--- a/src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java
+++ b/src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
@@ -16,4 +17,7 @@
IPage<SalesLedgerProductionAccountingDto> listPage(Page page, SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto);
+ IPage<SalesLedgerProductionAccountingDto> pageProductionAccounting(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
+
+ IPage<ProductionProductMainDto> listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
index 3fcb8f2..76ac503 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
+import com.ruoyi.production.mapper.ProductionProductMainMapper;
import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
import com.ruoyi.production.service.SalesLedgerProductionAccountingService;
@@ -23,7 +25,8 @@
public class SalesLedgerProductionAccountingServiceImpl extends ServiceImpl<SalesLedgerProductionAccountingMapper, SalesLedgerProductionAccounting> implements SalesLedgerProductionAccountingService {
private final SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
-
+ private final ProductionProductMainMapper productionProductMainMapper;
+
@Override
public IPage<SalesLedgerProductionAccountingDto> listPage(Page page, SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto) {
IPage<SalesLedgerProductionAccountingDto> list = salesLedgerProductionAccountingMapper.listPage(page, salesLedgerProductionAccountingDto);
@@ -37,6 +40,17 @@
return list;
}
+ @Override
+ public IPage<SalesLedgerProductionAccountingDto> pageProductionAccounting(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page) {
+ // TODO 绠$悊鍛樻煡璇㈡墍鏈夛紝鍏朵粬浜哄彧鑳芥煡鑷繁
+ return salesLedgerProductionAccountingMapper.pageProductionAccounting(page, salesLedgerProductionAccountingDto);
+ }
+
+ @Override
+ public IPage<ProductionProductMainDto> listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page) {
+ return productionProductMainMapper.listProductionDetails(salesLedgerProductionAccountingDto, page);
+ }
+
public static boolean isNumeric(String str) {
if (str == null || str.isEmpty()) {
return false;
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 5c64617..ccc29e0 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -14,24 +14,24 @@
<select id="listPageProductionProductMainDto" resultType="com.ruoyi.production.dto.ProductionProductMainDto">
select ppm.*,
- pwo.work_order_no as workOrderNo,
- pwo.status as workOrderStatus,
- u.nick_name as nickName,
- p.product_name as productName,
- pm.model as productModelName,
- ppo.quantity,
- ppo.scrap_qty,
- pm.unit,
- sl.sales_contract_no salesContractNo
+ pwo.work_order_no as workOrderNo,
+ pwo.status as workOrderStatus,
+ u.nick_name as nickName,
+ p.product_name as productName,
+ pm.model as productModelName,
+ ppo.quantity,
+ ppo.scrap_qty,
+ pm.unit,
+ sl.sales_contract_no salesContractNo
from
- production_product_main ppm
- left join product_work_order pwo on pwo.id = ppm.work_order_id
- left join product_order po on po.id = pwo.product_order_id
- left join production_product_output ppo on ppm.id = ppo.product_main_id
- left join product_model pm on pm.id = ppo.product_model_id
- left join product p on p.id = pm.product_id
- left join sales_ledger sl on sl.id = po.sales_ledger_id
- left join sys_user u on u.user_id = ppm.user_id
+ production_product_main ppm
+ left join product_work_order pwo on pwo.id = ppm.work_order_id
+ left join product_order po on po.id = pwo.product_order_id
+ left join production_product_output ppo on ppm.id = ppo.product_main_id
+ left join product_model pm on pm.id = ppo.product_model_id
+ left join product p on p.id = pm.product_id
+ left join sales_ledger sl on sl.id = po.sales_ledger_id
+ left join sys_user u on u.user_id = ppm.user_id
<where>
<if test="c.nickName != null and c.nickName != ''">
and u.nick_name like concat('%',#{c.nickName},'%')
@@ -52,9 +52,33 @@
<select id="getOrderByMainId" resultType="com.ruoyi.production.pojo.ProductOrder">
select po.*
from product_order po
- left join product_work_order pwo on po.id = pwo.product_order_id
- left join production_product_main pm on work_order_id=pwo.id
- where pm.id=#{productMainId}
+ left join product_work_order pwo on po.id = pwo.product_order_id
+ left join production_product_main pm on work_order_id = pwo.id
+ where pm.id = #{productMainId}
+ </select>
+ <select id="listProductionDetails" resultType="com.ruoyi.production.dto.ProductionProductMainDto">
+ SELECT
+ slpa.scheduling_date,
+ slpa.scheduling_user_name,
+ sl.sales_contract_no,
+ sl.customer_name,
+ p.product_name,
+ pm.model,
+ pm.unit,
+ slpa.process,
+ ppo.quantity,
+ slpa.work_hours,
+ slpa.work_hours * slpa.finished_num AS wages
+ FROM
+ production_product_main ppm
+ LEFT JOIN sales_ledger_production_accounting slpa ON slpa.sales_ledger_work_id = ppm.id
+ LEFT JOIN production_product_output ppo ON ppm.id = ppo.product_main_id
+ LEFT JOIN product_work_order pwo ON pwo.id = ppm.work_order_id
+ LEFT JOIN product_order po ON po.id = pwo.product_order_id
+ LEFT JOIN process_route pr ON pr.id = po.route_id
+ LEFT JOIN product_model pm ON po.product_model_id = pm.id
+ LEFT JOIN product p ON p.id = pm.product_id
+ LEFT JOIN sales_ledger sl ON po.sales_ledger_id = sl.id
</select>
<delete id="deleteByWorkOrderIds" parameterType="java.util.List">
diff --git a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
index ea766e6..ac3ccc5 100644
--- a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
@@ -50,4 +50,24 @@
group by t4.id
order by t4.scheduling_date desc
</select>
+ <select id="pageProductionAccounting"
+ resultType="com.ruoyi.production.dto.SalesLedgerProductionAccountingDto">
+ SELECT
+ slpa.scheduling_user_id,
+ slpa.scheduling_user_name,
+ sum(ppout.quantity) as output_num,
+ sum(slpa.finished_num * work_hours) as wages,
+ SUM(slpa.finished_num) / SUM(ppout.quantity) as output_rate
+ FROM sales_ledger_production_accounting slpa
+ LEFT JOIN production_product_main ppm ON slpa.sales_ledger_work_id = ppm.id
+ LEFT JOIN production_product_output ppout ON ppm.id = ppout.product_main_id
+ <where>
+ <if test="ew.schedulingUserName != null and ew.schedulingUserName !=''" >
+ and slpa.scheduling_user_name = #{ew.schedulingUserName}
+ </if>
+ </where>
+ GROUP BY slpa.scheduling_user_name
+
+ </select>
+
</mapper>
--
Gitblit v1.9.3