From 35df7283579ab155e32ecf3299c52fc9b7e5bdef Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期五, 09 五月 2025 17:17:23 +0800
Subject: [PATCH] 钣金需求匹配-完善工时计算
---
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml | 2
aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteLineMapper.xml | 7 +++
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java | 5 --
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml | 4 +-
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java | 28 +-------------
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteLineMapper.java | 2 +
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java | 3 +
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteLineController.java | 14 +++++++
8 files changed, 31 insertions(+), 34 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteLineController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteLineController.java
index cd8d9a7..2622075 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteLineController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsStandardProcessRouteLineController.java
@@ -8,11 +8,14 @@
import com.aps.common.log.enums.BusinessType;
import com.aps.common.security.annotation.RequiresPermissions;
import com.aps.core.domain.ApsStandardProcessRouteLine;
+import com.aps.core.mapper.ApsStandardProcessRouteLineMapper;
import com.aps.core.service.IApsStandardProcessRouteLineService;
+import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -30,6 +33,8 @@
@Autowired
private IApsStandardProcessRouteLineService apsStandardProcessRouteLineService;
+ @Resource
+ private ApsStandardProcessRouteLineMapper mapper;
/**
* 鏌ヨ鏍囧噯宸ヨ壓璺嚎Line鍒楄〃
*/
@@ -97,4 +102,13 @@
{
return toAjax(apsStandardProcessRouteLineService.deleteApsStandardProcessRouteLineByIds(ids));
}
+
+
+
+ @PostMapping("/getStandardTime")
+ public AjaxResult getStandardTime(@RequestBody ApsStandardProcessRouteLine apsStandardProcessRouteLine)
+ {
+ BigDecimal standardTime = mapper.selectTotalStandTime(apsStandardProcessRouteLine.getRouteId()).getStandardTime();
+ return toAjax(standardTime.intValue());
+ }
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteLineMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteLineMapper.java
index 6fb2a70..a06fdae 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteLineMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsStandardProcessRouteLineMapper.java
@@ -61,4 +61,6 @@
* @return 缁撴灉
*/
public int deleteApsStandardProcessRouteLineByIds(Long[] ids);
+
+ ApsStandardProcessRouteLine selectTotalStandTime(String routeHeaderId);
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java
index af2b106..f49178f 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java
@@ -166,7 +166,7 @@
/*瀹氫箟宸ュ巶涓哄崡閫� */
String plantCode="FORTUNA";
/*瀹氫箟涓诲崟绫诲瀷涓洪挘閲戜富鍗�*/
- String mainOrderType = "0";
+ String mainOrderType = "main";
/*鐢熸垚鏂版壒娆″彿*/
String batchNum= requireBatchService.getNewBatchNumber();
/*鑾峰彇閽i噾涓诲崟淇℃伅*/
@@ -353,9 +353,6 @@
private void matchRequireAndSubPlan(ApsPlateStandardRequire require) {
BigDecimal netRequirement = require.getNetRequirement();
require.setMatchMode("宸ュ崟鍖归厤");
- if(require.getBomLineCode().equals("W0202-100028")){
- System.out.println("W0202-100028");
- }
if (netRequirement.compareTo(BigDecimal.ZERO) > 0) {
ApsPlatePlan platePlan = apsPlatePlanMapper.selectUnMatchPlateSubPlan(require.getOrgCode(), require.getBomLineCode());
/*瀛愪欢宸ュ崟鐨勬湭鍖归厤鏁伴噺 浣滀负褰撳墠鐨勫簱瀛�*/
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java
index 587aa42..d0d3b21 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java
@@ -116,8 +116,6 @@
*/
@Override
public ApsStandardProcessRouteLine getRouteLineTotalTime(ApsPlateStandardRequire require) {
- // 瀹氫箟鐙崰鐢熶骇妯″紡甯搁噺
- String productivityModel_monopolize = "鐙崰";
// 鍒濆鍖栨�诲伐鏃朵负0
BigDecimal totalRouteTime = BigDecimal.ZERO;
//宸ュ巶
@@ -128,7 +126,6 @@
ApsStandardProcessRouteLine ret=new ApsStandardProcessRouteLine();
ret.setRouteId(String.valueOf(routId));
ret.setRouteTime(BigDecimal.ZERO);
-
// 鏌ヨ鏍囧噯宸ヨ壓璺嚎澶撮儴淇℃伅
Optional<ApsStandardProcessRouteHeader> firstProcessRoute = standardProcessRouteHeaderMapper.queryStandardProcessRouteHeaderByPlantAndItemCode(plant, itemNumber).stream().findFirst();
if (firstProcessRoute.isPresent()) {
@@ -136,30 +133,9 @@
// 鏋勫缓宸ヨ壓璺嚎琛屽弬鏁板璞�
ApsStandardProcessRouteLine routeLineParam =new ApsStandardProcessRouteLine();
routeLineParam.setRouteId(routeHeader.getRouteId());
-
// 鏌ヨ鏍囧噯宸ヨ壓璺嚎琛屼俊鎭�
- List<ApsStandardProcessRouteLine> apsStandardProcessRouteLines = apsStandardProcessRouteLineMapper.selectApsStandardProcessRouteLineList(routeLineParam);
- /*宸ヨ壓璺嚎Line 鎬诲伐鏃�*/
-
- if(apsStandardProcessRouteLines.isEmpty()){
- saveRequireError(require,"宸ュ簭涓嶅瓨鍦�");
- }else {
- // 閬嶅巻姣忎釜宸ヨ壓璺嚎琛�
- apsStandardProcessRouteLines.forEach(line -> {
- // 榛樿灏嗚璁′骇鑳借缃负璺嚎鏃堕棿
- line.setRouteTime(line.getDesignCapacity());
- // 濡傛灉鐢熶骇妯″紡涓虹嫭鍗狅紝鍒欒矾绾挎椂闂翠负璁捐浜ц兘涔樹互鍑�闇�姹傞噺
- if (line.getProductivityModel().equals(productivityModel_monopolize)) {
- line.setRouteTime(line.getDesignCapacity().multiply(require.getNetRequirement()));
- }
-
- });
- // 绱姞璺嚎鏃堕棿鍒版�诲伐鏃朵腑
- totalRouteTime = apsStandardProcessRouteLines.stream()
- .map(ApsStandardProcessRouteLine::getRouteTime)
- .reduce(BigDecimal.ZERO, BigDecimal::add);
- }
-
+ BigDecimal standardTime = apsStandardProcessRouteLineMapper.selectTotalStandTime(routeHeader.getRouteId()).getStandardTime();
+ totalRouteTime =standardTime.multiply(require.getNetRequirement());
ret.setRouteTime(totalRouteTime);
ret.setRouteId(routeHeader.getRouteId());
}else {
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
index 623bc32..b53581e 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
@@ -285,7 +285,7 @@
select id,document_number,main_part_number,item_number,plant,professional_affiliation,production_quantity,
unmatched_quantity,version
from aps_plate_plan
- where del_flag='0' and professional_affiliation !='0' and unmatched_quantity > 0
+ where del_flag='0' and professional_affiliation ='sub' and unmatched_quantity > 0
<if test="plant != null and plant !='' "> and plant = #{plant}</if>
<if test="itemNumber != null and itemNumber !='' "> and item_number = #{itemNumber}</if>
order by document_number asc,id asc
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteLineMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteLineMapper.xml
index e609ec1..1965e12 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteLineMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteLineMapper.xml
@@ -122,4 +122,11 @@
#{id}
</foreach>
</delete>
+
+ <select id="selectTotalStandTime" parameterType="String" resultMap="ApsStandardProcessRouteLineResult">
+ select sum(standard_time) as standard_time
+ from aps_standard_process_route_line
+ where route_id = #{routeId}
+ ;
+ </select>
</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
index fc2078b..c45b643 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
@@ -159,7 +159,7 @@
param.setDocState(Arrays.asList(0,1,2,4));
param.setBeginDate(yesterdayMidnight.format(formatter));
param.setEndDate(today.format(formatter));
- param.setPageSize(100);
+ param.setPageSize(500);
while (continueFlag){
param.setPageIndex(currentPage);
continueFlag= batchSaveByPager(param);
@@ -303,6 +303,7 @@
order.setProcessStatus("0");
order.setOpStatus(jsonObject.getString("OpStatus"));
order.setNextOpName(jsonObject.getString("NextOpName"));
+ order.setLowOrderCode(jsonObject.getString("LowLevelCode"));
jobs.add(order);
orderIds.add(order.getOrderId());
} catch (Exception e) {
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
index 6edc249..2da09bb 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
@@ -417,8 +417,8 @@
op_num,work_center,dept,
start_date,complete_date,next_dept,
is_hold_release,is_out_source,org_code,
- order_id,now(),'0',org_code,doc_status,std_op,op_status,next_op_name,
- case when low_order_code='0' then 'main' else 'sub' end as professional_affiliation,
+ cast(order_id as bigint) as id,now(),'0',org_code,doc_status,std_op,op_status,next_op_name,
+ (case when low_order_code='0' then 'main' else 'sub' end ) as professional_affiliation,
order_create_time
from aps_work_order_job
where ( doc_status in (0,1,2,4) and is_hold_release='0'
--
Gitblit v1.9.3