From 0454641bf40fe81dad66592a3a03e8c3775d2377 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周四, 18 9月 2025 15:03:46 +0800 Subject: [PATCH] 增加新表 deviceGeneralInfoForDetail --- siemenswmssditcode/wmsService/wcftest/wcf/apitest.cs | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 257 insertions(+), 4 deletions(-) diff --git a/siemenswmssditcode/wmsService/wcftest/wcf/apitest.cs b/siemenswmssditcode/wmsService/wcftest/wcf/apitest.cs index a8f171b..412f660 100644 --- a/siemenswmssditcode/wmsService/wcftest/wcf/apitest.cs +++ b/siemenswmssditcode/wmsService/wcftest/wcf/apitest.cs @@ -24,6 +24,7 @@ using wcftest.Model.Output; using wcftest.orm_test; using wcftest.Utils.AuthFacotry; +using System.Linq.Expressions; namespace wcftest.wcf @@ -2672,7 +2673,7 @@ if (page.datatime.Length == 2) { - StockWhere = StockWhere + " and creatTime > '" + page.datatime[0].ToString() + "' and creatTime < '" + page.datatime[1].ToString() + "'"; + StockWhere = StockWhere + " and CreateTime > '" + page.datatime[0].ToString() + "' and CreateTime < '" + page.datatime[1].ToString() + "'"; } } @@ -3270,7 +3271,7 @@ data.Add(waitStatus); //x杞撮『搴忛噸鏂版帓搴� 銆怑ditby shaocx,2024-12-30銆� - xdata = xdata.OrderBy(x=>x).ToList(); + xdata = xdata.OrderBy(x => x).ToList(); string[] legend = { "p璁惧杩愯鏃堕棿", "p璁惧绛夊緟鏃堕棿", "p璁惧寮傚父鏃堕棿" }; var workpiece = new { @@ -3297,6 +3298,237 @@ } } + + /// <summary> + /// 鍒嗛〉鏌ヨ 鍫嗗灈鏈鸿繍琛岀粺璁� + /// </summary> + /// <param name="param"></param> + /// <returns></returns> + public string QueryPageDeviceGeneralInfo(string param) + { + msgss<deviceGeneralInfoForDetail> msg = new msgss<deviceGeneralInfoForDetail>(); + DeviceGeneralInfoInput page = JsonConvert.DeserializeObject<DeviceGeneralInfoInput>(param); + try + { + using (dbModel mod = new dbModel()) + { + List<deviceGeneralInfoForDetail> fiveDayDeviceInfo = null; + if (page.datatime == null) + { + fiveDayDeviceInfo = mod.deviceGeneralInfoForDetail + .OrderByDescending(x => x.createTime) + .ToList(); + } + else + { + DateTime _startTime = Convert.ToDateTime(page.datatime[0]); + DateTime _endTime = Convert.ToDateTime(page.datatime[1]); + fiveDayDeviceInfo = mod.deviceGeneralInfoForDetail + .Where(x => x.createTime >= _startTime && x.createTime <= _endTime) + .OrderByDescending(x => x.createTime) + .ToList(); + } + + if (fiveDayDeviceInfo.Count > 0) + { + foreach (var item in fiveDayDeviceInfo) + { + //閲嶆柊璁$畻绛夊緟鏃堕棿 + item.deviceWaitTime = 1440 - ((item.deviceRunTime ?? 0M) + (item.deviceAlarmTime ?? 0M)); + } + } + + List<deviceGeneralInfoForDetail> fenyeRerult = new List<deviceGeneralInfoForDetail>(); + if (fiveDayDeviceInfo.Count > 0) + { + msg.status = 200; + msg.total = fiveDayDeviceInfo.Count; + if (page.IsLoadAllData) + {//鍙湁纭畾鍔犺浇鍏ㄩ儴鏁版嵁鏃舵墠鍔犺浇鍏ㄩ儴鏁版嵁 [EditBy shaocx,2022-03-07] + msg.status = 200; + msg.allDate = fiveDayDeviceInfo.ToList(); + } + else + {//涓嶅姞杞藉叏閮紝灏辫繃婊ゅ垎椤典俊鎭� + //鍋囧姣忛〉鏁伴噺 澶т簬鐩樼偣鏁版嵁 + if (page.queryInfo.pagesize > fiveDayDeviceInfo.Count) + { + msg.date = fiveDayDeviceInfo; + } + else + { + #region 鍒嗛〉璁$畻 + int a = page.queryInfo.pagesize; + + int b = page.queryInfo.pagenum; + int c = (int)Math.Ceiling((double)fiveDayDeviceInfo.Count / a); + int d = fiveDayDeviceInfo.Count % a; + int e = 0; + int f = a * (b - 1); + if (d != 0 && b == c) + { + e = d + f; + + } + else + { + e = a + f; + } + + + + for (int i = f; i < e; i++) + { + fenyeRerult.Add(fiveDayDeviceInfo[i]); + } + msg.date = fenyeRerult; + #endregion + + } + } + } + else + { + msg.status = 400; + msg.total = 1; + msg.date = null; + } + + + return JsonConvert.SerializeObject(msg); + } + + } + catch (Exception ex) + { + logtxt.txtWrite("鍑洪敊淇℃伅" + ex.Message + "鍑洪敊琛屽彿" + (string)ex.StackTrace, 2); + msg.status = 400; + msg.total = 1; + msg.date = null; + + return JsonConvert.SerializeObject(msg); + } + + } + + /// <summary> + /// 鍒嗛〉鏌ヨ PO鏄庣粏绌虹墿鏂欏彿淇℃伅 + /// </summary> + /// <param name="param"></param> + /// <returns></returns> + public string QueryPagePurchaseEmptyMaterialCode(string param) + { + msgss<Purchase_OrderList_EmptyMaterialCode> msg = new msgss<Purchase_OrderList_EmptyMaterialCode>(); + Purchase_OrderList_EmptyMaterialCodeInput page = JsonConvert.DeserializeObject<Purchase_OrderList_EmptyMaterialCodeInput>(param); + try + { + using (dbModel mod = new dbModel()) + { + List<Purchase_OrderList_EmptyMaterialCode> fiveDayDeviceInfo = new List<Purchase_OrderList_EmptyMaterialCode>(); + + Expression<Func<Purchase_OrderList_EmptyMaterialCode, bool>> predicate_datatime = x => 1 == 1; + if (page.datatime != null) + { + DateTime _startTime = Convert.ToDateTime(page.datatime[0]); + DateTime _endTime = Convert.ToDateTime(page.datatime[1]); + predicate_datatime = x => x.CreateTime >= _startTime && x.CreateTime <= _endTime; + } + Expression<Func<Purchase_OrderList_EmptyMaterialCode, bool>> predicate_poCode = x => 1 == 1; + if (!string.IsNullOrEmpty(page.search.PoCode)) + { + predicate_poCode = x => x.PoCode == page.search.PoCode; + } + Expression<Func<Purchase_OrderList_EmptyMaterialCode, bool>> predicate_ItemNumber = x => 1 == 1; + if (!string.IsNullOrEmpty(page.search.ItemNumber)) + { + predicate_poCode = x => x.ItemNumber == page.search.ItemNumber; + } + Expression<Func<Purchase_OrderList_EmptyMaterialCode, bool>> predicate_ProductName = x => 1 == 1; + if (!string.IsNullOrEmpty(page.search.ProductName)) + { + predicate_poCode = x => x.ProductName == page.search.ProductName; + } + fiveDayDeviceInfo = mod.Purchase_OrderList_EmptyMaterialCode + .Where(predicate_datatime) + .Where(predicate_poCode) + .Where(predicate_ItemNumber) + .Where(predicate_ProductName) + .ToList(); + + + List<Purchase_OrderList_EmptyMaterialCode> fenyeRerult = new List<Purchase_OrderList_EmptyMaterialCode>(); + if (fiveDayDeviceInfo.Count > 0) + { + msg.status = 200; + msg.total = fiveDayDeviceInfo.Count; + if (page.IsLoadAllData) + {//鍙湁纭畾鍔犺浇鍏ㄩ儴鏁版嵁鏃舵墠鍔犺浇鍏ㄩ儴鏁版嵁 [EditBy shaocx,2022-03-07] + msg.status = 200; + msg.allDate = fiveDayDeviceInfo.ToList(); + } + else + {//涓嶅姞杞藉叏閮紝灏辫繃婊ゅ垎椤典俊鎭� + //鍋囧姣忛〉鏁伴噺 澶т簬鐩樼偣鏁版嵁 + if (page.queryInfo.pagesize > fiveDayDeviceInfo.Count) + { + msg.date = fiveDayDeviceInfo; + } + else + { + #region 鍒嗛〉璁$畻 + int a = page.queryInfo.pagesize; + + int b = page.queryInfo.pagenum; + int c = (int)Math.Ceiling((double)fiveDayDeviceInfo.Count / a); + int d = fiveDayDeviceInfo.Count % a; + int e = 0; + int f = a * (b - 1); + if (d != 0 && b == c) + { + e = d + f; + + } + else + { + e = a + f; + } + + + + for (int i = f; i < e; i++) + { + fenyeRerult.Add(fiveDayDeviceInfo[i]); + } + msg.date = fenyeRerult; + #endregion + + } + } + } + else + { + msg.status = 400; + msg.total = 1; + msg.date = null; + } + + + return JsonConvert.SerializeObject(msg); + } + + } + catch (Exception ex) + { + logtxt.txtWrite("鍑洪敊淇℃伅" + ex.Message + "鍑洪敊琛屽彿" + (string)ex.StackTrace, 2); + msg.status = 400; + msg.total = 1; + msg.date = null; + + return JsonConvert.SerializeObject(msg); + } + + } + /// <summary>2d鍔ㄧ敾鑾峰彇璁惧浣嶇疆 /// 2d鍔ㄧ敾鑾峰彇璁惧浣嶇疆 @@ -5719,12 +5951,27 @@ var checkMateria1s = (from p in mod.Base_ProductInfo where (from f in rstPo select f).Contains(p.ProductCode) select p).ToList(); #region 娣诲姞PO鍗曠墿鏂欐槑缁� + System.Collections.Generic.List<Purchase_OrderList_EmptyMaterialCode> insert_OrderList_EmptyMaterialCodeList = new List<Purchase_OrderList_EmptyMaterialCode>(); string lastTracknum = ""; foreach (var item in resultPo.Materials) { - if (item.MaterialCode == null) - { + if (string.IsNullOrEmpty(item.MaterialCode)) + {//鍐欏叆PO鏄庣粏绌虹墿鏂欏彿琛� 銆怑ditby shaocx,2025-09-09銆� logtxt.txtWrite("閲囪喘鍗曞彿:" + item.PoNumber + " 鐗╂枡椤瑰彿:" + item.PoItem + "鐗╂枡缂栧彿涓虹┖", 2); + insert_OrderList_EmptyMaterialCodeList.Add(new Purchase_OrderList_EmptyMaterialCode() + { + ID = Yitter.IdGenerator.YitIdHelper.NextId(), + PoCode = poInfo.PoCode, + BatchNumber = "", + ItemNumber = item.PoItem, + ProductName = item.MaterialName, + CreateTime = DateTime.Now, + Creator = resultPo.CreatedBy, + Quantity = 0, + LastModifier = resultPo.CreatedBy, + LastModifyTime = DateTime.Now, + Remark = "" + }); continue;//鐗╂枡缂栧彿涓虹┖ } string materialCode = item.MaterialCode; @@ -5860,6 +6107,12 @@ #endregion //鍏堜繚瀛樹富琛� 鐒跺悗鑾峰彇涓昏〃ID 鍐嶅啓鍏ユ槑缁嗚〃 mod.Purchase_Order.Add(poInfo); + + if (insert_OrderList_EmptyMaterialCodeList != null && insert_OrderList_EmptyMaterialCodeList.Count > 0) + {//鍐欏叆PO鏄庣粏绌虹墿鏂欏彿琛� 銆怑ditby shaocx,2025-09-09銆� + mod.Purchase_OrderList_EmptyMaterialCode.AddRange(insert_OrderList_EmptyMaterialCodeList); + } + int results = mod.SaveChanges(); for (int h = 0; h < 10; h++) { -- Gitblit v1.9.3