From 50ab027fd5ab1b7d17114d07d15b950a993e8955 Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期一, 15 九月 2025 17:17:26 +0800
Subject: [PATCH] 委外工单修改
---
MESApplication/Controllers/BasicData/DeliveryBarcodeController.cs | 131 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 127 insertions(+), 4 deletions(-)
diff --git a/MESApplication/Controllers/BasicData/DeliveryBarcodeController.cs b/MESApplication/Controllers/BasicData/DeliveryBarcodeController.cs
index e7a0768..d6b35e3 100644
--- a/MESApplication/Controllers/BasicData/DeliveryBarcodeController.cs
+++ b/MESApplication/Controllers/BasicData/DeliveryBarcodeController.cs
@@ -137,7 +137,7 @@
return ResponseResult.ResponseError(ex);
}
}
-
+
/// <summary>
/// 鏍规嵁閫佽揣鍗曞彿鍒犻櫎鏉$爜鏁版嵁
/// </summary>
@@ -194,6 +194,68 @@
}
/// <summary>
+ /// 鎵归噺鏍规嵁閫佽揣鍗曞彿鍒犻櫎鏉$爜鏁版嵁
+ /// </summary>
+ /// <param name="request">鍖呭惈鎵归噺閫佽揣鍗曞彿鐨勮姹傛ā鍨嬶紙鏁扮粍鏍煎紡锛�</param>
+ /// <returns>缁熶竴鍝嶅簲缁撴灉</returns>
+ [HttpPost("DeleteListByNo")]
+ public ResponseResult DeleteListByNo([FromBody] BatchDeleteByDeliveryNoRequest request)
+ {
+ // 1. 鍒濆鍖栨秷鎭腑蹇冨疄浣�
+ var messageEntity = new MessageCenter
+ {
+ TableName = TARGET_TABLE,
+ Url = BASE_API_URL + "DeleteListByNo",
+ Method = REQUEST_METHOD,
+ Data = JsonConvert.SerializeObject(request),
+ Status = 1, // 澶勭悊涓�
+ CreateBy = "PL017",
+ // 璺敱鏍囪瘑锛氭樉绀哄墠3涓崟鍙�
+ Route =
+ $"Batch_{string.Join(",", request.Take(3).Select(item => item.DeliveryNo))}{(request.Count > 3 ? "..." : "")}",
+ DealWith = 0 // 鏈鐞�
+ };
+
+ try
+ {
+ // 2. 鐩存帴璋冪敤涓氬姟灞傦紙涓嶅啀鍦ㄦ帶鍒跺櫒澶勭悊鍒楄〃锛岄�昏緫绉昏嚦涓氬姟灞傦級
+ dynamic resultData = new ExpandoObject();
+ BatchDeleteResult deleteResult = _deliveryBarcodeManager.DeleteListByDeliveryNo(request);
+
+ // 3. 缁勮杩斿洖鏁版嵁
+ resultData.totalRequested = deleteResult.TotalRequested;
+ resultData.totalDeleted = deleteResult.TotalDeleted;
+ resultData.deletedNos = deleteResult.DeletedNos;
+ resultData.notFoundNos = deleteResult.NotFoundNos;
+ resultData.isSuccess = deleteResult.TotalDeleted > 0;
+
+ // 4. 鏇存柊娑堟伅涓績鐘舵�侊紙鎴愬姛锛�
+ messageEntity.Result = 1;
+ messageEntity.DealWith = 1;
+ messageEntity.ResultData = $"鎵归噺鍒犻櫎瀹屾垚锛屽叡澶勭悊{deleteResult.TotalRequested}涓崟鍙�";
+ _messageCenterManager.save(messageEntity);
+
+ // 5. 杩斿洖鎴愬姛鍝嶅簲
+ return new ResponseResult
+ {
+ status = 0,
+ message = $"鎴愬姛鍒犻櫎{deleteResult.DeletedNos.Count}涓�佽揣鍗曞彿瀵瑰簲鐨勬潯鐮佹暟鎹紝鍏眥deleteResult.TotalDeleted}鏉¤褰�",
+ data = resultData
+ };
+ }
+ catch (Exception ex)
+ {
+ // 6. 寮傚父澶勭悊
+ messageEntity.Result = 0;
+ messageEntity.DealWith = 0;
+ messageEntity.ResultData = ex.Message;
+ _messageCenterManager.save(messageEntity);
+
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
/// 鎸夐�佽揣鍗曞彿+琛屽唴鐮佽仈鍚堝垹闄ゆ潯鐮佹暟鎹�
/// </summary>
/// <param name="request">鍖呭惈閫佽揣鍗曞彿鍜岃鍐呯爜鐨勮姹傛ā鍨�</param>
@@ -219,7 +281,7 @@
// 2. 璋冪敤涓氬姟灞傝仈鍚堝垹闄ゆ柟娉�
dynamic resultData = new ExpandoObject();
bool deleteSuccess = _deliveryBarcodeManager.DeleteByDeliveryItem(
- request.DeliveryNo,
+ request.DeliveryNo,
request.LineNo
);
// 鍝嶅簲涓繑鍥炲叧閿潯浠讹紝渚夸簬鍓嶇纭鍒犻櫎鑼冨洿
@@ -251,6 +313,67 @@
// 6. 杩斿洖缁熶竴寮傚父鍝嶅簲
return ResponseResult.ResponseError(ex);
}
- }
-}
+ }
+ /// <summary>
+ /// 鎵归噺鎸夐�佽揣鍗曞彿+琛屽唴鐮佸垹闄ゆ潯鐮佹暟鎹�
+ /// </summary>
+ /// <param name="request">鍖呭惈鎵归噺閫佽揣鍗曡鐨勮姹傛ā鍨嬶紙鏁扮粍鏍煎紡锛�</param>
+ /// <returns>缁熶竴鍝嶅簲缁撴灉</returns>
+ [HttpPost("DeleteListByItem")]
+ public ResponseResult DeleteListByItem([FromBody] BatchDeleteByDeliveryItemRequest request)
+ {
+ // 1. 鍒濆鍖栨秷鎭腑蹇冨疄浣�
+ var messageEntity = new MessageCenter
+ {
+ TableName = TARGET_TABLE,
+ Url = BASE_API_URL + "DeleteListByItem",
+ Method = REQUEST_METHOD,
+ Data = JsonConvert.SerializeObject(request),
+ Status = 1, // 澶勭悊涓�
+ CreateBy = "PL017",
+ // 璺敱鏍囪瘑锛氭樉绀哄墠3涓�"DeliveryNo_LineNo"缁勫悎
+ Route =
+ $"BatchItem_{string.Join(",", request.Take(3).Select(item => $"{item.DeliveryNo}_{item.LineNo}"))}{(request.Count > 3 ? "..." : "")}",
+ DealWith = 0 // 鏈鐞�
+ };
+
+ try
+ {
+ // 2. 璋冪敤涓氬姟灞傛墽琛屾壒閲忓垹闄�
+ dynamic resultData = new ExpandoObject();
+ BatchDeleteResult deleteResult = _deliveryBarcodeManager.DeleteListByDeliveryItem(request);
+
+ // 3. 缁勮杩斿洖鏁版嵁
+ resultData.totalRequested = deleteResult.TotalRequested;
+ resultData.totalDeleted = deleteResult.TotalDeleted;
+ resultData.deletedItems = deleteResult.DeletedNos; // 鏍煎紡锛歔"DN1_1", "DN1_2"]
+ resultData.notFoundItems = deleteResult.NotFoundNos;
+ resultData.isSuccess = deleteResult.TotalDeleted > 0;
+
+ // 4. 鏇存柊娑堟伅涓績鐘舵�侊紙鎴愬姛锛�
+ messageEntity.Result = 1;
+ messageEntity.DealWith = 1;
+ messageEntity.ResultData = $"鎵归噺鍒犻櫎瀹屾垚锛屽叡澶勭悊{deleteResult.TotalRequested}鏉¢�佽揣鍗曡";
+ _messageCenterManager.save(messageEntity);
+
+ // 5. 杩斿洖鎴愬姛鍝嶅簲
+ return new ResponseResult
+ {
+ status = 0,
+ message = $"鎴愬姛鍒犻櫎{deleteResult.DeletedNos.Count}鏉¢�佽揣鍗曡鏁版嵁锛屽叡{deleteResult.TotalDeleted}鏉¤褰�",
+ data = resultData
+ };
+ }
+ catch (Exception ex)
+ {
+ // 6. 寮傚父澶勭悊
+ messageEntity.Result = 0;
+ messageEntity.DealWith = 0;
+ messageEntity.ResultData = ex.Message;
+ _messageCenterManager.save(messageEntity);
+
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3