Browse Source

2025-10-28

pda生产领退料
master
fengyuan_yang 4 months ago
parent
commit
958b195b0f
  1. 9
      src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java
  2. 75
      src/main/resources/mapper/production/ProductionIssueReturnMapper.xml
  3. 2
      src/main/resources/mapper/productionReturn/ProductionReturnMapper.xml

9
src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java

@ -86,7 +86,7 @@ public class SchedulingServiceImpl implements SchedulingService {
String calendarId = String.valueOf(calendarMap.get("calendarId"));
//调用存储过程 执行排产的方法
Map<String, Object> resultMap = this.scheduleWorkOrder(site, orderNo, itemNo, workCenterNo, resourceId, scheduledQty,
specifiedTime, scheduleDate, scheduleTime, calendarId, username, 0, 0, "*");
specifiedTime, scheduleDate, scheduleTime, calendarId, username, 0, 0, "*", "有限产能");
//判断是否检验成功
String resultCode = String.valueOf(resultMap.get("resultCode"));
if ("400".equalsIgnoreCase(resultCode)) {
@ -104,7 +104,7 @@ public class SchedulingServiceImpl implements SchedulingService {
* @Param [site, orderNo, itemNo, workCenterNo, resourceId, scheduledQty, specifiedTime, scheduleDate, scheduleTime, calendarId, username]
**/
public Map<String, Object> scheduleWorkOrder(String site, String orderNo, Integer itemNo, String workCenterNo, String resourceId, Float scheduledQty,
String specifiedTime, Date scheduleDate, Date scheduleTime, String calendarId, String username, Integer rowCount, Integer rollCount, String carrierNo) {
String specifiedTime, Date scheduleDate, Date scheduleTime, String calendarId, String username, Integer rowCount, Integer rollCount, String carrierNo, String type) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
@ -120,6 +120,7 @@ public class SchedulingServiceImpl implements SchedulingService {
params.add(rowCount);
params.add(rollCount);
params.add(carrierNo);
params.add(type);
//调用存储过程
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("soschedule_newjob", params);
//处理返回的结果
@ -801,7 +802,7 @@ public class SchedulingServiceImpl implements SchedulingService {
}
//验证通过 继续执行排产操作
Map<String, Object> resultMap = this.scheduleWorkOrder(site, orderNo, itemNo, workCenterNo, resourceId, scheduledQty,
specifiedTime, scheduleDate, scheduleTime, calendarId, username, rowCount, rollCount, carrierNo);
specifiedTime, scheduleDate, scheduleTime, calendarId, username, rowCount, rollCount, carrierNo, "无限产能");
//判断是否检验成功
String resultCode = String.valueOf(resultMap.get("resultCode"));
if ("400".equalsIgnoreCase(resultCode)) {
@ -1305,7 +1306,7 @@ public class SchedulingServiceImpl implements SchedulingService {
}
//验证通过 继续执行排产操作
Map<String, Object> resultMap = this.scheduleWorkOrder(site, orderNo, itemNo, workCenterNo, resourceId, scheduledQty,
specifiedTime, scheduleDate, scheduleTime, calendarId, username, rowCount, rollCount, carrierNo);
specifiedTime, scheduleDate, scheduleTime, calendarId, username, rowCount, rollCount, carrierNo, "无限产能");
//判断是否检验成功
String resultCode = String.valueOf(resultMap.get("resultCode"));
if ("400".equalsIgnoreCase(resultCode)) {

75
src/main/resources/mapper/production/ProductionIssueReturnMapper.xml

@ -3,55 +3,54 @@
<mapper namespace="com.gaotao.modules.production.dao.ProductionIssueReturnMapper">
<!-- 搜索领料工单(模糊查询,top3) -->
<!-- 搜索领料工单(模糊查询,top3) - 参考PC端领料申请管理的工单选择逻辑 -->
<select id="searchIssueOrders" resultType="map">
SELECT TOP ${limit}
so.site,
so.bu_no AS buNo,
so.order_no AS orderNo,
so.part_no AS partNo,
p.PartDescription AS partDesc,
sor.operation_no AS operationNo,
sor.seq_no AS seqNo,
sor.operation_desc AS operationName
FROM shop_order AS so
LEFT JOIN part AS p ON so.site = p.site AND so.part_no = p.partNo
LEFT JOIN shop_order_routing AS sor ON so.site = sor.site AND so.order_no = sor.order_no
WHERE so.site = #{site}
AND so.bu_no = #{buNo}
AND so.order_no LIKE '%' + #{searchKey} + '%'
AND so.status IN ('Released', 'Active')
ORDER BY so.order_no DESC
T.Site AS site,
T.bu_no AS buNo,
T.OrderNo AS orderNo,
T.PartNo AS partNo,
P.PartDescription + ' / ' + ISNULL(P.Spec, '') AS partDesc,
T.Status AS status,
T.LotSize AS lotSize
FROM ShopOrder AS T
INNER JOIN Part AS P ON T.Site = P.Site AND T.PartNo = P.PartNo
WHERE T.Site = #{site}
AND T.bu_no = #{buNo}
AND T.OrderNo LIKE '%' + #{searchKey} + '%'
AND T.Status IN ('已下达', '已计划', '已排产', '已开工')
ORDER BY T.OrderNo DESC
</select>
<!-- 获取工单详情 -->
<select id="getOrderDetail" resultType="map">
SELECT
so.site,
so.bu_no AS buNo,
so.order_no AS orderNo,
so.part_no AS partNo,
p.PartDescription AS partDesc
FROM shop_order AS so
LEFT JOIN part AS p ON so.site = p.site AND so.part_no = p.partNo
WHERE so.site = #{site}
AND so.bu_no = #{buNo}
AND so.order_no = #{orderNo}
T.Site AS site,
T.bu_no AS buNo,
T.OrderNo AS orderNo,
T.PartNo AS partNo,
P.PartDescription + ' / ' + ISNULL(P.Spec, '') AS partDesc,
T.Status AS status,
T.LotSize AS lotSize
FROM ShopOrder AS T
INNER JOIN Part AS P ON T.Site = P.Site AND T.PartNo = P.PartNo
WHERE T.Site = #{site}
AND T.bu_no = #{buNo}
AND T.OrderNo = #{orderNo}
</select>
<!-- 获取工单的工序列表 -->
<!-- 获取工单的工序列表 - 参考PC端领料申请管理的工序查询逻辑 -->
<select id="getOrderOperations" resultType="map">
SELECT
sor.site,
sor.order_no AS orderNo,
sor.operation_no AS operationNo,
sor.seq_no AS seqNo,
sor.operation_desc AS operationName,
sor.item_no AS itemNo
FROM shop_order_routing AS sor
WHERE sor.site = #{site}
AND sor.order_no = #{orderNo}
ORDER BY sor.seq_no
R.Site AS site,
R.OrderNo AS orderNo,
R.ItemNo AS seqNo,
R.OperationDesc AS operationName,
R.WorkCenterNo AS workCenterNo
FROM SORouting AS R
WHERE R.Site = #{site}
AND R.OrderNo = #{orderNo}
ORDER BY R.ItemNo
</select>
<!-- 根据标签条码查询库存信息 -->

2
src/main/resources/mapper/productionReturn/ProductionReturnMapper.xml

@ -58,7 +58,7 @@
INNER JOIN PART C ON B.SITE = C.SITE AND B.part_no = C.PartNo AND B.bu_no = C.bu_no
WHERE
A.SITE = #{site}
AND A.document_no = #{inboundNo}
AND A.order_no = #{inboundNo}
AND A.roll_no = #{labelCode}
AND ISNULL(B.consumed_flag, 'N') = 'N'
AND A.document_type = '生产领料'

Loading…
Cancel
Save