using HH.WMS.Common.Response; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.Client.Common { public class OrderPrintHelper { public static BasisResponse AllowPrintByOrderNo(DataTable dt) { var existOrderNo = false; var existNotOrderNo = false; var selectedOrderNo = ""; var selectedDate = ""; var selectedWorkCenter = ""; foreach (DataRow row in dt.Rows) { var curData = row["CN_T_CREATE"].ToString(); if (string.IsNullOrEmpty(selectedDate)) { selectedDate = curData; } else { if (!selectedDate.Equals(curData)) { return BasisResponse.Error("存在不同的时间:" + curData + "、" + selectedDate + ",不能一起打印!"); } } var curOrderNo = row["CN_S_FROM_NO"].ToString(); if (string.IsNullOrEmpty(curOrderNo)) { existNotOrderNo = true; } else { existOrderNo = true; if (!string.IsNullOrEmpty(selectedOrderNo)) { if (!selectedOrderNo.Equals(curOrderNo)) { return BasisResponse.Error("不同的单据不能放在一起打印!"); } } else { selectedOrderNo = row["CN_S_FROM_NO"].ToString(); } } if (existOrderNo && existNotOrderNo) { return BasisResponse.Error("未打印和已打印的单据不能放在一起打印!"); } var curWorkCenter = row["CN_S_PRODUCTION_BATCH"].ToString(); if (string.IsNullOrEmpty(selectedWorkCenter)) { selectedWorkCenter = curWorkCenter; } else { if (!selectedWorkCenter.Equals(curWorkCenter)) { return BasisResponse.Error("存在不同的工作中心:" + curData + "、" + selectedDate + ",不能一起打印!"); } } } return BasisResponse.Normal(selectedOrderNo); } } }