From 96b8e473365b305441c85162433db0705f308790 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 26 十一月 2025 10:29:11 +0800
Subject: [PATCH] yys 1.生产报工增加字段
---
src/main/resources/mapper/production/SalesLedgerWorkMapper.xml | 5 +++--
src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java | 7 +++++++
src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java | 35 +++++++++++++++++++++++++++++++++++
3 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java
index 0b3af3c..9a4a6a4 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java
@@ -101,6 +101,13 @@
private String loss;
/**
+ * 缁戝畾鏈哄櫒
+ */
+ @ApiModelProperty(value = "缁戝畾鏈哄櫒")
+ @Excel(name = "缁戝畾鏈哄櫒")
+ private String speculativeTradingName;
+
+ /**
* 鍙e懗鍒嗙被
*/
@ApiModelProperty(value = "鍙e懗鍒嗙被")
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
index d1aaae9..b6590db 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
@@ -22,12 +22,16 @@
import com.ruoyi.production.service.SalesLedgerWorkService;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.sales.mapper.LossMapper;
+import com.ruoyi.sales.pojo.Loss;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@@ -47,14 +51,45 @@
private final SysUserMapper sysUserMapper;
+ private final LossMapper lossMapper;
+
private final SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
@Override
public IPage<SalesLedgerWorkDto> listPage(Page page, SalesLedgerWorkDto salesLedgerWorkDto) {
IPage<SalesLedgerWorkDto> iPage = salesLedgerWorkMapper.listPage(page, salesLedgerWorkDto);
+ List<Loss> losses = lossMapper.selectList(null);
+ if(!CollectionUtils.isEmpty(losses)){
+ iPage.getRecords().forEach(item -> {
+ String[] split = item.getSpecificationModel().split("\\*");
+ if(split.length == 2 && isNumeric(split[1]) && isNumeric(split[0])){
+ // 璁$畻鎹熻��
+ BigDecimal divide = new BigDecimal(split[0])
+ .multiply(new BigDecimal(split[1]))
+ .multiply(item.getFinishedNum())
+ .multiply(losses.get(0).getRate())
+ .divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
+ item.setLoss(divide.toString());
+ }
+
+ });
+ }
return iPage;
}
+ public static boolean isNumeric(String str) {
+ if (str == null || str.isEmpty()) {
+ return false;
+ }
+ // 閬嶅巻瀛楃涓茬殑姣忎釜瀛楃锛屾鏌ユ槸鍚︿负鏁板瓧
+ for (int i = 0; i < str.length(); i++) {
+ if (!Character.isDigit(str.charAt(i))) {
+ return false;
+ }
+ }
+ return true;
+ }
+
private final ProcurementRecordServiceImpl procurementRecordService;
@Override
diff --git a/src/main/resources/mapper/production/SalesLedgerWorkMapper.xml b/src/main/resources/mapper/production/SalesLedgerWorkMapper.xml
index 3201d62..3891b7d 100644
--- a/src/main/resources/mapper/production/SalesLedgerWorkMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerWorkMapper.xml
@@ -13,7 +13,6 @@
t4.finished_num,
t4.work_hours,
t4.process,
- t4.loss,
t4.type,
t4.remark,
t4.receive,
@@ -23,11 +22,13 @@
T1.customer_name,
t3.product_category,
t3.specification_model,
- t3.unit
+ t3.unit,
+ t2.speculative_trading_name
FROM
sales_ledger_work t4
LEFT JOIN sales_ledger T1 ON T1.id = t4.sales_ledger_id
left join sales_ledger_product t3 on t4.sales_ledger_product_id = t3.id
+ left join sales_ledger_scheduling t2 on t4.sales_ledger_scheduling_id = t2.id
<where>
t3.type = 1
<if test="salesLedgerDto.status != null and salesLedgerDto.status != '' ">
--
Gitblit v1.9.3