| | |
| | | ",HYear,HPeriod,HRemark" + |
| | | ",HMouldID,HConkTypeID,HConkBeginDate,HEndDate"+ |
| | | ",HEmpID,HManagerID,HDeptID"+ |
| | | ",HInnerBillNo,HExplanation" + |
| | | ",HInnerBillNo,HExplanation, HRepairManID" + |
| | | ") " + |
| | | " values('" + this.BillType + "','" + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" + |
| | | "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'"+ |
| | | "," + omodel.HMouldID.ToString() + "," + omodel.HConkTypeID.ToString() + ",'" + omodel.HConkBeginDate + "','" + omodel.HEndDate + "'"+ |
| | | "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HDeptID.ToString() + |
| | | ",'" + omodel.HInnerBillNo + "','" + omodel.HExplanation + "'" + |
| | | ") "); |
| | | $",{omodel.HRepairManID}) "); |
| | | //æå
¥å表 |
| | | foreach (Model.ClsSc_MouldConkBookBillSub oSub in DetailColl) |
| | | { |
| | |
| | | public string HExplanation;// varchar(500) --æ
éæè¿° |
| | | public string HInnerBillNo;// varchar(50) --å
é¨åæ®å· |
| | | |
| | | public long HRepairManID; // -- 维修人 |
| | | |
| | | } |
| | | } |
| | |
| | | public string HLev; // --ç´§æ¥ç¨åº¦ï¼ ç´§æ¥ï¼æ®éï¼ |
| | | public string HReason; //varchar(200) --æ
éåå åæåé¢é²æªæ½ |
| | | |
| | | public Int64 HRepairManID; |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | D:\å·¥ä½ä»£ç \æºäºè¿æ\MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.CoreCompileInputs.cache |
| | | D:\å·¥ä½ä»£ç \æºäºè¿æ\MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.dll |
| | | D:\å·¥ä½ä»£ç \æºäºè¿æ\MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.pdb |
| | | <<<<<<< HEAD |
| | | C:\Users\19858\Desktop\æºäºè¿æ\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache |
| | | ======= |
| | | D:\å·¥ä½ä»£ç \æºäºè¿æ\MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache |
| | | >>>>>>> 28e8091a515d24a9cf82251f383f055a2ab0cff9 |
| | |
| | | } |
| | | } |
| | | |
| | | [Route("Gy_ConkType/List_PDA2")] |
| | | [HttpGet] |
| | | public object List_PDA(string sWhere, string user, string Mode) |
| | | { |
| | | if (string.IsNullOrWhiteSpace(Mode)) |
| | | { |
| | | return List_PDA(sWhere, user); |
| | | } |
| | | try |
| | | { |
| | | string errRef = ""; |
| | | List<object> columnNameList = new List<object>(); |
| | | |
| | | if(oClsXt_SystemParameter.ShowBill(ref errRef)) |
| | | { |
| | | if(oClsXt_SystemParameter.omodel.WMS_CampanyName == "åè") |
| | | { |
| | | if(Mode == "Module") |
| | | { |
| | | sWhere += $" and æ
éç±»å«ä»£ç like 'MJ%' "; |
| | | } |
| | | else if (Mode == "Equip") |
| | | { |
| | | sWhere += $" and æ
éç±»å«ä»£ç like 'SB%' "; |
| | | } |
| | | } |
| | | } |
| | | |
| | | sWhere += $" and ç¦ç¨æ å¿='' "; |
| | | LogService.Write(sWhere); |
| | | string sql1 = string.Format(@"select * from h_v_Gy_ConkTypeList where 1=1 "); |
| | | ds = oCN.RunProcReturn(sql1 + sWhere + " order by æ
éç±»å«ä»£ç ", "h_v_Gy_ConkTypeList"); |
| | | |
| | | //æ·»å åå |
| | | foreach (DataColumn col in ds.Tables[0].Columns) |
| | | { |
| | | Type dataType = col.DataType; |
| | | string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; |
| | | columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//è·åå°DataColumnå对象çåå |
| | | } |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucessï¼"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | objJsonResult.list = columnNameList; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exceptionï¼" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | using WebAPI.Models; |
| | | using System.Web; |
| | | using System.IO; |
| | | using WebAPI.Controllers.SCGL; |
| | | |
| | | namespace WebAPI.Controllers |
| | | { |
| | | public class LMESController : ApiController |
| | |
| | | //èªå®ä¹34è¿å¶æ°ç» |
| | | private static char[] lNCode = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; |
| | | string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"]; |
| | | |
| | | |
| | | #region è¿åè¿ç«æ«æå表|å·¥åºè¿ç«æ¥æ¶åå表 |
| | | [Route("LEMS/MES_StationInBillList_Json")] |
| | |
| | | // ååºåååè¡¨æ°æ® |
| | | var detailList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(msg3); |
| | | |
| | | // 3. å¼å§äºå¡ |
| | | oCN.BeginTran(); |
| | | |
| | | foreach (var row in detailList) |
| | | { |
| | | // 3. å¼å§äºå¡ |
| | | oCN.BeginTran(); |
| | | DataSet ds2 = null; |
| | | // è·ååè¡¨åæ®µå¼ |
| | | string hSourceID = row.ContainsKey("HSourceID") ? row["HSourceID"] : "0"; |
| | | string hMoldID = row.ContainsKey("HMoldID") ? row["HMoldID"] : "0"; |
| | |
| | | string sReturn = ""; |
| | | if (oSystemParameter.ShowBill(ref sReturn) == true) |
| | | { |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "åè") |
| | | { |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "åè") |
| | | { |
| | | oCN.RunProc("update Sc_ProcessExchangeBillMain set HMakeDate = GETDATE(),HRemark3='已派工',HMaker='" + msg4 + "' where HInterID = " + hSourceInterID); |
| | | LogService.Write("èªå¨çæå·¥ä½èç³»å..."); |
| | | |
| | | //èªå¨çæå·¥ä½èç³»å |
| | | oCN.RunProc("exec h_p_OA_WorkLinkBill_Create " + hSourceInterID + "," + 3772); |
| | | } |
| | | ds2 = oCN.RunProcReturn("exec h_p_OA_WorkLinkBill_Create " + hSourceInterID + "," + 3772, "h_p_OA_WorkLinkBill_Create"); |
| | | |
| | | } |
| | | } |
| | | oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=" + hSourceID + " where HInterID=" + hSourceInterID + " and HEntryID=" + hSourceEntryID); |
| | | // æå
¥çäº§ç¶æä¸´æ¶è¡¨ |
| | |
| | | oCN.RunProc(SQL); |
| | | //æå
¥å·¥åºæµè½¬å¡æ´¾å·¥å |
| | | string SQL1 = $"exec h_p_Sc_ProcExchSendWorkBill_PG {hSourceInterID},{hSourceEntryID},{hSourceID},{hMoldID}"; |
| | | oCN.RunProc(SQL1); |
| | | oCN.RunProc(SQL1); |
| | | |
| | | // 7. æäº¤äºå¡ |
| | | oCN.Commit(); |
| | | if (ds2 != null && ds2.Tables[0].Rows.Count > 0) |
| | | { |
| | | int HInterID = int.Parse(ds2.Tables[0].Rows[0]["NewHInterID"].ToString()); |
| | | LogService.Write("æ§è¡æ¶æ¯æ¨é..." + HInterID); |
| | | |
| | | // è§¦åæ¶æ¯æ¨é |
| | | new Sc_MESTransFerWorkBillController().AuditOA_WorkLinkBill(HInterID, 0, msg4); |
| | | } |
| | | } |
| | | |
| | | // 7. æäº¤äºå¡ |
| | | oCN.Commit(); |
| | | |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | |
| | | ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + |
| | | ",HEquipID,HExplanation,HInnerBillNo,HRepairID,HEmpID" + |
| | | ",HManagerID,HDeptID,HRepairContent,HRepairPlanBeginDate,HRepairPlanEndDate" + |
| | | ",HPlanTimes,HCycleUnit" + |
| | | ",HPlanTimes,HCycleUnit,HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID" + |
| | | ") " + |
| | | " values('" + BillType + "','" + BillType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" + |
| | | ", Year(getdate()),Month(getdate()),'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" + |
| | | ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" + |
| | | ", " + omodel.HEquipID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HRepairID.ToString() + "," + omodel.HEmpID.ToString() + |
| | | "," + omodel.HManagerID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HRepairContent + "','" + omodel.HRepairPlanBeginDate + "','" + omodel.HRepairPlanEndDate + "'" + |
| | | "," + omodel.HPlanTimes.ToString() + ",'" + omodel.HCycleUnit + "'" + |
| | | "," + omodel.HPlanTimes.ToString() + ",'" + omodel.HCycleUnit + "','" + omodel.HMainSourceBillType + "','" + omodel.HMainSourceInterID + "','" + omodel.HMainSourceEntryID + "'" + |
| | | ") "); |
| | | |
| | | |
| | | // "Insert Into Sb_EquipRepairSendWorkBillMain" + |
| | | // "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + |
| | | // ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + |
| | | // ",HEquipID,HExplanation,HInnerBillNo,HRepairID,HEmpID" + |
| | | // ",HManagerID,HDeptID,HRepairContent,HRepairPlanBeginDate,HRepairPlanEndDate" + |
| | | // ",HPlanTimes,HCycleUnit" + |
| | | // ") " + |
| | | // " values('" + BillType + "','" + BillType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" + |
| | | // ", Year(getdate()),Month(getdate()),'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" + |
| | | // ", " + omodel.HEquipID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HRepairID.ToString() + "," + omodel.HEmpID.ToString() + |
| | | // "," + omodel.HManagerID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HRepairContent + "','" + omodel.HRepairPlanBeginDate + "','" + omodel.HRepairPlanEndDate + "'" + |
| | | // "," + omodel.HPlanTimes.ToString() + ",'" + omodel.HCycleUnit + "'" + |
| | | // ") " |
| | | } |
| | | else if (OperationType == 3) |
| | | { |
| | |
| | | ListModels oListModels = new ListModels(); |
| | | try |
| | | { |
| | | string errRef = ""; |
| | | if (!DBUtility.ClsPub.Security_Log("Sb_EquipConkBookBill_Edit", 1, false, msg4)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | |
| | | //oItem.HRepairID = 0; //维修项ç®(Gy_Repair) |
| | | //oItem.HRemark = ""; //夿³¨ |
| | | //oItem.HMainSourceInterID = oItem.HInterID; |
| | | if (oSystemParameter.ShowBill(ref errRef)) |
| | | { |
| | | // if (oSystemParameter.omodel.WMS_CampanyName == "åè") |
| | | // { |
| | | // oItem.HRepairManID = oItem.HEmpID; |
| | | // } |
| | | // else |
| | | // { |
| | | oItem.HRepairManID = 0; |
| | | // } |
| | | } |
| | | |
| | | |
| | | //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") |
| | |
| | | //oItemSub.HManagerID = 0; //è´è´£äººID |
| | | //oItemSub.HMoney = 0; //ç»´ä¿®è´¹ç¨ |
| | | oBill.DetailColl.Add(oItemSub); |
| | | |
| | | } |
| | | //ä¿å |
| | | //ä¿å宿¯åå¤ç |
| | |
| | | ListModels oListModels = new ListModels(); |
| | | try |
| | | { |
| | | string sErrMsg = ""; |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_MouldConkBookBill_Edit", 1, false, msg4)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | |
| | | //oItem.HInnerBillNo = ""; // --å
é¨åæ®å· |
| | | oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); |
| | | oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); |
| | | if(oSystemParameter.ShowBill(ref sErrMsg) == true) |
| | | { |
| | | // if(oSystemParameter.omodel.WMS_CampanyName == "åè") |
| | | // { |
| | | // oItem.HRepairManID = oItem.HEmpID; |
| | | // }else |
| | | // { |
| | | oItem.HRepairManID = 0; |
| | | // } |
| | | } |
| | | |
| | | if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | |
| | | /// <returns></returns> |
| | | [Route("Web/GetEmployeeList_Json")] |
| | | [HttpGet] |
| | | public object GetEmployeeList_Json(string Employee, Int64 HGroupID) |
| | | public object GetEmployeeList_Json2(string Employee, Int64 HGroupID) |
| | | { |
| | | sWhere = " Where HStopFlag=0 and HEndFlag=1"; |
| | | //sWhere = " Where HStopFlag=0 and HEndFlag=1 and HUSEORGID = " + DBUtility.ClsPub.HORGANIZATIONSID.ToString(); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// è·åçæ¬¡å表 |
| | |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Web.Http; |
| | | using WebAPI.Controllers.SCGL; |
| | | using WebAPI.Models; |
| | | |
| | | namespace WebAPI.Controllers |
| | |
| | | { |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "åè") |
| | | { |
| | | |
| | | |
| | | //èªå¨çæå·¥ä½èç³»å |
| | | oCN.RunProc("exec h_p_OA_WorkLinkBill_Create " + BillNew.omodel.HInterID + "," + 7505); |
| | | // oCN.RunProc("exec h_p_OA_WorkLinkBill_Create " + BillNew.omodel.HInterID + "," + 7505); |
| | | |
| | | var ds2 = oCN.RunProcReturn("exec h_p_OA_WorkLinkBill_Create " + BillNew.omodel.HInterID + "," + 7505, "h_p_OA_WorkLinkBill_Create"); |
| | | if (ds2 != null && ds2.Tables[0].Rows.Count > 0) |
| | | { |
| | | int HInterID = int.Parse(ds2.Tables[0].Rows[0]["NewHInterID"].ToString()); |
| | | LogService.Write("æ§è¡æ¶æ¯æ¨é..." + HInterID); |
| | | |
| | | // è§¦åæ¶æ¯æ¨é |
| | | new Sc_MESTransFerWorkBillController().AuditOA_WorkLinkBill(HInterID, 0, user); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Web; |
| | | using System.Web.Http; |
| | | using WebAPI.Models; |
| | | using WebAPI.Controllers.SCGL.æ¥è®¡å管ç; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | |
| | | namespace WebAPI.Controllers |
| | | { |
| | |
| | | #endregion |
| | | |
| | | |
| | | |
| | | #region æä»¶ä¸ä¼ |
| | | [Route("CB_ItemMoneyBillController/CB_ItemMoneyBill_Excel")] |
| | | [HttpPost] |
| | | public json CB_ItemMoneyBill_Excel() |
| | | { |
| | | json res = new json(); |
| | | try |
| | | { |
| | | //è·åæä»¶åç§° |
| | | var file = HttpContext.Current.Request.Files[0]; |
| | | //è·åæä»¶ç©çè·¯å¾ |
| | | string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName); |
| | | //ä¿åæä»¶ |
| | | file.SaveAs(ExcelPath); |
| | | |
| | | SCGL.æ¥è®¡å管ç.NpoiHelper np = new NpoiHelper(); |
| | | DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0"); |
| | | |
| | | //å 餿件 |
| | | File.Delete(ExcelPath); |
| | | |
| | | //å建临æ¶è¡¨ |
| | | DataTable provisional = new DataTable("dt2"); |
| | | |
| | | //æ·»å åå |
| | | for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++) |
| | | { |
| | | provisional.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString()); |
| | | } |
| | | provisional.Columns.Add("åæ®å·", typeof(string)); |
| | | |
| | | //æ·»å æ°æ® |
| | | for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++) |
| | | { |
| | | DataRow row = provisional.NewRow(); |
| | | for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++) |
| | | { |
| | | row[j] = ExcelDs.Tables[0].Rows[i][j].ToString(); |
| | | } |
| | | provisional.Rows.Add(row); |
| | | } |
| | | |
| | | //夿å |
| | | string error = JudgmentColumns(provisional); |
| | | if (error.Length > 0) |
| | | { |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = $"Excel模æ¿åå¨é误,{error}\r\n"; |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | |
| | | for (int i = 0; i <= provisional.Rows.Count - 1; i++) |
| | | { |
| | | //string HBillNo= DBUtility.ClsPub.CreateBillCode("1802", ref DBUtility.ClsPub.sExeReturnInfo, true); |
| | | //provisional.Rows[i]["åæ®å·"] = HBillNo; |
| | | string HDepNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["é¨é¨ä»£ç "].ToString()); |
| | | string HDepName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["é¨é¨"].ToString()); |
| | | |
| | | string HEmpNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["èå代ç "].ToString()); |
| | | string HEmpName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["èå"].ToString()); |
| | | |
| | | string HICMOBillNo = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["ç产订åå·"].ToString()); |
| | | |
| | | string HCostItemNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["ææ¬é¡¹ç®ä»£ç "].ToString()); |
| | | string HCostItemName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["ææ¬é¡¹ç®"].ToString()); |
| | | |
| | | //string HEntryID = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["å表å
ç "].ToString()); |
| | | |
| | | string HDepNumber_sub = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["åé¨é¨ä»£ç "].ToString()); |
| | | string HDepName_sub = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["åé¨é¨"].ToString()); |
| | | |
| | | string HMaterNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["ç©æç¼ç "].ToString()); |
| | | string HMaterName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["ç©æåç§°"].ToString()); |
| | | |
| | | string HQty = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["æ°é"].ToString()); |
| | | string HPrice = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["åä»·"].ToString()); |
| | | string HMoney = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["éé¢"].ToString()); |
| | | string HWaster = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["æèé"].ToString()); |
| | | //string HRelationQty = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["å
³èæ°é"].ToString()); |
| | | //string HRelationMoney = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["å
³èéé¢"].ToString()); |
| | | string remark = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["夿³¨"].ToString()); |
| | | |
| | | //è·åçå®è¡æ° |
| | | int line = i + 1; |
| | | } |
| | | |
| | | res.code = "1"; |
| | | res.count = 1; |
| | | res.Message = error; |
| | | res.data = provisional; |
| | | return res; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = "Exceptionï¼" + e.ToString(); |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 夿å |
| | | /// </summary> |
| | | /// <param name="provisional"></param> |
| | | /// <returns></returns> |
| | | private static string JudgmentColumns(DataTable provisional) |
| | | { |
| | | var error = ""; |
| | | |
| | | //æ¥è¯¢æ²¡æçå |
| | | //if (!provisional.Columns.Contains("å表å
ç ")) |
| | | // error += "æ²¡ææ¾å°ãå表å
ç ãçæ é¢,"; |
| | | |
| | | if (!provisional.Columns.Contains("ç©æç¼ç ")) |
| | | error += "æ²¡ææ¾å°ãç©æç¼ç ãçæ é¢,"; |
| | | return error; |
| | | } |
| | | #endregion |
| | | |
| | | #region ä¸ä¼ ä¿å |
| | | [Route("CB_ItemMoneyBillController/Excel_btnSave")] |
| | | [HttpPost] |
| | | public object Excel_btnSave([FromBody] JObject sMainSub) |
| | | { |
| | | var _value = sMainSub["sMainSub"].ToString(); |
| | | string msg1 = _value.ToString(); |
| | | string[] sArray = msg1.Split(new string[] { "&å" }, StringSplitOptions.RemoveEmptyEntries); |
| | | string msg2 = sArray[0].ToString(); |
| | | string user = sArray[1].ToString(); |
| | | string organ = sArray[2].ToString(); |
| | | json res = new json(); |
| | | |
| | | try |
| | | { |
| | | oCN.BeginTran(); |
| | | List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2); |
| | | List<Dictionary<string, string>> list = new List<Dictionary<string, string>>(); |
| | | |
| | | foreach (JObject item in Excel) |
| | | { |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | foreach (var itm in item.Properties()) |
| | | { |
| | | dic.Add(itm.Name, itm.Value.ToString()); |
| | | } |
| | | list.Add(dic); |
| | | } |
| | | |
| | | // 1. æ¶éææéè¦æ¥è¯¢çæ°æ® |
| | | var HBillnos = list.Select(x => x["åæ®å·"].ToString()).Distinct().ToList(); |
| | | var HDeptNames = list.Select(x => x["é¨é¨"].ToString()).Distinct().ToList(); |
| | | var HDeptNumbers = list.Select(x => x["é¨é¨ä»£ç "].ToString()).Distinct().ToList(); |
| | | var HDeptNames_sub = list.Select(x => x["åé¨é¨"].ToString()).Distinct().ToList(); |
| | | var HDeptNumbers_sub = list.Select(x => x["åé¨é¨ä»£ç "].ToString()).Distinct().ToList(); |
| | | var materialNumbers = list.Select(x => x["ç©æç¼ç "].ToString()).Distinct().ToList(); |
| | | var materialNames = list.Select(x => x["ç©æåç§°"].ToString()).Distinct().ToList(); |
| | | var EmpNumbers = list.Select(x => x["èå代ç "].ToString()).Distinct().ToList(); |
| | | var EmpNames = list.Select(x => x["èå"].ToString()).Distinct().ToList(); |
| | | var CostNumbers = list.Select(x => x["ææ¬é¡¹ç®ä»£ç "].ToString()).Distinct().ToList(); |
| | | var CostNames = list.Select(x => x["ææ¬é¡¹ç®"].ToString()).Distinct().ToList(); |
| | | var ICMONumbers = list.Select(x => x["ç产订åå·"].ToString()).Distinct().ToList(); |
| | | |
| | | // 2. æ¹éæ¥è¯¢ç产订åå
ç |
| | | string ICMOQuery = $"SELECT HInterID,HBillNo FROM Sc_ICMOBillMain WHERE HBillNo IN ({string.Join(",", ICMONumbers.Select(s => $"'{s.Replace("'", "''")}'"))})"; |
| | | DataSet icmoData = oCN.RunProcReturn(ICMOQuery, "Sc_ICMOBillMain"); |
| | | Dictionary<string, int> ICMODict = new Dictionary<string, int>(); |
| | | foreach (DataRow row in icmoData.Tables[0].Rows) |
| | | { |
| | | ICMODict[row["HBillNo"].ToString()] = (int)row["HInterID"]; |
| | | } |
| | | |
| | | // 2. æ¹éæ¥è¯¢ä¸»å表é¨é¨ä¿¡æ¯ |
| | | string supplierQuery = $"SELECT HItemID, HName FROM Gy_Department WHERE HName IN ({string.Join(",", HDeptNames.Select(s => $"'{s.Replace("'", "''")}'"))})"; |
| | | DataSet supData = oCN.RunProcReturn(supplierQuery, "Gy_Department"); |
| | | Dictionary<string, int> supplierDict = new Dictionary<string, int>(); |
| | | foreach (DataRow row in supData.Tables[0].Rows) |
| | | { |
| | | supplierDict[row["HName"].ToString()] = (int)row["HItemID"]; |
| | | } |
| | | |
| | | // 2.1 æ¹éæ¥è¯¢ä¸»å表é¨é¨ä¿¡æ¯ |
| | | string supplierQuery_sub = $"SELECT HItemID, HName FROM Gy_Department WHERE HName IN ({string.Join(",", HDeptNames_sub.Select(s => $"'{s.Replace("'", "''")}'"))})"; |
| | | DataSet supData_sub = oCN.RunProcReturn(supplierQuery_sub, "Gy_Department"); |
| | | Dictionary<string, int> supplierDict_sub = new Dictionary<string, int>(); |
| | | foreach (DataRow row in supData_sub.Tables[0].Rows) |
| | | { |
| | | supplierDict_sub[row["HName"].ToString()] = (int)row["HItemID"]; |
| | | } |
| | | |
| | | // 3. æ¹éæ¥è¯¢ç©æä¿¡æ¯ |
| | | string materialQuery = |
| | | $"SELECT HItemID, HNumber, HName FROM Gy_Material WHERE HNumber IN ({string.Join(",", materialNumbers.Select(m => $"'{m.Replace("'", "''")}'"))}) AND HName IN ({string.Join(",", materialNames.Select(m => $"'{m.Replace("'", "''")}'"))})"; |
| | | DataSet materData = oCN.RunProcReturn(materialQuery, "Gy_Material"); |
| | | Dictionary<string, int> materialDict = new Dictionary<string, int>(); |
| | | foreach (DataRow row in materData.Tables[0].Rows) |
| | | { |
| | | string key = $"{row["HNumber"]}_{row["HName"]}"; |
| | | materialDict[key] = (int)row["HItemID"]; |
| | | } |
| | | |
| | | // 3. æ¹éæ¥è¯¢èåä¿¡æ¯ |
| | | string EmployeeQuery = |
| | | $"SELECT HItemID, HNumber, HName FROM Gy_Employee WHERE HNumber IN ({string.Join(",", EmpNumbers.Select(m => $"'{m.Replace("'", "''")}'"))}) AND HName IN ({string.Join(",", EmpNames.Select(m => $"'{m.Replace("'", "''")}'"))})"; |
| | | DataSet EmpData = oCN.RunProcReturn(EmployeeQuery, "Gy_Employee"); |
| | | Dictionary<string, int> EmpDict = new Dictionary<string, int>(); |
| | | foreach (DataRow row in EmpData.Tables[0].Rows) |
| | | { |
| | | string key = $"{row["HName"].ToString()}"; |
| | | EmpDict[key] = (int)row["HItemID"]; |
| | | } |
| | | |
| | | // 3. æ¹éæ¥è¯¢chengbenxiangmuä¿¡æ¯ |
| | | string CostQuery = $"SELECT HItemID, HNumber, HName FROM Gy_ItemMoney_1 WHERE HNumber IN ({string.Join(",", CostNumbers.Select(m => $"'{m.Replace("'", "''")}'"))}) AND HName IN ({string.Join(",", CostNames.Select(m => $"'{m.Replace("'", "''")}'"))})"; |
| | | DataSet CostData = oCN.RunProcReturn(CostQuery, "Gy_ItemMoney_1"); |
| | | Dictionary<string, int> CostDict = new Dictionary<string, int>(); |
| | | foreach (DataRow row in CostData.Tables[0].Rows) |
| | | { |
| | | string key = $"{row["HName"].ToString()}"; |
| | | CostDict[key] = (int)row["HItemID"]; |
| | | } |
| | | |
| | | // 4. æ¥è¯¢ç¨æ·ä¿¡æ¯ |
| | | DataSet emp = oCN.RunProcReturn($"SELECT Czybm FROM Gy_Czygl WHERE Czymc = '{user.Replace("'", "''")}'", "Gy_Czygl"); |
| | | if (emp.Tables[0].Rows.Count == 0) |
| | | { |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = "ç¨æ·ä¸åå¨ï¼"; |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | string HUserID = emp.Tables[0].Rows[0]["Czybm"].ToString(); |
| | | |
| | | // 5. æ£æ¥ç¼ºå¤±çé¨é¨åç©æï¼å¹¶è®°å½è¡å· |
| | | List<string> missingSupplierMessages = new List<string>(); |
| | | List<string> missingMaterialMessages = new List<string>(); |
| | | |
| | | // é忝ä¸è¡æ°æ®ï¼è®°å½è¡å·ï¼ä»1å¼å§ï¼ |
| | | for (int i = 0; i < list.Count; i++) |
| | | { |
| | | var item = list[i]; |
| | | int lineNumber = i + 1; // è¡å·ä»1å¼å§ |
| | | |
| | | string ICMOcheck = item["ç产订åå·"]; |
| | | string supplier = item["é¨é¨"]; |
| | | string materialNumber = item["ç©æç¼ç "]; |
| | | string materialName = item["ç©æåç§°"]; |
| | | string materialKey = $"{materialNumber}_{materialName}"; |
| | | |
| | | // æ£æ¥ä¾åºå |
| | | if (!supplierDict.ContainsKey(supplier)) |
| | | { |
| | | missingSupplierMessages.Add($"第{lineNumber}è¡çé¨é¨ã{supplier}ã"); |
| | | } |
| | | |
| | | // æ£æ¥ç©æ |
| | | if (!materialDict.ContainsKey(materialKey)) |
| | | { |
| | | missingMaterialMessages.Add($"第{lineNumber}è¡çç©æã{materialName}(ç¼ç :{materialNumber})ã"); |
| | | } |
| | | // æ£æ¥ç产订å |
| | | if (!string.IsNullOrEmpty(ICMOcheck) && !ICMODict.ContainsKey(ICMOcheck)) |
| | | { |
| | | missingMaterialMessages.Add($"第{lineNumber}è¡çç产订åã{ICMOcheck}ã"); |
| | | } |
| | | } |
| | | |
| | | StringBuilder errorMessage = new StringBuilder(); |
| | | |
| | | if (missingSupplierMessages.Any()) |
| | | { |
| | | errorMessage.Append("以ä¸é¨é¨æªç»´æ¤ï¼"); |
| | | errorMessage.Append(string.Join("ã", missingSupplierMessages)); |
| | | errorMessage.Append("ï¼"); |
| | | } |
| | | |
| | | if (missingMaterialMessages.Any()) |
| | | { |
| | | errorMessage.Append("以ä¸ç©ææªç»´æ¤ï¼"); |
| | | errorMessage.Append(string.Join("ã", missingMaterialMessages)); |
| | | errorMessage.Append("ï¼"); |
| | | } |
| | | |
| | | if (errorMessage.Length > 0) |
| | | { |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = errorMessage.ToString(); |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | |
| | | // 6. æ¹éæ¥è¯¢å·²åå¨çè®°å½ |
| | | var materialIds = list.Select(x => materialDict[$"{x["ç©æç¼ç "]}_{x["ç©æåç§°"]}"]).Distinct().ToList(); |
| | | var supplierIds = list.Select(x => supplierDict_sub[x["é¨é¨"]]).Distinct().ToList(); |
| | | |
| | | string existQuery = $"select * from h_v_CB_ItemMoneyBillMain_Edit_excel WHERE HMaterID IN ({string.Join(",", materialIds)}) AND HDeptID_sub IN ({string.Join(",", supplierIds)})"; |
| | | DataSet existData = oCN.RunProcReturn(existQuery, "h_v_CB_ItemMoneyBillMain_Edit_excel"); |
| | | HashSet<string> existRecords = new HashSet<string>(); |
| | | foreach (DataRow row in existData.Tables[0].Rows) |
| | | { |
| | | existRecords.Add($"{row["HMaterID"]}_{row["HDeptID_sub"]}"); |
| | | } |
| | | |
| | | // 7. æç
§é¨é¨ä»£ç ãé¨é¨ãèå代ç ãèåãç产订åå·è¿è¡åç» |
| | | var groupedData = list.GroupBy(item => new |
| | | { |
| | | é¨é¨ä»£ç = item["é¨é¨ä»£ç "], |
| | | é¨é¨ = item["é¨é¨"], |
| | | èå代ç = item["èå代ç "], |
| | | èå = item["èå"], |
| | | ç产订åå· = item["ç产订åå·"] |
| | | }).ToList(); |
| | | |
| | | StringBuilder insertSql = new StringBuilder(); |
| | | StringBuilder insertSql_sub = new StringBuilder(); |
| | | string currentDate = DateTime.Today.ToString("yyyy-MM-dd"); |
| | | |
| | | foreach (var group in groupedData) |
| | | { |
| | | var firstItem = group.First(); |
| | | |
| | | // è·åç»ä¿¡æ¯ |
| | | int HSupplierID = supplierDict_sub[firstItem["é¨é¨"]]; |
| | | int EmpID = EmpDict[firstItem["èå"]]; |
| | | string ICMO = firstItem["ç产订åå·"]; |
| | | int ICMOInterID = !string.IsNullOrEmpty(ICMO) && ICMODict.ContainsKey(ICMO) ? ICMODict[ICMO] : 0; |
| | | |
| | | // çæä¸»è¡¨IDååæ®å·ï¼æ¯ç»çæä¸ä¸ªï¼ |
| | | string HBillNo = DBUtility.ClsPub.CreateBillCode("1802", ref DBUtility.ClsPub.sExeReturnInfo, true); |
| | | long HInterID = DBUtility.ClsPub.CreateBillID("1802", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | // æ£æ¥è¯¥ç»æ¯å¦å·²åå¨ï¼æ ¹æ®é¨é¨IDåç©æIDç»åï¼ |
| | | bool groupExists = false; |
| | | foreach (var item in group) |
| | | { |
| | | int HMaterID = materialDict[$"{item["ç©æç¼ç "]}_{item["ç©æåç§°"]}"]; |
| | | string recordKey = $"{HMaterID}_{HSupplierID}"; |
| | | if (existRecords.Contains(recordKey)) |
| | | { |
| | | groupExists = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!groupExists) |
| | | { |
| | | // æå
¥ä¸»è¡¨ï¼æ¯ç»æå
¥ä¸æ¬¡ï¼ |
| | | insertSql.AppendLine($"INSERT INTO CB_ItemMoneyBillMain ([HInterID], [HBillNo], [HDate], [HYear], [HPeriod], [HBillType], [HBillSubType], [HBillStatus], [HCheckItemNowID], [HCheckItemNextID], [HCheckFlowID], [HRemark], [HBacker], [HBackDate], [HBackRemark], [HChecker], [HCheckDate], [HMaker], [HMakeDate], [HUpDater], [HUpDateDate], [HCloseMan], [HCloseDate], [HCloseType], [HDeleteMan], [HDeleteDate], [HMainSourceBillType], [HMainSourceInterID], [HMainSourceEntryID], [HMainSourceBillNo], [HPrintQty], [HEmpID], [HDeptID], [HICMOInterID], [HMaterID], [HICMOBillNo], [HExplanation], [HInnerBillNo], [HBeginDate], [HEndDate], [HOrgID]) VALUES ("); |
| | | insertSql.AppendLine($"'{HInterID}', '{HBillNo}', '{DateTime.Now}', {DateTime.Now.Year}, {DateTime.Now.Month}, {"1802"}, '{"1802"}', '{"1"}', '{"0"}', '{"0"}', '{"0"}', '{"excel导å
¥"}', '{""}', '{DateTime.Now}', '{""}', '{""}', '{DateTime.Now}', '{""}', '{DateTime.Now}', '{""}', '{DateTime.Now}', '{""}', '{DateTime.Now}', '{"0"}', '{""}', '{DateTime.Now}', '{""}', '{"0"}', '{"0"}', '{""}', '{"0"}', '{EmpID}', '{HSupplierID}', '{ICMOInterID}','{0}','{ICMO}','{""}','{"0"}','{DateTime.Now}','{DateTime.Now}','{"100038"}');"); |
| | | |
| | | // æå
¥å表ï¼ç»å
æ¯ä¸ªç©ææå
¥ä¸æ¬¡ï¼ |
| | | int HEntryID = 1; |
| | | foreach (var item in group) |
| | | { |
| | | int HMaterID = materialDict[$"{item["ç©æç¼ç "]}_{item["ç©æåç§°"]}"]; |
| | | int HCostID = CostDict[item["ææ¬é¡¹ç®"]]; |
| | | |
| | | insertSql_sub.AppendLine($"INSERT INTO [CB_ItemMoneyBillSub] ([HInterID], [HEntryID], [HCloseMan], [HEntryCloseDate], [HCloseType], [HRemark],[HSourceInterID], [HSourceEntryID], [HSourceBillNo], [HSourceBillType],[HRelationQty], [HRelationMoney], [HBillNo_bak], [HCostItemID],[HDeptID], [HQty], [HPrice], [HMoney],[HMaterID], [HWaster], [HDate], [HBeginBalance], [HEndBalance], [HTimes]) VALUES ("); |
| | | insertSql_sub.AppendLine($"'{HInterID}', '{HEntryID}', '{""}', '{DateTime.Now}', '{"0"}', '{"excel导å
¥"}','{"0"}', '{"0"}', '{"0"}', '{"0"}','{"0"}', '{"0"}', '{""}', '{HCostID}', '{HSupplierID}', '{item["æ°é"]}', '{item["åä»·"]}', '{item["éé¢"]}','{HMaterID}', '{item["æèé"] ?? "0"}', '{DateTime.Now}', '{"0"}', '{"0"}', '{"0"}');"); |
| | | HEntryID++; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | // æ§è¡æ¹éæä½ |
| | | if (insertSql.Length > 0) |
| | | { |
| | | oCN.RunProc(insertSql.ToString()); |
| | | } |
| | | |
| | | if (insertSql_sub.Length > 0) |
| | | { |
| | | oCN.RunProc(insertSql_sub.ToString()); |
| | | } |
| | | |
| | | oCN.Commit(); |
| | | |
| | | res.code = "1"; |
| | | res.count = groupedData.Count; |
| | | res.Message = $"导å
¥æå! å
±å¤ç{groupedData.Count}ç»æ°æ®"; |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | //oCN.Rollback(); |
| | | LogService.Write(e); |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = "Exceptionï¼" + e.ToString(); |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using Pub_Class; |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Web; |
| | | using System.Web.Http; |
| | | using WebAPI.Models; |
| | | using WebAPI.Controllers.SCGL.æ¥è®¡å管ç; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | |
| | | namespace WebAPI.Controllers.ææ¬ç®¡ç |
| | | { |
| | | public class CB_WipProcessTableController : ApiController |
| | | { |
| | | public DBUtility.ClsPub.Enum_BillStatus BillStatus; |
| | | public DAL.ClsCB_ItemMoneyBillMain BillOld = new DAL.ClsCB_ItemMoneyBillMain(); |
| | | public DAL.ClsCB_ItemMoneyBillMain BillNew0 = new DAL.ClsCB_ItemMoneyBillMain(); |
| | | |
| | | private json objJsonResult = new json(); |
| | | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); |
| | | DataSet ds; |
| | | |
| | | |
| | | #region æä»¶ä¸ä¼ |
| | | [Route("CB_WipProcessTableController/CB_WipProcessTable_Excel")] |
| | | [HttpPost] |
| | | public json CB_WipProcessTable_Excel() |
| | | { |
| | | json res = new json(); |
| | | try |
| | | { |
| | | //è·åæä»¶åç§° |
| | | var file = HttpContext.Current.Request.Files[0]; |
| | | //è·åæä»¶ç©çè·¯å¾ |
| | | string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName); |
| | | //ä¿åæä»¶ |
| | | file.SaveAs(ExcelPath); |
| | | |
| | | SCGL.æ¥è®¡å管ç.NpoiHelper np = new NpoiHelper(); |
| | | DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0"); |
| | | |
| | | //å 餿件 |
| | | File.Delete(ExcelPath); |
| | | |
| | | //å建临æ¶è¡¨ |
| | | DataTable provisional = new DataTable("dt2"); |
| | | |
| | | //æ·»å åå |
| | | for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++) |
| | | { |
| | | provisional.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString()); |
| | | } |
| | | //provisional.Columns.Add("åæ®å·", typeof(string)); |
| | | |
| | | //æ·»å æ°æ® |
| | | for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++) |
| | | { |
| | | DataRow row = provisional.NewRow(); |
| | | for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++) |
| | | { |
| | | row[j] = ExcelDs.Tables[0].Rows[i][j].ToString(); |
| | | } |
| | | provisional.Rows.Add(row); |
| | | } |
| | | |
| | | //夿å |
| | | string error = JudgmentColumns(provisional); |
| | | if (error.Length > 0) |
| | | { |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = $"Excel模æ¿åå¨é误,{error}\r\n"; |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | |
| | | for (int i = 0; i <= provisional.Rows.Count - 1; i++) |
| | | { |
| | | |
| | | string HProcName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["产åºå·¥åº"].ToString()); |
| | | string HCusName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["客æ·"].ToString()); |
| | | |
| | | string HPartNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["æåæå·"].ToString()); |
| | | string HWIPQty = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["WIPæ°é"].ToString()); |
| | | |
| | | string HInProcessWIPQty = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["å¨å¶WIPæ°é"].ToString()); |
| | | |
| | | string HPanelQty = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["æ¼çæ°"].ToString()); |
| | | string HLot = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["LOT"].ToString()); |
| | | |
| | | string HOrderTime = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["ä¸åæ¶é´"].ToString()); |
| | | |
| | | string HStartTime = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["æäº§æ¶é´"].ToString()); |
| | | string HOutputTime = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["äº§åºæ¶é´"].ToString()); |
| | | |
| | | string HProductionTime = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["ç产æ¶é´"].ToString()); |
| | | string HStatus = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["ç¶æ"].ToString()); |
| | | |
| | | string HStayTime = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["åçæ¶é´(åé)"].ToString()); |
| | | |
| | | //string remark = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["夿³¨"].ToString()); |
| | | |
| | | //è·åçå®è¡æ° |
| | | int line = i + 1; |
| | | } |
| | | |
| | | res.code = "1"; |
| | | res.count = 1; |
| | | res.Message = error; |
| | | res.data = provisional; |
| | | return res; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = "Exceptionï¼" + e.ToString(); |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 夿å |
| | | /// </summary> |
| | | /// <param name="provisional"></param> |
| | | /// <returns></returns> |
| | | private static string JudgmentColumns(DataTable provisional) |
| | | { |
| | | var error = ""; |
| | | |
| | | //æ¥è¯¢æ²¡æçå |
| | | if (!provisional.Columns.Contains("客æ·")) |
| | | error += "æ²¡ææ¾å°ã客æ·ãçæ é¢,"; |
| | | |
| | | if (!provisional.Columns.Contains("æåæå·")) |
| | | error += "æ²¡ææ¾å°ãæåæå·ãçæ é¢,"; |
| | | return error; |
| | | } |
| | | #endregion |
| | | |
| | | #region ä¸ä¼ ä¿å |
| | | [Route("CB_WipProcessTableController/Excel_btnSave")] |
| | | [HttpPost] |
| | | public object Excel_btnSave([FromBody] JObject sMainSub) |
| | | { |
| | | var _value = sMainSub["sMainSub"].ToString(); |
| | | string msg1 = _value.ToString(); |
| | | string[] sArray = msg1.Split(new string[] { "&å" }, StringSplitOptions.RemoveEmptyEntries); |
| | | string msg2 = sArray[0].ToString(); |
| | | string user = sArray[1].ToString(); |
| | | string organ = sArray[2].ToString(); |
| | | json res = new json(); |
| | | |
| | | try |
| | | { |
| | | oCN.BeginTran(); |
| | | List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2); |
| | | List<Dictionary<string, string>> list = new List<Dictionary<string, string>>(); |
| | | |
| | | foreach (JObject item in Excel) |
| | | { |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | foreach (var itm in item.Properties()) |
| | | { |
| | | dic.Add(itm.Name, itm.Value.ToString()); |
| | | } |
| | | list.Add(dic); |
| | | } |
| | | |
| | | // 4. æ¥è¯¢ç¨æ·ä¿¡æ¯ |
| | | DataSet emp = oCN.RunProcReturn($"SELECT Czybm FROM Gy_Czygl WHERE Czymc = '{user.Replace("'", "''")}'", "Gy_Czygl"); |
| | | if (emp.Tables[0].Rows.Count == 0) |
| | | { |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = "ç¨æ·ä¸åå¨ï¼"; |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | string HUserID = emp.Tables[0].Rows[0]["Czybm"].ToString(); |
| | | |
| | | StringBuilder errorMessage = new StringBuilder(); |
| | | StringBuilder insertSql = new StringBuilder(); |
| | | StringBuilder updateSql = new StringBuilder(); |
| | | string currentDate = DateTime.Today.ToString("yyyy-MM-dd"); |
| | | int HEntryID = 1; |
| | | |
| | | // éåæ°æ®å¹¶éªè¯ |
| | | for (int i = 0; i < list.Count; i++) |
| | | { |
| | | var item = list[i]; |
| | | |
| | | List<string> intFields = new List<string> |
| | | { |
| | | "WIPæ°é", "å¨å¶WIPæ°é", "æ¼çæ°" |
| | | }; |
| | | |
| | | bool hasError = false; |
| | | foreach (var field in intFields) |
| | | { |
| | | if (item.ContainsKey(field)) |
| | | { |
| | | string value = item[field]; |
| | | // æ£æ¥æ¯å¦ä¸ºæ´æ° |
| | | if (!string.IsNullOrWhiteSpace(value)) |
| | | { |
| | | if (!int.TryParse(value, out _)) |
| | | { |
| | | errorMessage.AppendLine($"第{i + 1}è¡æ°æ®é误ï¼å段 '{field}' çå¼ '{value}' 䏿¯ææçæ´æ°"); |
| | | hasError = true; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 妿æé误ï¼è·³è¿æå
¥ |
| | | if (hasError) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | |
| | | insertSql.AppendLine($"INSERT INTO CB_WipProcessTable ([HYear], [HPeriod], [HDay], [HProcName], [HCusName], [HPartNumber], [HWIPQty], [HInProcessWIPQty], [HPanelQty], [HLot], [HOrderTime], [HStartTime], [HOutputTime], [HProductionTime], [HStatus], [HStayTime], [HChecker], [HCheckDate], [HMaker], [HMakeDate], [HUpDater], [HUpDateDate], [HCloseMan], [HCloseDate], [HCloseType], [HDeleteMan], [HDeleteDate], [HReamrk]) VALUES ("); |
| | | insertSql.AppendLine($" {DateTime.Now.Year}, {DateTime.Now.Month}, {DateTime.Now.Day}, '{item["产åºå·¥åº"]}', '{item["客æ·"]}', '{item["æåæå·"]}', '{item["WIPæ°é"]}', '{item["å¨å¶WIPæ°é"]}', '{item["æ¼çæ°"]}', '{item["LOT"]}', '{item["ä¸åæ¶é´"]}', '{item["æäº§æ¶é´"]}', '{item["äº§åºæ¶é´"]}', '{item["ç产æ¶é´"]}', '{item["ç¶æ"]}', '{item["åçæ¶é´(åé)"]}', '{""}', '{""}', '{user}', '{DateTime.Now}', '{""}', '{DateTime.Now}', '{""}', '{""}', '{"0"}', '{""}', '{""}', '{"excel导å
¥"}');"); |
| | | } |
| | | |
| | | if (errorMessage.Length > 0) |
| | | { |
| | | //oCN.Rollback(); |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = "æ°æ®éªè¯å¤±è´¥ï¼\n" + errorMessage.ToString(); |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | |
| | | if (insertSql.Length == 0) |
| | | { |
| | | // oCN.Rollback(); |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = "æ²¡æææçæ´æ°æ°æ®å¯ä»¥å¯¼å
¥"; |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | |
| | | // æ§è¡æ¹éæä½ |
| | | if (insertSql.Length > 0) |
| | | { |
| | | oCN.RunProc(insertSql.ToString()); |
| | | } |
| | | |
| | | //if (updateSql.Length > 0) |
| | | //{ |
| | | // oCN.RunProc(updateSql.ToString()); |
| | | // oCN.RunProc(updateSql_sub.ToString()); |
| | | //} |
| | | |
| | | oCN.Commit(); |
| | | |
| | | res.code = "1"; |
| | | res.count = 1; |
| | | res.Message = "导å
¥æå!"; |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | //oCN.Rollback(); |
| | | LogService.Write(e); |
| | | res.code = "0"; |
| | | res.count = 0; |
| | | res.Message = "Exceptionï¼" + e.ToString(); |
| | | res.data = null; |
| | | return res; |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "æ«æåæ®æ¡ç 失败ï¼" + e.ToString(); |
| | | objJsonResult.Message = "æ«æåæ®æ¡ç 失败ï¼" + e.Message.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | |
| | | "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + |
| | | ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + |
| | | ",HEquipID,HExplanation,HInnerBillNo,HConkTypeID,HEmpID" + |
| | | ",HManagerID,HDeptID,HConkBeginDate,HLev,HReason" + |
| | | ",HManagerID,HDeptID,HConkBeginDate,HLev,HReason, HRepairManID" + |
| | | ") " + |
| | | " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" + |
| | | ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" + |
| | | ", " + omodel.HEquipID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HConkTypeID.ToString() + "," + omodel.HEmpID.ToString() + |
| | | "," + omodel.HManagerID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HConkBeginDate + "', '" + omodel.HLev + "', '" + omodel.HReason + "'" + |
| | | ") "); |
| | | $",{omodel.HRepairManID}) "); |
| | | ////æå
¥å表 |
| | | foreach (Model.ClsSb_EquipConkBookBillSub oSub in DetailColl) |
| | | { |
| | |
| | | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <PropertyGroup> |
| | | <_PublishTargetUrl>D:\ç½ç«åå¸\æºäºMESWMS\API</_PublishTargetUrl> |
| | | <History>True|2026-02-02T07:42:04.9554792Z;True|2026-02-02T15:39:28.7017318+08:00;True|2026-02-02T15:38:33.5592835+08:00;True|2026-02-02T15:34:24.8450917+08:00;True|2026-02-02T15:30:36.5990146+08:00;True|2026-02-02T15:09:46.1965065+08:00;True|2026-02-02T15:09:24.9794288+08:00;True|2026-02-02T15:05:46.0763516+08:00;True|2026-02-02T14:56:30.1210013+08:00;True|2026-02-02T14:52:50.7435709+08:00;True|2026-02-02T14:47:49.5891710+08:00;True|2026-02-02T14:43:23.0006294+08:00;True|2026-02-02T14:31:10.1220612+08:00;True|2026-02-02T14:21:15.6540317+08:00;True|2026-02-02T14:15:41.6183116+08:00;True|2026-02-02T14:11:32.1234982+08:00;True|2026-02-02T14:01:34.6298901+08:00;True|2026-02-02T13:55:03.4760402+08:00;True|2026-02-02T13:49:00.0420220+08:00;True|2026-02-02T13:17:17.0678676+08:00;False|2026-02-02T13:15:46.0360589+08:00;False|2026-02-02T13:15:27.1689505+08:00;False|2026-02-02T13:14:27.3078641+08:00;True|2026-02-02T12:55:41.9272586+08:00;True|2026-02-02T12:55:22.0826476+08:00;True|2026-02-02T12:09:21.8247404+08:00;True|2026-02-02T12:03:58.9256304+08:00;True|2026-02-02T11:56:01.5744871+08:00;True|2026-02-02T11:42:30.2218073+08:00;True|2026-02-02T10:59:29.6077968+08:00;False|2026-02-02T10:59:08.7803594+08:00;True|2026-01-29T14:40:47.4658031+08:00;True|2026-01-29T14:36:18.2141550+08:00;True|2026-01-29T14:32:52.4872179+08:00;True|2026-01-29T14:32:06.4197291+08:00;True|2026-01-29T14:09:33.9372276+08:00;True|2026-01-29T14:08:17.6503129+08:00;True|2026-01-29T14:06:27.5784162+08:00;True|2026-01-29T13:10:48.6581055+08:00;True|2026-01-29T13:07:28.5589276+08:00;True|2026-01-29T12:44:24.3707488+08:00;True|2026-01-29T12:42:34.6204068+08:00;True|2026-01-29T12:39:55.3867683+08:00;True|2026-01-29T12:29:41.8565928+08:00;True|2026-01-29T12:17:04.5932345+08:00;True|2026-01-29T10:08:23.4550691+08:00;True|2026-01-29T10:04:05.4236307+08:00;False|2026-01-29T10:03:18.4044168+08:00;True|2026-01-28T16:00:38.3698743+08:00;True|2026-01-28T14:15:04.1203132+08:00;True|2026-01-28T14:03:32.3230252+08:00;False|2026-01-28T14:02:41.6157812+08:00;True|2026-01-28T13:18:24.5590390+08:00;True|2026-01-28T13:10:49.5716734+08:00;True|2026-01-28T12:25:03.3201915+08:00;True|2026-01-28T12:24:37.6029904+08:00;True|2026-01-28T12:16:13.3862190+08:00;True|2026-01-28T11:43:57.8268938+08:00;True|2026-01-28T10:57:22.9246991+08:00;True|2026-01-28T10:49:34.6185686+08:00;True|2026-01-28T10:44:07.6308515+08:00;True|2026-01-28T10:36:00.0391721+08:00;True|2026-01-28T10:27:26.1658915+08:00;False|2026-01-28T10:27:00.5898601+08:00;True|2026-01-27T15:02:41.1819512+08:00;True|2026-01-27T14:55:32.3962262+08:00;True|2026-01-27T14:31:09.0105130+08:00;True|2026-01-27T13:19:08.8705541+08:00;True|2026-01-27T11:43:17.0109305+08:00;True|2026-01-27T10:53:13.5941761+08:00;True|2026-01-27T10:49:18.5740094+08:00;True|2026-01-27T10:43:29.4337654+08:00;True|2026-01-27T10:00:49.1779297+08:00;False|2026-01-27T10:00:34.2083888+08:00;True|2026-01-26T16:29:09.5100352+08:00;False|2026-01-26T16:29:04.6554601+08:00;False|2026-01-26T14:39:05.7640208+08:00;True|2026-01-26T09:57:23.8775907+08:00;False|2026-01-26T09:56:43.8599383+08:00;True|2026-01-26T09:37:16.8828589+08:00;False|2026-01-26T09:36:35.9597492+08:00;True|2026-01-25T15:20:11.0096169+08:00;True|2026-01-25T14:52:25.7167654+08:00;True|2026-01-25T14:28:16.6779637+08:00;False|2026-01-25T14:27:32.6753765+08:00;True|2026-01-23T16:17:17.9227805+08:00;True|2026-01-23T14:37:25.7929932+08:00;True|2026-01-23T14:32:25.7611106+08:00;False|2026-01-23T14:31:28.4811198+08:00;True|2026-01-22T09:55:07.0908298+08:00;True|2026-01-22T09:38:49.9102490+08:00;False|2026-01-22T09:37:53.0384929+08:00;True|2026-01-21T16:50:27.5625267+08:00;True|2026-01-21T10:50:18.7634322+08:00;True|2026-01-21T10:47:56.7913811+08:00;True|2026-01-21T10:41:46.5883817+08:00;True|2026-01-21T09:29:22.5824101+08:00;False|2026-01-21T09:28:13.4362586+08:00;True|2026-01-20T14:26:36.7806712+08:00;True|2026-01-20T13:13:01.3064754+08:00;False|2026-01-20T13:12:08.1800841+08:00;True|2026-01-20T10:28:19.5250951+08:00;True|2026-01-20T10:27:41.5947282+08:00;True|2026-01-20T10:23:10.6474490+08:00;True|2026-01-20T10:07:24.8412652+08:00;True|2026-01-20T09:53:19.8583529+08:00;True|2026-01-20T08:21:20.5302494+08:00;False|2026-01-20T08:20:24.6093320+08:00;True|2026-01-19T15:58:34.1439056+08:00;True|2026-01-19T15:56:47.6488483+08:00;True|2026-01-19T15:12:36.9286562+08:00;True|2026-01-19T14:55:17.2807312+08:00;True|2026-01-19T14:47:03.8892836+08:00;True|2026-01-19T14:36:15.0507410+08:00;True|2026-01-19T14:26:05.5060287+08:00;True|2026-01-19T13:50:54.8654304+08:00;True|2026-01-19T13:37:47.2294303+08:00;True|2026-01-19T13:20:13.3781676+08:00;True|2026-01-19T13:07:18.8111360+08:00;True|2026-01-19T13:01:15.1432453+08:00;True|2026-01-19T11:54:26.6582081+08:00;True|2026-01-19T11:23:28.6100843+08:00;True|2026-01-19T08:41:23.8724527+08:00;True|2026-01-19T08:34:06.3247836+08:00;True|2026-01-19T07:48:11.5052413+08:00;False|2026-01-19T07:47:21.4586297+08:00;True|2026-01-18T14:27:24.9640228+08:00;True|2026-01-18T13:21:44.9690334+08:00;False|2026-01-18T13:20:08.6314025+08:00;False|2026-01-16T16:53:24.3290896+08:00;True|2026-01-16T09:03:14.4122067+08:00;True|2026-01-16T08:44:23.0342932+08:00;False|2026-01-16T08:43:34.3488415+08:00;True|2026-01-15T16:27:10.8480719+08:00;False|2026-01-15T16:26:06.6002625+08:00;True|2026-01-15T13:04:43.0602637+08:00;</History> |
| | | <History>True|2026-02-11T03:45:25.6746436Z;True|2026-02-11T11:44:47.3185555+08:00;True|2026-02-11T10:54:59.0679758+08:00;True|2026-02-11T10:43:35.2341241+08:00;True|2026-02-11T10:36:26.6768242+08:00;True|2026-02-11T10:26:54.7470684+08:00;True|2026-02-11T10:26:14.5696000+08:00;True|2026-02-11T10:19:17.3267746+08:00;True|2026-02-11T10:03:08.9096446+08:00;True|2026-02-11T10:00:03.1731421+08:00;False|2026-02-11T09:58:47.2916714+08:00;True|2026-02-10T15:11:02.0203382+08:00;True|2026-02-10T15:07:21.6761915+08:00;True|2026-02-10T14:56:44.3660951+08:00;True|2026-02-10T14:42:24.1573010+08:00;True|2026-02-10T14:17:49.6012996+08:00;True|2026-02-10T10:54:27.8849732+08:00;True|2026-02-10T10:37:09.4615737+08:00;True|2026-02-10T10:32:50.2882198+08:00;True|2026-02-10T10:16:38.5004114+08:00;True|2026-02-10T10:04:58.3653257+08:00;False|2026-02-10T10:04:05.6938724+08:00;True|2026-02-09T11:58:12.9122757+08:00;True|2026-02-09T11:52:51.2402774+08:00;True|2026-02-09T11:47:15.5230979+08:00;True|2026-02-09T10:53:15.6587025+08:00;False|2026-02-09T10:52:01.4586729+08:00;True|2026-02-05T12:04:14.1139398+08:00;True|2026-02-05T10:00:41.8883921+08:00;False|2026-02-05T09:59:49.2086159+08:00;True|2026-02-04T13:30:53.8564398+08:00;True|2026-02-04T13:30:06.5486103+08:00;True|2026-02-04T13:21:44.7322601+08:00;True|2026-02-04T13:15:45.0093895+08:00;True|2026-02-04T13:06:30.4891537+08:00;False|2026-02-04T13:05:35.5287589+08:00;True|2026-02-04T12:39:42.2682329+08:00;True|2026-02-04T12:21:52.9722100+08:00;True|2026-02-04T12:16:07.8303016+08:00;True|2026-02-04T12:08:43.8268899+08:00;True|2026-02-04T12:03:26.1174616+08:00;True|2026-02-04T10:33:15.5394044+08:00;False|2026-02-04T10:32:30.7038502+08:00;True|2026-02-02T15:42:04.9554792+08:00;True|2026-02-02T15:39:28.7017318+08:00;True|2026-02-02T15:38:33.5592835+08:00;True|2026-02-02T15:34:24.8450917+08:00;True|2026-02-02T15:30:36.5990146+08:00;True|2026-02-02T15:09:46.1965065+08:00;True|2026-02-02T15:09:24.9794288+08:00;True|2026-02-02T15:05:46.0763516+08:00;True|2026-02-02T14:56:30.1210013+08:00;True|2026-02-02T14:52:50.7435709+08:00;True|2026-02-02T14:47:49.5891710+08:00;True|2026-02-02T14:43:23.0006294+08:00;True|2026-02-02T14:31:10.1220612+08:00;True|2026-02-02T14:21:15.6540317+08:00;True|2026-02-02T14:15:41.6183116+08:00;True|2026-02-02T14:11:32.1234982+08:00;True|2026-02-02T14:01:34.6298901+08:00;True|2026-02-02T13:55:03.4760402+08:00;True|2026-02-02T13:49:00.0420220+08:00;True|2026-02-02T13:17:17.0678676+08:00;False|2026-02-02T13:15:46.0360589+08:00;False|2026-02-02T13:15:27.1689505+08:00;False|2026-02-02T13:14:27.3078641+08:00;True|2026-02-02T12:55:41.9272586+08:00;True|2026-02-02T12:55:22.0826476+08:00;True|2026-02-02T12:09:21.8247404+08:00;True|2026-02-02T12:03:58.9256304+08:00;True|2026-02-02T11:56:01.5744871+08:00;True|2026-02-02T11:42:30.2218073+08:00;True|2026-02-02T10:59:29.6077968+08:00;False|2026-02-02T10:59:08.7803594+08:00;True|2026-01-29T14:40:47.4658031+08:00;True|2026-01-29T14:36:18.2141550+08:00;True|2026-01-29T14:32:52.4872179+08:00;True|2026-01-29T14:32:06.4197291+08:00;True|2026-01-29T14:09:33.9372276+08:00;True|2026-01-29T14:08:17.6503129+08:00;True|2026-01-29T14:06:27.5784162+08:00;True|2026-01-29T13:10:48.6581055+08:00;True|2026-01-29T13:07:28.5589276+08:00;True|2026-01-29T12:44:24.3707488+08:00;True|2026-01-29T12:42:34.6204068+08:00;True|2026-01-29T12:39:55.3867683+08:00;True|2026-01-29T12:29:41.8565928+08:00;True|2026-01-29T12:17:04.5932345+08:00;True|2026-01-29T10:08:23.4550691+08:00;True|2026-01-29T10:04:05.4236307+08:00;False|2026-01-29T10:03:18.4044168+08:00;True|2026-01-28T16:00:38.3698743+08:00;True|2026-01-28T14:15:04.1203132+08:00;True|2026-01-28T14:03:32.3230252+08:00;False|2026-01-28T14:02:41.6157812+08:00;True|2026-01-28T13:18:24.5590390+08:00;True|2026-01-28T13:10:49.5716734+08:00;True|2026-01-28T12:25:03.3201915+08:00;True|2026-01-28T12:24:37.6029904+08:00;True|2026-01-28T12:16:13.3862190+08:00;True|2026-01-28T11:43:57.8268938+08:00;True|2026-01-28T10:57:22.9246991+08:00;True|2026-01-28T10:49:34.6185686+08:00;True|2026-01-28T10:44:07.6308515+08:00;True|2026-01-28T10:36:00.0391721+08:00;True|2026-01-28T10:27:26.1658915+08:00;False|2026-01-28T10:27:00.5898601+08:00;True|2026-01-27T15:02:41.1819512+08:00;True|2026-01-27T14:55:32.3962262+08:00;True|2026-01-27T14:31:09.0105130+08:00;True|2026-01-27T13:19:08.8705541+08:00;True|2026-01-27T11:43:17.0109305+08:00;True|2026-01-27T10:53:13.5941761+08:00;True|2026-01-27T10:49:18.5740094+08:00;True|2026-01-27T10:43:29.4337654+08:00;True|2026-01-27T10:00:49.1779297+08:00;False|2026-01-27T10:00:34.2083888+08:00;True|2026-01-26T16:29:09.5100352+08:00;False|2026-01-26T16:29:04.6554601+08:00;False|2026-01-26T14:39:05.7640208+08:00;True|2026-01-26T09:57:23.8775907+08:00;False|2026-01-26T09:56:43.8599383+08:00;True|2026-01-26T09:37:16.8828589+08:00;False|2026-01-26T09:36:35.9597492+08:00;True|2026-01-25T15:20:11.0096169+08:00;True|2026-01-25T14:52:25.7167654+08:00;True|2026-01-25T14:28:16.6779637+08:00;False|2026-01-25T14:27:32.6753765+08:00;True|2026-01-23T16:17:17.9227805+08:00;True|2026-01-23T14:37:25.7929932+08:00;True|2026-01-23T14:32:25.7611106+08:00;False|2026-01-23T14:31:28.4811198+08:00;True|2026-01-22T09:55:07.0908298+08:00;True|2026-01-22T09:38:49.9102490+08:00;False|2026-01-22T09:37:53.0384929+08:00;True|2026-01-21T16:50:27.5625267+08:00;True|2026-01-21T10:50:18.7634322+08:00;True|2026-01-21T10:47:56.7913811+08:00;True|2026-01-21T10:41:46.5883817+08:00;True|2026-01-21T09:29:22.5824101+08:00;False|2026-01-21T09:28:13.4362586+08:00;True|2026-01-20T14:26:36.7806712+08:00;True|2026-01-20T13:13:01.3064754+08:00;False|2026-01-20T13:12:08.1800841+08:00;True|2026-01-20T10:28:19.5250951+08:00;True|2026-01-20T10:27:41.5947282+08:00;True|2026-01-20T10:23:10.6474490+08:00;True|2026-01-20T10:07:24.8412652+08:00;True|2026-01-20T09:53:19.8583529+08:00;True|2026-01-20T08:21:20.5302494+08:00;False|2026-01-20T08:20:24.6093320+08:00;True|2026-01-19T15:58:34.1439056+08:00;True|2026-01-19T15:56:47.6488483+08:00;True|2026-01-19T15:12:36.9286562+08:00;True|2026-01-19T14:55:17.2807312+08:00;True|2026-01-19T14:47:03.8892836+08:00;True|2026-01-19T14:36:15.0507410+08:00;True|2026-01-19T14:26:05.5060287+08:00;True|2026-01-19T13:50:54.8654304+08:00;True|2026-01-19T13:37:47.2294303+08:00;True|2026-01-19T13:20:13.3781676+08:00;True|2026-01-19T13:07:18.8111360+08:00;True|2026-01-19T13:01:15.1432453+08:00;True|2026-01-19T11:54:26.6582081+08:00;True|2026-01-19T11:23:28.6100843+08:00;True|2026-01-19T08:41:23.8724527+08:00;True|2026-01-19T08:34:06.3247836+08:00;True|2026-01-19T07:48:11.5052413+08:00;False|2026-01-19T07:47:21.4586297+08:00;True|2026-01-18T14:27:24.9640228+08:00;True|2026-01-18T13:21:44.9690334+08:00;False|2026-01-18T13:20:08.6314025+08:00;False|2026-01-16T16:53:24.3290896+08:00;True|2026-01-16T09:03:14.4122067+08:00;True|2026-01-16T08:44:23.0342932+08:00;False|2026-01-16T08:43:34.3488415+08:00;True|2026-01-15T16:27:10.8480719+08:00;False|2026-01-15T16:26:06.6002625+08:00;True|2026-01-15T13:04:43.0602637+08:00;</History> |
| | | </PropertyGroup> |
| | | <ItemGroup> |
| | | <File Include="apiapp.json"> |
| | |
| | | <publishTime>02/22/2013 16:43:40</publishTime> |
| | | </File> |
| | | <File Include="bin/BLL.dll"> |
| | | <publishTime>02/02/2026 15:17:59</publishTime> |
| | | <publishTime>02/04/2026 13:29:36</publishTime> |
| | | </File> |
| | | <File Include="bin/BLL.pdb"> |
| | | <publishTime>02/02/2026 15:17:59</publishTime> |
| | | <publishTime>02/04/2026 13:29:36</publishTime> |
| | | </File> |
| | | <File Include="bin/BouncyCastle.Crypto.dll"> |
| | | <publishTime>12/18/2020 05:32:28</publishTime> |
| | | </File> |
| | | <File Include="bin/DAL.dll"> |
| | | <publishTime>02/02/2026 15:17:57</publishTime> |
| | | <publishTime>02/04/2026 13:29:33</publishTime> |
| | | </File> |
| | | <File Include="bin/DAL.pdb"> |
| | | <publishTime>02/02/2026 15:17:57</publishTime> |
| | | <publishTime>02/04/2026 13:29:33</publishTime> |
| | | </File> |
| | | <File Include="bin/Dapper.dll"> |
| | | <publishTime>07/22/2016 22:52:40</publishTime> |
| | |
| | | <publishTime>07/25/2012 19:48:56</publishTime> |
| | | </File> |
| | | <File Include="bin/Model.dll"> |
| | | <publishTime>02/02/2026 15:17:52</publishTime> |
| | | <publishTime>02/04/2026 13:29:27</publishTime> |
| | | </File> |
| | | <File Include="bin/Model.pdb"> |
| | | <publishTime>02/02/2026 15:17:52</publishTime> |
| | | <publishTime>02/04/2026 13:29:27</publishTime> |
| | | </File> |
| | | <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs"> |
| | | <publishTime>04/21/2025 11:46:16</publishTime> |
| | |
| | | <publishTime>11/24/2014 19:18:48</publishTime> |
| | | </File> |
| | | <File Include="bin/WebAPI.dll"> |
| | | <publishTime>02/02/2026 15:41:51</publishTime> |
| | | <publishTime>02/11/2026 13:40:13</publishTime> |
| | | </File> |
| | | <File Include="bin/WebAPI.pdb"> |
| | | <publishTime>02/02/2026 15:41:51</publishTime> |
| | | <publishTime>02/11/2026 13:40:13</publishTime> |
| | | </File> |
| | | <File Include="bin/WebAPI.XmlSerializers.dll"> |
| | | <publishTime>02/02/2026 15:42:01</publishTime> |
| | | <publishTime>02/11/2026 13:40:24</publishTime> |
| | | </File> |
| | | <File Include="bin/WebGrease.dll"> |
| | | <publishTime>07/18/2013 01:03:52</publishTime> |
| | |
| | | using Newtonsoft.Json; |
| | | using com.igetui.api.openservice.igetui.template; |
| | | using com.igetui.api.openservice.igetui; |
| | | using WebApiWithFleck; |
| | | |
| | | namespace WebAPI.Service |
| | | { |
| | |
| | | string content = ds.Tables[0].Rows[0]["å
容"].ToString(); |
| | | template = GetNotificationTemplate(title, content, "/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillQuery", "0"); // 跳转å°å·¥ä½èç³»åæ¥è¯¢é¡µé¢ |
| | | |
| | | bool pushSuccess = false; |
| | | // 广æ |
| | | if(ds.Tables[0].Rows[0]["åéç±»å"].ToString() == "å
Œ
±") |
| | | { |
| | | // éå å
¨æ¨é |
| | | foreach(DataRow row in ds.Tables[1].Rows) |
| | | { |
| | | PushMessageToSingle(template, row["HClientID"].ToString()); |
| | | pushSuccess = PushMessageToSingle(template, row["HClientID"].ToString()); |
| | | } |
| | | }else // åç¬æ¨é |
| | | { |
| | |
| | | { |
| | | if(ds.Tables[0].Rows[0]["æ¥æ¶äºº"].ToString() == row["HUserName"].ToString() |
| | | || ds.Tables[0].Rows[0]["æéæ¥æ¶äºº"].ToString() == row["HUserName"].ToString()) |
| | | PushMessageToSingle(template, row["HClientID"].ToString()); |
| | | { |
| | | pushSuccess = PushMessageToSingle(template, row["HClientID"].ToString()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(!pushSuccess) |
| | | { |
| | | // ä¸ªæ¨ æ¨é䏿å(å
ç½ç¯å¢) 使ç¨webSocketè¿è¡æ¨é |
| | | // TODO: ä½¿ç¨ rabbitMQ å®ç°æ¶æ¯éå |
| | | // WebSocketServer.PushOne(HInterID); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | // 忍 使ç¨éç¥æ¶æ¯æ¨¡å |
| | | private static void PushMessageToSingle(NotificationTemplate template, string ClientID) |
| | | private static bool PushMessageToSingle(NotificationTemplate template, string ClientID) |
| | | { |
| | | |
| | | IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET); |
| | |
| | | LogService.Write("-----------------------------------------------"); |
| | | LogService.Write("-----------------------------------------------"); |
| | | LogService.Write("----------------æå¡ç«¯è¿åç»æï¼" + pushResult); |
| | | return true; |
| | | } |
| | | catch (RequestException e) |
| | | { |
| | |
| | | LogService.Write("-----------------------------------------------"); |
| | | LogService.Write("-----------------------------------------------"); |
| | | LogService.Write("----------------æå¡ç«¯è¿åç»æï¼" + pushResult); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | |
| | | private static System.Timers.Timer _pushTimerBeat; |
| | | // 300000 |
| | | private static readonly int _pushInterval = 300000; // æ¯5åéåé䏿¬¡æ¶æ¯ |
| | | |
| | | private static Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); |
| | | |
| | | /// <summary> |
| | | /// å¯å¨ WebSocket æå¡ï¼çå¬ 8089 端å£ï¼ |
| | | /// </summary> |
| | | public static void Start() |
| | | { |
| | | string sReturn = ""; |
| | | var wsUrl = "ws://0.0.0.0:8888/ws"; // éç¨ç«¯å£ |
| | | |
| | | // é
ç½® WebSocket çå¬å°åï¼ç¬ç«ç«¯å£ 8089ï¼ |
| | | var wsUrl = "ws://0.0.0.0:8089/ws"; // 0.0.0.0 å
许å¤é¨è®¿é® |
| | | _server = new Fleck.WebSocketServer(wsUrl); |
| | | |
| | | _pushTimer = new System.Timers.Timer(_pushInterval); |
| | |
| | | <Compile Include="Controllers\åºç¡èµæ\åºç¡èµæ\Gy_CostItemFixRateController.cs" /> |
| | | <Compile Include="Controllers\åºç¡èµæ\åºç¡èµæ\Gy_CostItemAverageTypeController.cs" /> |
| | | <Compile Include="Controllers\ææ¬ç®¡ç\CB_ItemMoneyBillController.cs" /> |
| | | <Compile Include="Controllers\ææ¬ç®¡ç\CB_WipProcessTableController.cs" /> |
| | | <Compile Include="Controllers\æ£éªç³è¯·å\QC_RequestCheckBillController.cs" /> |
| | | <Compile Include="Controllers\ç©æµç®¡ç\å
¶ä»ç»ç®å\YF_PayMentOtherBillTranController.cs" /> |
| | | <Compile Include="Controllers\ç©æµç®¡ç\åºè¿å\WLYayBillController.cs" /> |
| | |
| | | <Folder Include="bin\" /> |
| | | <Folder Include="Controllers\项ç®ç®¡ç\åºç¡å»ºæ¨¡\" /> |
| | | <Folder Include="obj\x86\Debug\" /> |
| | | <Folder Include="Views\CB_WipProcessTable\" /> |
| | | <Folder Include="Views\Cg_ContractTransportBillList\" /> |
| | | <Folder Include="Views\Cg_PODemandPlanBill\" /> |
| | | <Folder Include="Views\Cg_PurchaseReturn\" /> |
| | |
| | | <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <PropertyGroup> |
| | | <LastActiveSolutionConfig>Debug|x86</LastActiveSolutionConfig> |
| | | <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig> |
| | | <LastActiveSolutionConfig>Debug|x86</LastActiveSolutionConfig> |
| | | <UseIISExpress>true</UseIISExpress> |
| | | <Use64BitIISExpress /> |
| | | <IISExpressSSLPort /> |