|  |  | 
 |  |  |     { | 
 |  |  |         public DBUtility.ClsPub.Enum_BillStatus BillStatus; | 
 |  |  |         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
 |  |  |  | 
 |  |  |         public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill(); | 
 |  |  |         private json objJsonResult = new json(); | 
 |  |  |         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |         DataSet ds; | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 委外工序发出单流水号回车获取条码信息2(委外工序接收、工序进站接收通用) | 
 |  |  |         #region 委外工序发出单流水号回车获取条码信息2 | 
 |  |  |         [Route("Cj_StationBill/txtHBarCode_KeyDown2")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object txtHBarCode_KeyDown2(string HBarCode,string HInterID,string UserID) | 
 |  |  |         public object txtHBarCode_KeyDown2(string HBarCode,string HInterID,string UserID,string HBillType) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  | 
 |  |  |                     NewBarCode = sBillBarCode.Split(Convert.ToChar("#")); | 
 |  |  |                     sBillBarCode = NewBarCode[0]; | 
 |  |  |                 } | 
 |  |  |                 string sBillNo = sBillBarCode; | 
 |  |  |                 //截取条码类型 | 
 |  |  |                 string BillNoType = sBillNo.Substring(0, Math.Min(3, sBillNo.Length)); | 
 |  |  |                 //截取内码 | 
 |  |  |                 string BillNo = sBillNo.Substring(3, Math.Min(sBillNo.Length - 3,sBillNo.Length)); | 
 |  |  |                 string sBillNo = sBillBarCode; //条形码 | 
 |  |  |  | 
 |  |  |                 string[] arr = sBillNo.Split('&'); //以符号‘&’分割条形码 | 
 |  |  |                 string BillNo_PGD = arr[0]; //单据号 | 
 |  |  |                 string entryid_PGD = "";//子id | 
 |  |  |                 if(arr.Length > 1) | 
 |  |  |                 { | 
 |  |  |                     entryid_PGD = arr[1]; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //截取条码类型 前三位 | 
 |  |  |                 string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length)); | 
 |  |  |                 //截取条码类型2 前四位 | 
 |  |  |                 string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length)); | 
 |  |  |                 //截取内码 | 
 |  |  |                 string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length)); | 
 |  |  |                 switch (BillNoType2) | 
 |  |  |                 { | 
 |  |  |                     case "GXLZ"://工序流转派工 | 
 |  |  |                         ds = oCN.RunProcReturn("select * from h_v_Sc_ProcExchSendWorkBill  where 派工单据号 = '" + BillNo_PGD + "'" + " and HEntryID ='" + entryid_PGD + "'", "h_v_Sc_ProcExchSendWorkBill"); | 
 |  |  |                         break; | 
 |  |  |                     case "GXLX"://流转卡 | 
 |  |  |                         string sErr = ""; | 
 |  |  |                         if (oSystemParameter.ShowBill(ref sErr)) | 
 |  |  |                         { | 
 |  |  |                             if (oSystemParameter.omodel.WMS_CampanyName == "乔一") | 
 |  |  |                             { //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 | 
 |  |  |                                 if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y") | 
 |  |  |                                 { | 
 |  |  |                                     ds = oCN.RunProcReturn($"exec h_p_ProcessExchangeBillLastHProNo '{BillNo_PGD}','{UserID}','{HBillType}'", "h_v_Gy_ProcessList_GetProcNoByUser"); | 
 |  |  |                                 } | 
 |  |  |                                 else | 
 |  |  |                                 { | 
 |  |  |                                     ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                             else if (entryid_PGD != "") //如果子id不为空则加入子id过滤; | 
 |  |  |                             { | 
 |  |  |                                 ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillList  where 单据号= '" + BillNo_PGD + "'" + " and hsubid ='" + entryid_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); | 
 |  |  |                             } | 
 |  |  |                             else | 
 |  |  |                             { | 
 |  |  |                                 ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         break; | 
 |  |  |                 } | 
 |  |  |                 switch (BillNoType) | 
 |  |  |                 //得到信息 | 
 |  |  |                 { | 
 |  |  | 
 |  |  |                     case "SBM"://设备码 | 
 |  |  |                         ds = oCN.RunProcReturn("select * from h_v_Gy_EquipMentList  where HItemID = '" + BillNo + "'", "h_v_Gy_EquipMentList"); | 
 |  |  |                         break; | 
 |  |  |                     case "JYM"://员工码 | 
 |  |  |                         ds = oCN.RunProcReturn("select * from h_v_Gy_StaffList  where HItemID = '" + BillNo + "'", "h_v_Gy_StaffList"); | 
 |  |  |                     case "JYM"://员工码--检验员 | 
 |  |  |                         ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New  where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New"); | 
 |  |  |                         break; | 
 |  |  |                     case "GRM"://员工码 | 
 |  |  |                         ds = oCN.RunProcReturn("select * from h_v_Gy_StaffList  where HItemID = '" + BillNo + "'", "h_v_Gy_StaffList"); | 
 |  |  |                     case "GRM"://员工码--操作员,接收人 | 
 |  |  |                         ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New  where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New"); | 
 |  |  |                         break; | 
 |  |  |                     case "CGM"://员工码 | 
 |  |  |                         ds = oCN.RunProcReturn("select * from h_v_Gy_StaffList  where HItemID = '" + BillNo + "'", "h_v_Gy_StaffList"); | 
 |  |  |                         break; | 
 |  |  |                     //case "CGM"://员工码 | 
 |  |  |                     //    ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New  where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New"); | 
 |  |  |                     //    break; | 
 |  |  |                     case "HWH"://仓库码 | 
 |  |  |                         ds = oCN.RunProcReturn("select * from h_v_Gy_WareHouseList  where 条码编号 = '" + HBarCode + "'", "h_v_Gy_WareHouseList"); | 
 |  |  |                         break; | 
 |  |  | 
 |  |  |                         string sReturn = ""; | 
 |  |  |                         if (oSystemParameter.ShowBill(ref sReturn) == true) | 
 |  |  |                         { | 
 |  |  |                             //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 | 
 |  |  |                             if (oSystemParameter.omodel.MES_StationBill_ProcNoByUser == "Y") | 
 |  |  |                             if(HBillType == "In") | 
 |  |  |                             { | 
 |  |  |                                 ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNoByUser  where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 用户编码 = '" + UserID + "'", "h_v_Gy_ProcessList_GetProcNoByUser"); | 
 |  |  |                                 //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 | 
 |  |  |                                 if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y") | 
 |  |  |                                 { | 
 |  |  |                                     ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_ProcessList_GetProcNoByUser where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 用户编码 = '" + UserID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNoByUser"); | 
 |  |  |                                 } | 
 |  |  |                                 else | 
 |  |  |                                 { | 
 |  |  |                                     ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo  where HItemID = '" + BillNo + "' and HInterID = '" +  | 
 |  |  |                                       HInterID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNo"); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                             else | 
 |  |  |                             else if(HBillType == "Out") | 
 |  |  |                             { | 
 |  |  |                                 ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo  where HItemID = '" + BillNo + "' and HInterID = '" +  | 
 |  |  |                                   HInterID + "'", "h_v_Gy_ProcessList_GetProcNo"); | 
 |  |  |                                 //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 | 
 |  |  |                                 if (oSystemParameter.omodel.MES_StationOutBill_ShowUSERProcess == "Y") | 
 |  |  |                                 { | 
 |  |  |                                     ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_ProcessList_GetProcNoByUser where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 用户编码 = '" + UserID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNoByUser"); | 
 |  |  |                                 } | 
 |  |  |                                 else | 
 |  |  |                                 { | 
 |  |  |                                     ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo  where HItemID = '" + BillNo + "' and HInterID = '" + | 
 |  |  |                                       HInterID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNo"); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         break; | 
 |  |  |                     case "WLM"://物料码 | 
 |  |  |                         ds = oCN.RunProcReturn("select * from h_v_Gy_MaterialList  where HItemID = '" + BillNo + "'", "h_v_Gy_MaterialList"); | 
 |  |  |                         break; | 
 |  |  |                     case "GXL"://流转卡 | 
 |  |  |                         ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 单据号= '" + sBillNo + "'", "h_v_Sc_ProcessExchangeBillList"); | 
 |  |  |                         break; | 
 |  |  |                         break;                     | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //写入信息 | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 指引卡扫码获取信息 | 
 |  |  |         [Route("MES_SampleRecordBill_PDA/SampleRecordBillHBarCode_KeyDown")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object SampleRecordBillHBarCode_KeyDown(string HBarCode, string HInterID, string UserID, string HBillType) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (HBarCode == null || HBarCode.Equals("")) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "空白码,条形码不能为空!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 //拆分条形码 | 
 |  |  |                 string sBillBarCode = HBarCode.Trim(); | 
 |  |  |                 string[] NewBarCode; | 
 |  |  |                 if (sBillBarCode.CompareTo("#") > 0) | 
 |  |  |                 { | 
 |  |  |                     NewBarCode = sBillBarCode.Split(Convert.ToChar("#")); | 
 |  |  |                     sBillBarCode = NewBarCode[0]; | 
 |  |  |                 } | 
 |  |  |                 string sBillNo = sBillBarCode; //条形码 | 
 |  |  |  | 
 |  |  |                 string[] arr = sBillNo.Split('&'); //以符号‘&’分割条形码 | 
 |  |  |                 string BillNo_PGD = arr[0]; //单据号 | 
 |  |  |                 string entryid_PGD = "";//子id | 
 |  |  |                 if (arr.Length > 1) | 
 |  |  |                 { | 
 |  |  |                     entryid_PGD = arr[1]; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |              | 
 |  |  |                 //截取条码类型2 前四位 | 
 |  |  |                 string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length)); | 
 |  |  |                | 
 |  |  |                 switch (BillNoType2) | 
 |  |  |                 { | 
 |  |  |                     case "GXLX"://流转卡 | 
 |  |  |                         string sErr = ""; | 
 |  |  |                         if (oSystemParameter.ShowBill(ref sErr)) | 
 |  |  |                         { | 
 |  |  |                             if (oSystemParameter.omodel.WMS_CampanyName == "乔一") | 
 |  |  |                             { //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 | 
 |  |  |                                 ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); | 
 |  |  |                             } | 
 |  |  |                             else | 
 |  |  |                             { | 
 |  |  |                                 ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         break; | 
 |  |  |                     default: | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "条码错误!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 | 
 |  |  |                | 
 |  |  |                 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; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region  试样记录 查询列表 | 
 |  |  |         [Route("MES_SampleRecordBill_PDA/SampleRecordList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object SampleRecordList(string sWhere,string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //判断是否有编辑权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("QC_TestSampleCheckBill_Query", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "无查询权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 string sql = "select * from  h_v_QC_TestSampleCheckBillList where 1=1  " + sWhere + " order by 日期 "; | 
 |  |  |  | 
 |  |  |                 ds = oCN.RunProcReturn(sql, "h_v_QC_TestSampleCheckBillList"); | 
 |  |  |  | 
 |  |  |                 DataTable dt = ds.Tables[0]; | 
 |  |  |  | 
 |  |  |                 //获取列名 | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 //添加列名 | 
 |  |  |                 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 = dt; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 试样记录新增保存 | 
 |  |  |         [Route("MES_SampleRecordBill_PDA/SampleRecordAddBill")] | 
 |  |  |         [HttpPost] | 
 |  |  |         public object SampleRecordAddBill([FromBody] JObject oMain) | 
 |  |  |         { | 
 |  |  |             var _value = oMain["oMain"].ToString(); | 
 |  |  |             string msg1 = _value.ToString(); | 
 |  |  |             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //反序列化 | 
 |  |  |                 string msg2 = "[" + sArray[0].ToString() + "]"; | 
 |  |  |                 string user = sArray[1].ToString();//用户名 | 
 |  |  |                 string OperationType = sArray[2].ToString();//类型 | 
 |  |  |  | 
 |  |  |                 //判断是否有编辑权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("QC_TestSampleCheckBill_Edit", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "无编辑权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 List<Model.ClsQC_TestSampleCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_TestSampleCheckBillMain>>(msg2); | 
 |  |  |                 string BillType = "7510"; | 
 |  |  |                 string HBillSubType = "7510"; | 
 |  |  |                 string eventType = list[0].eventType; | 
 |  |  |                 long HInterID = list[0].HInterID;//递入type得到的单据ID | 
 |  |  |                 string HBillNo = list[0].HBillNo;//递入type得到的单据号 | 
 |  |  |                 int HBillStatus = 1; | 
 |  |  |                 string HMaker = user;//制单人 | 
 |  |  |                 int HYear = DateTime.Now.Year; | 
 |  |  |                 double HPeriod = DateTime.Now.Month; | 
 |  |  |                 long HSourceID = list[0].HSourceID;//生产资源 | 
 |  |  |                 long HICMOInterID = list[0].HICMOInterID;//任务单ID | 
 |  |  |                 string HICMOBillNo = list[0].HICMOBillNo;//任务单 | 
 |  |  |                 string HProcExchBillNo = list[0].HProcExchBillNo;//指引卡 | 
 |  |  |                 long HMaterID = list[0].HMaterID;//产品ID | 
 |  |  |                 long HUnitID = list[0].HUnitID;//计量单位 | 
 |  |  |                 long HProcID = list[0].HProcID;//工序ID | 
 |  |  |                 long HPRDORGID = list[0].HPRDORGID;//组织ID | 
 |  |  |                 long HLastResult = list[0].HLastResult;//试样结论 | 
 |  |  |  | 
 |  |  |                 //单据完整性判断 | 
 |  |  |                 if (HProcExchBillNo =="") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "流转卡没有选择!请扫描条形码或输入条形码后回车"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 var num = 0; | 
 |  |  |  | 
 |  |  |                 oCN.BeginTran(); | 
 |  |  |                 if ("Add".Equals(eventType)) | 
 |  |  |                 { | 
 |  |  |                     num = 1; | 
 |  |  |  | 
 |  |  |                     ds = oCN.RunProcReturn("select * from QC_TestSampleCheckBillMain where HBillNo='" + HBillNo + "'", "QC_TestSampleCheckBillMain"); | 
 |  |  |                     if (ds.Tables[0].Rows.Count == 1) | 
 |  |  |                     { | 
 |  |  |                         oCN.RollBack(); | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据号重复!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     oCN.RunProc("Insert Into QC_TestSampleCheckBillMain " + | 
 |  |  |                     "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + | 
 |  |  |                     ",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOBillNo,HProcExchBillNo,HUnitID" + | 
 |  |  |                     ",HPRDORGID,HLastResult)" + | 
 |  |  |                     " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + | 
 |  |  |                     "," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'," + HUnitID + | 
 |  |  |                     "," + HPRDORGID + ",'" + HLastResult + "') "); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     oCN.RollBack(); | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "操作类型无效!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 oCN.Commit(); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "新增单据成功!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 试样记录 审核/反审核功能 | 
 |  |  |         [Route("MES_SampleRecordBill_PDA/CheckSampleRecordBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object CheckSampleRecordBill(string HInterID, int Type, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //判断是否有删除权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("QC_TestSampleCheckBill_Check", 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; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 BillOld.MvarItemKey = "QC_TestSampleCheckBillMain"; | 
 |  |  |                 oCN.BeginTran();//开始事务 | 
 |  |  |  | 
 |  |  |                 //Type 1 审核  2  反审核 | 
 |  |  |                 if (Type == 1) | 
 |  |  |                 { | 
 |  |  |                     //判断单据是否已经审核 | 
 |  |  |                     DataSet ds; | 
 |  |  |                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
 |  |  |                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已审核!不需要再审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     //审核单据 | 
 |  |  |                     oCN.RunProc(" Update " + BillOld.MvarItemKey + " set HChecker='" + user + "',HCheckDate=getdate(),HBillStatus=2 Where HInterID=" + HInterID.ToString()); | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     //判断单据是否已经反审核 | 
 |  |  |                     DataSet ds; | 
 |  |  |                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
 |  |  |                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已反审核!不需要再反审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     //反审核单据 | 
 |  |  |                     oCN.RunProc(" Update " + BillOld.MvarItemKey + " set HChecker='',HCheckDate=null,HBillStatus=1 Where HInterID=" + HInterID.ToString()); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 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("MES_SampleRecordBill_PDA/DelSampleRecordBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object DelSampleRecordBill(Int64 lngBillKey, string user) | 
 |  |  |         { | 
 |  |  |             DataSet ds; | 
 |  |  |             string ModRightNameCheck = "QC_TestSampleCheckBill_Detete"; | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //删除权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "删除失败!无权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |                 if (lngBillKey == 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据id为空!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 oCN.BeginTran();//开始事务 | 
 |  |  |                 ds = oCN.RunProcReturn("select * from QC_TestSampleCheckBillMain where HInterID=" + lngBillKey, "QC_TestSampleCheckBillMain"); | 
 |  |  |                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "没有数据,无法删除!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; ; | 
 |  |  |                 } | 
 |  |  |                 string HChecker = Convert.ToString(ds.Tables[0].Rows[0]["HChecker"]); | 
 |  |  |                 if (HChecker != "") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据已经审核,不能删除!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 | 
 |  |  |                 oCN.RunProc("delete from QC_TestSampleCheckBillMain where HInterID=" + lngBillKey); | 
 |  |  |  | 
 |  |  |                 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("ColorRecord/ColorRecordList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object ColorRecordList(string sWhere,string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                  | 
 |  |  |                 //判断是否有编辑权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("QC_FirstPieceCheckBill_Query", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "无查询权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 string sql = "select * from  h_v_QC_FirstPieceCheckBillMainList where 1=1  " + sWhere + " order by 日期 "; | 
 |  |  |  | 
 |  |  |                 ds = oCN.RunProcReturn(sql, "h_v_QC_FirstPieceCheckBillMainList"); | 
 |  |  |  | 
 |  |  |                 DataTable dt = ds.Tables[0]; | 
 |  |  |  | 
 |  |  |                 //获取列名 | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 //添加列名 | 
 |  |  |                 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 = dt; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 对色记录新增保存 | 
 |  |  |         [Route("MES_SampleRecordBill_PDA/ColorRecordAddBill")] | 
 |  |  |         [HttpPost] | 
 |  |  |         public object ColorRecordAddBill([FromBody] JObject oMain) | 
 |  |  |         { | 
 |  |  |             var _value = oMain["oMain"].ToString(); | 
 |  |  |             string msg1 = _value.ToString(); | 
 |  |  |             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //反序列化 | 
 |  |  |                 string msg2 = "[" + sArray[0].ToString() + "]"; | 
 |  |  |                 string user = sArray[1].ToString();//用户名 | 
 |  |  |                 string OperationType = sArray[2].ToString();//类型 | 
 |  |  |  | 
 |  |  |                 //判断是否有编辑权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("QC_FirstPieceCheckBill_Edit", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "无编辑权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 List<Model.ClsQC_FirstPieceCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillMain>>(msg2); | 
 |  |  |                 string BillType = "7505"; | 
 |  |  |                 string HBillSubType = "7505"; | 
 |  |  |                 long HInterID = list[0].HInterID;//递入type得到的单据ID | 
 |  |  |                 string HBillNo = list[0].HBillNo;//递入type得到的单据号 | 
 |  |  |                 int HBillStatus = 1; | 
 |  |  |                 string HMaker = user;//制单人 | 
 |  |  |                 int HYear = DateTime.Now.Year; | 
 |  |  |                 double HPeriod = DateTime.Now.Month; | 
 |  |  |                 long HSourceID = list[0].HSourceID;//生产资源 | 
 |  |  |                 long HICMOInterID = list[0].HICMOInterID;//任务单ID | 
 |  |  |                 string HICMOBillNo = list[0].HICMOBillNo;//任务单 | 
 |  |  |                 string HProcExchBillNo = list[0].HProcExchBillNo;//指引卡 | 
 |  |  |                 long HMaterID = list[0].HMaterID;//产品ID | 
 |  |  |                 //long HUnitID = list[0].HUnitID;//计量单位 | 
 |  |  |                 long HProcID = list[0].HProcID;//工序ID | 
 |  |  |                 long HPRDORGID = list[0].HPRDORGID;//组织ID | 
 |  |  |                 bool HLastResult = list[0].HLastResult;//试样结论 | 
 |  |  |  | 
 |  |  |                 //单据完整性判断 | 
 |  |  |                 if (HProcExchBillNo == "") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "流转卡没有选择!请扫描条形码或输入条形码后回车"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 var num = 0; | 
 |  |  |  | 
 |  |  |                 oCN.BeginTran(); | 
 |  |  |                 if (OperationType=="1") | 
 |  |  |                 { | 
 |  |  |                     num = 1; | 
 |  |  |  | 
 |  |  |                     ds = oCN.RunProcReturn("select * from QC_FirstPieceCheckBillMain where HBillNo='" + HBillNo + "'", "QC_FirstPieceCheckBillMain"); | 
 |  |  |                     if (ds.Tables[0].Rows.Count == 1) | 
 |  |  |                     { | 
 |  |  |                         oCN.RollBack(); | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据号重复!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     oCN.RunProc("Insert Into QC_FirstPieceCheckBillMain " + | 
 |  |  |                     "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + | 
 |  |  |                     ",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOBillNo,HProcExchBillNo" + | 
 |  |  |                     ",HPRDORGID,HLastResult)" + | 
 |  |  |                     " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + | 
 |  |  |                     "," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'" +   | 
 |  |  |                     "," + HPRDORGID + ",'" + HLastResult + "') "); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     oCN.RollBack(); | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "操作类型无效!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 oCN.Commit(); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "新增单据成功!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 对色记录 审核/反审核功能 | 
 |  |  |         [Route("ColorRecord/CheckColorRecordBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object CheckColorRecordBill(string HInterID, int Type, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //判断是否有删除权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("QC_FirstPieceCheckBill_Query", 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; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 BillOld.MvarItemKey = "QC_FirstPieceCheckBillMain"; | 
 |  |  |                 oCN.BeginTran();//开始事务 | 
 |  |  |  | 
 |  |  |                 //Type 1 审核  2  反审核 | 
 |  |  |                 if (Type == 1) | 
 |  |  |                 { | 
 |  |  |                     //判断单据是否已经审核 | 
 |  |  |                     DataSet ds; | 
 |  |  |                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
 |  |  |                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已审核!不需要再审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     //审核单据 | 
 |  |  |                     oCN.RunProc(" Update " + BillOld.MvarItemKey + " set HChecker='" + user + "',HCheckDate=getdate(),HBillStatus=2 Where HInterID=" + HInterID.ToString()); | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     //判断单据是否已经反审核 | 
 |  |  |                     DataSet ds; | 
 |  |  |                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
 |  |  |                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已反审核!不需要再反审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     //反审核单据 | 
 |  |  |                     oCN.RunProc(" Update " + BillOld.MvarItemKey + " set HChecker='',HCheckDate=null,HBillStatus=1 Where HInterID=" + HInterID.ToString()); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 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("ColorRecord/DelColorRecordBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object DelColorRecordBill(Int64 lngBillKey, string user) | 
 |  |  |         { | 
 |  |  |             DataSet ds; | 
 |  |  |             string ModRightNameCheck = "QC_FirstPieceCheckBill_Delete"; | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //删除权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "删除失败!无权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |                 if (lngBillKey == 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据id为空!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 oCN.BeginTran();//开始事务 | 
 |  |  |                 ds = oCN.RunProcReturn("select * from QC_FirstPieceCheckBillMain where HInterID=" + lngBillKey, "QC_FirstPieceCheckBillMain"); | 
 |  |  |                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "没有数据,无法删除!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; ; | 
 |  |  |                 } | 
 |  |  |                 string HChecker = Convert.ToString(ds.Tables[0].Rows[0]["HChecker"]); | 
 |  |  |                 if (HChecker != "") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据已经审核,不能删除!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 oCN.RunProc("delete from QC_FirstPieceCheckBillMain where HInterID=" + lngBillKey); | 
 |  |  |  | 
 |  |  |                 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("Sc_StationInBill/autoGetProcNo")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object autoGetProcNo(string HUserID, string HInterID) | 
 |  |  |         public object autoGetProcNo(string HUserID, string HInterID, string BillType) | 
 |  |  |         { | 
 |  |  |             string sReturn = ""; | 
 |  |  |             if (oSystemParameter.ShowBill(ref sReturn) == true) | 
 |  |  |             { | 
 |  |  |                 //系统参数是否为自动匹配流水号,N为手动输入,Y为自动匹配 | 
 |  |  |                 if (oSystemParameter.omodel.MES_StationBill_ProcNo == "Y") | 
 |  |  |                 if(BillType == "In")//工序进站接收单 | 
 |  |  |                 { | 
 |  |  |                     try | 
 |  |  |                     //系统参数是否为自动匹配流水号,N为手动输入,Y为自动匹配 | 
 |  |  |                     if (oSystemParameter.omodel.MES_StationInBill_AutoFindSNO == "Y") | 
 |  |  |                     { | 
 |  |  |                         if (HUserID == null || HUserID.Equals("")) | 
 |  |  |                         try | 
 |  |  |                         { | 
 |  |  |                             if (HUserID == null || HUserID.Equals("")) | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = "用户编码不能为空!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                             //得到信息                      | 
 |  |  |                             ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_StationBill_autoGetProcNo  where HInterID = '" + HInterID + "' and 用户编码 ='" + HUserID + "'" + " and 累计进站数量 < 计划数量 and 下道流转工序<>'转' and 委外标记=0 order by 序号 asc", "h_v_Sc_StationBill_autoGetProcNo"); | 
 |  |  |                             //写入信息 | 
 |  |  |                             if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = "未查询到工序信息!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                             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 = "用户编码不能为空!"; | 
 |  |  |                             objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         //得到信息 | 
 |  |  |                         ds = oCN.RunProcReturn("select  * from h_v_Sc_StationBill_autoGetProcNo  where HInterID = '" + HInterID + "' and 用户编码 ='" + HUserID + "'", "h_v_Sc_StationBill_autoGetProcNo"); | 
 |  |  |                         //写入信息 | 
 |  |  |                         if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "未查询到工序信息!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         objJsonResult.code = "1"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.Message = "Sucess!"; | 
 |  |  |                         objJsonResult.data = ds.Tables[0]; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     catch (Exception e) | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         objJsonResult.Message = "手动输入模式"; | 
 |  |  |                         objJsonResult.data = ""; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else if(BillType == "Out")//工序出站汇报单 | 
 |  |  |                 { | 
 |  |  |                     //系统参数是否为自动匹配流水号,N为手动输入,Y为自动匹配 | 
 |  |  |                     if (oSystemParameter.omodel.MES_StationOutBill_AutoFindSNO == "Y") | 
 |  |  |                     { | 
 |  |  |                         try | 
 |  |  |                         { | 
 |  |  |                             if (HUserID == null || HUserID.Equals("")) | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = "用户编码不能为空!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                             //得到信息 | 
 |  |  |                             ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_StationBill_autoGetProcNo  where HInterID = '" + HInterID + "' and 用户编码 ='" + HUserID + "'" + " and 累计出站数量 < 计划数量 and 下道流转工序<>'转' and 委外标记=0 order by 序号 asc", "h_v_Sc_StationBill_autoGetProcNo"); | 
 |  |  |                             //写入信息 | 
 |  |  |                             if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = "未查询到工序信息!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                             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; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "手动输入模式"; | 
 |  |  |                         objJsonResult.data = ""; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "手动输入模式"; | 
 |  |  |                     objJsonResult.data = ""; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                     return 0; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             else | 
 |  |  |             { | 
 |  |  | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |              | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 指引卡变更单 新增保存 | 
 |  |  |         [Route("MES_Sc_ProcessExchangeBillMain_Note_PDA/ProcessExchangeBillMain_NoteAddBill")] | 
 |  |  |         [HttpPost] | 
 |  |  |         public object ProcessExchangeBillMain_NoteAddBill([FromBody] JObject oMain) | 
 |  |  |         { | 
 |  |  |             var _value = oMain["oMain"].ToString(); | 
 |  |  |             string msg1 = _value.ToString(); | 
 |  |  |             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //反序列化 | 
 |  |  |                 string msg2 = "[" + sArray[0].ToString() + "]"; | 
 |  |  |                 string user = sArray[1].ToString();//用户名 | 
 |  |  |                 string OperationType = sArray[2].ToString();//类型 | 
 |  |  |  | 
 |  |  |                 //判断是否有编辑权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Change", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "无变更权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 List<Model.Sc_ProcessExchangeBillMain_Note> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.Sc_ProcessExchangeBillMain_Note>>(msg2); | 
 |  |  |  | 
 |  |  |                 long HSouceID_Original = list[0].HSouceID_Original; | 
 |  |  |                 long HSouceID_Now = list[0].HSouceID_Now; | 
 |  |  |                 long HOrgID = list[0].HOrgID;//组织ID | 
 |  |  |                 String HICMOBillNo = list[0].HICMOBillNo;//任务单 | 
 |  |  |                 long HICMOInterID = list[0].HICMOInterID;//任务单ID | 
 |  |  |                 long HProcExchInterID = list[0].HProcExchInterID; | 
 |  |  |                 long HProcExchEntryID = list[0].HProcExchEntryID; | 
 |  |  |                 String HProcExchBillNo = list[0].HProcExchBillNo; | 
 |  |  |                 String HBillNo_Note = list[0].HBillNo_Note;//指引卡 | 
 |  |  |                 long HMaterID = list[0].HMaterID;//产品ID | 
 |  |  |                 long HUnitID = list[0].HUnitID;//计量单位 | 
 |  |  |                 long HProcID = list[0].HProcID;//工序ID | 
 |  |  |                 string HMaker = user;//制单人 | 
 |  |  |                 string HMakeDate = list[0].HMakeDate;//制单日期 | 
 |  |  |  | 
 |  |  |                 //单据完整性判断 | 
 |  |  |                 if (HProcExchBillNo == "") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "流转卡没有选择!请扫描条形码或输入条形码后回车"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 oCN.BeginTran(); | 
 |  |  |                 if (OperationType == "1") | 
 |  |  |                 { | 
 |  |  |                     oCN.RunProc("Insert Into Sc_ProcessExchangeBillMain_Note " + | 
 |  |  |                     "(HBillNo_Note,HSouceID_Original,HSouceID_Now,HOrgID,HICMOInterID,HICMOBillNo,HProcExchBillNo,HProcExchInterID" + | 
 |  |  |                     ",HProcExchEntryID,HMaterID,HUnitID,HProcID,HMaker,HMakeDate)" + | 
 |  |  |                     " values('" + HBillNo_Note + "','" + HSouceID_Original + "'," + HSouceID_Now + ",'" + HOrgID + "'," + HICMOInterID + ",'"+ HICMOBillNo + "','" + HProcExchBillNo + "' ," + HProcExchInterID +  | 
 |  |  |                     "," + HProcExchEntryID + ",'" + HMaterID + "','" + HUnitID + "'," + HProcID + ",'" + HMaker + "','" + HMakeDate + "')" ); | 
 |  |  |  | 
 |  |  |                     oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=" + HSouceID_Now + " where HInterID=" + HProcExchInterID + " and HEntryID=" + HProcExchEntryID); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     oCN.RollBack(); | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "操作类型无效!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     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.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         #region 工序委外发出单关闭/反关闭功能 | 
 |  |  |         [Route("Cj_StationEntrustInBill/CloseCj_StationEntrustInBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object CloseCj_StationEntrustInBill(string HInterID, int Type, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //判断是否有删除权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_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; | 
 |  |  |                 BillOld.MvarItemKey = "Sc_StationInBillMain"; | 
 |  |  |                 oCN.BeginTran();//开始事务 | 
 |  |  |  | 
 |  |  |                 //Type 1 关闭  2  反关闭 | 
 |  |  |                 if (Type == 1) | 
 |  |  |                 { | 
 |  |  |                     //判断单据是否已经关闭 | 
 |  |  |                     DataSet ds; | 
 |  |  |                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
 |  |  |                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已关闭!不需要再关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     //关闭单据 | 
 |  |  |                     if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     //判断单据是否已经反关闭 | 
 |  |  |                     DataSet ds; | 
 |  |  |                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
 |  |  |                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
 |  |  |                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已反关闭!不需要再反关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     //反关闭单据 | 
 |  |  |                     if (!BillOld.CancelClose(Int64.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 根据id删除委外发出单 | 
 |  |  |         [Route("Cj_StationEntrustInBill/del_StationEntrustInBill")] | 
 |  |  |         [HttpGet] |