|  |  | 
 |  |  | using Newtonsoft.Json.Linq; | 
 |  |  | 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; | 
 |  |  |  | 
 |  |  | 
 |  |  | { | 
 |  |  |     public class Gy_MaterialController : ApiController | 
 |  |  |     { | 
 |  |  |         //获取系统参数 | 
 |  |  |         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
 |  |  |         public DBUtility.ClsPub.Enum_BillStatus BillStatus; | 
 |  |  |  | 
 |  |  |         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> | 
 |  |  |         /// 返回物料列表 | 
 |  |  | 
 |  |  |         /// </summary> | 
 |  |  |         [Route("Gy_Material/list")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object list(string sWhere, string Organization) | 
 |  |  |         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 * from h_v_Gy_MaterialList where 组织名称='" + Organization + "'"); | 
 |  |  |                 if (sWhere == null || sWhere.Equals("")) | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn(sql1 + sWhere + "order by HItemID desc", "h_v_Gy_MaterialList"); | 
 |  |  |                     ds = oCN.RunProcReturn(sql1 + sWhere + " order by 物料代码 desc", "h_v_Gy_MaterialList"); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     string sql = sql1 + sWhere + "order by HItemID desc"; | 
 |  |  |                     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; | 
 |  |  |             } | 
 |  |  | 
 |  |  |         { | 
 |  |  |             DataSet ds; | 
 |  |  |             var _value = msg["msg"].ToString(); | 
 |  |  |             string msg1 = _value.ToString(); | 
 |  |  |             //string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
 |  |  |             //string msg2 = sArray[0].ToString(); | 
 |  |  |             //string msg3 = sArray[1].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 = maxid; | 
 |  |  |             } | 
 |  |  |             ListModels oListModels = new ListModels(); | 
 |  |  |  | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 DLL.ClsGy_Material_Ctl oBill = new DLL.ClsGy_Material_Ctl(); | 
 |  |  | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "保存失败!物料属性不能为空!"; | 
 |  |  |                         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; | 
 |  |  |                     } | 
 |  |  |                     //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"); | 
 |  |  |                     if (oItem.HNumber.Trim() == "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "保存失败!代码为空!"; | 
 |  |  |                         objJsonResult.data = 1; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     //新增时判断 | 
 |  |  |                     #region 父级校验方法(api调用先注释掉,) | 
 |  |  |                     /* | 
 |  |  |                     if (oItem.HItemID == 0) | 
 |  |  |                     { | 
 |  |  |                         if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                         { | 
 |  |  |  | 
 |  |  |                         } | 
 |  |  |                         else | 
 |  |  |                         if (ds == null || ds.Tables[0].Rows.Count > 0) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     */ | 
 |  |  |                     #endregion | 
 |  |  |                     //得到短代码 | 
 |  |  |                     string sShortNumber; | 
 |  |  |                     sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim()); | 
 |  |  | 
 |  |  |                         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.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     bResult = oBill.AddNew(); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  | 
 |  |  |                 } | 
 |  |  |                 if (bResult) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "保存成功!"; | 
 |  |  |                     //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         [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; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 物料设置删除功能 | 
 |  |  | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Gy_Material/Delete")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object DeltetGy_Material(string HItemID) | 
 |  |  |         public object DeltetGy_Material(string HItemID, string user) | 
 |  |  |         { | 
 |  |  |             DataSet ds; | 
 |  |  |             //string ModRightNameCheck = "Sc_ProcessReport_check"; | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //删除权限 | 
 |  |  |                 //if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName)) | 
 |  |  |                 //{ | 
 |  |  |                 //    objJsonResult.code = "0"; | 
 |  |  |                 //    objJsonResult.count = 0; | 
 |  |  |                 //    objJsonResult.Message = "审核失败!无权限!"; | 
 |  |  |                 //    objJsonResult.data = null; | 
 |  |  |                 //    return objJsonResult; | 
 |  |  |                 //} | 
 |  |  |  | 
 |  |  |                 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"; | 
 |  |  | 
 |  |  |                 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 = "没有数据,无法删除!"; | 
 |  |  | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 oCN.RunProc("update Gy_Material set HStopflag=1 where HItemID=" + HItemID); | 
 |  |  |                 oCN.RunProc("delete from Gy_Material where HItemID=" + HItemID); | 
 |  |  |                 oCN.Commit();//提交事务 | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack();//回滚事务 | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "删除失败!" + e.ToString(); | 
 |  |  | 
 |  |  |                 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> | 
 |  |  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(ModRightNameSelect, 1, true, user)) | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(ModRightNameSelect, 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  | 
 |  |  |                     string sql = sql1 + sWhere + "order by 日期 desc"; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, "h_v_Gy_MouldFileList"); | 
 |  |  |                 } | 
 |  |  |                 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; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         #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> | 
 |  |  |         [Route("Gy_BarCodeBillList/GetBarCodeBillList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetBarCodeBillList(string sWhere) | 
 |  |  |         public object GetBarCodeBillList(string sWhere, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (sWhere == null || sWhere.Equals("")) | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn("select * from h_v_IF_BarCodeBillList " + sWhere + "order by 日期 desc", "h_v_IF_BarCodeBillList"); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     string sql1 = "select * from h_v_IF_BarCodeBillList where 1 = 1 "; | 
 |  |  |                     string sql = sql1 + sWhere + "order by 日期 desc"; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, "h_v_IF_BarCodeBillList"); | 
 |  |  |                 } | 
 |  |  |                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                 //判断是否有查询权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Gy_BarCodeBill_Query", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "false!"; | 
 |  |  |                     objJsonResult.Message = "无权限查询!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "Sucess!"; | 
 |  |  |                     objJsonResult.data = ds.Tables[0]; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 string sql1 = "select top 1000 * from h_v_IF_BarCodeBillList where 1 = 1 "; | 
 |  |  |                 string sql = sql1 + sWhere + " order by hmainid desc"; | 
 |  |  |                 ds = oCN.RunProcReturn(sql, "h_v_IF_BarCodeBillList"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #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 | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  | 
 |  |  |             string msg4 = sArray[2].ToString();//当前人 | 
 |  |  |  | 
 |  |  |             oCN.BeginTran(); | 
 |  |  |             if (!DBUtility.ClsPub.Security_Log(msg3, 1, true, msg4)) | 
 |  |  |             if (!DBUtility.ClsPub.Security_Log(msg3, 1, false, msg4)) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             //保存主表 | 
 |  |  |             objJsonResult = AddBillMain(msg2); | 
 |  |  |             objJsonResult = AddBillMain(msg1); | 
 |  |  |             if (objJsonResult.code == "0") | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  | 
 |  |  |             return objJsonResult; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public json AddBillMain(string msg2) | 
 |  |  |         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();//子表数据 | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 msg2 = "[" + msg2.ToString() + "]"; | 
 |  |  | 
 |  |  |                 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; | 
 |  |  | 
 |  |  |                 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; | 
 |  |  |  | 
 |  |  |                 //主表 | 
 |  |  |                 oCN.RunProc("Insert Into Gy_MouldFileMain   " + | 
 |  |  | 
 |  |  |                 ",HSubjoin,HSubjoin2,HPICNo,HWorkMaterModel" + | 
 |  |  |                 ",HMaterID,HMaterNumber,HMouldType,HUnitID" + | 
 |  |  |                 ",HOutComDate,HOutComNo,HDeptID,HSupID,HSupNumber" + | 
 |  |  |                 ",HPrintQty,HMouldStatus,HWhID,HRoutingID" + | 
 |  |  |                 ",HBomID,HVersion,HSPGroupID,HSPID,HDesignLife" + | 
 |  |  |                 ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife" + | 
 |  |  |                 ") " + | 
 |  |  |                 ",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) " + | 
 |  |  |                 " 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 + | 
 |  |  |                 "," + HBOMID + ",'" + HVersion + "'," + HSPGroupID + "," + HSPID + ",'" + HDesignLife + "'" + | 
 |  |  |                 ",'" + HUseLife + "','" + HLeaveLife + "','" + HProdQty + "','" + HProdWeight + "','" + HMouldOWNER + "'," + "','" + HSaveLife + "'," + | 
 |  |  |                 ") "); | 
 |  |  |  | 
 |  |  |                 "," + 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 + ") "); | 
 |  |  |  | 
 |  |  |                 //子表 | 
 |  |  |                 oCN.RunProc("Insert into Gy_MouldFileSub " + | 
 |  |  | 
 |  |  |                 " values('" + HInterID + "',0,''" + | 
 |  |  |                 ",0,0,'','',0,0 " + | 
 |  |  |                 ") "); | 
 |  |  |  | 
 |  |  |                 objJsonResult = AddBillSub(msg5,HInterID, HBillNo); | 
 |  |  |  | 
 |  |  |                 if (objJsonResult.code == "0") | 
 |  |  |                 { | 
 |  |  | 
 |  |  |             string msg2 = sArray[0].ToString(); | 
 |  |  |             string msg3 = sArray[1].ToString();//模块权限 | 
 |  |  |             string msg4 = sArray[2].ToString();//当前人 | 
 |  |  |             string msg5 = sArray[3].ToString();//子表数据 | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(msg3, 1, true, msg4)) | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(msg3, 1, false, msg4)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  | 
 |  |  |                 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; | 
 |  |  | 
 |  |  |                 Double HProdQty = mainList[0].HProdQty; | 
 |  |  |                 Double HProdWeight = mainList[0].HProdWeight; | 
 |  |  |                 string HRemark = mainList[0].HRemark; | 
 |  |  |                 string HMaker = mainList[0].HMaker; | 
 |  |  |                 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; | 
 |  |  |  | 
 |  |  |                 //若MAINDI重复则重新获取 | 
 |  |  |                 oCN.BeginTran(); | 
 |  |  | 
 |  |  |                 ",HYear='" + HYear.ToString() + "'" + | 
 |  |  |                 ",HPeriod='" + HPeriod.ToString() + "'" + | 
 |  |  |                 ",HRemark='" + HRemark + "'" + | 
 |  |  |                 ",HUpDater='" + HMaker + "'" + | 
 |  |  |                 ",HUpDater='" + HUpDater + "'" + | 
 |  |  |                 ",HUpDateDate=getdate()" + | 
 |  |  |                 //======================================== | 
 |  |  |                 ",HMouldNo='" + HMouldNo + "'" + | 
 |  |  | 
 |  |  |                 ",HWorkMaterModel='" + HWorkMaterModel + "'" + | 
 |  |  |                 ",HMaterID=" + HMaterID.ToString() + | 
 |  |  |                 ",HMaterNumber='" + HMaterNumber + "'" + | 
 |  |  |                 ",HMouldClass='" + HMouldClass + "'" + | 
 |  |  |                 ",HMouldType=" + HMouleTypeID.ToString() + | 
 |  |  |                 ",HUnitID=" + HUnitID.ToString() + | 
 |  |  |                 ",HOutComDate='" + HOutComDate + "'" + | 
 |  |  | 
 |  |  |                 ",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 + | 
 |  |  |                 " 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 + "'"); | 
 |  |  |  | 
 |  |  |                 objJsonResult = AddBillSub(msg5, HInterID, HBillNo); | 
 |  |  |  | 
 |  |  |                 oCN.Commit(); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public json AddBillSub(string msg5, long HInterID, string HBillNo) | 
 |  |  |         { | 
 |  |  |             List<Gy_MouldFileSub_SubMater> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_MouldFileSub_SubMater>>(msg5); | 
 |  |  |             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); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             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> | 
 |  |  |         /// 磨具档案修改按钮方法 | 
 |  |  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCN.RunProcReturn("select * from h_v_Gy_MouldFileList where hmainid=" + HInterID, "h_v_Gy_MouldFileList"); | 
 |  |  |                 ds = oCN.RunProcReturn("select * from h_v_Gy_MouldFile_Edit where hmainid=" + HInterID, "h_v_Gy_MouldFile_Edit"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  | 
 |  |  |             DAL.ClsGy_MouldFile oBill = new DAL.ClsGy_MouldFile(); | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, user)) | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Gy_Material/InitializeProdInBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object InitializeProdInBill(long hmainid, string user) | 
 |  |  |         public object InitializeProdInBill(long hmainid, string user, string userID) | 
 |  |  |         { | 
 |  |  |             DAL.ClsGy_MouldFile oBill = new DAL.ClsGy_MouldFile(); | 
 |  |  |             try | 
 |  |  | 
 |  |  |                 ",HSupID,HSupTypeID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + | 
 |  |  |                 ",HKeeperID,HDeptID,HInnerBillNo,HRedBlueFlag" + | 
 |  |  |                 ") " + | 
 |  |  |                 " values('3801','3801'," + HInterID + ",'" + HBillNo + "',' getdate()'" + | 
 |  |  |                 " values('3801','3801'," + HInterID + ",'" + HBillNo + "',getdate()" + | 
 |  |  |                 ", '" + user + "',getdate()" + | 
 |  |  |                 ", " + dr["HSupID"].ToString() + ", 1," + dr["HWhID"].ToString() + ",0,0,0,0" + | 
 |  |  |                 ", 0," + dr["HDeptID"].ToString() +  ",' ',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 = "初始化成功!"; | 
 |  |  |                 objJsonResult.Message = "初始化成功,单据号为" + HBillNo; | 
 |  |  |                 //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); | 
 |  |  |                 objJsonResult.data = 1; | 
 |  |  |                 return objJsonResult; | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             catch (Exception) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  | 
 |  |  |                 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.HERPItemID},'{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> | 
 |  |  | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //审核权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName)) | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #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 | 
 |  |  |  | 
 |  |  |     } | 
 |  |  | } |