|  |  |  | 
|---|
|  |  |  | using System.Web.Http; | 
|---|
|  |  |  | using System.Windows.Forms; | 
|---|
|  |  |  | using WebAPI.Models; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | using WebAPI.Controllers.SCGL.日计划管理; | 
|---|
|  |  |  | using System.IO; | 
|---|
|  |  |  | using SyntacticSugar.constant; | 
|---|
|  |  |  | namespace WebAPI.Controllers.CJGL | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public class Sc_WorkBeginDotCheckBillController : ApiController | 
|---|
|  |  |  | 
|---|
|  |  |  | string HInterId = dic["HInterId"].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn("exec h_p_DotCheckDayList '" + Type + "','" + HInterId + "'", "h_p_DotCheckDayList"); | 
|---|
|  |  |  | if (ds.Tables.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "未查询到数据!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 设备启动点检清单 文件导入保存 | 
|---|
|  |  |  | #region 设备启动点检清单 文件上传 | 
|---|
|  |  |  | [Route("Sc_WorkBeginDotCheckBill/Sc_WorkBeginDotCheckBill_Excel")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object Sc_WorkBeginDotCheckBill_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("HProcID", typeof(Int32));//工序ID | 
|---|
|  |  |  | tb2.Columns.Add("HSourceID", typeof(Int32));//生产资源ID | 
|---|
|  |  |  | tb2.Columns.Add("HCheckNoteItemID", typeof(Int32));//检查项目ID | 
|---|
|  |  |  | tb2.Columns.Add("HCheckPostID", 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 (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 HBillNo = ""; | 
|---|
|  |  |  | string HORGNumber = ""; | 
|---|
|  |  |  | string HORGName = ""; | 
|---|
|  |  |  | string HMaterName = ""; | 
|---|
|  |  |  | string HMaterNumber = ""; | 
|---|
|  |  |  | string HProcNumber = ""; | 
|---|
|  |  |  | string HProcName = ""; | 
|---|
|  |  |  | string HSourceNumber = ""; | 
|---|
|  |  |  | string HSourceName = ""; | 
|---|
|  |  |  | string HCheckNoteItemNumber = ""; | 
|---|
|  |  |  | string HCheckNoteItemName = ""; | 
|---|
|  |  |  | string HCheckPostNumber = ""; | 
|---|
|  |  |  | string HCheckPostName = ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | HBillNo = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["单据号"].ToString()); | 
|---|
|  |  |  | HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString()); | 
|---|
|  |  |  | HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString()); | 
|---|
|  |  |  | HMaterName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料名称"].ToString()); | 
|---|
|  |  |  | HMaterNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString()); | 
|---|
|  |  |  | HProcName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序名称"].ToString()); | 
|---|
|  |  |  | HProcNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序代码"].ToString()); | 
|---|
|  |  |  | HSourceName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["生产资源名称"].ToString()); | 
|---|
|  |  |  | HSourceNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["生产资源代码"].ToString()); | 
|---|
|  |  |  | HCheckNoteItemName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["检查项目名称"].ToString()); | 
|---|
|  |  |  | HCheckNoteItemNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["检查项目代码"].ToString()); | 
|---|
|  |  |  | HCheckPostName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["岗位名称"].ToString()); | 
|---|
|  |  |  | HCheckPostNumber = 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = CodeConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.count = CountConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,组织代码为空"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //物料代码 | 
|---|
|  |  |  | if (HMaterNumber != "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //查询物料 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_Material where  HNumber='" + HMaterNumber + "' and Hname='" + HMaterName + "'", "Gy_Maintain"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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]["HMaterID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = CodeConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.count = CountConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,物料代码为空"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //工序代码 | 
|---|
|  |  |  | if (HProcNumber != "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //查询工序 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_Process where  HNumber='" + HProcNumber + "' and Hname='" + HProcName + "'", "Gy_Process"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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]["HProcID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = CodeConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.count = CountConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,工序代码为空"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //生产资源 | 
|---|
|  |  |  | if (HSourceNumber != "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //查询工序 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_Source where  HNumber='" + HSourceNumber + "' and Hname='" + HSourceName + "'", "Gy_Source"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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]["HSourceID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //检查项目代码 | 
|---|
|  |  |  | if (HCheckNoteItemNumber != "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //查询物料 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_CheckNoteItem where  HNumber='" + HCheckNoteItemNumber + "' and Hname='" + HCheckNoteItemName + "'", "Gy_CheckNoteItem"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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]["HCheckNoteItemID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | string HMaintainItemID = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = CodeConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.count = CountConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,检查项目代码为空"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //岗位代码 | 
|---|
|  |  |  | if (HCheckPostNumber != "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //查询物料 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_Post where  HNumber='" + HCheckPostNumber + "' and Hname='" + HCheckPostName + "'", "Gy_Post"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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]["HCheckPostID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = CodeConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.count = CountConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,岗位代码为空"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //单据号 | 
|---|
|  |  |  | if (HBillNo == "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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("Sc_WorkBeginDotCheckBill/Sc_WorkBeginDotCheckBill_btnSave")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object Sc_WorkBeginDotCheckBill_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_WorkBeginDotCheckListBillMain_Edit", 1, false, user)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = CodeConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.count = CountConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.Message = "无保存权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2); | 
|---|
|  |  |  | List<Dictionary<string, string>> list = new List<Dictionary<string, string>>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (JObject item in Excel) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dictionary<string, string> dic = new Dictionary<string, string>(); | 
|---|
|  |  |  | foreach (var itm in item.Properties()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | dic.Add(itm.Name, itm.Value.ToString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | list.Add(dic); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  | int i = 1; | 
|---|
|  |  |  | foreach (Dictionary<string, string> item in list) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string HBillType = "3744"; | 
|---|
|  |  |  | string HMaker = user;//制单人 | 
|---|
|  |  |  | DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期 | 
|---|
|  |  |  | long HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|---|
|  |  |  | long HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); | 
|---|
|  |  |  | string HOrgID = item["HOrgID"].ToString();//组织ID | 
|---|
|  |  |  | string HBillNo = item["单据号"].ToString(); | 
|---|
|  |  |  | string HMaterID = item["HMaterID"].ToString() == "" ? "0" : item["HMaterID"].ToString(); | 
|---|
|  |  |  | string HProcID = item["HProcID"].ToString() == "" ? "0" : item["HProcID"].ToString(); | 
|---|
|  |  |  | string HSourceID = item["HSourceID"].ToString() == "" ? "0" : item["HSourceID"].ToString(); | 
|---|
|  |  |  | string HNote = item["记录事项"].ToString(); | 
|---|
|  |  |  | string HRemark = item["备注"].ToString(); | 
|---|
|  |  |  | //子表 | 
|---|
|  |  |  | string HCheckNoteItemID = item["HCheckNoteItemID"].ToString() == "" ? "0" : item["HCheckNoteItemID"].ToString(); | 
|---|
|  |  |  | string HCheckPostID = item["HCheckPostID"].ToString() == "" ? "0" : item["HCheckPostID"].ToString(); | 
|---|
|  |  |  | string HSubRemark = item["表体备注"].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_WorkBeginDotCheckListBillMain where HBillNo='" + HBillNo + "'", "Gy_WorkBeginDotCheckListBillMain"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | //插入主表 | 
|---|
|  |  |  | oCN.RunProc("insert into Gy_WorkBeginDotCheckListBillMain" + | 
|---|
|  |  |  | "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" + | 
|---|
|  |  |  | ",HMaterID,HSourceID,HProcID,HNote) " + | 
|---|
|  |  |  | "values(" + | 
|---|
|  |  |  | "" + (HYear.ToString() != "0" ? HYear.ToString() : DateTime.Now.Year.ToString()) + | 
|---|
|  |  |  | "," + HPeriod.ToString() + | 
|---|
|  |  |  | ",'" + HBillType + | 
|---|
|  |  |  | "','" + HBillType + | 
|---|
|  |  |  | "'," + HInterID + | 
|---|
|  |  |  | ",'" + HDate + | 
|---|
|  |  |  | "','" + HBillNo + | 
|---|
|  |  |  | "','" + HRemark + | 
|---|
|  |  |  | "','" + user + | 
|---|
|  |  |  | "'," + "getdate()" + | 
|---|
|  |  |  | ",'" + HMaterID + | 
|---|
|  |  |  | "','" + HSourceID + | 
|---|
|  |  |  | "','" + HProcID + | 
|---|
|  |  |  | "','" + HNote + | 
|---|
|  |  |  | "')"); | 
|---|
|  |  |  | //插入子表 | 
|---|
|  |  |  | oCN.RunProc("insert into Gy_WorkBeginDotCheckListBillSub " + | 
|---|
|  |  |  | "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" + | 
|---|
|  |  |  | ",HCheckNoteItemID,HCheckPostID,HDotCheckType,HRelationID) " + | 
|---|
|  |  |  | " values(" + | 
|---|
|  |  |  | "" + HInterID.ToString() + | 
|---|
|  |  |  | "," + 1 + | 
|---|
|  |  |  | "," + 0 + | 
|---|
|  |  |  | "," + 0 + | 
|---|
|  |  |  | ",'" + "" + | 
|---|
|  |  |  | "','" + "" + | 
|---|
|  |  |  | "','" + HSubRemark + | 
|---|
|  |  |  | "','" + HCheckNoteItemID + | 
|---|
|  |  |  | "','" + HCheckPostID + | 
|---|
|  |  |  | "','" + "设备" + | 
|---|
|  |  |  | "','" + 0 + | 
|---|
|  |  |  | "')"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | long HInterID = long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString()); | 
|---|
|  |  |  | //获取最大子id | 
|---|
|  |  |  | DataSet ds2 = oCN.RunProcReturn("select max(HEntryID) HEntryID from Gy_WorkBeginDotCheckListBillSub where HInterID='" + HInterID + "'", "Gy_WorkBeginDotCheckListBillSub"); | 
|---|
|  |  |  | long HEntryID = 1; | 
|---|
|  |  |  | if (ds2.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | HEntryID = long.Parse(ds2.Tables[0].Rows[0]["HEntryID"].ToString()) + 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //插入子表 | 
|---|
|  |  |  | oCN.RunProc("insert into Gy_WorkBeginDotCheckListBillSub " + | 
|---|
|  |  |  | "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" + | 
|---|
|  |  |  | ",HCheckNoteItemID,HCheckPostID,HDotCheckType,HRelationID) " + | 
|---|
|  |  |  | " values(" + | 
|---|
|  |  |  | "" + HInterID.ToString() + | 
|---|
|  |  |  | "," + HEntryID + | 
|---|
|  |  |  | "," + 0 + | 
|---|
|  |  |  | "," + 0 + | 
|---|
|  |  |  | ",'" + "" + | 
|---|
|  |  |  | "','" + "" + | 
|---|
|  |  |  | "','" + HSubRemark + | 
|---|
|  |  |  | "','" + HCheckNoteItemID + | 
|---|
|  |  |  | "','" + HCheckPostID + | 
|---|
|  |  |  | "','" + "设备" + | 
|---|
|  |  |  | "','" + 0 + | 
|---|
|  |  |  | "')"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | i++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = CodeConstant.SUCCEED; | 
|---|
|  |  |  | objJsonResult.count = CountConstant.SUCCEED; | 
|---|
|  |  |  | objJsonResult.Message = "导入成功!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | LogService.Write(e); | 
|---|
|  |  |  | oCN.RollBack(); | 
|---|
|  |  |  | objJsonResult.code = CodeConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.count = CountConstant.FAIL; | 
|---|
|  |  |  | objJsonResult.Message = "Exception!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|