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