From 37379aa1d6e95c1964419b32031aaccc302888c3 Mon Sep 17 00:00:00 2001 From: kyy <3283105747@qq.com> Date: 星期六, 30 八月 2025 09:43:32 +0800 Subject: [PATCH] 1、新增批量按送货单删除条码、按明细删除条码 --- 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