From 8b1afe3fe677ed94888c72cbf0287abfa07349de Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期一, 14 四月 2025 08:24:33 +0800
Subject: [PATCH] 费用统计调整
---
inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml | 20 ++++++++--
inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java | 4 ++
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 39 +++++++++----------
3 files changed, 38 insertions(+), 25 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java
index 6e3acde..47eb3a8 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java
@@ -89,6 +89,10 @@
private String sampleStr;
+ @ApiModelProperty("鎬讳环")
+ private String totalPrice;
+
+
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index de04143..bbce5a1 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -876,22 +876,8 @@
this.addProductSpotCheck(insSamples, order);
}
- // 12.娣诲姞宸ユ椂
-// // 鍒犻櫎鍘熸湰璁㈠崟宸ユ椂
-// auxiliaryOutputWorkingHoursService.remove(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
-// .eq(AuxiliaryOutputWorkingHours::getOrderId, orderId));
-// // 鏌ヨ宸ユ椂鏆傚瓨
-// List<AuxiliaryOutputWorkingHoursTemporary> hoursTemporaries = auxiliaryOutputWorkingHoursTemporaryService.list(Wrappers.<AuxiliaryOutputWorkingHoursTemporary>lambdaQuery()
-// .eq(AuxiliaryOutputWorkingHoursTemporary::getOrderId, orderId));
-// List<AuxiliaryOutputWorkingHours> outputWorkingHours = hoursTemporaries.stream().map(hoursTemporary -> {
-// AuxiliaryOutputWorkingHours workingHours = new AuxiliaryOutputWorkingHours();
-// BeanUtil.copyProperties(hoursTemporary, workingHours);
-// workingHours.setId(null);
-// return workingHours;
-// }).collect(Collectors.toList());
-// auxiliaryOutputWorkingHoursService.saveBatch(outputWorkingHours);
- // 13.娣诲姞璁㈠崟璐圭敤缁熻淇℃伅
+ // 12.娣诲姞璁㈠崟璐圭敤缁熻淇℃伅
List<InsProduct> productList = insProductMapper.selectProductByOrderId(orderId);
// 鍒犻櫎鍘熸湰璐圭敤淇℃伅
insOrderRatesService.remove(Wrappers.<InsOrderRates>lambdaQuery()
@@ -914,7 +900,7 @@
insOrderRatesService.saveBatch(orderRatesList);
- // 14.鍙戦�佷紒涓氬井淇¢�氱煡
+ // 13.鍙戦�佷紒涓氬井淇¢�氱煡
// 鏌ヨ鍘熸潗鏂�
IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId());
// 鏌ヨ鏍峰搧淇℃伅
@@ -939,14 +925,14 @@
}
});
- // 15.ifs绉诲簱(鍘熸潗鏂欓渶瑕佽繘琛岀Щ搴撴搷浣�) --> 鏈�鍚庢墽琛�,鍥犱负澶辫触鏃犳硶鍥炴粴
+ // 14.ifs绉诲簱(鍘熸潗鏂欓渶瑕佽繘琛岀Щ搴撴搷浣�) --> 鏈�鍚庢墽琛�,鍥犱负澶辫触鏃犳硶鍥炴粴
if (ifsInventoryQuantity != null) {
// 鐧昏妫�楠岀粨鏋�
// 鍒ゆ柇鏄惁鏈変笉鍚堟牸, 鏈変笉鍚堟牸涓嶈兘绉诲簱
// todo: ifs绉诲簱
insReportService.isRawMaterial(order);
- // 16 鍒ゆ柇褰撳墠鏍峰搧鏄惁涓哄師鏉愭枡, 鍘熸潗鏂欓渶瑕佽繘琛屾暟鎹垎鏋�, 鍒ゆ柇涔嬪墠10鏉℃暟鎹悓涓�涓緵搴斿晢, 鍚屼竴涓楠岄」鐨勫亸宸槸鍚﹁秴杩�10%
+ // 15 鍒ゆ柇褰撳墠鏍峰搧鏄惁涓哄師鏉愭枡, 鍘熸潗鏂欓渶瑕佽繘琛屾暟鎹垎鏋�, 鍒ゆ柇涔嬪墠10鏉℃暟鎹悓涓�涓緵搴斿晢, 鍚屼竴涓楠岄」鐨勫亸宸槸鍚﹁秴杩�10%
// 鏌ヨifs淇℃伅鑾峰彇鑾峰彇鍓�10涓緵搴斿晢涓�鏍风殑, 妫�楠岄」涓�鏍蜂俊鎭�
threadPoolTaskExecutor.execute(() -> {
// 娣诲姞鍒嗘瀽鏁版嵁
@@ -1320,7 +1306,6 @@
/**
* 鏂板涓嶅悎鏍煎娴嬪唴瀹�
- * @param ids
* @return
*/
@Override
@@ -1336,6 +1321,20 @@
// 鏌ヨ涓嶅悎鏍煎唴瀹�
List<InsUnqualifiedRetestProduct> list = insUnqualifiedRetestProductMapper.selectRetestProduct(ids);
+ // 寰幆鍒ゆ柇鏄惁鏄粦瀹氬��, 缁戝畾鍊间慨鏀规楠岃姹�
+ for (InsUnqualifiedRetestProduct insUnqualifiedRetestProduct : list) {
+ for (InsProduct insProduct : insProductsList) {
+ if (insProduct.getIsBinding().equals(1)) {
+ insUnqualifiedRetestProduct.setIsBinding(1);
+ insUnqualifiedRetestProduct.setAsk(null);
+ insUnqualifiedRetestProduct.setTell(null);
+ insUnqualifiedRetestProduct.setPrice(null);
+ insUnqualifiedRetestProduct.setManHour(null);
+ insUnqualifiedRetestProduct.setSection(null);
+ }
+ }
+ }
+
// 鏂板涓嶅悎鏍煎唴瀹�
insUnqualifiedRetestProductService.saveBatch(list);
list.forEach(insUnqualifiedRetestProduct -> {
@@ -2154,7 +2153,6 @@
* @param
*/
private void addBitReport(Integer orderId, InsOrder insOrder) {
- Map<String, String> user = insProductMapper.selectUserById(insOrder.getUserId());
//samples鏄笉鍖呮嫭甯︽湁"/"鐨勬牱鍝�
List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
InsReport insReport = new InsReport();
@@ -2173,7 +2171,6 @@
boolean isOneSample = samples.size() == 1 ? true : false;
/*鍩虹鎶ュ憡(鏍规嵁缁樺埗鐨勫師濮嬭褰曟ā鐗堝舰鎴�)*/
samples.forEach(a -> {
- Map<Integer, String> map2 = new HashMap<>();
models.add(a.getModel());
String standardMethodCode = baseMapper.getStandardMethodCode(a.getStandardMethodListId());
if (StrUtil.isNotBlank(a.getSpecialStandardMethod())) {
diff --git a/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml
index f025537..402a50a 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml
@@ -10,12 +10,24 @@
io.type_source = 0
then io.sample_view
else io.sample end sampleStr,
- GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model
+ GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
+ sum(tempior.rates) + 200 total_price
from ins_order io
LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
- left join ins_order_rates ior on ior.ins_order_id = io.id
- where ior.id is not null
- group by io.id) a
+ left join (
+ select ior.id, ior.ins_order_id, ior.rates from
+ ins_order_rates ior
+ left join ins_product ip on ip.id = ior.ins_product_id
+ left join ins_order io2 on ior.ins_order_id = io2.id
+ GROUP BY CASE
+ WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ior.man_hour_group
+ ELSE ior.id END,
+ CASE WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ior.ins_sample_id ELSE ior.id END,
+ CASE WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ip.radius ELSE ior.id END,
+ CASE WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ip.cable_tag ELSE ior.id END,
+ CASE WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ior.ins_order_id ELSE ior.id END) tempior on tempior.ins_order_id = io.id
+ where tempior.id is not null
+ group by io.id) a
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
--
Gitblit v1.9.3