using System; using System.Collections.Generic; using System.Web; using System.Text; using bizFacade; using System.Data; using SystemFramework; using MesWebFun_MateriallPull.BarCodeServer_Pro; namespace MesWebFun_MateriallPull { public partial class MesWebFun_MateriallPull { private static string Init_WorkStationMaterial() { string OPCNum = HttpContext.Current.Request["OPCNum"]; DataTable dt; MaterialPull.getWorkStationMaterialInfo(OPCNum, out dt); if (dt != null) { return JsonHelper.CreateJsonParameters(dt, true, dt.Rows.Count); } else { return ""; } } #region 批次接收 /// /// 物料号获取 /// /// 1) { for (int i = 0; i < dt.Rows.Count; i++) { if (i == 0) { sb.Append("\"id\":" + i + ",\"text\":\"" + dt.Rows[0][0] + "\",\"selected\":true},{"); } if (i != dt.Rows.Count - 1 & i != 0) { sb.Append("\"id\":" + i + ",\"text\":\"" + dt.Rows[i][0] + "\"},{"); } else if (i == dt.Rows.Count - 1) { sb.Append("\"id\":" + i + ",\"text\":\"" + dt.Rows[i][0] + "\"}]"); } } } } return sb.ToString(); } /// /// 获取卡片一览信息 /// /// /// 物料拉动_库存盘点 /// /// private static string initStockCount() { string text = ""; System.Data.DataTable dt = null; string Opname = HttpContext.Current.Request["Opname"]; string MaterialNum = HttpContext.Current.Request["MaterialNum"]; MaterialPull.init_StockCount(Opname, MaterialNum, out dt); if (dt.Rows.Count > 0) { text = JsonHelper.DataTableToJson(dt); } return text; } private static string Init_MaterialNum_Combobox() { string text = ""; System.Data.DataTable dt = null; string Opname = HttpContext.Current.Request["Opname"]; MaterialPull.Init_MaterialNumCombobox(Opname, out dt); text = JsonHelper.DataTableToJson(dt); return text; } private static string Init_Final_OrderNumber_Combobox() { string text = ""; System.Data.DataTable dt = null; MaterialPull.Init_FinalOrderNumberCombobox(out dt); text = JsonHelper.DataTableToJson(dt); return text; } private static string Consume_stockcount() { string ConsumeNum = HttpContext.Current.Request["ConsumeNum"]; string OrderNumber = HttpContext.Current.Request["OrderNumber"]; string Opname = HttpContext.Current.Request["Opname"]; string CardNum = HttpContext.Current.Request["CardNum"]; MaterialPull.Consume_StockCount(OrderNumber, ConsumeNum, Opname, CardNum); return ""; } #endregion 库存盘点 #region FTT模块 /// /// 物料拉动_FTT /// /// private static string ConvertOpname_Ftt() { string text = ""; System.Data.DataTable dt = null; string Opname = HttpContext.Current.Request["Opname"]; MaterialPull.OpName_Convert_Select(Opname, out dt); if (dt.Rows.Count > 0) { text = JsonHelper.DataTableToJson(dt); } return text; } private static string Insert_FTT_Confirm() { string text = ""; System.Data.DataTable dt = null; string Final_EngineNum = HttpContext.Current.Request["Final_EngineNum"]; string DefectGroup = HttpContext.Current.Request["DefectGroup"]; string DefectCode = HttpContext.Current.Request["DefectCode"]; string Opname = HttpContext.Current.Request["Opname"]; MaterialPull.Confirm_EngineNum(Final_EngineNum, DefectGroup, DefectCode, Opname, out dt); if (dt.Rows.Count > 0) { text = dt.Rows[0][0].ToString(); } return text; } private static string Insert_FTT_Informatinon() { string Msg = ""; string Opname = HttpContext.Current.Request["Opname"]; string EngineNum = HttpContext.Current.Request["Final_EngineNum"]; string DefectGroup = HttpContext.Current.Request["DefectGroup"]; string DefectCode = HttpContext.Current.Request["DefectCode"]; string ProblemDate = HttpContext.Current.Request["ProblemDate"]; int callCount = Convert.ToInt32(HttpContext.Current.Request["callCount"]); MaterialPull.Insert_FTTInformation(Opname, "2", EngineNum, DefectGroup, DefectCode, ProblemDate, callCount, out Msg); return Msg; } private static string Init_FinalList_Combobox() { string text = ""; System.Data.DataTable dt = null; string Opname = HttpContext.Current.Request["Opname"]; MaterialPull.Init_FinalListCombobox(Opname, out dt); if (dt.Rows.Count > 0) { text = JsonHelper.DataTableToJson(dt); } return text; } private static string Init_DefectCode_Combobox() { string text = ""; System.Data.DataTable dt = null; string Opname = HttpContext.Current.Request["Opname"]; MaterialPull.Init_DefectCodeCombobox(Opname, out dt); if (dt.Rows.Count > 0) { text = JsonHelper.DataTableToJson(dt); } return text; } #endregion FTT模块 #region 打卡上线模块 /// /// 物料拉动_打卡上线 /// /// private static string GetClasses() { string text = null; System.Data.DataTable dt = null; MaterialPull.Getclasses(out dt); text = JsonHelper.DataTableToJson(dt); return text; } private static string initOnline() { StringBuilder sb = new StringBuilder(); System.Data.DataTable dt = null; string classes = ""; string operatorName = ""; string loginTime = ""; string operatorCode = ""; string opname = ""; string opName = HttpContext.Current.Request["opname"]; MaterialPull.Search_OnlineInfo(opName, out dt); if (dt != null) { sb.Append("["); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { classes = dt.Rows[i]["班次"].ToString(); System.Data.DataTable dt_output = null; MaterialPull.ClassName_Select(classes, out dt_output); if (dt_output != null) { if (dt_output.Rows.Count > 0) { classes = dt_output.Rows[0]["班次描述"].ToString(); } } opname = dt.Rows[i]["工位号"].ToString(); operatorCode = dt.Rows[i]["操作者工号"].ToString(); operatorName = dt.Rows[i]["操作者姓名"].ToString(); loginTime = dt.Rows[i]["操作时间"].ToString(); sb.Append("{\"工位号\":\"" + opname + "\",\"操作者工号\":\"" + operatorCode + "\",\"操作者姓名\":\"" + operatorName + "\",\"班次\":\"" + classes + "\",\"操作时间\":\"" + loginTime + "\"},"); } sb.Remove(sb.Length - 1, 1); } } sb.Append("]"); return sb.ToString(); } private static string Confirmclasses() { string Confirmclass = ""; System.Data.DataTable dt_output = null; string classes = HttpContext.Current.Request["classes"]; MaterialPull.ConfirmClass(classes, out Confirmclass); string ConfirmclassName = ""; MaterialPull.ClassName_Select(Confirmclass, out dt_output); if (dt_output != null) { if (dt_output.Rows.Count > 0) { ConfirmclassName = dt_output.Rows[0]["班次描述"].ToString(); } } return ConfirmclassName; } private static string WorkingHours_OnlineInfo() { string Password = ""; string Classes = ""; string OperatorName = ""; string Opname = ""; string Msg = ""; Opname = HttpContext.Current.Request["Opname"]; Password = HttpContext.Current.Request["Password"]; Classes = HttpContext.Current.Request["Classes"]; OperatorName = HttpContext.Current.Request["OperatorName"]; MaterialPull.Insert_WorkingHours(Opname, OperatorName, Password, Classes, out Msg); return Msg; } #endregion 打卡上线模块 #region 工时 private static string OrderNum_Query() { string text = ""; string end_time = ""; string start_time = ""; System.Data.DataTable dt = null; start_time = HttpContext.Current.Request["Plan_start_time"]; end_time = HttpContext.Current.Request["Plan_end_time"]; start_time = start_time + " 00:00:00"; end_time = end_time + " 23:59:59"; MaterialPull.Init_OrderNum_Query(start_time, end_time, out dt); if (dt.Rows.Count > 0) { text = JsonHelper.DataTableToJson(dt); } return text; } //工时补录初始化 private static string init_WorkTime() { StringBuilder sb = new StringBuilder(); string text = ""; int Num = 1; string classes = ""; string opname = ""; string operatorCode = ""; string operatorName = ""; string compeleteCount = ""; string OrderNum = ""; string UploadTime = ""; System.Data.DataTable dt = null; string Ordernum = HttpContext.Current.Request["OrderNum"]; string Opname = HttpContext.Current.Request["Opname"]; MaterialPull.Init_Worktime(Ordernum, Opname, Num, out dt); if (dt != null) { sb.Append("["); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { System.Data.DataTable dt_output = null; classes = dt.Rows[i]["班次"].ToString(); MaterialPull.ClassName_Select(classes, out dt_output); if (dt_output != null) { if (dt_output.Rows.Count > 0) { classes = dt_output.Rows[0]["班次描述"].ToString(); } } OrderNum = dt.Rows[i]["订单号"].ToString(); opname = dt.Rows[i]["工位号"].ToString(); operatorCode = dt.Rows[i]["操作者工号"].ToString(); operatorName = dt.Rows[i]["员工姓名"].ToString(); compeleteCount = dt.Rows[i]["报工数量"].ToString(); UploadTime = dt.Rows[i]["报工时间"].ToString(); sb.Append("{\"订单号\":\"" + OrderNum + "\",\"工位号\":\"" + opname + "\",\"员工姓名\":\"" + operatorName + "\",\"操作者工号\":\"" + operatorCode + "\",\"报工数量\":\"" + compeleteCount + "\",\"班次\":\"" + classes + "\",\"报工时间\":\"" + UploadTime + "\"},"); } sb.Remove(sb.Length - 1, 1); } } sb.Append("]"); return sb.ToString(); } private static string Worktime_completeCount() { string text = "0"; System.Data.DataTable dt = null; string OrderNum = HttpContext.Current.Request["OrderNum"]; MaterialPull.workTime_CompleteCount(OrderNum, out dt); if (dt != null) { if (dt.Rows.Count > 0) { text = dt.Rows[0][0].ToString(); } } return text; } private static string init_Statistics() { string text = ""; System.Data.DataTable dt = null; string Ordernum = HttpContext.Current.Request["OrderNum"]; string Opname = HttpContext.Current.Request["Opname"]; MaterialPull.init_Statistics(Ordernum, Opname, out dt); if (dt.Rows.Count > 0) { text = JsonHelper.DataTableToJson(dt); } return text; } /// /// 校验工时补录人员 /// /// private static string Confirm_Person() { string text = "0"; System.Data.DataTable dt = null; string OperatorName = HttpContext.Current.Request["OperatorName"]; MaterialPull.Confirm_Person(OperatorName, out dt); if (dt != null) { if (dt.Rows.Count > 0) { text = dt.Rows[0][0].ToString(); } } return text; } //查询产品型号 private static string Init_OrderNum_data() { string text = ""; System.Data.DataTable dt = null; string Ordernum = HttpContext.Current.Request["OrderNum"]; MaterialPull.Init_Ordernum_data(Ordernum, out dt); if (dt.Rows.Count > 0) { text = JsonHelper.DataTableToJson(dt); } return text; } private static string ClassesCodeSelect() { string ClassCode = ""; System.Data.DataTable dt_output = null; string ClassesName = HttpContext.Current.Request["ClassesName"]; MaterialPull.ClassCode_Select(ClassesName, out dt_output); if (dt_output != null) { if (dt_output.Rows.Count > 0) { ClassCode = dt_output.Rows[0]["班次代码"].ToString(); } } return ClassCode; } //工时补录增加 private static string Insert_WorkTime() { string text = ""; string Ordernum = HttpContext.Current.Request["OrderNum"]; string Opname = HttpContext.Current.Request["Opname"]; string OperatorName = HttpContext.Current.Request["OperatorName"]; string Classes = HttpContext.Current.Request["Classes"]; string EngineType = HttpContext.Current.Request["EngineType"]; int Count = Convert.ToInt32(HttpContext.Current.Request["Count"]); string UploadTime = HttpContext.Current.Request["UploadTime"]; MaterialPull.Workinghours_Insert(Ordernum, EngineType, Opname, Count, OperatorName, Classes, UploadTime); return text; } #endregion 工时 #region 配送单接收模块 /// /// 物料拉动-配送单接收 /// /// 0) { text = "配送单号: " + distributionNum + " 已经接收!"; return text; } else { if (distributionNum == "") { text = "请扫描配送单号!"; return text; } text = MaterialPull_Document_Exec(); } } } catch { } return text; } private static bool isExec = false;//防止多次接收 private static string MaterialPull_Document_Exec() { string text = ""; if (!isExec)//为false才允许接收 { string distributionNum = HttpContext.Current.Request["distributionNum"]; isExec = true; text = MaterialPull_Document_Select(); } else { text = "不允许接收!"; } return text; } private static string MaterialPull_Document_Select() { string distributionNum = HttpContext.Current.Request["distributionNum"]; string process_Message; try { string wkc = ""; System.Data.DataTable dt_wkc; MaterialPull.WorkStationInfo_Select(out dt_wkc); if (dt_wkc != null) { if (dt_wkc.Rows.Count > 0) { wkc = dt_wkc.Rows[0]["工作中心"].ToString(); } } if (wkc == "") { process_Message = "工作中心为空!"; return process_Message; } string document_Num = distributionNum.ToString(); System.Data.DataTable dt_Document; //调试、先屏蔽 var BarCodeServer_Document = new BarCodeServer_Pro.BarCodeSever(); //sql版本需要用dataset承接 DataSet ds_Document; ds_Document = BarCodeServer_Document.Web_MaterialPull_DocumentNum_Select(document_Num, wkc); dt_Document = ds_Document.Tables[0]; //Orucal版本需要用dataset承接 //dt_Document = BarCodeServer_Document.Web_MaterialPull_DocumentNum_Select(document_Num, wkc); if (dt_Document != null) { if (dt_Document.Rows.Count > 0) { //将条码信息插入到"配送单"表,状态标识为0,暂时不做处理 if (MaterialPull.MaterialPull_DocumentInfo_Add(dt_Document)) { //执行接收处理 process_Message = MaterialPull_Document_Receive(document_Num, BarCodeServer_Document); } else { process_Message = "-1@失败,[" + document_Num + "]不能重复接收!"; } } else { process_Message = "-1@失败,[" + document_Num + "]无此配送单信息!"; } } else { process_Message = "-1@失败,[" + document_Num + "]无此配送单信息!"; } } catch (Exception ex) { process_Message = "-1@未知错误,联系管理员!"; } isExec = false; return process_Message; } //执行接收,传入webservice private static string MaterialPull_Document_Receive(string document_Num, BarCodeSever BarCodeServer_Document) { string process_Message = ""; try { string r_source_id = "", r_orderNum = "", r_plant_id = "", r_wkc = "", r_workNum = "", r_delivery_num = "", r_item_code = "", r_recept_flag = "", r_type = ""; string p_GroupId = ""; string documentInfo = ""; //产生接收记录,获得GROUPID,还有一个作用就是防止重复接收 MaterialPull.MaterialPull_DocumentInfo_CreateRecord(document_Num, out documentInfo); if (documentInfo.Length > 2) { //产生接收记录成功 if (documentInfo.Substring(0, 2) == "0@") { p_GroupId = documentInfo.Substring(2, documentInfo.Length - 2); if (p_GroupId == "") return "-1@失败,[" + document_Num + "]产生接收记录失败"; System.Data.DataTable dt_record; MaterialPull.MaterialPull_DocumentInfo_ReceiveRecord_Select(document_Num, p_GroupId, out dt_record); if (dt_record != null) { if (dt_record.Rows.Count > 0) { r_source_id = dt_record.Rows[0]["ID"].ToString(); r_orderNum = dt_record.Rows[0]["订单号"].ToString(); r_plant_id = dt_record.Rows[0]["工厂"].ToString(); r_wkc = dt_record.Rows[0]["工作中心"].ToString(); r_workNum = dt_record.Rows[0]["工位号"].ToString(); r_delivery_num = dt_record.Rows[0]["配送单号"].ToString(); r_item_code = dt_record.Rows[0]["物料号"].ToString(); r_recept_flag = dt_record.Rows[0]["是否接收"].ToString(); r_type = dt_record.Rows[0]["类型"].ToString(); string outResult; outResult = BarCodeServer_Document.Web_MaterialPull_DocumentNum_VerifyOK(r_source_id, r_orderNum, r_plant_id, r_wkc, r_workNum, r_delivery_num, r_item_code, r_recept_flag, r_type, p_GroupId); if (outResult.Length > 2) { //调用成功的话 返回“0@成功0@” //将调用信息更新到接收记录表中 //执行调用成功存储过程,将临时表中数据加到库存中 if (outResult.Substring(0, 2) == "0@") { System.Data.DataSet Select_AndonCallInfo_DS = BarCodeServer_Document.Select_DocumentReceptCord_Result(document_Num, p_GroupId); System.Data.DataTable Select_AndonCallInfo = Select_AndonCallInfo_DS.Tables[0]; if (Select_AndonCallInfo != null) { if (Select_AndonCallInfo.Rows.Count > 0) { string PROCESS_STATUS = Select_AndonCallInfo.Rows[0]["PROCESS_STATUS"].ToString(); if (PROCESS_STATUS != "SUCCESS") { MaterialPull.MaterialPull_DocumentInfo_NoticeOK(document_Num, p_GroupId, 0, outResult); } else { MaterialPull.MaterialPull_DocumentInfo_NoticeOK(document_Num, p_GroupId, 1, outResult); } } else { MaterialPull.MaterialPull_DocumentInfo_NoticeOK(document_Num, p_GroupId, 0, outResult); } } else { MaterialPull.MaterialPull_DocumentInfo_NoticeOK(document_Num, p_GroupId, 0, outResult); } } else { MaterialPull.MaterialPull_DocumentInfo_NoticeOK(document_Num, p_GroupId, 0, outResult); } } process_Message = outResult + "[" + document_Num + "]"; } else { process_Message = "-1@失败,[" + document_Num + "]产生接收记录失败"; } } else { process_Message = "-1@失败,[" + document_Num + "]产生接收记录失败"; } } else { process_Message = documentInfo; } } } catch { process_Message = "-1@未知错误,[" + document_Num + "]联系管理员!"; } return process_Message; } #endregion 配送单接收模块 #region 直供上线模块 /// /// 物料拉动-直供上线 /// /// private static string initDirectUpload() { string text = "[{}]"; try { DataTable dt_VarifyTemp = new DataTable(); string process_Message; string opname = HttpContext.Current.Request["opname"];//工位号 string wkc = DirectUpload_Ini_WKC(); string document_Num = HttpContext.Current.Request["Barcode"]; if (document_Num == null) return text; System.Data.DataTable dt_Document; System.Data.DataSet ds_Document; var direct = new BarCodeServer_Pro.BarCodeSever(); ds_Document = direct.Web_DirectUpload_Document_Select(document_Num, wkc); dt_Document = ds_Document.Tables[0]; MaterialPull.DirectUpload_VerifyTempTable_Delete(opname); MaterialPull.DirectUpload_VerifyTempTable_Add(opname, dt_Document); MaterialPull.DirectUpload_VerifyTempTable_Select(opname, document_Num, out process_Message, out dt_VarifyTemp); if (dt_VarifyTemp == null) { process_Message = "条码查询失败!请重新扫描"; return text = "{\"result\":\"1\"}"; ; } if (dt_VarifyTemp.Rows.Count == 0) { process_Message = "条码查询失败!请重新扫描"; } text = JsonHelper.DataTableToJson(dt_VarifyTemp); } catch (Exception ex) { } return text; } private static string DirectUpload_Ini_WKC() { string work_center_code = ""; System.Data.DataTable dt_wkc; dt_wkc = MaterialPull.DirectUpload_WorkCenterCode_Select(); if (dt_wkc != null) { if (dt_wkc.Rows.Count > 0) { work_center_code = dt_wkc.Rows[0]["工作中心"].ToString(); } } return work_center_code; } private static string DirectUpload_Verify() { string text = ""; try { string process_Message = ""; string opname = HttpContext.Current.Request["opname"];//工位号 string document_Num = HttpContext.Current.Request["documentNum"];//送货单行条码 string barcode = HttpContext.Current.Request["barcode"];//卡片条码 System.Data.DataTable dt_VarifyTemp; MaterialPull.DirectUpload_VerifyTempTable_Barcode_Select(opname, document_Num, barcode, out process_Message, out dt_VarifyTemp); text = JsonHelper.DataTableToJson(dt_VarifyTemp); } catch { } return text; } private static string DirectUpload_Barcode_Verify_OK() { string text = ""; try { string opname = HttpContext.Current.Request["opname"];//工位号 //opname = "OP2010"; string document_Num = HttpContext.Current.Request["documentNum"];//送货单行条码 if (document_Num == null) return text; string process_Message_verify = ""; string p_GroupId = ""; string r_source_id = "", r_orderNum = "", r_plant_id = "", r_wkc = "", r_workNum = "", r_delivery_num = "", r_item_code = "", r_recept_flag = ""; System.Data.DataTable dt_ReceiveRecord; MaterialPull.DirectUpload_VerifyTempTable_VerifyOK(opname, document_Num, out process_Message_verify); if (process_Message_verify.Length > 2) { //产生接收记录成功 if (process_Message_verify.Substring(0, 2) == "0@") { p_GroupId = process_Message_verify.Substring(2, process_Message_verify.Length - 2); if (p_GroupId == "") return text; MaterialPull.DirectUpload_ReceiveRecord_Select(opname, document_Num, p_GroupId, out dt_ReceiveRecord); if (dt_ReceiveRecord != null) { if (dt_ReceiveRecord.Rows.Count > 0) { r_source_id = dt_ReceiveRecord.Rows[0]["ID"].ToString(); r_orderNum = dt_ReceiveRecord.Rows[0]["订单号"].ToString(); r_plant_id = dt_ReceiveRecord.Rows[0]["工厂"].ToString(); r_wkc = dt_ReceiveRecord.Rows[0]["工作中心"].ToString(); r_workNum = dt_ReceiveRecord.Rows[0]["工位号"].ToString(); r_delivery_num = dt_ReceiveRecord.Rows[0]["配送单号"].ToString(); r_item_code = dt_ReceiveRecord.Rows[0]["物料号"].ToString(); r_recept_flag = dt_ReceiveRecord.Rows[0]["是否接收"].ToString(); r_workNum = DirectUpload_Ini_Opname(r_workNum);//产生接收记录工位号与SAP一致 string outResult; var direct = new BarCodeServer_Pro.BarCodeSever(); outResult = direct.Web_DirectUpload_Document_VerifyOK(r_source_id, r_orderNum, r_plant_id, r_wkc, r_workNum, r_delivery_num, r_item_code, r_recept_flag, p_GroupId); if (outResult.Length > 2) { //调用成功的话 返回“0@成功0@” //将调用信息更新到接收记录表中 //执行调用成功存储过程,将临时表中数据加到库存中 if (outResult.Substring(0, 2) == "0@") { MaterialPull.DirectUpload_VerifyTempTable_NoticeOK(opname, document_Num, p_GroupId, 1, outResult); } else { MaterialPull.DirectUpload_VerifyTempTable_NoticeOK(opname, document_Num, p_GroupId, 0, outResult); } text = JsonHelper.ObjectToJson(outResult); } } } } //已经接收,不允许重复接收 else { text = JsonHelper.ObjectToJson(process_Message_verify); } } } catch { } return text; } private static string DirectUpload_Ini_Opname(string opName_Ori) { string opName_Convert = ""; System.Data.DataTable dt_opName_Convert; dt_opName_Convert = MaterialPull.DirectUpload_OpName_Select(opName_Ori); if (dt_opName_Convert != null) { if (dt_opName_Convert.Rows.Count > 0) { opName_Convert = dt_opName_Convert.Rows[0]["指南工位号"].ToString(); } } return opName_Convert; } #endregion 直供上线模块 } }