| | |
| | | using System.Net.Http; |
| | | using System.Web.Http; |
| | | using WebAPI.Models; |
| | | using System.Web; |
| | | using WebAPI.Controllers.SCGL.日计划管理; |
| | | using System.IO; |
| | | |
| | | namespace WebAPI.Controllers.SBGL |
| | | { |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 设备点检规程单列表PDA |
| | | [Route("Sb_EquipDotCheckRuleBill/GetEquipDotCheckRuleListPDA")] |
| | | [HttpGet] |
| | | public object GetEquipDotCheckRuleListPDA(string sWhere, string user) |
| | | { |
| | | try |
| | | { |
| | | List<object> columnNameList = new List<object>(); |
| | | if (!DBUtility.ClsPub.Security_Log("Sb_EquipDotCheckRuleBillList", 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_Sb_GetDotCheckRuleListByEquip " + sWhere , "h_v_Sb_GetDotCheckRuleListByEquip"); |
| | | } |
| | | else |
| | | { |
| | | string sql1 = "select * from h_v_Sb_GetDotCheckRuleListByEquip where 1 = 1"; |
| | | string sql = sql1 + sWhere; |
| | | ds = oCN.RunProcReturn(sql, "h_v_Sb_GetDotCheckRuleListByEquip"); |
| | | } |
| | | |
| | | //添加列名 |
| | | 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列对象的列名 |
| | | } |
| | | //if (ds.Tables[0].Rows.Count != 0 || ds != null) |
| | | //{ |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | objJsonResult.list = columnNameList; |
| | | return objJsonResult; |
| | | //} |
| | | //else |
| | | //{ |
| | | //objJsonResult.code = "0"; |
| | | //objJsonResult.count = 0; |
| | | //objJsonResult.Message = "无数据"; |
| | | //objJsonResult.data = null; |
| | | //return objJsonResult; |
| | | //} |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "没有返回任何记录!" + ex.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 设备点检规程记录删除功能 |
| | | [Route("Sb_EquipDotCheckRuleBill/DeleteEquipDotCheckRuleBillList")] |
| | | [HttpGet] |
| | |
| | | return objJsonResult; |
| | | } |
| | | DLL.ClsSb_EquipDotCheckRuleBill oBill = new DLL.ClsSb_EquipDotCheckRuleBill(); |
| | | if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) |
| | | ds = oCN.RunProcReturn("select * from Sb_EquipDotCheckRuleBillMain where HInterID=" + HInterID, "Sb_EquipDotCheckRuleBillMain"); |
| | | if (ds.Tables[0].Rows.Count>0) |
| | | { |
| | | if (oBill.omodel.HBillStatus > 1) |
| | | //数据库空值判断 |
| | | if (ds.Tables[0].Rows[0]["HBillStatus"] == DBNull.Value) |
| | | { |
| | | ds.Tables[0].Rows[0]["HBillStatus"] = 1; |
| | | } |
| | | if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | //删除前控制========================================= |
| | | string sql1 = "exec h_p_Sb_EquipDotCheckRuleBill_BeforeDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'"; |
| | | ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipDotCheckRuleBill_BeforeDelCtrl"); |
| | | 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]["HRemark"].ToString(); ; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //================================================================================== |
| | | |
| | | bool IsDete = oBill.DeleteBill(lngBillKey,BillOld.omodel.HBillNo, "h_p_Sb_EquipDotCheckRuleBill_AfterDelCtrl",user, ref DBUtility.ClsPub.sExeReturnInfo); |
| | | if (IsDete) |
| | | { |
| | | objJsonResult.code = "0"; |
| | |
| | | if (string.IsNullOrEmpty(HID)) |
| | | return new ApiResult<DataSet> { code = -1, msg = "ID不能为空" }; |
| | | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); |
| | | var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sb_EquipDotCheckRuleList where hmainid= " + HID + " ", "h_v_Sb_EquipDotCheckRuleList"); |
| | | var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sb_EquipDotCheckRuleEdit where hmainid= " + HID + " ", "h_v_Sb_EquipDotCheckRuleEdit"); |
| | | if (dataSet == null || dataSet.Tables[0].Rows.Count == 0) |
| | | return new ApiResult<DataSet> { code = -1, msg = "不存在点检规程表" }; |
| | | return new ApiResult<DataSet> { code = 1, msg = "查询成功", data = dataSet }; |
| | |
| | | { |
| | | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); |
| | | |
| | | string sql1 = @"select * from h_v_Sb_EquipDotCheckRuleList a |
| | | string sql1 = @"select * from h_v_Sb_EquipDotCheckRuleEdit a |
| | | left join Gy_DotCheck b on a.点检项目ID =b.HItemID where 1 = 1 "; |
| | | string sql = sql1 + sqlWhere; |
| | | ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipDotCheckRuleList"); |
| | | ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipDotCheckRuleEdit"); |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "获取信息成功!"; |
| | |
| | | return objJsonResult; |
| | | } |
| | | |
| | | DLL.ClsSb_EquipDotCheckRuleBill oBill = new DLL.ClsSb_EquipDotCheckRuleBill(); |
| | | ClsPub.CurUserName = user; |
| | | oCN.BeginTran();//开始事务 |
| | | |
| | | //Type 1 审核 2 反审核 |
| | | if (Type == 1) |
| | | { |
| | | if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) |
| | | //审核前控制========================================= |
| | | string sql1 = "exec h_p_Sb_EquipDotCheckRuleBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'"; |
| | | ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipDotCheckRuleBill_BeforeCheckCtrl"); |
| | | if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系"; |
| | | objJsonResult.data = null; |
| | | oCN.RollBack(); |
| | | return objJsonResult; |
| | | } |
| | | |
| | | if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; |
| | | objJsonResult.data = null; |
| | | oCN.RollBack(); |
| | | return objJsonResult; |
| | | } |
| | | //================================================================================== |
| | | |
| | | if (!BillOld.CheckBill(int.Parse(HInterID),oBill.omodel.HBillNo, "h_p_Sb_EquipDotCheckRuleBill_AfterCheckCtrl",user, ref ClsPub.sExeReturnInfo)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | |
| | | } |
| | | else |
| | | { |
| | | if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) |
| | | //反审核前控制========================================= |
| | | string sql1 = "exec h_p_Sb_EquipDotCheckRuleBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'"; |
| | | ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipDotCheckRuleBill_BeforeUnCheckCtrl"); |
| | | 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]["HRemark"].ToString(); ; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //=========================================================== |
| | | |
| | | |
| | | if (BillOld.AbandonCheck(int.Parse(HInterID),oBill.omodel.HBillNo, "h_p_Sb_EquipDotCheckRuleBill_AfterUnCheckCtrl",user, ref ClsPub.sExeReturnInfo)) |
| | | { |
| | | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); |
| | | } |
| | |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 设备点检规程作废/反作废功能 |
| | | [Route("Sb_EquipDotCheckRuleBill/DeleteSb_EquipDotCheckRuleBill")] |
| | | [HttpGet] |
| | | public object DeleteSb_EquipDotCheckRuleBill(string HInterID, int Type, string user) |
| | | { |
| | | try |
| | | { |
| | | //判断是否有删除权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sb_EquipDotCheckRuleBill_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; |
| | | } |
| | | DLL.ClsSb_EquipDotCheckRuleBill oBill = new DLL.ClsSb_EquipDotCheckRuleBill(); |
| | | ClsPub.CurUserName = user; |
| | | Int64 lngBillKey = 0; |
| | | lngBillKey = DBUtility.ClsPub.isLong(HInterID); |
| | | //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作 |
| | | if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据 |
| | | { |
| | | if (oBill.omodel.HChecker.Trim() != "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "单据已审核!不能进行作废!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | if (Type == 1) //作废判断 |
| | | { |
| | | if (oBill.omodel.HDeleteMan.Trim() != "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "单据已作废!不能再作废!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | if (Type == 2) //反作废判断 |
| | | { |
| | | if (oBill.omodel.HDeleteMan.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; |
| | | } |
| | | |
| | | oCN.BeginTran();//开始事务 |
| | | |
| | | //Type 1 作废 2 反作废 |
| | | if (Type == 1) |
| | | { |
| | | //作废前控制========================================= |
| | | string sql1 = "exec h_p_Sb_EquipDotCheckRuleBill_BeforeDropCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'"; |
| | | ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipDotCheckRuleBill_BeforeDropCtrl"); |
| | | if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "作废失败!原因:作废前判断失败,请与网络管理人员联系"; |
| | | objJsonResult.data = null; |
| | | oCN.RollBack(); |
| | | return objJsonResult; |
| | | } |
| | | |
| | | if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "作废失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; |
| | | objJsonResult.data = null; |
| | | oCN.RollBack(); |
| | | return objJsonResult; |
| | | } |
| | | //================================================================================== |
| | | |
| | | if (!oBill.Cancelltion(int.Parse(HInterID), oBill.omodel.HBillNo, "h_p_Sb_EquipDotCheckRuleBill_AfterDropCtrl", user, ref ClsPub.sExeReturnInfo)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "作废失败!原因:" + ClsPub.sExeReturnInfo; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //反作废前控制========================================= |
| | | string sql1 = "exec h_p_Sb_EquipDotCheckRuleBill_BeforeUnDropCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'"; |
| | | ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipDotCheckRuleBill_BeforeUnDropCtrl"); |
| | | 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]["HRemark"].ToString(); ; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //=========================================================== |
| | | |
| | | if (!oBill.AbandonCancelltion(int.Parse(HInterID), oBill.omodel.HBillNo, "h_p_Sb_EquipDotCheckRuleBill_AfterUnDropCtrl", user, 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("Sb_EquipDotCheckRuleBill/Sb_EquipDotCheckRuleBill_Excel")] |
| | | [HttpPost] |
| | | public object Sb_EquipDotCheckRuleBill_Excel() |
| | | { |
| | | try |
| | | { |
| | | |
| | | //获取文件名称 |
| | | var file = HttpContext.Current.Request.Files[0]; |
| | | //获取文件物理路径 |
| | | string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName); |
| | | // 创建一个字典来存储name到单据号和HInterID的映射 |
| | | Dictionary<string, object[]> nameToValues = new Dictionary<string, object[]>(); |
| | | string HBillType = "3913"; |
| | | //保存文件 |
| | | 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("HDotCheckItemID", typeof(Int32));//点检项目ID |
| | | tb2.Columns.Add("HDotCheckItemClassID", typeof(Int32));//点检分类ID |
| | | tb2.Columns.Add("HDotCheckItemMethodID", typeof(Int32));//点检方法ID |
| | | tb2.Columns.Add("HEmpID", typeof(Int32));//负责人 |
| | | tb2.Columns.Add("单据号", typeof(string));//单据号 |
| | | tb2.Columns.Add("HInterID", typeof(Int64));//主键 |
| | | //添加数据 |
| | | 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 (error.Length > 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = $"Excel模板存在错误,{error}\r\n"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | for (int i = 0; i <= tb2.Rows.Count - 1; i++) |
| | | { |
| | | |
| | | string HDotCheckItemNumber = ""; |
| | | string HDotCheckItemName = ""; |
| | | string HEmpNum = ""; |
| | | string HEmpName = ""; |
| | | |
| | | HDotCheckItemNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["点检项目代码"].ToString()); |
| | | HDotCheckItemName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["点检项目名称"].ToString()); |
| | | HEmpNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人代码"].ToString()); |
| | | HEmpName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人名称"].ToString()); |
| | | string HDotCheckItemMethodNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["点检方法代码"].ToString()); |
| | | string HDotCheckItemMethodName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["点检方法名称"].ToString()); |
| | | |
| | | string HEquipDotCheckRuleName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["点检规程名称"].ToString()); |
| | | string HCycleUnit = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["周期单位"].ToString()); |
| | | string HCheckCycle = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["点检周期"].ToString()); |
| | | string HExplanation = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["摘要"].ToString()); |
| | | string HMainRemark = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["表头备注"].ToString()); |
| | | string HDotCheckPart = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["点检部位"].ToString()); |
| | | string HClaim = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["具体要求"].ToString()); |
| | | string HSubRemark = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["表体备注"].ToString()); |
| | | |
| | | int index = i + 1; |
| | | //查询点检项目 |
| | | ds = oCN.RunProcReturn("select * from Gy_DotCheck where HNumber='" + HDotCheckItemNumber + "' and Hname='" + HDotCheckItemName + "'", "Gy_DotCheck"); |
| | | |
| | | if (ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "第" + index + "行,点检项目不存在!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | tb2.Rows[i]["HDotCheckItemID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); |
| | | tb2.Rows[i]["HDotCheckItemClassID"] = ds.Tables[0].Rows[0]["HDotCheckItemClassID"].ToString(); |
| | | } |
| | | //查询负责人 |
| | | ds = oCN.RunProcReturn("select * from Gy_Employee where HNumber='" + HEmpNum + "' and Hname='" + HEmpName + "'", "Gy_Employee"); |
| | | |
| | | if (ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "第" + index + "行,该负责人:" + HEmpName + ",不存在!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | tb2.Rows[i]["HEmpID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); |
| | | } |
| | | |
| | | //查询点检方法 |
| | | ds = oCN.RunProcReturn("select * from Gy_DotCheckItemMethod where HNumber='" + HDotCheckItemMethodNumber + "' and Hname='" + HDotCheckItemMethodName + "'", "Gy_Employee"); |
| | | |
| | | if (ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "第" + index + "行,该点检方法:" + HEmpName + ",不存在!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | tb2.Rows[i]["HDotCheckItemMethodID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); |
| | | } |
| | | |
| | | //设备点检规程名称 |
| | | if (HEquipDotCheckRuleName == "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "第" + index + "行,设备点检规程单名称不能为空!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | //周期单位 |
| | | if (HCycleUnit == "" || (HCycleUnit != "月" && HCycleUnit != "周" && HCycleUnit != "天")) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "第" + index + "行,周期单位不能为空且只能为天,月,周!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //点检周期 |
| | | if (HCheckCycle == "" ) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "第" + index + "行,点检周期不能为空!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //设置单据HinterID和单据号 |
| | | |
| | | |
| | | Int64 HInterID; |
| | | string HBillNo; |
| | | object[] myArray = new object[2]; |
| | | // 如果字典中还没有这个点检规程的条目,就添加它 |
| | | if (!nameToValues.ContainsKey(HEquipDotCheckRuleName)) |
| | | { |
| | | HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo); |
| | | HBillNo = DBUtility.ClsPub.CreateBillCode(HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true); |
| | | myArray[0] = HInterID; |
| | | myArray[1] = HBillNo; |
| | | nameToValues[HEquipDotCheckRuleName] = myArray; |
| | | tb2.Rows[i]["HInterID"] = HInterID; |
| | | tb2.Rows[i]["单据号"] = HBillNo; |
| | | } |
| | | // 如果字典中有这个年龄的条目,但是当前行的名称不是字典中的名称,就更新它 |
| | | else if (true) |
| | | { |
| | | tb2.Rows[i]["HInterID"] = nameToValues[HEquipDotCheckRuleName][0]; |
| | | tb2.Rows[i]["单据号"] = nameToValues[HEquipDotCheckRuleName][1];// 更新当前行单据号和id |
| | | } |
| | | |
| | | } |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = error; |
| | | objJsonResult.data = tb2; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 设备点检规程单 导入(保存) |
| | | [Route("Sb_EquipDotCheckRuleBill/Sb_EquipDotCheckRuleBill_btnSave")] |
| | | [HttpPost] |
| | | public object Sb_EquipDotCheckRuleBill_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("Sb_EquipDotCheckRuleBill_Edit", 1, false, user)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "无保存权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2); |
| | | List<Dictionary<string, string>> list = new List<Dictionary<string, string>>(); |
| | | |
| | | foreach (JObject item in Excel) |
| | | { |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | foreach (var itm in item.Properties()) |
| | | { |
| | | dic.Add(itm.Name, itm.Value.ToString()); |
| | | } |
| | | list.Add(dic); |
| | | } |
| | | |
| | | oCN.BeginTran(); |
| | | int i = 1; |
| | | foreach (Dictionary<string, string> item in list) |
| | | { |
| | | string HInterID = item["HInterID"].ToString(); |
| | | string HBillNo = item["单据号"].ToString(); |
| | | //string HInterID = item["点检规程名称"].ToString(); |
| | | string HCycleUnit = item["周期单位"].ToString(); |
| | | string HCheckCycle = item["点检周期"].ToString(); |
| | | string HExplanation = item["摘要"].ToString(); |
| | | string HMainRemark = item["表头备注"].ToString(); |
| | | string HDotCheckItemID = item["HDotCheckItemID"].ToString(); |
| | | string HDotCheckItemClassID = item["HDotCheckItemClassID"].ToString(); |
| | | string HDotCheckItemMethodID = item["HDotCheckItemMethodID"].ToString(); |
| | | string HDotCheckItem = item["点检项目名称"].ToString(); |
| | | string HDotCheckPart = item["点检部位"].ToString(); |
| | | string HClaim = item["具体要求"].ToString(); |
| | | string HEmpID = item["HEmpID"].ToString(); |
| | | string HSubRemark = item["表体备注"].ToString(); |
| | | string HBillType = "3913"; |
| | | string HBillSubType = "3913"; |
| | | DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); |
| | | Int64 HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); |
| | | Int64 HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); |
| | | DataSet Cs; |
| | | Int64 HEntryID = 1; |
| | | Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Sb_EquipDotCheckRuleBillSub", "Sb_EquipDotCheckRuleBillSub"); |
| | | if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0) |
| | | { |
| | | HEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()); |
| | | HEntryID += 1; |
| | | } |
| | | |
| | | ds = oCN.RunProcReturn("select * from Sb_EquipDotCheckRuleBillMain where HInterID =" + HInterID, "Sb_EquipDotCheckRuleBillMain"); |
| | | |
| | | if (ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | |
| | | //主表 |
| | | oCN.RunProc("Insert Into Sb_EquipDotCheckRuleBillMain " + |
| | | "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate,HBillStatus" + |
| | | ",HYear,HPeriod,HRemark" + |
| | | ",HBeginDate,HEndDate,HCycleUnit,HCheckCycle,HExplanation" + |
| | | ") " + |
| | | " values('" + HBillType + "','" + HBillSubType + "'," + HInterID.ToString() + ",'" + HBillNo + "','" + HDate + "','" + user + "',getdate(),1" + |
| | | "," + HYear.ToString() + "," + HPeriod.ToString() + ",'" + HMainRemark + "'" + |
| | | ",getdate()" + ",getdate()" + ",'" + HCycleUnit + "','" + HCheckCycle + "','" + HExplanation + "'" + |
| | | ") "); |
| | | //插入子表 |
| | | oCN.RunProc("Insert into Sb_EquipDotCheckRuleBillSub " + |
| | | " (HInterID,HEntryID," + |
| | | "HRemark," + |
| | | "HDotCheckItemID,HDotCheckItem,HDotCheckPart,HClaim," + |
| | | "HManagerID,HDotCheckItemClassID,HDotCheckItemMethodID" + |
| | | ") values(" |
| | | + HInterID.ToString() + "," + HEntryID.ToString() + |
| | | ",'" + HSubRemark + "'" + |
| | | ",'" + HDotCheckItemID + "','" + HDotCheckItem + "','" + HDotCheckPart + "','" + HClaim + |
| | | "'," + HEmpID + "," + HDotCheckItemClassID + "," + HDotCheckItemMethodID + |
| | | ") "); |
| | | } |
| | | else |
| | | { |
| | | oCN.RunProc("Insert into Sb_EquipDotCheckRuleBillSub " + |
| | | " (HInterID,HEntryID," + |
| | | "HRemark," + |
| | | "HDotCheckItemID,HDotCheckItem,HDotCheckPart,HClaim," + |
| | | "HManagerID,HDotCheckItemClassID,HDotCheckItemMethodID" + |
| | | ") values(" |
| | | + HInterID.ToString() + "," + HEntryID.ToString() + |
| | | ",'" + HSubRemark + "'" + |
| | | ",'" + HDotCheckItemID + "','" + HDotCheckItem + "','" + HDotCheckPart + "','" + HClaim + |
| | | "'," + HEmpID + "," + HDotCheckItemClassID + "," + HDotCheckItemMethodID + |
| | | ") "); |
| | | } |
| | | |
| | | i++; |
| | | } |
| | | |
| | | oCN.Commit(); |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "导入成功!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogService.Write(e); |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | } |