| using Newtonsoft.Json; | 
| using Newtonsoft.Json.Linq; | 
| using Pub_Class; | 
| using RestSharp; | 
| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using System.Data; | 
| using System.Data.SqlClient; | 
| using System.IO; | 
| using System.Web; | 
| using System.Web.Http; | 
| using System.Windows.Forms; | 
| using WebAPI.Models; | 
| using WebAPI.Service; | 
| using System.Text.RegularExpressions; | 
| using WebAPI.Controllers.SCGL.日计划管理; | 
| using SyntacticSugar.constant; | 
|   | 
| namespace WebAPI.Controllers | 
| { | 
|     public class Gy_MaterialController : ApiController | 
|     { | 
|         //获取系统参数 | 
|         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
|         public DBUtility.ClsPub.Enum_BillStatus BillStatus; | 
|         public string sWhere = ""; | 
|         private json objJsonResult = new json(); | 
|         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|         DataSet ds; | 
|         string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"]; | 
|   | 
|   | 
|         ////检测 当前选中行的 项目状态 | 
|         //[Route("Gy_Material/CheckUseStatus")] | 
|         //[HttpGet] | 
|         //public void Sub_CheckUseStatus(int grd, int IDCol, string sProcName) | 
|         //{ | 
|         //    SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|         //    Int64 sItemID; | 
|         //    try | 
|         //    { | 
|         //        //循环当前网格选中项目 | 
|         //        for (int i = 0; i < grd.SelectedRows.Count; i++) | 
|         //        { | 
|         //            //得到内码 | 
|         //            sItemID = DBUtility.ClsPub.isLong(grd.Rows[grd.SelectedRows[i].Index].Cells[IDCol].Value); | 
|         //            //调用储存过程 h_p_Gy_CheckUseDept  | 
|         //            oCn.RunProc("exec " + sProcName + " " + sItemID.ToString(), ref ClsPub.sExeReturnInfo); | 
|         //        } | 
|         //    } | 
|         //    catch (Exception e) | 
|         //    { | 
|         //        MessageBox.Show("检测错误!原因:" + ClsPub.sExeReturnInfo); | 
|         //        //objJsonResult.code = "0"; | 
|         //        //objJsonResult.count = 0; | 
|         //        //objJsonResult.Message = "检测错误!原因:" + ClsPub.sExeReturnInfo; | 
|         //        //objJsonResult.data = null; | 
|         //        //return objJsonResult; | 
|         //    } | 
|         //} | 
|   | 
|         /// <summary> | 
|         /// 返回物料列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Material/list")] | 
|         [HttpGet] | 
|         public object list(string sWhere, string user, string Organization) | 
|         { | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|                 //编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无查看权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 string sql1 = string.Format(@"select top(500) * from h_v_Gy_MaterialList where 组织名称='" + Organization + "'"); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn(sql1 + sWhere + " order by 物料代码 desc", "h_v_Gy_MaterialList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql = sql1 + sWhere + " order by 物料代码 desc"; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_Gy_MaterialList"); | 
|                 } | 
|   | 
|                 //添加列名 | 
|                 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.list = columnNameList; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         #region 物料分页列表 | 
|         [Route("Gy_Material/page")] | 
|         [HttpGet] | 
|         public object page(string sWhere, string user, string Organization,int page,int size) | 
|         { | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|                 //编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无查看权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Gy_MaterialList " + page + "," + size + ",'" + Organization +"'," + "''", "h_p_Gy_MaterialList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Gy_MaterialList " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_Gy_MaterialList"); | 
|                 } | 
|   | 
|                 //添加列名 | 
|                 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 = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.list = columnNameList; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 物料根据分类获取最大物料编码 | 
|         [Route("Gy_Material/getMaxNum")] | 
|         [HttpGet] | 
|         public object getMaxNum(int HMaterTypeID, string user, string Organization) | 
|         { | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|                 //编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无查看权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (HMaterTypeID == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有选择具体分类!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn(@"select * from h_v_Gy_MaterialList where 组织名称='" + Organization + "'" + "and HMaterTypeID = '"+ HMaterTypeID + "'" + " order by 物料代码 desc", "h_v_Gy_MaterialList"); | 
|                     if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "没有找到该分类的物料编码请使用普通新增"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     string HNumber = ds.Tables[0].Rows[0]["物料代码"].ToString(); | 
|                     // 使用正则表达式找到数字部分  (?<=\D)是一个零宽断言,表示前面的字符不是数字 (\d+)$表示后面跟着一连串字符串知道末尾 | 
|                     Match match = Regex.Match(HNumber, @"(?<=\D)(\d+)$"); | 
|                     if (match.Success) | 
|                     { | 
|                         string prefix = HNumber.Substring(0, HNumber.Length - match.Length); // 提取前缀   | 
|                         int number = int.Parse(match.Value); // 解析数字   | 
|                         // 数字+1   | 
|                         number++; | 
|                         // 格式化数字,保持原长度   | 
|                         string formattedNumber = number.ToString().PadLeft(match.Length, '0'); | 
|                         // 重新组合字符串   | 
|                         string result = prefix + formattedNumber; | 
|   | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "success"; | 
|                         objJsonResult.data = result; | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "此分类物料编码格式有误"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 获取物料精度通过id | 
|         [Route("Gy_Material/getDecByID")] | 
|         [HttpGet] | 
|         public object getDecByID(int HMaterID) | 
|         { | 
|             try | 
|             { | 
|                 if(HMaterID == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有选择物料"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 ds = oCN.RunProcReturn(@"select HQtyDec,HPriceDec,HMoneyDec from Gy_Material where HitemID=" + HMaterID , "Gy_Material"); | 
|                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "没有找到该物料编码"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Success"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 获取项目号 | 
|         [Route("Gy_Material/Get_HProject")] | 
|         [HttpGet] | 
|         public object Get_HProject() | 
|         { | 
|             try | 
|             { | 
|                 DataSet oDs = new DataSet(); | 
|                 //========== | 
|                 oDs = oCN.RunProcReturn("select top(20) HInterID as HItemID,HProName HName from PM_ProjectBillMain", "PM_ProjectBillMain"); | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "获取成功!"; | 
|                 objJsonResult.data = oDs.Tables[0]; | 
|                 return objJsonResult; ; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "删除失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         /// <summary> | 
|         /// 获取项目列表 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Gy_Material/GetProjectGroupList_Json")] | 
|         [HttpGet] | 
|         public object GetProjectGroupList_Json(string Unit) | 
|             {  | 
|                 if (Unit != "" && Unit != null) | 
|                 { | 
|                     sWhere = sWhere + " and ( HBillNo like '%" + Unit + "%' or HProName like '%" + Unit + "%' ) "; | 
|                 } | 
|   | 
|                 try | 
|                 { | 
|                     SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                     if (sWhere == null || sWhere.Equals("")) | 
|                     { | 
|                         ds = oCN.RunProcReturn("Select HInterID,HBillNo 项目代码,HProName 项目组 from PM_ProjectBillMain where HCloseType = 0 Order by HInterID ", "PM_ProjectBillMain"); | 
|                     } | 
|                     else | 
|                     { | 
|                         string sql1 = "Select HInterID,HBillNo 项目代码,HProName 项目组 from PM_ProjectBillMain where HCloseType = 0 "; | 
|                         string sql = sql1 + sWhere; | 
|                         ds = oCN.RunProcReturn(sql, "PM_ProjectBillMain"); | 
|                     } | 
|   | 
|                 if (ds == null || ds.Tables[0].Rows.Count <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "获取失败" + DBUtility.ClsPub.sErrInfo; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "获取成功!"; | 
|                     objJsonResult.data = ds.Tables[0]; | 
|                     return objJsonResult; | 
|                 } | 
|             } | 
|             catch (Exception ex) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "获取失败" + ex.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #region 获取事业部 | 
|         [Route("Gy_Material/Get_Gy_Division")] | 
|         [HttpGet] | 
|         public object Get_Gy_Division(string HOrgID) | 
|         { | 
|             try | 
|             { | 
|                 DataSet oDs = new DataSet(); | 
|                 //========== | 
|                 oDs = oCN.RunProcReturn("    select HItemID,HName from Gy_Division", "Gy_Division"); | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "获取成功!"; | 
|                 objJsonResult.data = oDs.Tables[0]; | 
|                 return objJsonResult; ; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "删除失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|   | 
|         /// <summary> | 
|         /// 物料设置获取信息 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Gy_Material/GetGy_MaterialDetail")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> GetGy_MaterialDetail(string HID) | 
|         { | 
|             var model = LuBaoSevice.GetGy_MaterialBillDetail(HID); | 
|             return model; | 
|         } | 
|         /// <summary> | 
|         /// 保存物料 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Material/SaveGy_MaterialList")] | 
|         [HttpPost] | 
|         public object SaveGy_MaterialList([FromBody] JObject msg) | 
|         { | 
|             DataSet ds; | 
|             var _value = msg["msg"].ToString(); | 
|             string msg3 = _value.ToString(); | 
|             string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg1 = sArray[0].ToString(); | 
|             string msg2 = sArray[1].ToString(); | 
|             string msg_HUSEORGID = sArray[2].ToString(); | 
|             Int64 HItemID = 0; | 
|             SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|   | 
|             //编辑权限 | 
|             if (!DBUtility.ClsPub.Security_Log_second("Gy_Material_Edit", 1, false, msg2)) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "无保存权限!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|   | 
|             //获取最大ID值赋值 | 
|             DataSet Maxds = oCN.RunProcReturn("select MAX(HItemID) HItemID from Gy_Material ", "Gy_Material"); | 
|             if (Maxds != null || Maxds.Tables[0].Rows.Count > 0) | 
|             { | 
|                 //HItemID= Maxds.Tables[0].Rows[0]["HItemID"] | 
|                 var maxid = Convert.ToInt32(Maxds.Tables[0].Rows[0]["HItemID"]); | 
|                 maxid += 1; | 
|                 HItemID = maxid; | 
|             } | 
|             ListModels oListModels = new ListModels(); | 
|   | 
|             try | 
|             { | 
|                 DLL.ClsGy_Material_Ctl oBill = new DLL.ClsGy_Material_Ctl(); | 
|                 List<Models.ClsGy_Material_Model> lsmain = new List<Models.ClsGy_Material_Model>(); | 
|                 msg1 = msg1.Replace("\\", ""); | 
|                 msg1 = msg1.Replace("\n", "");  //\n | 
|                 lsmain = oListModels.getObjectByJson_Gy_Material(msg1); | 
|                 foreach (ClsGy_Material_Model oItem in lsmain) | 
|                 { | 
|                     if (oItem.HNumber.Trim() == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!代码不能为空!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (oItem.HName.Trim() == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!名称不能为空!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (oItem.HMaterTypeID == 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!物料分类不能为空!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     //if (!DBUtility.ClsPub.AllowNumber(oItem.HNumber.Trim())) | 
|                     //{ | 
|                     //    objJsonResult.code = "0"; | 
|                     //    objJsonResult.count = 0; | 
|                     //    objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!"; | 
|                     //    objJsonResult.data = 1; | 
|                     //    return objJsonResult; | 
|                     //} | 
|                     //查询数据中是否存在重复代码 | 
|                     ds = oCN.RunProcReturn("select * from  Gy_Material where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_Material"); | 
|                     //新增时判断 | 
|                     #region 父级校验方法(api调用先注释掉,) | 
|                     /* | 
|                     if (oItem.HItemID == 0) | 
|                     { | 
|                         if (ds == null || ds.Tables[0].Rows.Count > 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "保存失败!代码重复!"; | 
|                             objJsonResult.data = 1; | 
|                             return objJsonResult; | 
|                         } | 
|                         //检查父级是否存在 | 
|                         string sParent; | 
|                         sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim()); | 
|                         if (sParent.Trim() == "") | 
|                         { | 
|                             oBill.oModel.HParentID = 0; | 
|                         } | 
|                         else | 
|                         { | 
|                             if (oBill.HavParentCode(sParent.Trim(), HItemID)) | 
|                             { | 
|                                 oBill.oModel.HParentID = oBill.oModel.HItemID; | 
|                             } | 
|                             else | 
|                             { | 
|                                 objJsonResult.code = "0"; | 
|                                 objJsonResult.count = 0; | 
|                                 objJsonResult.Message = "保存失败!上级代码不存在或被禁用!"; | 
|                                 objJsonResult.data = 1; | 
|                                 return objJsonResult; | 
|                             } | 
|                         } | 
|                     } | 
|                     else//编辑时判断 | 
|                     { | 
|                         //检查父级是否存在 | 
|                         string sParent; | 
|                         sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim()); | 
|                         if (sParent.Trim() == "") | 
|                         { | 
|                             oBill.oModel.HParentID = 0; | 
|                         } | 
|                         else | 
|                         { | 
|                             if (oBill.HavParentCode(sParent.Trim(), oItem.HItemID)) | 
|                             { | 
|                                 oBill.oModel.HParentID = oBill.oModel.HItemID; | 
|                             } | 
|                             else | 
|                             { | 
|                                 objJsonResult.code = "0"; | 
|                                 objJsonResult.count = 0; | 
|                                 objJsonResult.Message = "保存失败!上级代码不存在或被禁用!"; | 
|                                 objJsonResult.data = 1; | 
|                                 return objJsonResult; | 
|                             } | 
|                         } | 
|                     } | 
|                     */ | 
|                     #endregion | 
|                     //得到短代码 | 
|                     string sShortNumber; | 
|                     sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim()); | 
|                     if (sShortNumber.Trim() == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!短代码为空!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     oItem.HUSEORGID = Convert.ToInt32(msg_HUSEORGID); //组织id | 
|                     oItem.HShortNumber = sShortNumber;//短代码 | 
|                     oItem.HEndFlag = true;//末级标志 | 
|                     oItem.HLevel = DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim()); //等级 | 
|                     oBill.oModel = oItem; | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 if (oBill.oModel.HItemID == 0) | 
|                 { | 
|                     //bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = oBill.AddNew(); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = oBill.ModifyByID(oBill.oModel.HItemID); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "保存成功!"; | 
|                     //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "保存失败!" + e.ToString(); | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         [Route("Gy_Material/SaveGy_MaterialListApi")] | 
|         [HttpPost] | 
|         public object SaveGy_MaterialListApi([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["model"].ToString(); | 
|             string msg3 = _value.ToString(); | 
|             string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg1 = sArray[0].ToString(); | 
|             SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|             ListModels oListModels = new ListModels(); | 
|             try | 
|             { | 
|                 DLL.ClsGy_Material_Ctl oBill = new DLL.ClsGy_Material_Ctl(); | 
|                 List<Models.ClsGy_Material_Model> lsmain = new List<Models.ClsGy_Material_Model>(); | 
|                 msg1 = msg1.Replace("\\", ""); | 
|                 msg1 = msg1.Replace("\n", "");  //\n | 
|                 lsmain = oListModels.getObjectByJson_Gy_Material(msg1); | 
|                 oBill.oModel = lsmain[0]; | 
|                 //保存 | 
|                 bool bResult = oBill.AddNewApi(); | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "保存成功!"; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 LogService.Write("物料同步插件,保存方法执行完成异常:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff:ffffff")+ e.Message.ToString()); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "保存失败!" + e.ToString(); | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         #region 物料 文件导入保存 | 
|         #region 物料 文件上传 | 
|         [Route("Gy_Material/Gy_Material_Excel")] | 
|         [HttpPost] | 
|         public object Gy_Material_Excel() | 
|         { | 
|             try | 
|             { | 
|                 //获取文件名称 | 
|                 var file = HttpContext.Current.Request.Files[0]; | 
|                 //获取文件物理路径 | 
|                 string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName); | 
|                 //保存文件 | 
|                 file.SaveAs(ExcelPath); | 
|   | 
|                 NpoiHelper np = new NpoiHelper(); | 
|                 DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0"); | 
|   | 
|                 //删除文件 | 
|                 File.Delete(ExcelPath); | 
|   | 
|                 //创建临时表 | 
|                 DataTable tb2 = new DataTable("dt2"); | 
|   | 
|                 //添加列名 | 
|                 for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++) | 
|                 { | 
|                     tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString()); | 
|                 } | 
|   | 
|                 //模板缺少列 但需要从数据库中查询出来显示在页面的字段 | 
|                 tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID | 
|                 tb2.Columns.Add("HMaterClsID", typeof(Int32));//物料属性ID | 
|                 tb2.Columns.Add("HUnitGroupID", typeof(Int32));//计量单位组ID | 
|                 tb2.Columns.Add("HUnitID", typeof(Int32));//单位ID | 
|                 tb2.Columns.Add("HSecUnitID", typeof(Int32));//辅助计量单位ID | 
|                 tb2.Columns.Add("HWhID", typeof(Int32));//默认仓库ID | 
|                 //添加数据 | 
|                 for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++) | 
|                 { | 
|                     DataRow row = tb2.NewRow(); | 
|                     for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++) | 
|                     { | 
|                         row[j] = ExcelDs.Tables[0].Rows[i][j].ToString(); | 
|                     } | 
|                     tb2.Rows.Add(row); | 
|                 } | 
|   | 
|   | 
|                 var error = ""; | 
|   | 
|                 //判断导入文件列是否完整 | 
|                 if (!tb2.Columns.Contains("组织代码")) | 
|                     error += "没有找到【组织代码】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("组织名称")) | 
|                     error += "没有找到【组织名称】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("物料名称")) | 
|                     error += "没有找到【物料名称】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("物料代码")) | 
|                     error += "没有找到【物料代码】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("规格型号")) | 
|                     error += "没有找到【规格型号】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("助记码")) | 
|                     error += "没有找到【助记码】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("版本号")) | 
|                     error += "没有找到【版本号】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("物料属性")) | 
|                     error += "没有找到【物料属性】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("计量单位组")) | 
|                     error += "没有找到【计量单位组】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("计量单位代码")) | 
|                     error += "没有找到【计量单位代码】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("计量单位")) | 
|                     error += "没有找到【计量单位】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("辅助计量单位")) | 
|                     error += "没有找到【辅助计量单位】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("换算率")) | 
|                     error += "没有找到【换算率】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("默认仓库")) | 
|                     error += "没有找到【默认仓库】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("最高库存")) | 
|                     error += "没有找到【最高库存】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("最低库存")) | 
|                     error += "没有找到【最低库存】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("安全库存")) | 
|                     error += "没有找到【安全库存】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("采购单价")) | 
|                     error += "没有找到【采购单价】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("销售单价")) | 
|                     error += "没有找到【销售单价】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("计划单价")) | 
|                     error += "没有找到【计划单价】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("标准成本")) | 
|                     error += "没有找到【标准成本】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("保质期")) | 
|                     error += "没有找到【保质期】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("最小订货量")) | 
|                     error += "没有找到【最小订货量】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("最大订货量")) | 
|                     error += "没有找到【最大订货量】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("英文名称")) | 
|                     error += "没有找到【英文名称】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("英文规格")) | 
|                     error += "没有找到【英文规格】的标题,"; | 
|   | 
|   | 
|                 if (error.Length > 0) | 
|                 { | 
|                     objJsonResult.code = CodeConstant.FAIL; | 
|                     objJsonResult.count = CountConstant.FAIL; | 
|                     objJsonResult.Message = $"Excel模板存在错误,{error}\r\n"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 for (int i = 0; i <= tb2.Rows.Count - 1; i++) | 
|                 { | 
|                     string HMaterName = ""; | 
|                     string HMaterNumber = ""; | 
|                     string HORGNumber = ""; | 
|                     string HORGName = ""; | 
|                     string HMaterClsName = ""; | 
|                     string HUnitGroupName = ""; | 
|                     string HUnitNumber = ""; | 
|                     string HUnitName = ""; | 
|                     string HSecUnitName = ""; | 
|                     string HWhName = ""; | 
|   | 
|                     HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString()); | 
|                     HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString()); | 
|                     HMaterNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString()); | 
|                     HMaterName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料名称"].ToString()); | 
|                     HMaterClsName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料属性"].ToString()); | 
|                     HUnitGroupName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["计量单位组"].ToString()); | 
|                     HUnitNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["计量单位代码"].ToString()); | 
|                     HUnitName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["计量单位"].ToString()); | 
|                     HSecUnitName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["辅助计量单位"].ToString()); | 
|                     HWhName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["默认仓库"].ToString()); | 
|                     //检查物料 | 
|                     int index = i + 1; | 
|   | 
|                     if (HORGNumber != "") | 
|                     { | 
|   | 
|                         //查询组织 | 
|                         ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = CodeConstant.FAIL; | 
|                             objJsonResult.count = CountConstant.FAIL; | 
|                             objJsonResult.Message = "第" + index + "行,组织不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         //查询属性 | 
|                         if (HMaterClsName == "外购") | 
|                         { | 
|                             tb2.Rows[i]["HMaterClsID"] = 1; | 
|                         } | 
|                         else if(HMaterClsName == "自制") | 
|                         { | 
|                             tb2.Rows[i]["HMaterClsID"] = 2; | 
|                         } | 
|                         else if (HMaterClsName == "委外") | 
|                         { | 
|                             tb2.Rows[i]["HMaterClsID"] = 3; | 
|                         } | 
|                         else | 
|                         { | 
|                             objJsonResult.code = CodeConstant.FAIL; | 
|                             objJsonResult.count = CountConstant.FAIL; | 
|                             objJsonResult.Message = "第" + index + "行,物料属性不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         //查询计量单位组 | 
|                         ds = oCN.RunProcReturn("select * from Gy_UnitGroup where  HName='" + HUnitGroupName + "'", "Gy_UnitGroup"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0 && HUnitGroupName != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" +  "计量单位组:" + HUnitGroupName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else if (HMaterNumber == "") | 
|                         { | 
|                             tb2.Rows[i]["HUnitGroupID"] = 0; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HUnitGroupID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //查询单位 | 
|                         ds = oCN.RunProcReturn("select * from Gy_Unit where  HNumber='" + HUnitNumber + "'  and HUSEORGID=" + HORGid + "", "Gy_Unit"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,单位:" + HUnitName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HUnitID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //查询辅助单位 | 
|                         ds = oCN.RunProcReturn("select * from Gy_Unit where  HName='" + HSecUnitName + "'  and HUSEORGID=" + HORGid + "", "Gy_Unit"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0 && HSecUnitName != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,单位:" + HSecUnitName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         }else if (HSecUnitName == "") | 
|                         { | 
|                             tb2.Rows[i]["HSecUnitID"] = 0; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HSecUnitID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //查询仓库 | 
|                         ds = oCN.RunProcReturn("select * from Gy_Warehouse where  HName='" + HWhName + "'  and HUSEORGID=" + HORGid + "", "Gy_Warehouse"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,仓库:" + HWhName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HWHID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //物料名称 | 
|                         if (HMaterName == "") | 
|                         { | 
|                             objJsonResult.code = CodeConstant.FAIL; | 
|                             objJsonResult.count = CountConstant.FAIL; | 
|                             objJsonResult.Message = "第" + index + "行,物料名称不能为空!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|   | 
|                         //物料代码 | 
|                         if (HMaterNumber == "") | 
|                         { | 
|                             objJsonResult.code = CodeConstant.FAIL; | 
|                             objJsonResult.count = CountConstant.FAIL; | 
|                             objJsonResult.Message = "第" + index + "行,物料编号不能为空!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = CodeConstant.FAIL; | 
|                         objJsonResult.count = CountConstant.FAIL; | 
|                         objJsonResult.Message = "第" + index + "行,组织代码为空"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|   | 
|                 objJsonResult.code = CodeConstant.SUCCEED; | 
|                 objJsonResult.count = CountConstant.SUCCEED; | 
|                 objJsonResult.Message = error; | 
|                 objJsonResult.data = tb2; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = CodeConstant.FAIL; | 
|                 objJsonResult.count = CountConstant.FAIL; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 物料项目 导入(保存) | 
|         [Route("Gy_Material/Gy_Material_btnSave")] | 
|         [HttpPost] | 
|         public object Gy_Material_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(); | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log("Gy_Material_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = CodeConstant.FAIL; | 
|                     objJsonResult.count = CountConstant.FAIL; | 
|                     objJsonResult.Message = "无保存权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 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); | 
|                 } | 
|   | 
|                 oCN.BeginTran(); | 
|                 int i = 1; | 
|                 foreach (Dictionary<string, string> item in list) | 
|                 { | 
|                     DLL.ClsGy_Material_Ctl oBill = new DLL.ClsGy_Material_Ctl(); | 
|                     ClsGy_Material_Model oItem = new ClsGy_Material_Model(); | 
|                     //赋值前端传入的 | 
|                     oItem.HUSEORGID = int.Parse(item["HOrgID"].ToString()); | 
|                     oItem.HNumber = item["物料代码"].ToString(); | 
|                     oItem.HName = item["物料名称"].ToString(); | 
|                     oItem.HModel = item["规格型号"].ToString(); | 
|                     oItem.HHelpCode = item["助记码"].ToString(); | 
|                     oItem.HVersion = item["版本号"].ToString(); | 
|                     oItem.HMaterClsID = int.Parse(item["HMaterClsID"].ToString()); | 
|                     oItem.HUnitGroupID = int.Parse(item["HUnitGroupID"].ToString()); | 
|                     oItem.HUnitID = int.Parse(item["HUnitID"].ToString()); | 
|                     oItem.HSecUnitID = int.Parse(item["HSecUnitID"].ToString()); | 
|                     oItem.HSecUnitRate = double.Parse(item["换算率"].ToString()==""?"0": item["换算率"].ToString()); | 
|                     oItem.HWhID = int.Parse(item["HWhID"].ToString()); | 
|                     oItem.HHighStock = int.Parse(item["最高库存"].ToString() == "" ? "0" : item["最高库存"].ToString()); | 
|                     oItem.HLowStock = int.Parse(item["最低库存"].ToString() == "" ? "0" : item["最低库存"].ToString()); | 
|                     oItem.HSafeStock = int.Parse(item["安全库存"].ToString() == "" ? "0" : item["安全库存"].ToString()); | 
|                     oItem.HOrderPrice = int.Parse(item["采购单价"].ToString() == "" ? "0" : item["采购单价"].ToString()); | 
|                     oItem.HSalePrice = int.Parse(item["销售单价"].ToString() == "" ? "0" : item["销售单价"].ToString()); | 
|                     oItem.HPlanPrice = int.Parse(item["计划单价"].ToString() == "" ? "0" : item["计划单价"].ToString()); | 
|                     oItem.HstdPrice = int.Parse(item["标准成本"].ToString() == "" ? "0" : item["标准成本"].ToString()); | 
|                     oItem.HKeepDays = int.Parse(item["保质期"].ToString() == "" ? "0" : item["保质期"].ToString()); | 
|                     oItem.HQtyMin = int.Parse(item["最小订货量"].ToString() == "" ? "0" : item["最小订货量"].ToString()); | 
|                     oItem.HQtyMin = int.Parse(item["最大订货量"].ToString() == "" ? "0" : item["最大订货量"].ToString()); | 
|                     oItem.HEngName = item["英文名称"].ToString(); | 
|                     oItem.HEngModel = item["英文规格"].ToString(); | 
|                     //常规赋值赋空值防止报错 | 
|                     oItem.HMaterTypeID = 0; | 
|                     oItem.HColorRemark = ""; | 
|                     oItem.HColorNo = ""; | 
|                     oItem.HMaterRuleType = ""; | 
|                     string sShortNumber; | 
|                     sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim()); | 
|                     if (sShortNumber.Trim() == "") | 
|                     { | 
|                         objJsonResult.code = CodeConstant.FAIL; | 
|                         objJsonResult.count = CountConstant.FAIL; | 
|                         objJsonResult.Message = "保存失败!短代码为空!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     oItem.HShortNumber = sShortNumber;//短代码 | 
|                     oItem.HEndFlag = true;//末级标志 | 
|                     oItem.HLevel = DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim()); //等级 | 
|                     oBill.oModel = oItem; | 
|                     if (!DBUtility.ClsPub.AllowNumber(oItem.HNumber.Trim())) | 
|                     { | 
|                         objJsonResult.code = CodeConstant.FAIL; | 
|                         objJsonResult.count = CountConstant.FAIL; | 
|                         objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     ds = oCN.RunProcReturn("select * from  Gy_Material where  HNumber='" + oItem.HNumber.Trim() + "'", "Gy_Material"); | 
|   | 
|                     if (ds.Tables[0].Rows.Count == 0) | 
|                     { | 
|   | 
|                         oBill.AddNew(); | 
|                     } | 
|                     else | 
|                     { | 
|   | 
|                         int HItemID = int.Parse(ds.Tables[0].Rows[0]["HItemID"].ToString()); | 
|                         oBill.oModel.HItemID = HItemID; | 
|                         oBill.ModifyByID(oBill.oModel.HItemID); | 
|   | 
|                     } | 
|   | 
|                     i++; | 
|                 } | 
|   | 
|                 oCN.Commit(); | 
|   | 
|                 objJsonResult.code = CodeConstant.SUCCEED; | 
|                 objJsonResult.count = CountConstant.SUCCEED; | 
|                 objJsonResult.Message = "导入成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 LogService.Write(e); | 
|                 objJsonResult.code = CodeConstant.FAIL; | 
|                 objJsonResult.count = CountConstant.FAIL; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|         #endregion | 
|         /// <summary> | 
|         /// 物料设置删除功能 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Gy_Material/Delete")] | 
|         [HttpGet] | 
|         public object DeltetGy_Material(string HItemID, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|   | 
|                 if (user == "10000")//api同步方式 | 
|                 { | 
|                     oCN.RunProc("delete from Gy_Material where HERPItemID=" + HItemID); | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "* 数据删除成功!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; ; | 
|                 } | 
|   | 
|                 //删除权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Gy_Material_Delete", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无删除权限"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (string.IsNullOrWhiteSpace(HItemID)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HItemID为空!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 oCN.BeginTran();//开始事务 | 
|                 ds = oCN.RunProcReturn("select * from Gy_Material where HItemID=" + HItemID, "Gy_Material"); | 
|                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     oCN.RollBack();//回滚事务 | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有数据,无法删除!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; ; | 
|                 } | 
|                 var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]); | 
|                 if (HStopflag) | 
|                 { | 
|                     oCN.RollBack();//回滚事务 | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "数据已删除无法再次删除!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.RunProc("delete from Gy_Material where HItemID=" + HItemID); | 
|                 oCN.Commit();//提交事务 | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "* 数据删除成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; ; | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack();//回滚事务 | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "删除失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|   | 
|   | 
|         #region 物料审核、反审核 | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="HInterID">单据ID</param> | 
|         /// <param name="IsAudit">审核(0),反审核(1)</param> | 
|         /// <param name="CurUserName">审核人</param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Material/AuditGy_Material")] | 
|         [HttpGet] | 
|         public object AuditGy_Material(int HInterID, int IsAudit, string CurUserName) | 
|         { | 
|             try | 
|             { | 
|                 //审核权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Material_Check", 1, false, CurUserName)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "审核失败!无权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 var ds = oCN.RunProcReturn("select * from Gy_Material where HItemID=" + HInterID, "Gy_Material"); | 
|                 if (ds.Tables[0].Rows.Count > 0) | 
|                 { | 
|                     if (IsAudit == 0)  //审核判断 | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据已审核!不能再次审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     if (IsAudit == 1) //反审核判断 | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据未审核!不需要反审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据不存在!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.BeginTran(); | 
|   | 
|                 if (IsAudit == 0)  //审核判断 | 
|                 { | 
|                     oCN.RunProc("update Gy_Material set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID); | 
|   | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "审核成功"; | 
|                     objJsonResult.data = null; | 
|                 } | 
|                 if (IsAudit == 1) //反审核判断 | 
|                 { | 
|                     oCN.RunProc("update Gy_Material set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID); | 
|   | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "反审核成功"; | 
|                     objJsonResult.data = null; | 
|                 } | 
|                 oCN.Commit(); | 
|   | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 物料禁用、反禁用 | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="HInterID">单据ID</param> | 
|         /// <param name="IsStop">禁用(0),反禁用(1)</param> | 
|         /// <param name="CurUserName">审核人</param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Material/StopGy_Material")] | 
|         [HttpGet] | 
|         public object StopGy_Material(int HInterID, int IsStop, string CurUserName) | 
|         { | 
|             try | 
|             { | 
|                 //审核权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Material_Stop", 1, false, CurUserName)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "禁用失败!无权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 var ds = oCN.RunProcReturn("select * from Gy_Material where HItemID=" + HInterID, "Gy_Material"); | 
|                 if (ds.Tables[0].Rows.Count > 0) | 
|                 { | 
|                     if (IsStop == 0)  //禁用判断 | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据已禁用!不能再次禁用!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     if (IsStop == 1) //反禁用判断 | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() == "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据未禁用!不需要反禁用!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据不存在!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.BeginTran(); | 
|   | 
|                 if (IsStop == 0)  //禁用判断 | 
|                 { | 
|                     oCN.RunProc("update Gy_Material set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID); | 
|   | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "禁用成功"; | 
|                     objJsonResult.data = null; | 
|                 } | 
|                 if (IsStop == 1) //反禁用判断 | 
|                 { | 
|                     oCN.RunProc("update Gy_Material set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID); | 
|   | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "反禁用成功"; | 
|                     objJsonResult.data = null; | 
|                 } | 
|                 oCN.Commit(); | 
|   | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "禁用失败或者反禁用失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|   | 
|   | 
|   | 
|         /// <summary> | 
|         /// 返回模具列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Mould/list1")] | 
|         [HttpGet] | 
|         public object list1(string sWhere, string ModRightNameSelect, string user) | 
|         { | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log(ModRightNameSelect, 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有查看权限"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_Gy_MouldFileList " + sWhere + "order by 日期 desc", "h_v_Gy_MouldFileList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_Gy_MouldFileList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere + "order by 日期 desc"; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_Gy_MouldFileList"); | 
|                 } | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|   | 
|         #region 器具档案列表 树状图 设备分类查询 | 
|         public class TreeModel | 
|         { | 
|             public string id { get; set; } | 
|             public string title { get; set; } | 
|             public List<TreeModel> children = new List<TreeModel>(); | 
|         } | 
|         [Route("Gy_Mould/TreeList")] | 
|         [HttpGet] | 
|         public object TreeList(string sWhere, string user) | 
|         { | 
|             try | 
|             { | 
|   | 
|                 ds = oCN.RunProcReturn("select HItemID,HNumber,HName  from Gy_MouldType", "Gy_MouldType"); | 
|   | 
|                 List<TreeModel> treeModels = new List<TreeModel>(); | 
|                 TreeModel first = new TreeModel(); | 
|                 first.id = "0"; | 
|                 first.title = "器具分类设置"; | 
|                 treeModels.Add(first); | 
|   | 
|                 foreach (DataRow row in ds.Tables[0].Rows) | 
|                 { | 
|                     var strLen = row["hitemid"].ToString().Split('.'); | 
|                     if (strLen.Length == 1) | 
|                     { | 
|                         TreeModel tree = new TreeModel(); | 
|                         tree.id = row["HItemID"].ToString(); | 
|                         tree.title = row["HName"].ToString(); | 
|                         treeModels[0].children.Add(tree); | 
|                     } | 
|                 } | 
|                 digui(ds.Tables[0], treeModels[0].children, 2); | 
|   | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels); | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         /// <summary> | 
|         /// 递归函数 | 
|         /// </summary> | 
|         public void digui(DataTable dt, List<TreeModel> tree, int num) | 
|         { | 
|             for (int m = 0; m < tree.Count; m++) | 
|             { | 
|                 tree[m].children = new List<TreeModel>(); | 
|                 for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集 | 
|                 { | 
|                     var strLen = dt.Rows[i]["HNumber"].ToString().Split('.'); | 
|                     if (strLen.Length == num && dt.Rows[i]["HNumber"].ToString().Contains(tree[m].id + ".")) | 
|                     { | 
|                         TreeModel tbjson = new TreeModel(); | 
|                         tbjson.id = dt.Rows[i]["HItemID"].ToString(); | 
|                         tbjson.title = dt.Rows[i]["HName"].ToString(); | 
|                         tree[m].children.Add(tbjson); | 
|                     } | 
|                 } | 
|                 var strLens = tree[m].id.Split('.'); | 
|                 for (int i = 0; i < tree[m].children.Count; i++) | 
|                 { | 
|                     digui(dt, tree[m].children, strLens.Length + 2);//再次用子集去循环,拿出子集的子集 | 
|                 } | 
|             } | 
|   | 
|         } | 
|         #endregion | 
|   | 
|   | 
|   | 
|   | 
|         /// <summary> | 
|         /// 返回检具档案列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_CheckToolsFileMainList/list2")] | 
|         [HttpGet] | 
|         public object list2(string sWhere) | 
|         { | 
|             try | 
|             { | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_Gy_CheckToolsFileMainList " + sWhere + "order by 日期 desc", "h_v_Gy_CheckToolsFileMainList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_Gy_CheckToolsFileMainList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere + "order by 日期 desc"; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_Gy_CheckToolsFileMainList"); | 
|                 } | 
|                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "false!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "Sucess!"; | 
|                     objJsonResult.data = ds.Tables[0]; | 
|                     return objJsonResult; | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回条码档案列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_BarCodeBillList/GetBarCodeBillList")] | 
|         [HttpGet] | 
|         public object GetBarCodeBillList(string sWhere, string user) | 
|         { | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Gy_BarCodeBill_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 string sql1 = "select top 15000 * from h_v_IF_BarCodeBillList where 1 = 1 "; | 
|                 string sql = sql1 + sWhere + " order by hmainid desc"; | 
|                 ds = oCN.RunProcReturn(sql, "h_v_IF_BarCodeBillList"); | 
|   | 
|                 //添加列名 | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         #region [返回条码档案删除功能] | 
|         /// <summary> | 
|         /// 返回条码档案删除功能 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Gy_MaterialController/DeltetBarCodeBill")] | 
|         [HttpPost] | 
|         public object DeltetBarCodeBill([FromBody] JObject oData) | 
|         { | 
|             var _value = oData["oData"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string HInter = sArray[0].ToString(); | 
|             string HInterID = HInter.Replace("\"", ""); | 
|             string user = sArray[1].ToString(); | 
|             string HBarCode = sArray[2].ToString().Replace("\"",""); | 
|             string HComputerName = SystemInformation.ComputerName; //设备名称            | 
|   | 
|             try | 
|             { | 
|                 DataSet Ds; | 
|   | 
|                 string[] NewBarCode; | 
|                 NewBarCode = HBarCode.Split(Convert.ToChar(",")); | 
|   | 
|                 //编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Gy_BarCodeBill_Del", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无删除权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 //删除条码前进行判断 | 
|                 Ds = oCN.RunProcReturn("exec h_p_Gy_BarCodeBill_MulDelete_Before '" + HInterID + "','" + HBarCode + "'", "h_p_Gy_BarCodeBill_MulDelete_Before", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 if (Ds == null || Ds.Tables[0].Rows.Count <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "删除条码前判断发生错误!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "1") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]); | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult;                        | 
|                     } | 
|                 } | 
|                 //Int64 lngBillKey = 0; | 
|                 //lngBillKey = DBUtility.ClsPub.isLong(HInterID); | 
|                 if (HInterID == "") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据ID为空!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 //进行 会计期间 结账 的判断和控制 | 
|                 string s = ""; | 
|                 int sYear = 0; | 
|                 int sPeriod = 0; | 
|                 DateTime HDate = DateTime.Now; | 
|                 if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) | 
|                 { | 
|                     objJsonResult.Message = s; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 Ds = oCN.RunProcReturn("Select * from h_v_IF_BarCodeBillList Where HItemID in (" + HInterID + ")", "h_v_IF_BarCodeBillList"); | 
|                 if (Ds.Tables[0].Rows.Count != 0) | 
|                 { | 
|                     oCN.BeginTran(); | 
|   | 
|                     //获取系统参数 | 
|                     string Ret = ""; | 
|                     if (oSystemParameter.ShowBill(ref Ret)) | 
|                     { | 
|                         //判断是否只能删除自己生成的条码 | 
|                         if (oSystemParameter.omodel.BarCode_DeleterAndMakerMustSame == "Y") //系统参数                       | 
|                         { | 
|                             oCN.RunProc("Delete from Gy_BarCodeBill Where HItemID in (" + HInterID + ")" + " and HMaker = '" + user + "'"); | 
|                         } | 
|                         else | 
|                         { | 
|                             oCN.RunProc("Delete from Gy_BarCodeBill Where HItemID in (" + HInterID + ")"); | 
|                         } | 
|                     }                     | 
|   | 
|                     //写入系统日志 | 
|                     for (int i = 0; i <= NewBarCode.Length - 1; i++) | 
|                     { | 
|                         oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "网页版删除条码:" + NewBarCode[i] + "','WMS系统-条码档案列表模块','" + DBUtility.ClsPub.IPAddress + "','删除条码'", ref DBUtility.ClsPub.sExeReturnInfo);                      | 
|                     } | 
|   | 
|                     oCN.Commit(); | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "删除成功"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据未找到"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = e.Message; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 条码主档维护 作废/反作废 | 
|         /// <summary> | 
|         /// </summary> | 
|         /// <param name="HInterID">单据ID</param> | 
|         /// <param name="IsAudit">作废(0),反作废(1)</param> | 
|         /// <param name="CurUserName">作废人</param> | 
|         /// <returns></returns> | 
|         [Route("Gy_BarCodeBillList/DeleteGy_BarCodeBillList")] | 
|         [HttpGet] | 
|         public object DeleteGy_BarCodeBillList(int HInterID, int IsAudit, string CurUserName) | 
|         { | 
|             string ModRightNameCheck = "Gy_BarCodeBillList_Delete"; | 
|             DBUtility.ClsPub.CurUserName = CurUserName; | 
|             try | 
|             { | 
|                 //检查权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "作废失败!无权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //HInterID数据判断 | 
|                 if (HInterID <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID小于0!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|                 Int64 lngBillKey = 0; | 
|                 lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换 | 
|   | 
|                 //进行需要进行的作废/反作废操作 | 
|                 if (IsAudit == 0) //作废提交 | 
|                 { | 
|                     oCN.BeginTran(); | 
|   | 
|                     //作废条码 | 
|                     oCN.RunProc("update Gy_BarCodeBill set HStopflag=1,HDeleteMan='" + CurUserName + "',HDeleteDate=getdate() where HItemID in (" + HInterID + ")", ref DBUtility.ClsPub.sExeReturnInfo); | 
|   | 
|                     string sql = "select * from Gy_BarCodeBill where HItemID = " + HInterID; | 
|                     ds = oCN.RunProcReturn(sql, "Gy_BarCodeBill"); | 
|                     if(ds!=null && ds.Tables[0].Rows.Count > 0) | 
|                     { | 
|                         string HBarCode = ds.Tables[0].Rows[0]["HBarCode"].ToString(); | 
|   | 
|                         //添加操作日志 | 
|                         oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','作废条码:" + HBarCode + "','WMS系统-条码档案列表模块','" + DBUtility.ClsPub.IPAddress + "','作废'", ref DBUtility.ClsPub.sExeReturnInfo); | 
|   | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "作废成功"; | 
|                         objJsonResult.data = null; | 
|   | 
|                         oCN.Commit(); | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|   | 
|                         oCN.RollBack(); | 
|                     } | 
|   | 
|   | 
|                     return objJsonResult; | 
|                 } | 
|                 if (IsAudit == 1) //反关闭提交 | 
|                 { | 
|                     oCN.BeginTran(); | 
|   | 
|                     #region 反作废条码前进行判断 | 
|                     //反作废条码前进行判断------------------------------------------------------------------------------------------------------------------------------------------------------ | 
|                     //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 
|                     DataSet DS = oCN.RunProcReturn("exec h_p_Gy_BarCodeBill_UnCancelltion '" + HInterID + "','N'", "h_p_Gy_BarCodeBill_UnCancelltion", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     if (DS == null || DS.Tables[0].Rows.Count <= 0) | 
|                     { | 
|                         oCN.RollBack(); | 
|   | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "反作废失败,原因:反作废条码前判断发生错误!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) == "1") | 
|                         { | 
|                             oCN.RollBack(); | 
|   | 
|                             objJsonResult.code = "1"; | 
|                             objJsonResult.count = 1; | 
|                             objJsonResult.Message = "反作废失败,原因:" + DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]); | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 
|                     //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 
|                     #endregion | 
|   | 
|                     //反作废条码 | 
|                     oCN.RunProc("update Gy_BarCodeBill set HStopflag=0,HDeleteMan='',HDeleteDate=null where HItemID in (" + HInterID + ")", ref DBUtility.ClsPub.sExeReturnInfo); | 
|   | 
|                     //增加操作日志 | 
|                     string sql = "select * from Gy_BarCodeBill where HItemID = " + HInterID; | 
|                     ds = oCN.RunProcReturn(sql, "Gy_BarCodeBill"); | 
|                     if (ds != null && ds.Tables[0].Rows.Count > 0) | 
|                     { | 
|                         string HBarCode = ds.Tables[0].Rows[0]["HBarCode"].ToString(); | 
|                         oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','反作废条码:" + HBarCode + "','WMS系统-条码档案列表模块','" + DBUtility.ClsPub.IPAddress + "','反作废'", ref DBUtility.ClsPub.sExeReturnInfo); | 
|   | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "反作废成功"; | 
|                         objJsonResult.data = null; | 
|                         oCN.Commit(); | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "反作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         oCN.RollBack(); | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "作废失败或者反作废失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region[器具档案编辑时获取子表数据] | 
|         [Route("Gy_MouldFileMain/Gy_MouldFileSubDetai")] | 
|         [HttpGet] | 
|         public object Gy_MouldFileSubDetai(long HInterID) | 
|         { | 
|             try | 
|             { | 
|                 List<DataTable> tableList = new List<DataTable>(); | 
|                 ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_MouldFileSub_MaintainRule AS a left join Sc_MouldMaintainRuleBillMain as b on b.HInterID = a.HMaintainRuleID where a.HInterID = " + HInterID, "Gy_MouldFileBill_MaintainRule"); | 
|                 tableList.Add(ds.Tables[0]); | 
|                 ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_MouldFileSub_DotCheckRule AS a left join Sc_MouldDotCheckRuleBillMain as b on b.HInterID = a.HDotCheckRuleID where a.HInterID = " + HInterID, "Gy_MouldFileBill_DotCheckRule"); | 
|                 tableList.Add(ds.Tables[0]); | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = ""; | 
|                 objJsonResult.data = tableList; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|         /// <summary> | 
|         /// 新增模具档案-保存按钮 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Mould_Edit/AddBill")] | 
|         [HttpPost] | 
|         public object AddBill([FromBody] JObject oMain) | 
|         { | 
|             var _value = oMain["oMain"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString();//模块权限 | 
|             string msg4 = sArray[2].ToString();//当前人 | 
|   | 
|             oCN.BeginTran(); | 
|             if (!DBUtility.ClsPub.Security_Log(msg3, 1, false, msg4)) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有查看权限"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             //保存主表 | 
|             objJsonResult = AddBillMain(msg1); | 
|             if (objJsonResult.code == "0") | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = objJsonResult.Message; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             oCN.Commit(); | 
|             objJsonResult.code = "1"; | 
|             objJsonResult.count = 1; | 
|             objJsonResult.Message = "新增单据成功!"; | 
|             return objJsonResult; | 
|         } | 
|   | 
|         public json AddBillMain(string msg1) | 
|         { | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString();//模块权限 | 
|             string msg4 = sArray[2].ToString();//当前人 | 
|             string msg5 = sArray[3].ToString();//子表数据 | 
|             string msg6 = sArray[4].ToString();//子表1数据 | 
|             string msg7 = sArray[5].ToString();//子表2数据 | 
|             try | 
|             { | 
|                 msg2 = "[" + msg2.ToString() + "]"; | 
|                 List<Gy_Mould> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_Mould>>(msg2); | 
|                 string BillType = "3899"; | 
|                 //得到mainid | 
|                 long HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 string HBillNo = mainList[0].HBillNo;//递入type得到的单据号 | 
|                 DateTime HDate = mainList[0].HDate;//日期 | 
|                 int HYear = DBUtility.ClsPub.isInt(DateTime.Now.Year); | 
|                 double HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); | 
|                 string HMouldNo = mainList[0].HMouldNo; | 
|                 string HBarCode = mainList[0].HBarCode; | 
|                 string HName = mainList[0].HName; | 
|                 string HModel = mainList[0].HModel; | 
|                 string HModel2 = mainList[0].HModel2; | 
|                 string HDiameter = mainList[0].HDiameter; | 
|                 string HSubjoin = mainList[0].HSubjoin; | 
|                 string HSubjoin2 = mainList[0].HSubjoin2; | 
|                 string HPICNo = mainList[0].HPICNo; | 
|                 string HWorkMaterModel = mainList[0].HWorkMaterModel; | 
|                 long HMaterID = mainList[0].HMaterID; | 
|                 long HMouleTypeID = mainList[0].HMouleTypeID; | 
|                 long HUnitID = mainList[0].HUnitID; | 
|                 DateTime HOutComDate = mainList[0].HOutComDate; | 
|                 string HOutComNo = mainList[0].HOutComNo; | 
|                 long HDeptID = mainList[0].HDeptID; | 
|                 long HSupID = mainList[0].HSupID; | 
|                 string HMouldStatus = mainList[0].HMouldStatus; | 
|                 long HWHID = mainList[0].HWHID; | 
|                 long HRoutingID = mainList[0].HRoutingID; | 
|                 long HBOMID = mainList[0].HBOMID; | 
|                 string HVersion = mainList[0].HVersion; | 
|                 long HSPGroupID = mainList[0].HSPGroupID; | 
|                 long HSPID = mainList[0].HSPID; | 
|                 Double HDesignLife = mainList[0].HDesignLife; | 
|                 Double HUseLife = mainList[0].HUseLife; | 
|                 Double HInitLife = mainList[0].HInitLife;//上线初始化寿命 | 
|                 Double HLeaveLife = mainList[0].HLeaveLife; | 
|                 Double HProdQty = mainList[0].HProdQty; | 
|                 Double HProdWeight = mainList[0].HProdWeight; | 
|                 string HRemark = mainList[0].HRemark; | 
|                 string HMaker = mainList[0].HMaker; | 
|                 string HMaterNumber = mainList[0].HMaterNumber; | 
|                 string HSupNumber = mainList[0].HSupNumber; | 
|                 long HPrintQty = mainList[0].HPrintQty; | 
|                 string HMouldOWNER = mainList[0].HMouldOWNER; | 
|                 string HSaveLife = mainList[0].HSaveLife; | 
|                 int HCaveQty = mainList[0].HCaveQty; | 
|                 int HMouldDotCheckRuleInterID = mainList[0].HMouldDotCheckRuleInterID; | 
|                 int HMouldMaintainRuleInterID = mainList[0].HMouldMaintainRuleInterID; | 
|                 int HNowSupID = mainList[0].HNowSupID; | 
|                 int HNowSupTypeID = mainList[0].HNowSupTypeID; | 
|                 int HMadeSupID = mainList[0].HMadeSupID; | 
|                 string HMouldClass = mainList[0].HMouldClass; | 
|                 int HNowWHID = mainList[0].HNowWHID; | 
|                 int HNowSPID = mainList[0].HNowSPID; | 
|                 string HMouldUseStatus = mainList[0].HMouldUseStatus; | 
|   | 
|                 //保存前控制========================================= | 
|                 string HBillNote = ""; | 
|                 ds = oCN.RunProcReturn("Exec h_p_Gy_MouldFileMain_BeforeSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Gy_MouldFileMain_BeforeSaveCtrl"); | 
|                 if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "保存失败!原因:保存前判断失败,请与网络管理人员联系"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "保存失败!原因:" + ds.Tables[0].Rows[0]["HBackRemark"].ToString(); ; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //========================================================= | 
|   | 
|   | 
|                 //主表 | 
|                 oCN.RunProc("Insert Into Gy_MouldFileMain   " + | 
|                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + | 
|                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + | 
|                 ",HMouldNo,HName,HModel,HModel2,HDiameter" + | 
|                 ",HSubjoin,HSubjoin2,HPICNo,HWorkMaterModel" + | 
|                 ",HMaterID,HMaterNumber,HMouldType,HUnitID" + | 
|                 ",HOutComDate,HOutComNo,HDeptID,HSupID,HSupNumber" + | 
|                 ",HPrintQty,HMouldStatus,HWhID,HRoutingID,HCaveQty" + | 
|                 ",HBomID,HVersion,HSPGroupID,HSPID,HDesignLife,HNowSupID,HNowSupTypeID" + | 
|                 ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife,HMouldDotCheckRuleInterID,HMouldMaintainRuleInterID,HBarCode,HMadeSupID" + | 
|                 ",HMouldClass,HNowWHID,HNowSPID,HInitLife,HMouldUseStatus) " + | 
|                 " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" + | 
|                 "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()" + | 
|                 ",'" + HMouldNo + "','" + HName + "','" + HModel + "','" + HModel2 + "','" + HDiameter + "'" + | 
|                 ",'" + HSubjoin + "','" + HSubjoin2 + "','" + HPICNo + "','" + HWorkMaterModel + "'" + | 
|                 "," + HMaterID + ",'" + HMaterNumber + "'," + HMouleTypeID + "," + HUnitID + | 
|                 ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HSupID + ",'" + HSupNumber + "'" + | 
|                 "," + HPrintQty + ",'" + HMouldStatus + "'," + HWHID + "," + HRoutingID + "," + HCaveQty + | 
|                 "," + HBOMID + ",'" + HVersion + "'," + HSPGroupID + "," + HSPID + ",'" + HDesignLife + "','" + HNowSupID + "','" + HNowSupTypeID + "'" + | 
|                 ",'" + HUseLife + "','" + HLeaveLife + "','" + HProdQty + "','" + HProdWeight + "','" + HMouldOWNER + "','" + HSaveLife + "','" + HMouldDotCheckRuleInterID + "','" + HMouldMaintainRuleInterID + "','" + HBarCode + "'," + HMadeSupID + | 
|                 ",'"+ HMouldClass + "'," + HNowWHID + "," + HNowSPID + ",'" + HInitLife + "','" + HMouldUseStatus + "') "); | 
|   | 
|                 //子表 | 
|                 oCN.RunProc("Insert into Gy_MouldFileSub " + | 
|                     " (HInterID,HEntryID,HRemark" + | 
|                     ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
|                     ") " + | 
|                 " values('" + HInterID + "',0,''" + | 
|                 ",0,0,'','',0,0 " + | 
|                 ") "); | 
|   | 
|                 objJsonResult = AddBillSub(msg5,msg6,msg7,HInterID, HBillNo); | 
|   | 
|                 //保存后控制========================================= | 
|                 ds = oCN.RunProcReturn("Exec h_p_Gy_MouldFileMain_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Gy_MouldFileMain_AfterSaveCtrl"); | 
|                 if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "保存失败!原因:保存前判断失败,请与网络管理人员联系"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "保存失败!原因:" + ds.Tables[0].Rows[0]["HBackRemark"].ToString(); ; | 
|                     objJsonResult.data = null; | 
|                     oCN.RollBack(); | 
|                     return objJsonResult; | 
|                 } | 
|                 //========================================================= | 
|   | 
|   | 
|                 if (objJsonResult.code == "0") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = objJsonResult.Message; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = null; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 修改单据-保存按钮 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Mould_Edit/AddBill1")] | 
|         [HttpPost] | 
|         public object AddBill1([FromBody] JObject oMain) | 
|         { | 
|             var _value = oMain["oMain"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString();//模块权限 | 
|             string msg4 = sArray[2].ToString();//当前人 | 
|             string msg5 = sArray[3].ToString();//子表数据 | 
|             string msg6 = sArray[4].ToString();//子表2数据 | 
|             string msg7 = sArray[5].ToString();//子表3数据 | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log(msg3, 1, false, msg4)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有查看权限"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 DAL.ClsGy_MouldFile oMould = new DAL.ClsGy_MouldFile(); | 
|                 DAL.ClsGy_MouldFileMain_View oDeptHlp = new DAL.ClsGy_MouldFileMain_View(); | 
|   | 
|   | 
|                 //反序列化 | 
|                 msg2 = "[" + msg2.ToString() + "]"; | 
|                 List<Gy_Mould> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_Mould>>(msg2); | 
|   | 
|                 long HInterID = mainList[0].HInterID;//递入type得到的单据ID | 
|                 string HBillNo = mainList[0].HBillNo;//递入type得到的单据号 | 
|                 DateTime HDate = mainList[0].HDate;//日期 | 
|                 int HYear = DBUtility.ClsPub.isInt(DateTime.Now.Year); | 
|                 double HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); | 
|                 string HMouldNo = mainList[0].HMouldNo; | 
|                 string HBarCode = mainList[0].HBarCode; | 
|                 string HName = mainList[0].HName; | 
|                 string HModel = mainList[0].HModel; | 
|                 string HModel2 = mainList[0].HModel2; | 
|                 string HDiameter = mainList[0].HDiameter; | 
|                 string HSubjoin = mainList[0].HSubjoin; | 
|                 string HSubjoin2 = mainList[0].HSubjoin2; | 
|                 string HPICNo = mainList[0].HPICNo; | 
|                 string HWorkMaterModel = mainList[0].HWorkMaterModel; | 
|                 long HMaterID = mainList[0].HMaterID; | 
|                 long HMouleTypeID = mainList[0].HMouleTypeID; | 
|                 long HUnitID = mainList[0].HUnitID; | 
|                 DateTime HOutComDate = mainList[0].HOutComDate; | 
|                 string HOutComNo = mainList[0].HOutComNo; | 
|                 long HDeptID = mainList[0].HDeptID; | 
|                 long HSupID = mainList[0].HSupID; | 
|                 string HMouldStatus = mainList[0].HMouldStatus; | 
|                 long HWHID = mainList[0].HWHID; | 
|                 long HRoutingID = mainList[0].HRoutingID; | 
|                 long HBOMID = mainList[0].HBOMID; | 
|                 string HVersion = mainList[0].HVersion; | 
|                 long HSPGroupID = mainList[0].HSPGroupID; | 
|                 long HSPID = mainList[0].HSPID; | 
|                 Double HDesignLife = mainList[0].HDesignLife; | 
|                 Double HUseLife = mainList[0].HUseLife; | 
|                 Double HInitLife = mainList[0].HInitLife; | 
|                 Double HLeaveLife = mainList[0].HLeaveLife; | 
|                 Double HProdQty = mainList[0].HProdQty; | 
|                 Double HProdWeight = mainList[0].HProdWeight; | 
|                 string HRemark = mainList[0].HRemark; | 
|                 string HUpDater = mainList[0].HUpDater; | 
|                 string HMaterNumber = mainList[0].HMaterNumber; | 
|                 string HSupNumber = mainList[0].HSupNumber; | 
|                 long HPrintQty = mainList[0].HPrintQty; | 
|                 string HMouldOWNER = mainList[0].HMouldOWNER; | 
|                 string HSaveLife = mainList[0].HSaveLife; | 
|                 int HCaveQty = mainList[0].HCaveQty; | 
|                 int HMouldDotCheckRuleInterID = mainList[0].HMouldDotCheckRuleInterID; | 
|                 int HMouldMaintainRuleInterID = mainList[0].HMouldMaintainRuleInterID; | 
|                 int HNowSupID = mainList[0].HNowSupID; | 
|                 int HNowSupTypeID = mainList[0].HNowSupTypeID; | 
|                 int HMadeSupID = mainList[0].HMadeSupID; | 
|                 string HMouldClass = mainList[0].HMouldClass; | 
|                 int HNowWHID = mainList[0].HNowWHID; | 
|                 int HNowSPID = mainList[0].HNowSPID; | 
|                 string HMouldUseStatus = mainList[0].HMouldUseStatus; | 
|                 //若MAINDI重复则重新获取 | 
|                 oCN.BeginTran(); | 
|                 //主表 | 
|                 oCN.RunProc("UpDate Gy_MouldFileMain set  " + | 
|                 " HBillNo='" + HBillNo + "'" +  //固定赋值=============== | 
|                 ",HDate='" + HDate + "'" + | 
|                 ",HYear='" + HYear.ToString() + "'" + | 
|                 ",HPeriod='" + HPeriod.ToString() + "'" + | 
|                 ",HRemark='" + HRemark + "'" + | 
|                 ",HUpDater='" + HUpDater + "'" + | 
|                 ",HUpDateDate=getdate()" + | 
|                 //======================================== | 
|                 ",HMouldNo='" + HMouldNo + "'" + | 
|                 ",HName='" + HName + "'" + | 
|                 ",HModel='" + HModel + "'" + | 
|                 ",HModel2='" + HModel2 + "'" + | 
|                 ",HDiameter='" + HDiameter + "'" + | 
|                 ",HSubjoin='" + HSubjoin + "'" + | 
|                 ",HSubjoin2='" + HSubjoin2 + "'" + | 
|                 ",HPICNo='" + HPICNo + "'" + | 
|                 ",HWorkMaterModel='" + HWorkMaterModel + "'" + | 
|                 ",HMaterID=" + HMaterID.ToString() + | 
|                 ",HMaterNumber='" + HMaterNumber + "'" + | 
|                 ",HMouldClass='" + HMouldClass + "'" + | 
|                 ",HMouldType=" + HMouleTypeID.ToString() + | 
|                 ",HUnitID=" + HUnitID.ToString() + | 
|                 ",HOutComDate='" + HOutComDate + "'" + | 
|                 ",HOutComNo='" + HOutComNo + "'" + | 
|                 ",HDeptID=" + HDeptID.ToString() + | 
|                 ",HSupID=" + HSupID.ToString() + | 
|                 ",HSupNumber='" + HSupNumber + "'" + | 
|                 ",HPrintQty=" + HPrintQty.ToString() + | 
|                 ",HMouldStatus='" + HMouldStatus + "'" + | 
|                 ",HSaveLife='" + HSaveLife + "'" + | 
|                 ",HWhID=" + HWHID.ToString() + | 
|                 ",HRoutingID=" + HRoutingID.ToString() + | 
|                 ",HBomID=" + HBOMID.ToString() + | 
|                 ",HVersion='" + HVersion + "'" + | 
|                 ",HSPGroupID=" + HSPGroupID.ToString() + | 
|                 ",HSPID=" + HSPID.ToString() + | 
|                 ",HDesignLife=" + HDesignLife.ToString() + | 
|                 ",HCaveQty=" + HCaveQty.ToString() + | 
|                 ",HUseLife=" + HUseLife.ToString() + | 
|                 ",HLeaveLife=" + HLeaveLife.ToString() + | 
|                 ",HProdQty=" + HProdQty.ToString() + | 
|                 ",HMouldDotCheckRuleInterID=" + HMouldDotCheckRuleInterID.ToString() + | 
|                 ",HMouldMaintainRuleInterID=" + HMouldMaintainRuleInterID.ToString() + | 
|                 ",HMouldOWNER='" + HMouldOWNER + "'" + | 
|                 ",HNowSupID=" + HNowSupID.ToString() + | 
|                 ",HNowSupTypeID=" + HNowSupTypeID.ToString() + | 
|                 ",HProdWeight=" + HProdWeight.ToString() + | 
|                 ",HBarCode='" + HBarCode.ToString() + "'" + | 
|                 ",HMadeSupID=" + HMadeSupID + | 
|                 ",HNowWHID=" + HNowWHID + | 
|                 ",HNowSPID=" + HNowSPID + | 
|                 ",HInitLife='" + HInitLife + | 
|                 "',HMouldUseStatus='" + HMouldUseStatus + | 
|                 "' where HInterID=" + HInterID.ToString()); | 
|   | 
|                 //修改子项目代码 | 
|                 //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_Department,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 //将上级 为非末级 | 
|                 // oCN.RunProc("Update Gy_Department set HEndflag=0 where HItemID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|   | 
|                 oCN.RunProc("delete from Gy_MouldFileSub_SubMater where HInterID='" + HInterID + "'"); | 
|                 oCN.RunProc("delete from Gy_MouldFileSub_MaintainRule where HInterID='" + HInterID + "'"); | 
|                 oCN.RunProc("delete from Gy_MouldFileSub_DotCheckRule where HInterID='" + HInterID + "'"); | 
|                 objJsonResult = AddBillSub(msg5, msg6, msg7, HInterID, HBillNo); | 
|   | 
|                 oCN.Commit(); | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "修改单据成功!"; | 
|                 //objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.Message; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         public json AddBillSub(string msg5, string msg6, string msg7, long HInterID, string HBillNo) | 
|         { | 
|             List<Gy_MouldFileSub_SubMater> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_MouldFileSub_SubMater>>(msg5); | 
|             List<ClsGy_MouldFileBillSub_MaintainRule> MaintainRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_MouldFileBillSub_MaintainRule>>(msg6); | 
|   | 
|             List<ClsGy_MouldFileBillSub_DotCheckRule> DotCheckRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_MouldFileBillSub_DotCheckRule>>(msg7); | 
|             int i = 0;                                          //作为子表内码 | 
|             foreach (Gy_MouldFileSub_SubMater oSub in DetailColl) | 
|             { | 
|                 i++;                                            //同一个主表下的子表的内码自增 | 
|   | 
|                 int HEntryID = i; | 
|                 string HRemark = oSub.HRemark; | 
|                 int HMouldFileID = oSub.HMouldFileID; | 
|                 DateTime HUnionDate = oSub.HUnionDate; | 
|                              | 
|                 string sql = "insert into Gy_MouldFileSub_SubMater" + | 
|                     "(HInterID,HBillNo_bak,HEntryID,HRemark,HMouldFileID,HUnionDate) " + | 
|                     "values(" + | 
|                     "" + HInterID + | 
|                     ",'" + HBillNo + | 
|                     "'," + HEntryID + | 
|                     ",'" + HRemark + | 
|                     "','" + HMouldFileID + | 
|                     "','" + HUnionDate +                    | 
|                     "')"; | 
|   | 
|                 oCN.RunProc(sql); | 
|             } | 
|             i = 0; | 
|             //保存保养规格 | 
|             foreach (ClsGy_MouldFileBillSub_MaintainRule oSub in MaintainRuleColl) | 
|             { | 
|                 i++; | 
|                 Int64 NewHEntryID = i; | 
|                 Int64 newHFlag = 1; | 
|                 if (oSub.HStdFlag == true) | 
|                 { | 
|                     newHFlag = 1; | 
|                 } | 
|                 else | 
|                 { | 
|                     newHFlag = 0; | 
|                 } | 
|                 oCN.RunProc($@"Insert into Gy_MouldFileSub_MaintainRule  | 
|                 (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney, | 
|                  HMaintainRuleID,HStdFlag | 
|                 )  | 
|                  values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney} | 
|                 ,{oSub.HMaintainRuleID},{newHFlag})"); | 
|             } | 
|             i = 0; | 
|             //保存点检规程 | 
|             foreach (ClsGy_MouldFileBillSub_DotCheckRule oSub in DotCheckRuleColl) | 
|             { | 
|                 i++; | 
|                 Int64 NewHEntryID = i; | 
|                 Int64 newHFlag = 1; | 
|                 if (oSub.HStdFlag == true) | 
|                 { | 
|                     newHFlag = 1; | 
|                 } | 
|                 else | 
|                 { | 
|                     newHFlag = 0; | 
|                 } | 
|                 oCN.RunProc($@"Insert into Gy_MouldFileSub_DotCheckRule  | 
|                 (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney, | 
|                  HDotCheckRuleID,HStdFlag | 
|                 )  | 
|                  values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney} | 
|                 ,{oSub.HDotCheckRuleID},{newHFlag})"); | 
|             } | 
|   | 
|             objJsonResult.code = "1"; | 
|             objJsonResult.count = 1; | 
|             objJsonResult.Message = null; | 
|             objJsonResult.data = null; | 
|             return objJsonResult; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 磨具档案修改按钮方法-计算下次保养/校正日期-获取档案最近一次的保养记录 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Mould_Edit/calculateHNextMainDate")] | 
|         [HttpGet] | 
|         public object calculateHNextMainDate(long HInterID) | 
|         { | 
|             try | 
|             { | 
|                 string sql = @"select top(1) a.HInterID, b.HEndDate 保养记录结束日期 | 
|                             from Gy_MouldFileMain AS a LEFT OUTER JOIN | 
|                             Sc_MouldMaintainBillMain AS b on a.HInterID = b.HMouldID | 
|                             where a.HInterID = " + HInterID + | 
|                             " order by b.HEndDate desc"; | 
|   | 
|                 ds = oCN.RunProcReturn(sql, "Sc_MouldMaintainBillMain"); | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = ""; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 磨具档案修改按钮方法 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Mould_Edit/xg")] | 
|         [HttpGet] | 
|         public object xg(long HInterID) | 
|         { | 
|             try | 
|             { | 
|                 ds = oCN.RunProcReturn("select * from h_v_Gy_MouldFile_Edit where hmainid=" + HInterID, "h_v_Gy_MouldFile_Edit"); | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = ""; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 模具档案删除按钮 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Mould_Edit/Delete_Json")] | 
|         [HttpGet] | 
|         public object Delete_Json(long hmainid, string ModRightNameDelete, string user) | 
|         { | 
|             DAL.ClsGy_MouldFile oBill = new DAL.ClsGy_MouldFile(); | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有删除权限"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (oBill.DeleteBill(hmainid, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                 { | 
|                     oCN.RunProc("Delete From Gy_MouldFileSub_MaintainRule  where HInterID=" + hmainid); | 
|                     oCN.RunProc("Delete From Gy_MouldFileSub_DotCheckRule  where HInterID=" + hmainid); | 
|                     //写入日志 | 
|                     ClsPub.Add_Log("", "删除项目,代码:" + oBill.omodel.HMouldNo + ",名称:" + oBill.omodel.HName, ClsPub.CurUserName); | 
|                     //更新上级为 末级 | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "删除成功"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "删除失败"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //ds = oCN.RunProcReturn("delete from Gy_Department where HItemID =  " + HItemID, "Gy_Department"); | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|             } | 
|             return objJsonResult; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 模具档案初始化按钮 | 
|         /// </summary> | 
|         /// <param name="hmainid"></param> | 
|         /// <param name="user"></param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Material/InitializeProdInBill")] | 
|         [HttpGet] | 
|         public object InitializeProdInBill(long hmainid, string user, string userID) | 
|         { | 
|             DAL.ClsGy_MouldFile oBill = new DAL.ClsGy_MouldFile(); | 
|             try | 
|             { | 
|                 string HBillNo = ""; | 
|                 Int64 HInterID = 0;//显示的字段 | 
|                 ds = oCN.RunProcReturn("select * from Gy_MouldFileMain where HInterID='" + hmainid + "'", "Gy_MouldFileMain"); | 
|                 DataRow dr = ds.Tables[0].Rows[0]; | 
|                 HInterID = DBUtility.ClsPub.CreateBillID("3801", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 HBillNo = DBUtility.ClsPub.CreateBillCode("3801", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|                 string sql = "Insert Into Sc_MouldStockBillMain   " + | 
|                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + | 
|                 ",HMaker,HMakeDate" + /*"HYear, HPeriod,"*/ | 
|                 ",HSupID,HSupTypeID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + | 
|                 ",HKeeperID,HDeptID,HInnerBillNo,HRedBlueFlag" + | 
|                 ") " + | 
|                 " values('3801','3801'," + HInterID + ",'" + HBillNo + "',getdate()" + | 
|                 ", '" + user + "',getdate()" + | 
|                 ", " + dr["HSupID"].ToString() + ", 1," + dr["HWhID"].ToString() + ",0,0,0,0" + | 
|                 ", 0," + dr["HDeptID"].ToString() + ",' ',0" + | 
|   | 
|                 ") "; | 
|                 string sql1 = string.Format(@"Insert Into Sc_MouldStockBillSub   (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark,HSourceInterID, | 
|                 HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HMaterID,HPropertyID,HSecUnitRate,HSecUnitID,HUnitID, | 
|                 HBatchNo,HQtyMust,HQty,HPrice,HMoney,HDesignLife,HLeaveLife,HUseLife,HWHID,HSCWHID,HSPID,HSCSPID,HSPGroupID,HCorrespondentTypeID,HCorrespondentID, | 
|                 HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID) values(" + HInterID + ",1,'',getdate(),0,'',0,0,'',''," + | 
|                 "0,0," + dr["HInterID"].ToString() + ",0,0,0," + dr["HUnitID"].ToString() + ",0," + dr["HProdQty"].ToString() + "," + dr["HProdQty"].ToString() + ",0," + | 
|                 "0," + dr["HDesignLife"].ToString() + "," + dr["HLeaveLife"].ToString() + "," + dr["HUseLife"].ToString() + "," + dr["HWHID"].ToString() + ",0," + dr["HSPID"].ToString() + ",0,0" | 
|                 + ",0,0," + userID + ",0,0,'')"); | 
|                 //主表 | 
|                 oCN.RunProc(sql); | 
|                 oCN.RunProc(sql1); | 
|   | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "初始化成功,单据号为" + HBillNo; | 
|                 //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|   | 
|             } | 
|             catch (Exception) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "初始化失败!"; | 
|                 objJsonResult.data = null; | 
|             } | 
|             return objJsonResult; | 
|   | 
|         } | 
|   | 
|         #region [同步基础资料] | 
|         [Route("Gy_Material/Gy_MaterialViewApi")] | 
|         [HttpGet] | 
|         public json Gy_MaterialViewApi(string Number, string Type) | 
|         { | 
|             string sql = string.Empty; | 
|             string sReturn = ""; | 
|             if (oSystemParameter.ShowBill(ref sReturn) == true) | 
|             { | 
|                 //系统参数是否为私有云模式,N为公有云模式,Y为私有云模式 | 
|                 if (oSystemParameter.omodel.WMS_CloudMode == "Y") | 
|                 { | 
|                     #region [私有云模式,直接调用数据库存储过程更新] | 
|                     try | 
|                     { | 
|                         oCN.BeginTran(); | 
|                         SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|                         DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal"); | 
|                         if (DS == null) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "基础资料同步失败"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2") | 
|                             { | 
|                                 objJsonResult.code = "0"; | 
|                                 objJsonResult.count = 0; | 
|                                 objJsonResult.Message = "ERP中不存在该代码"; | 
|                                 objJsonResult.data = null; | 
|                                 return objJsonResult; | 
|                             } | 
|                             else | 
|                             { | 
|                                 objJsonResult.code = "1"; | 
|                                 objJsonResult.count = 1; | 
|                                 objJsonResult.Message = "基础资料同步成功"; | 
|                                 objJsonResult.data = null; | 
|                                 return objJsonResult; | 
|                             } | 
|                         } | 
|   | 
|                     } | 
|                     catch (Exception e) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "Exception!" + e.ToString(); | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     #endregion | 
|                 } | 
|                 else | 
|                 { | 
|                     #region [公有云模式,调用WEBAPI的方式进行更新] | 
|                     var json = new | 
|                     { | 
|                         CreateOrgId = 0, | 
|                         Number = Number, | 
|                         Id = "" | 
|                     }; | 
|                     #region [金蝶部分] | 
|                     //登录金蝶 | 
|                     var loginRet = InvokeHelper.Login(); | 
|                     var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); | 
|                     //判断是否登录成功 | 
|                     if (isSuccess < 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = loginRet; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //查看 获取数据                     | 
|                     var _result = InvokeHelper.View("BD_MATERIAL", JsonConvert.SerializeObject(json)); | 
|                     var _saveObj = JObject.Parse(_result); | 
|                     //判断数据是否获取成功 | 
|                     if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "金蝶物料同步失败jsonRoot:" + _result; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     #endregion | 
|                     //获取数据 | 
|                     DataSet Ds; | 
|                     Ds = oCN.RunProcReturn("select * from Gy_Material where HNumber = '" + Number + "'", "Gy_Material"); | 
|                     if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0) | 
|                     { | 
|                         | 
|                     } | 
|   | 
|                     #region [表数据赋值] | 
|                     var jsonData = new | 
|                     { | 
|                         HItemID = _saveObj["Result"]["Result"]["Id"], | 
|                         HERPItemID = _saveObj["Result"]["Result"]["Id"], | 
|                         HNumber      = _saveObj["Result"]["Result"]["Number"], | 
|                         HName        = _saveObj["Result"]["Result"]["Name"][1]["Value"], | 
|                         HModel       = _saveObj["Result"]["Result"]["Specification"][0]["Value"], | 
|                         HShortNumber = _saveObj["Result"]["Result"]["Number"], | 
|                         HParentID    = 0, | 
|                         HLevel       = 1, | 
|                         HEndFlag     = 1, | 
|                         HStopflag    = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1 , | 
|                         HRemark      = "CLD-ERP导入", | 
|                         HMaterClsID  = _saveObj["Result"]["Result"]["MaterialBase"][0]["ErpClsID"], | 
|                         HUnitID      = _saveObj["Result"]["Result"]["MaterialBase"][0]["BaseUnitId_Id"], | 
|                         HUnitGroupID       = 0, | 
|                         HLength         = _saveObj["Result"]["Result"]["MaterialBase"][0]["LENGTH"], | 
|                         HWidth          = _saveObj["Result"]["Result"]["MaterialBase"][0]["WIDTH"], | 
|                         HHeight         = _saveObj["Result"]["Result"]["MaterialBase"][0]["HEIGHT"], | 
|                         HJQty           = _saveObj["Result"]["Result"]["MaterialBase"][0]["NETWEIGHT"], | 
|                         HMQty           = _saveObj["Result"]["Result"]["MaterialBase"][0]["GROSSWEIGHT"], | 
|                         HOldMaterNumber = _saveObj["Result"]["Result"]["OldNumber"], | 
|                         HWHID           = 0, | 
|                         HSPID           = _saveObj["Result"]["Result"]["MaterialStock"][0]["StockPlaceId_Id"], | 
|                         HPlanMode       = _saveObj["Result"]["Result"]["MaterialPlan"][0]["PlanMode"], | 
|                         HUseFlag        = "未检验", | 
|                         HMakeTime       = _saveObj["Result"]["Result"]["CreateDate"], | 
|                         HMinPickQty     = 0, | 
|                         HCREATEORGID    = _saveObj["Result"]["Result"]["CreateOrgId_Id"], | 
|                         HUSEORGID       = _saveObj["Result"]["Result"]["UseOrgId_Id"], | 
|                         HBatchManager   = _saveObj["Result"]["Result"]["MaterialStock"][0]["IsBatchManage"].ToString() == "false" ? 0 : 1, | 
|                         HCHECKINCOMING  = _saveObj["Result"]["Result"]["MaterialQM"][0]["CheckIncoming"].ToString() == "false" ? 0 : 1, | 
|                         HAuxPropFlag    = _saveObj["Result"]["Result"]["MaterialAuxPty"][0]["IsEnable1"].ToString() == "false" ? 0 : 1, | 
|                         HISKFPERIOD     = _saveObj["Result"]["Result"]["MaterialStock"][0]["IsKFPeriod"].ToString() == "false" ? 0 : 1, | 
|                         HAuxUnitID      = _saveObj["Result"]["Result"]["MaterialStock"][0]["AuxUnitID_Id"], | 
|                         HSNUnitID       = _saveObj["Result"]["Result"]["MaterialStock"][0]["SNUnit_Id"], | 
|                         HBASEUNITID     = _saveObj["Result"]["Result"]["MaterialBase"][0]["BaseUnitId_Id"], | 
|                         HSALEUNITID        = _saveObj["Result"]["Result"]["MaterialSale"][0]["SaleUnitId_Id"], | 
|                         HSALEPRICEUNITID   = _saveObj["Result"]["Result"]["MaterialSale"][0]["SalePriceUnitId_Id"], | 
|                         HPERUNITSTANDHOUR = _saveObj["Result"]["Result"]["MaterialProduce"][0]["PerUnitStandHour"], | 
|                         HSTDLABORPREPARETIME = _saveObj["Result"]["Result"]["MaterialProduce"][0]["StdLaborPrePareTime"], | 
|                         HSTDMACHINEPREPARETIME = _saveObj["Result"]["Result"]["MaterialProduce"][0]["StdMachinePrepareTime"]                        | 
|                     }; | 
|                     #endregion | 
|                     // 删除主表对应数据 | 
|                     sql = $"delete from Gy_Material where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'"; | 
|                     oCN.RunProc(sql); | 
|   | 
|                     sql = "set identity_insert Gy_Material on"; | 
|                     oCN.RunProc(sql); | 
|   | 
|                     //插入表 | 
|                     sql = $@" | 
|                 insert into Gy_Material | 
|                 (HItemID,HERPItemID,HNumber,HName,HModel,HShortNumber,HParentID | 
|                 ,HLevel,HEndFlag,HStopflag,HRemark,HMaterClsID,HUnitID,HUnitGroupID | 
|                 ,HLength,HWidth,HHeight,HJQty,HMQty,HOldMaterNumber | 
|                 ,HWHID,HSPID,HPlanMode,HUseFlag,HMakeTime,HMinPickQty | 
|                 ,HCREATEORGID,HUSEORGID,HBatchManager,HCHECKINCOMING | 
|                 ,HAuxPropFlag,HISKFPERIOD | 
|                 ,HAuxUnitID,HSNUnitID,HBASEUNITID,HSALEUNITID,HSALEPRICEUNITID | 
|                 ,HPERUNITSTANDHOUR,HSTDLABORPREPARETIME,HSTDMACHINEPREPARETIME | 
|                  ) | 
|                 values | 
|                 ({jsonData.HItemID},{jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}','{jsonData.HModel}', | 
|                 '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}',{jsonData.HMaterClsID},{jsonData.HUnitID},{jsonData.HUnitGroupID},{jsonData.HLength},{jsonData.HWidth},{jsonData.HHeight},{jsonData.HJQty},{jsonData.HMQty},'{jsonData.HOldMaterNumber}',{jsonData.HWHID},{jsonData.HSPID},'{jsonData.HPlanMode}','{jsonData.HUseFlag}','{jsonData.HMakeTime}',{jsonData.HMinPickQty},{jsonData.HCREATEORGID},{jsonData.HUSEORGID},'{jsonData.HBatchManager}',{jsonData.HCHECKINCOMING},{jsonData.HAuxPropFlag},{jsonData.HISKFPERIOD},{jsonData.HAuxUnitID},{jsonData.HSNUnitID},{jsonData.HBASEUNITID},{jsonData.HSALEUNITID},{jsonData.HSALEPRICEUNITID},{jsonData.HPERUNITSTANDHOUR},'{jsonData.HSTDLABORPREPARETIME}','{jsonData.HSTDMACHINEPREPARETIME}')"; | 
|   | 
|                     oCN.RunProc(sql); | 
|   | 
|                     sql = "set identity_insert Gy_Material off"; | 
|                     oCN.RunProc(sql); | 
|   | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "物料同步成功!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|   | 
|                     #endregion | 
|                 } | 
|             } | 
|             else | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "基础资料读取失败!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region [模具档案审核、反审核] | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="HInterID">单据ID</param> | 
|         /// <param name="IsAudit">审核(0),反审核(1)</param> | 
|         /// <param name="CurUserName">审核人</param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Mould/AuditProcessReportList")] | 
|         [HttpGet] | 
|         public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName) | 
|         { | 
|             string ModRightNameCheck = "Gy_MouldFile_Check"; | 
|             DBUtility.ClsPub.CurUserName = CurUserName; | 
|             try | 
|             { | 
|                 //审核权限 | 
|                 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "审核失败!无权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (HInterID <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID小于0!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 Int64 lngBillKey = 0; | 
|                 lngBillKey = DBUtility.ClsPub.isLong(HInterID); | 
|                 DAL.ClsGy_MouldFile oBill = new DAL.ClsGy_MouldFile(); | 
|                 //查看是否已审核,关闭,作废 | 
|                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                 { | 
|                     if (oBill.omodel.HCloseMan.Trim() != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据已关闭!不能再次审核!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (oBill.omodel.HDeleteMan.Trim() != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据已作废!不能再次审核!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (IsAudit == 0)  //审核判断 | 
|                     { | 
|                         if (oBill.omodel.HChecker.Trim() != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据已审核!不能再次审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     if (IsAudit == 1) //反审核判断 | 
|                     { | 
|                         if (oBill.omodel.HChecker.Trim() == "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据未审核!不需要反审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (IsAudit == 0) //审核提交 | 
|                 { | 
|                     //审核提交 | 
|                     if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
|                     { | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "审核成功"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 if (IsAudit == 1) //反审核提交 | 
|                 { | 
|                     //反审核提交AbandonCheck | 
|                     if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
|                     { | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "反审核成功"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region [模具档案批量生成] | 
|         [Route("Gy_Mould/SaveBatchGen_MouldFile")] | 
|         [HttpGet] | 
|         public object SaveBatchGen_MouldFile(long HInterID, string StarNum, string EndNum) | 
|         { | 
|             int StarNum1 = int.Parse(StarNum); | 
|             int EndNum1 = int.Parse(EndNum); | 
|             string j; | 
|             List<object> list = new List<object>(); | 
|             try | 
|             { | 
|                 DataSet ds = new DataSet(); | 
|                 ds = oCN.RunProcReturn("select * from Gy_MouldFileMain where HInterID=" + HInterID, "Gy_MouldFileMain"); | 
|                 DataRow dr = ds.Tables[0].Rows[0]; | 
|                 string Num = dr["HBarCode"].ToString(); | 
|                 string Num1 = Num.Substring(0, (Num.Length) - 5); | 
|                 oCN.BeginTran(); | 
|                 for (int i = StarNum1; i <= EndNum1; i++) | 
|                 { | 
|                     if (i < 10) | 
|                     { | 
|                         j = "0000" + i; | 
|                     } | 
|                     else if (i < 100) | 
|                     { | 
|                         j = "000" + i; | 
|                     } | 
|                     else if (i < 1000) | 
|                     { | 
|                         j = "00" + i; | 
|                     } | 
|                     else if (i < 10000) | 
|                     { | 
|                         j = "0" + i; | 
|                     } | 
|                     else | 
|                     { | 
|                         j = "" + i; | 
|                     } | 
|                     DataSet ds1 = oCN.RunProcReturn("select * from Gy_MouldFileMain where hbillno='" + (Num1 + j) + "'", "Gy_MouldFileMain"); | 
|                     if (ds1.Tables[0].Rows.Count == 0 || ds1 == null) | 
|                     { | 
|                         long HItemID = DBUtility.ClsPub.CreateBillID("3899", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                         //string HBillNo = DBUtility.ClsPub.CreateBillCode("3899", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|                         string sql = string.Format(@"Insert Into Gy_MouldFileMain   " + | 
|                         "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + | 
|                         ",HYear,HPeriod,HRemark,HMaker,HMakeDate,HBarCode" + | 
|                         ",HMouldNo,HName,HModel,HModel2,HDiameter" + | 
|                         ",HSubjoin,HSubjoin2,HPICNo,HWorkMaterModel" + | 
|                         ",HMaterID,HMaterNumber,HMouldType,HUnitID" + | 
|                         ",HOutComDate,HOutComNo,HDeptID,HSupID,HSupNumber" + | 
|                         ",HPrintQty,HMouldStatus,HWhID,HRoutingID,HCaveQty" + | 
|                         ",HBomID,HVersion,HSPGroupID,HSPID,HDesignLife,HNowSupID,HNowSupTypeID" + | 
|                         ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife,HMouldDotCheckRuleInterID,HMouldMaintainRuleInterID" + | 
|                         ") " + | 
|                         " values('3899','3899'," + HItemID + ",'" + Num1 + j + "',getdate()" + | 
|                         "," + dr["HYear"] + "," + dr["HPeriod"] + ",'" + dr["HRemark"] + "','" + dr["HMaker"] + "',getdate(),'" + Num1 + j + | 
|                         "','" + Num1 + j + "','" + dr["HName"] + "','" + dr["HModel"] + "','" + dr["HModel2"] + "','" + dr["HDiameter"] + "'" + | 
|                         ",'" + dr["HSubjoin"] + "','" + dr["HSubjoin2"] + "','" + dr["HPICNo"] + "','" + dr["HWorkMaterModel"] + "'" + | 
|                         "," + dr["HMaterID"] + ",'" + dr["HMaterNumber"] + "',0," + dr["HUnitID"] + | 
|                         ",'" + dr["HOutComDate"] + "','" + dr["HOutComNo"] + "'," + dr["HDeptID"] + "," + dr["HSupID"] + ",'" + dr["HSupNumber"] + "'" + | 
|                         "," + dr["HPrintQty"] + ",'" + dr["HMouldStatus"] + "'," + dr["HWHID"] + "," + dr["HRoutingID"] + ",'" + dr["HCaveQty"] + | 
|                         "'," + dr["HBOMID"] + ",'" + dr["HVersion"] + "'," + dr["HSPGroupID"] + "," + dr["HSPID"] + ",'" + dr["HDesignLife"] + "','" + dr["HNowSupID"] + "','" + dr["HNowSupTypeID"] + "'" + | 
|                         ",'" + dr["HUseLife"] + "','" + dr["HLeaveLife"] + "','" + dr["HProdQty"] + "','" + dr["HProdWeight"] + "','" + dr["HMouldOWNER"] + "','" + dr["HSaveLife"] + "','" + dr["HMouldDotCheckRuleInterID"] + "','" + dr["HMouldMaintainRuleInterID"] + "'" + | 
|                         ") "); | 
|                         oCN.RunProc(sql); | 
|   | 
|                         //子表 | 
|                         oCN.RunProc("Insert into Gy_MouldFileSub " + | 
|                             " (HInterID,HEntryID,HRemark" + | 
|                             ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
|                             ") " + | 
|                         " values('" + HItemID + "',0,''" + | 
|                         ",0,0,'','',0,0 " + | 
|                         ") "); | 
|                     } | 
|                     else | 
|                     { | 
|                         list.Add(ds1.Tables[0].Rows[0]["HBillNo"].ToString()); | 
|                     } | 
|                 } | 
|                 oCN.Commit(); | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "批量生成成功!"; | 
|                 objJsonResult.list = list; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "批量生成失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         public void cs(string msg) | 
|         { | 
|             var client = new RestSharp.RestClient("http://47.96.97.237/api/"); | 
|             var requestPost = new RestRequest("Gy_Material/SaveGy_MaterialList", Method.POST); | 
|             Info info = new Info(); | 
|             info.msg = msg; | 
|             var json = JsonConvert.SerializeObject(info); | 
|             requestPost.AddParameter("application/json", json, ParameterType.RequestBody); | 
|             IRestResponse responsePost = client.Execute(requestPost); | 
|             var contentPost = responsePost.Content; | 
|             Console.WriteLine("POST方式获取结果:" + contentPost); | 
|             Console.Read(); | 
|         } | 
|   | 
|         public class Info | 
|         { | 
|             public string msg { get; set; }   //末级标志 | 
|   | 
|         } | 
|         #region  物料文件上传处理 | 
|         [Route("Gy_Mater/UploadFile")] | 
|         [HttpPost] | 
|         public object UploadFile() | 
|         { | 
|   | 
|             string HNumber = HttpContext.Current.Request.Params["HNumber"];  //物料代码 | 
|             string HRemark = HttpContext.Current.Request.Params["HRemark"];  //备注 | 
|             string HUserName = HttpContext.Current.Request.Params["HUserName"];  //创建人 | 
|             HttpPostedFile files = HttpContext.Current.Request.Files["file"]; | 
|             string path = HttpContext.Current.Server.MapPath("~/../Files/Material/" + HNumber); | 
|             //string path = @"D:\\Files\Material\\"+ HBillNo; | 
|             dynamic dyResult = UpLoadFile(files, path, HNumber, HRemark, HUserName); | 
|             if (dyResult != null && dyResult.result == 1) | 
|             { | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "上传成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             else | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = dyResult.returnval; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|   | 
|         } | 
|   | 
|         public dynamic UpLoadFile(HttpPostedFile files, string path, string HNumber, string HRemark, string HUserName) | 
|         { | 
|             dynamic Result_Ob = new { result = 1, returnval = "上传成功!" }; | 
|             string filePath = Path.GetFullPath(files.FileName);//文件上传路径 | 
|             string fileExtension = Path.GetExtension(files.FileName);// 文件扩展名 | 
|             string filename = files.FileName;//文件名 | 
|             string fileSavePath = path;// 上传保存路径 | 
|             int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte | 
|             int Maxsize = 40000 * 1024;//定义上传文件的最大空间大小为40M | 
|             try | 
|             { | 
|                 if (files == null || files.ContentLength <= 0) | 
|                 { | 
|                     Result_Ob = new { result = 0, returnval = "文件不能为空!" }; | 
|                     return Result_Ob; | 
|                 } | 
|                 if (filesize >= Maxsize) | 
|                 { | 
|                     Result_Ob = new { result = 0, returnval = "上传文件超过40M,不能上传!" }; | 
|                     return Result_Ob; | 
|                 } | 
|   | 
|                 string fileurl = Path.Combine(fileSavePath, filename); | 
|                 if (Directory.Exists(fileurl) == true)  //如果存在重名文件就提示   | 
|                 { | 
|                     Result_Ob = new { result = 0, returnval = "存在同名文件!" }; | 
|                     return Result_Ob; | 
|                 } | 
|                 //删除数据表数据 | 
|                 ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HNumber + "' and HFileName='" + filename + "'", "MES_AccessoriesList"); | 
|                 if (Directory.Exists(path)) | 
|                 { | 
|                     File.Delete(fileurl);      //删除指定文件 | 
|                     files.SaveAs(fileurl); | 
|                     string StrPath = "/files/Material/" + HNumber + "/" + filename; | 
|                     if (File.Exists(fileurl)) | 
|                     { | 
|                         //这里可以执行一些其它的操作,比如更新数据库 | 
|                         //写入数据表 | 
|                         oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" + | 
|                                     ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" + | 
|                                     ",HFileClsID,HSourceBillNo" + | 
|                                    ") values('" | 
|                                     + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + | 
|                                     ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize + | 
|                                     "','" + 0 + "','" + HNumber + | 
|                                    "') "); | 
|                     } | 
|                     else | 
|                     { | 
|                         Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" }; | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     Directory.CreateDirectory(fileSavePath); //添加文件夹 | 
|                     files.SaveAs(fileurl); | 
|                     string StrPath = "/files/Material/" + HNumber + "/" + filename; | 
|                     if (File.Exists(fileurl)) | 
|                     { | 
|                         //这里可以执行一些其它的操作,比如更新数据库 | 
|                         //写入数据表 | 
|                         oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" + | 
|                                     ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" + | 
|                                     ",HFileClsID,HSourceBillNo" + | 
|                                    ") values('" | 
|                                     + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + | 
|                                     ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize + | 
|                                     "','" + 0 + "','" + HNumber + | 
|                                    "') "); | 
|                     } | 
|                     else | 
|                     { | 
|                         Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" }; | 
|                     } | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 Result_Ob = new { result = 0, returnval = e.Message }; | 
|             } | 
|             return Result_Ob; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 根据单据号查找上传文件列表 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Mater/Filelist")] | 
|         [HttpGet] | 
|         public object Filelist(string HNumber) | 
|         { | 
|             var url = fileip + "/files/Material/" + HNumber + "/"; | 
|             //@"C:\\files\\" | 
|             try | 
|             { | 
|                 ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HNumber + "'", "MES_AccessoriesList"); | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 根据ID,单据号,文件名 删除文件 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Mater/DeleteFilelist")] | 
|         [HttpGet] | 
|         public object DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName) | 
|         { | 
|             try | 
|             { | 
|   | 
|                 oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID); | 
|                 string fileurl = Path.Combine(HttpContext.Current.Server.MapPath("~/../Files/Material/" + HSourceBillNo), HFileName); | 
|                 File.Delete(fileurl);      //删除指定文件 | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "删除成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 器具档案 文件导入保存 | 
|         #region 器具档案 文件上传 | 
|         [Route("Gy_MouldFile/Gy_MouldFile_Excel")] | 
|         [HttpPost] | 
|         public object Gy_Mould_Excel() | 
|         { | 
|             try | 
|             { | 
|                 //获取文件名称 | 
|                 var file = HttpContext.Current.Request.Files[0]; | 
|                 //获取文件物理路径 | 
|                 string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName); | 
|                 //保存文件 | 
|                 file.SaveAs(ExcelPath); | 
|   | 
|                 NpoiHelper np = new NpoiHelper(); | 
|                 DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0"); | 
|   | 
|                 //删除文件 | 
|                 File.Delete(ExcelPath); | 
|   | 
|                 //创建临时表 | 
|                 DataTable tb2 = new DataTable("dt2"); | 
|   | 
|                 //添加列名 | 
|                 for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++) | 
|                 { | 
|                     tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString()); | 
|                 } | 
|   | 
|                 //模板缺少列 但需要从数据库中查询出来显示在页面的字段 | 
|                 tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID | 
|                 tb2.Columns.Add("HMaterID", typeof(Int32));//物料ID | 
|                 tb2.Columns.Add("HMouldTypeID", typeof(Int32));//分类ID | 
|                 tb2.Columns.Add("HUnitID", typeof(Int32));//单位ID | 
|                 tb2.Columns.Add("HDeptID", typeof(Int32));//部门ID | 
|                 tb2.Columns.Add("HWHID", typeof(Int32));//仓库ID | 
|                 tb2.Columns.Add("HSupID", typeof(Int32));//供应商ID | 
|                 tb2.Columns.Add("HSPID", typeof(Int32));//仓位ID | 
|                 tb2.Columns.Add("HMadeSupID", typeof(Int32));//制造商ID | 
|                 //添加数据 | 
|                 for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++) | 
|                 { | 
|                     DataRow row = tb2.NewRow(); | 
|                     for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++) | 
|                     { | 
|                         row[j] = ExcelDs.Tables[0].Rows[i][j].ToString(); | 
|                     } | 
|                     tb2.Rows.Add(row); | 
|                 } | 
|   | 
|   | 
|                 var error = ""; | 
|   | 
|                 //判断导入文件列是否完整 | 
|                 if (!tb2.Columns.Contains("组织代码")) | 
|                     error += "没有找到【组织代码】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("组织名称")) | 
|                     error += "没有找到【组织名称】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("器具名称")) | 
|                     error += "没有找到【器具名称】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("器具编号")) | 
|                     error += "没有找到【器具编号】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("器具分类")) | 
|                     error += "没有找到【器具分类】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("器具规格")) | 
|                     error += "没有找到【器具规格】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("器具型号")) | 
|                     error += "没有找到【器具型号】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("穴数")) | 
|                     error += "没有找到【穴数】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("辅助属性1")) | 
|                     error += "没有找到【辅助属性1】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("辅助属性2")) | 
|                     error += "没有找到【辅助属性2】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("图号")) | 
|                     error += "没有找到【图号】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("对应ERP物料代码")) | 
|                     error += "没有找到【对应ERP物料代码】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("对应ERP物料")) | 
|                     error += "没有找到【对应ERP物料】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("计量单位")) | 
|                     error += "没有找到【计量单位】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("器具出厂编号")) | 
|                     error += "没有找到【器具出厂编号】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("使用部门")) | 
|                     error += "没有找到【使用部门】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("状态")) | 
|                     error += "没有找到【状态】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("默认仓库")) | 
|                     error += "没有找到【默认仓库】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("默认仓位")) | 
|                     error += "没有找到【默认仓位】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("版本号")) | 
|                     error += "没有找到【版本号】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("设计寿命")) | 
|                     error += "没有找到【设计寿命】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("使用寿命")) | 
|                     error += "没有找到【使用寿命】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("条形码")) | 
|                     error += "没有找到【条形码】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("供应商代码")) | 
|                     error += "没有找到【供应商代码】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("供应商")) | 
|                     error += "没有找到【供应商】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("制造商")) | 
|                     error += "没有找到【制造商】的标题,"; | 
|   | 
|                 if (!tb2.Columns.Contains("备注")) | 
|                     error += "没有找到【备注】的标题,"; | 
|   | 
|   | 
|                 if (error.Length > 0) | 
|                 { | 
|                     objJsonResult.code = CodeConstant.FAIL; | 
|                     objJsonResult.count = CountConstant.FAIL; | 
|                     objJsonResult.Message = $"Excel模板存在错误,{error}\r\n"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 for (int i = 0; i <= tb2.Rows.Count - 1; i++) | 
|                 { | 
|                     string HMouldName = ""; | 
|                     string HMouldNum = ""; | 
|                     string HORGNumber = ""; | 
|                     string HORGName = ""; | 
|                     string HMaterNumber = ""; | 
|                     string HMaterName = ""; | 
|                     string HUnitName = ""; | 
|                     string HDeptName = ""; | 
|                     string HWHName = ""; | 
|                     string HSPName = ""; | 
|                     string HSupName = ""; | 
|                     string HSupNumber = ""; | 
|                     string HMadeSupName = ""; | 
|                     string HMouldTypeName = ""; | 
|   | 
|                     HMouldName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["器具名称"].ToString()); | 
|                     HMouldNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["器具编号"].ToString()); | 
|                     HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString()); | 
|                     HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString()); | 
|                     HMaterNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["对应ERP物料代码"].ToString()); | 
|                     HMaterName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["对应ERP物料"].ToString()); | 
|                     HUnitName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["计量单位"].ToString()); | 
|                     HDeptName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["使用部门"].ToString()); | 
|                     HWHName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["默认仓库"].ToString()); | 
|                     HSPName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["默认仓位"].ToString()); | 
|                     HSupName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["供应商"].ToString()); | 
|                     HSupNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["供应商代码"].ToString()); | 
|                     HMadeSupName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["制造商"].ToString()); | 
|                     HMouldTypeName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["器具分类"].ToString()); | 
|                     //检查物料 | 
|                     int index = i + 1; | 
|   | 
|                     if (HORGNumber != "") | 
|                     { | 
|   | 
|                         //查询组织 | 
|                         ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = CodeConstant.FAIL; | 
|                             objJsonResult.count = CountConstant.FAIL; | 
|                             objJsonResult.Message = "第" + index + "行,组织不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         //查询分类 | 
|                         ds = oCN.RunProcReturn("select * from Gy_MouldType where  HName='" + HMouldTypeName + "' ", "Gy_MouldType"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,分类:" + HMouldTypeName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HMouldTypeID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //查询物料 | 
|                         ds = oCN.RunProcReturn("select * from Gy_Material where  HNumber='" + HMaterNumber + "'  and HUSEORGID=" + HORGid + "", "Gy_Department"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0 && HMaterNumber != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,物料:" + HMaterName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else if (HMaterNumber == "") | 
|                         { | 
|                             tb2.Rows[i]["HMaterID"] = 0; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HMaterID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //查询单位 | 
|                         ds = oCN.RunProcReturn("select * from Gy_Unit where  HName='" + HUnitName + "'  and HUSEORGID=" + HORGid + "", "Gy_Unit"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,单位:" + HUnitName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HUnitID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //查询部门 | 
|                         ds = oCN.RunProcReturn("select * from Gy_Department where  HName='" + HDeptName + "'  and HUSEORGID=" + HORGid + "", "Gy_Department"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,部门:" + HDeptName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HDeptID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //查询仓库 | 
|                         ds = oCN.RunProcReturn("select * from Gy_Warehouse where  HName='" + HWHName + "'  and HUSEORGID=" + HORGid + "", "Gy_Warehouse"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,仓库:" + HWHName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HWHID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         string HWHID = tb2.Rows[i]["HWHID"].ToString(); | 
|                         //查询仓位 | 
|                         ds = oCN.RunProcReturn("select * from Gy_StockPlace where  HName='" + HSPName + "'and HSPGroupID=" + HWHID+ "  and HUSEORGID=" + HORGid + "", "Gy_Warehouse"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,仓位:" + HSPName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HSPID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //查询供应商 | 
|                         ds = oCN.RunProcReturn("select * from Gy_Supplier where  HNumber='" + HSupNumber + "'  and HUSEORGID=" + HORGid + "", "Gy_Supplier"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,供应商:" + HSupName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HSupID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|                         //查询制造商 | 
|                         ds = oCN.RunProcReturn("select * from Gy_Supplier where  HName='" + HMadeSupName + "'  and HUSEORGID=" + HORGid + "", "Gy_Supplier"); | 
|   | 
|                         if (ds.Tables[0].Rows.Count == 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,制造商:" + HMadeSupName + ",不存在!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             tb2.Rows[i]["HMadeSupID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|                         } | 
|   | 
|                         //器具档案名称 | 
|                         if (HMouldName == "") | 
|                         { | 
|                             objJsonResult.code = CodeConstant.FAIL; | 
|                             objJsonResult.count = CountConstant.FAIL; | 
|                             objJsonResult.Message = "第" + index + "行,器具档案名称不能为空!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|   | 
|                         //器具档案代码 | 
|                         if (HMouldNum == "") | 
|                         { | 
|                             objJsonResult.code = CodeConstant.FAIL; | 
|                             objJsonResult.count = CountConstant.FAIL; | 
|                             objJsonResult.Message = "第" + index + "行,器具档案代码不能为空!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = CodeConstant.FAIL; | 
|                         objJsonResult.count = CountConstant.FAIL; | 
|                         objJsonResult.Message = "第" + index + "行,组织代码为空"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|   | 
|                 objJsonResult.code = CodeConstant.SUCCEED; | 
|                 objJsonResult.count = CountConstant.SUCCEED; | 
|                 objJsonResult.Message = error; | 
|                 objJsonResult.data = tb2; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = CodeConstant.FAIL; | 
|                 objJsonResult.count = CountConstant.FAIL; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 器具档案项目 导入(保存) | 
|         [Route("Gy_MouldFile/Gy_MouldFile_btnSave")] | 
|         [HttpPost] | 
|         public object Gy_Mould_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(); | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log("Gy_MouldFile_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = CodeConstant.FAIL; | 
|                     objJsonResult.count = CountConstant.FAIL; | 
|                     objJsonResult.Message = "无保存权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 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); | 
|                 } | 
|   | 
|                 oCN.BeginTran(); | 
|                 int i = 1; | 
|                 foreach (Dictionary<string, string> item in list) | 
|                 { | 
|                     string HOrgID = item["HOrgID"].ToString();//组织ID | 
|                     string BillType = "3899"; | 
|                     //得到mainid | 
|                     long HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     string HBillNo = DBUtility.ClsPub.CreateBillCode(BillType, ref DBUtility.ClsPub.sExeReturnInfo, true); ;//递入type得到的单据号 | 
|                     DateTime HDate = DateTime.Now;//日期 | 
|                     int HYear = DBUtility.ClsPub.isInt(DateTime.Now.Year); | 
|                     double HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); | 
|                     string HMouldNo = item["器具编号"].ToString(); | 
|                     string HBarCode = item["条形码"].ToString(); | 
|                     string HName = item["器具名称"].ToString(); | 
|                     string HModel = item["器具规格"].ToString(); | 
|                     string HModel2 = item["器具型号"].ToString(); | 
|                     string HDiameter = "";//直径 | 
|                     string HSubjoin = item["辅助属性1"].ToString(); | 
|                     string HSubjoin2 = item["辅助属性2"].ToString(); | 
|                     string HPICNo = item["图号"].ToString(); | 
|                     string HWorkMaterModel = "";//生产产品型号 | 
|                     long HMaterID = int.Parse(item["HMaterID"].ToString()); | 
|                     long HMouleTypeID = int.Parse(item["HMouldTypeID"].ToString()); | 
|                     long HUnitID = int.Parse(item["HUnitID"].ToString()); | 
|                     DateTime HOutComDate = DateTime.Now; | 
|                     string HOutComNo = item["器具出厂编号"].ToString(); | 
|                     long HDeptID = int.Parse(item["HDeptID"].ToString()); | 
|                     long HSupID = int.Parse(item["HSupID"].ToString()); | 
|                     string HMouldStatus = item["状态"].ToString(); | 
|                     long HWHID = int.Parse(item["HWHID"].ToString()); | 
|                     long HRoutingID = 0;//工艺路线id | 
|                     long HBOMID = 0; | 
|                     string HVersion = "";//版本 | 
|                     long HSPGroupID = 0;//默认仓位组 | 
|                     long HSPID = int.Parse(item["HSPID"].ToString());//仓位id | 
|                     Double HDesignLife = item["设计寿命"].ToString()=="" ? 0: double.Parse(item["设计寿命"].ToString()); | 
|                     Double HUseLife = item["使用寿命"].ToString() == "" ? 0 : double.Parse(item["使用寿命"].ToString()); | 
|                     Double HInitLife = 0;//上线初始化寿命 | 
|                     Double HLeaveLife = 0;//剩余寿命 | 
|                     Double HProdQty = 0;//已生产数量 | 
|                     Double HProdWeight = 0;//已生产重量 | 
|                     string HRemark = item["备注"].ToString(); | 
|                     string HMaker = user; | 
|                     string HMaterNumber = item["对应ERP物料代码"].ToString(); | 
|                     string HSupNumber = item["供应商代码"].ToString(); | 
|                     long HPrintQty = 0;//已生产数量 | 
|                     string HMouldOWNER = "自费";//货主类型 | 
|                     string HSaveLife = "";//安全寿命 | 
|                     int HCaveQty = item["穴数"].ToString() == "" ? 0 : int.Parse(item["穴数"].ToString()); | 
|                     int HMouldDotCheckRuleInterID = 0; | 
|                     int HMouldMaintainRuleInterID = 0; | 
|                     int HNowSupID = 0;//虚拟仓 | 
|                     int HNowSupTypeID = 0; | 
|                     int HMadeSupID = 0; | 
|                     string HMouldClass = "模具";//器具类型 | 
|                     int HNowWHID = 0; | 
|                     int HNowSPID = 0; | 
|   | 
|   | 
|                     if (!DBUtility.ClsPub.AllowNumber(HMouldNo.Trim())) | 
|                     { | 
|                         objJsonResult.code = CodeConstant.FAIL; | 
|                         objJsonResult.count = CountConstant.FAIL; | 
|                         objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     ds = oCN.RunProcReturn("select * from Gy_MouldFileMain where HMouldNo='" + HMouldNo + "'", "Gy_MouldFileMain"); | 
|   | 
|                     if (ds.Tables[0].Rows.Count == 0) | 
|                     { | 
|   | 
|                         oCN.RunProc("Insert Into Gy_MouldFileMain   " + | 
|                         "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + | 
|                         ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + | 
|                         ",HMouldNo,HName,HModel,HModel2,HDiameter" + | 
|                         ",HSubjoin,HSubjoin2,HPICNo,HWorkMaterModel" + | 
|                         ",HMaterID,HMaterNumber,HMouldType,HUnitID" + | 
|                         ",HOutComDate,HOutComNo,HDeptID,HSupID,HSupNumber" + | 
|                         ",HPrintQty,HMouldStatus,HWhID,HRoutingID,HCaveQty" + | 
|                         ",HBomID,HVersion,HSPGroupID,HSPID,HDesignLife,HNowSupID,HNowSupTypeID" + | 
|                         ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife,HMouldDotCheckRuleInterID,HMouldMaintainRuleInterID,HBarCode,HMadeSupID" + | 
|                         ",HMouldClass,HNowWHID,HNowSPID,HInitLife) " + | 
|                         " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" + | 
|                         "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()" + | 
|                         ",'" + HMouldNo + "','" + HName + "','" + HModel + "','" + HModel2 + "','" + HDiameter + "'" + | 
|                         ",'" + HSubjoin + "','" + HSubjoin2 + "','" + HPICNo + "','" + HWorkMaterModel + "'" + | 
|                         "," + HMaterID + ",'" + HMaterNumber + "'," + HMouleTypeID + "," + HUnitID + | 
|                         ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HSupID + ",'" + HSupNumber + "'" + | 
|                         "," + HPrintQty + ",'" + HMouldStatus + "'," + HWHID + "," + HRoutingID + "," + HCaveQty + | 
|                         "," + HBOMID + ",'" + HVersion + "'," + HSPGroupID + "," + HSPID + ",'" + HDesignLife + "','" + HNowSupID + "','" + HNowSupTypeID + "'" + | 
|                         ",'" + HUseLife + "','" + HLeaveLife + "','" + HProdQty + "','" + HProdWeight + "','" + HMouldOWNER + "','" + HSaveLife + "','" + HMouldDotCheckRuleInterID + "','" + HMouldMaintainRuleInterID + "','" + HBarCode + "'," + HMadeSupID + | 
|                         ",'" + HMouldClass + "'," + HNowWHID + "," + HNowSPID + ",'" + HInitLife + "') "); | 
|                     } | 
|                     else | 
|                     { | 
|                         oCN.RunProc("UpDate Gy_MouldFileMain set  " + | 
|                 //" HBillNo='" + HBillNo + "'" +  //固定赋值=============== | 
|                 //",HDate='" + HDate + "'" + | 
|                 //",HYear='" + HYear.ToString() + "'" + | 
|                 //",HPeriod='" + HPeriod.ToString() + "'" + | 
|                 "HRemark='" + HRemark + "'" + | 
|                 ",HUpDater='" + user + "'" + | 
|                 ",HUpDateDate=getdate()" + | 
|                 //======================================== | 
|                 //",HMouldNo='" + HMouldNo + "'" + | 
|                 ",HName='" + HName + "'" + | 
|                 ",HModel='" + HModel + "'" + | 
|                 ",HModel2='" + HModel2 + "'" + | 
|                 ",HDiameter='" + HDiameter + "'" + | 
|                 ",HSubjoin='" + HSubjoin + "'" + | 
|                 ",HSubjoin2='" + HSubjoin2 + "'" + | 
|                 ",HPICNo='" + HPICNo + "'" + | 
|                 ",HWorkMaterModel='" + HWorkMaterModel + "'" + | 
|                 ",HMaterID=" + HMaterID.ToString() + | 
|                 ",HMaterNumber='" + HMaterNumber + "'" + | 
|                 ",HMouldClass='" + HMouldClass + "'" + | 
|                 ",HMouldType=" + HMouleTypeID.ToString() + | 
|                 ",HUnitID=" + HUnitID.ToString() + | 
|                 ",HOutComDate='" + HOutComDate + "'" + | 
|                 ",HOutComNo='" + HOutComNo + "'" + | 
|                 ",HDeptID=" + HDeptID.ToString() + | 
|                 ",HSupID=" + HSupID.ToString() + | 
|                 ",HSupNumber='" + HSupNumber + "'" + | 
|                 ",HPrintQty=" + HPrintQty.ToString() + | 
|                 ",HMouldStatus='" + HMouldStatus + "'" + | 
|                 ",HSaveLife='" + HSaveLife + "'" + | 
|                 ",HWhID=" + HWHID.ToString() + | 
|                 ",HRoutingID=" + HRoutingID.ToString() + | 
|                 ",HBomID=" + HBOMID.ToString() + | 
|                 ",HVersion='" + HVersion + "'" + | 
|                 ",HSPGroupID=" + HSPGroupID.ToString() + | 
|                 ",HSPID=" + HSPID.ToString() + | 
|                 ",HDesignLife=" + HDesignLife.ToString() + | 
|                 ",HCaveQty=" + HCaveQty.ToString() + | 
|                 ",HUseLife=" + HUseLife.ToString() + | 
|                 ",HLeaveLife=" + HLeaveLife.ToString() + | 
|                 ",HProdQty=" + HProdQty.ToString() + | 
|                 ",HMouldDotCheckRuleInterID=" + HMouldDotCheckRuleInterID.ToString() + | 
|                 ",HMouldMaintainRuleInterID=" + HMouldMaintainRuleInterID.ToString() + | 
|                 ",HMouldOWNER='" + HMouldOWNER + "'" + | 
|                 ",HNowSupID=" + HNowSupID.ToString() + | 
|                 ",HNowSupTypeID=" + HNowSupTypeID.ToString() + | 
|                 ",HProdWeight=" + HProdWeight.ToString() + | 
|                 ",HBarCode='" + HBarCode.ToString() + "'" + | 
|                 ",HMadeSupID=" + HMadeSupID + | 
|                 ",HNowWHID=" + HNowWHID + | 
|                 ",HNowSPID=" + HNowSPID + | 
|                 ",HInitLife='" + HInitLife + | 
|                 "' where HMouldNo='" + HMouldNo.ToString()+"'"); | 
|                     } | 
|   | 
|                     i++; | 
|                 } | 
|   | 
|                 oCN.Commit(); | 
|   | 
|                 objJsonResult.code = CodeConstant.SUCCEED; | 
|                 objJsonResult.count = CountConstant.SUCCEED; | 
|                 objJsonResult.Message = "导入成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 LogService.Write(e); | 
|                 objJsonResult.code = CodeConstant.FAIL; | 
|                 objJsonResult.count = CountConstant.FAIL; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|         #endregion | 
|   | 
|     } | 
| } |