|  |  | 
 |  |  | using Newtonsoft.Json.Linq; | 
 |  |  | using Pub_Class; | 
 |  |  | using System; | 
 |  |  | using System.Collections.Generic; | 
 |  |  | using System.Data; | 
 |  |  | 
 |  |  | { | 
 |  |  |     public class Sc_MESBeginWorkBillController : ApiController | 
 |  |  |     { | 
 |  |  |         public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更) | 
 |  |  |  | 
 |  |  |         private json objJsonResult = new json(); | 
 |  |  |         public DataSet ds = new DataSet(); | 
 |  |  |         public WebServer webserver = new WebServer(); | 
 |  |  |         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |         private WebS.WebService1 oWebs = new WebS.WebService1(); | 
 |  |  |         //获取系统参数 | 
 |  |  |         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
 |  |  |  | 
 |  |  |         public DAL.ClsSc_MESBeginWorkBill BillNew = new DAL.ClsSc_MESBeginWorkBill();   //对应单据类 | 
 |  |  |         public DAL.ClsSc_MESBeginWorkBill BillOld = new DAL.ClsSc_MESBeginWorkBill();   //对应单据类 | 
 |  |  |  | 
 |  |  |         public DAL.ClsSc_ICMOBillWorkQtyStatus_Tmp BillNew1 = new DAL.ClsSc_ICMOBillWorkQtyStatus_Tmp();   //对应单据类 | 
 |  |  |         public DAL.ClsSc_ICMOBillWorkQtyStatus_Tmp BillOld1 = new DAL.ClsSc_ICMOBillWorkQtyStatus_Tmp();   //对应单据类 | 
 |  |  |  | 
 |  |  |         #region 开工单 | 
 |  |  |  | 
 |  |  | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Sc_MESBeginWorkBill/DeltetMESBeginWorkBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object DeltetMESBeginWorkBill(string HInterID) | 
 |  |  |         public object DeltetMESBeginWorkBill(string HInterID,string UserName) | 
 |  |  |         { | 
 |  |  |             DBUtility.ClsPub.CurUserName = UserName; | 
 |  |  |             //编辑权限 | 
 |  |  |             //if (!DBUtility.ClsPub.Security_Log("Sc_MESBeginWorkBill_Delete", 1, true, DBUtility.ClsPub.CurUserName)) | 
 |  |  |             //{ | 
 |  |  |             //    objJsonResult.code = "0"; | 
 |  |  |             //    objJsonResult.count = 0; | 
 |  |  |             //    objJsonResult.Message = "无删除权限!"; | 
 |  |  |             //    objJsonResult.data = null; | 
 |  |  |             //    return objJsonResult; | 
 |  |  |             //} | 
 |  |  |             if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Delete", 1, false, DBUtility.ClsPub.CurUserName)) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "无删除权限!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             Int64 lngBillKey = 0; | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region [开工单审核、反审核] | 
 |  |  |         /// <summary> | 
 |  |  |         ///  | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="HInterID">单据ID</param> | 
 |  |  |         /// <param name="IsAudit">审核(0),反审核(1)</param> | 
 |  |  |         /// <param name="CurUserName">审核人</param> | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Sc_MESBeginWorkBill/AuditProcessReportList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName) | 
 |  |  |         { | 
 |  |  |             string ModRightNameCheck = "MES_MESBeginWorkBill_Check";  | 
 |  |  |             DBUtility.ClsPub.CurUserName = CurUserName; | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //审核权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "审核失败!无权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 if (HInterID <= 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "HInterID小于0!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 Int64 lngBillKey = 0; | 
 |  |  |                 lngBillKey = DBUtility.ClsPub.isLong(HInterID); | 
 |  |  |                 DLL.ClsSc_MESBeginWorkBill oBill = new DLL.ClsSc_MESBeginWorkBill(); | 
 |  |  |                 //查看是否已审核,关闭,作废 | 
 |  |  |                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
 |  |  |                 { | 
 |  |  |                     if (oBill.omodel.HCloseMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据已关闭!不能再次审核!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (oBill.omodel.HDeleteMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据已作废!不能再次审核!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == 0)  //审核判断 | 
 |  |  |                     { | 
 |  |  |                         if (oBill.omodel.HChecker.Trim() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已审核!不能再次审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == 1) //反审核判断 | 
 |  |  |                     { | 
 |  |  |                         if (oBill.omodel.HChecker.Trim() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据未审核!不需要反审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 if (IsAudit == 0) //审核提交 | 
 |  |  |                 { | 
 |  |  |                     //审核提交 | 
 |  |  |                     if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "1"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.Message = "审核成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 if (IsAudit == 1) //反审核提交 | 
 |  |  |                 { | 
 |  |  |                     //反审核提交AbandonCheck | 
 |  |  |                     if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "1"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.Message = "反审核成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |         [HttpPost] | 
 |  |  |         public object SaveGetMESBeginWorkFrom([FromBody] JObject msg) | 
 |  |  |         { | 
 |  |  |          | 
 |  |  |             var _value = msg["msg"].ToString(); | 
 |  |  |             string msg1 = _value.ToString(); | 
 |  |  |             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
 |  |  |             string msg2 = sArray[0].ToString(); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             string UserName = sArray[1].ToString(); | 
 |  |  |             string refSav = sArray[2].ToString(); | 
 |  |  |             DBUtility.ClsPub.CurUserName = UserName; | 
 |  |  |             //保存权限 | 
 |  |  |             if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Edit", 1, false, DBUtility.ClsPub.CurUserName)) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "无保存权限!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             //判断会计期是否合理 | 
 |  |  |             string s = ""; | 
 |  |  |             int sYear = 0; | 
 |  |  |             int sPeriod = 0; | 
 |  |  |             if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DateTime.Now, ref sYear, ref sPeriod, ref s) == false) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = s; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         | 
 |  |  |             ListModels oListModels = new ListModels(); | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  | 
 |  |  |                 lsmain = oListModels.getObjectByJson_Gy_MESBeginWorkFrom(msg2); | 
 |  |  |                 foreach (Models.ClsSc_MESBeginWorkBillMain oItem in lsmain) | 
 |  |  |                 { | 
 |  |  |                     if (refSav == "Add") | 
 |  |  |                     { | 
 |  |  |                         //单据号是否重复 | 
 |  |  |                         if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID)) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据号重复!不允许保存!"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if (refSav == "Update") | 
 |  |  |                     { | 
 |  |  |                         if (BillOld.ShowBill(oItem.HInterID, ref s) == false) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "此单据有误!"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         //判断是否可编辑 | 
 |  |  |                         if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "此单据已经被审核,不允许修改!"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         if (BillOld.omodel.HBillStatus > 1) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s)) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = s + ",不允许修改"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     DBUtility.ClsPub.CurUserName =oItem.HMaker; | 
 |  |  |                     oItem.HBillType = "3787"; | 
 |  |  |                     oItem.HBillSubType = "3787"; | 
 |  |  |                     oItem.HBillStatus = 1;   //单据状态(1未审,2审核通过,3关闭,4作废,5审核退回,6审核中,7已阅,8已回复,9结案,10验证,11下达,12开工,13申请审批,15申请检验,16 判定合格,17判定不合格)      | 
 |  |  | 
 |  |  |                 bool bResult; | 
 |  |  |                 if (oBill.omodel.HInterID == 0) | 
 |  |  |                 { | 
 |  |  |                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     | 
 |  |  |                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     if (bResult)  | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //返回主ID | 
 |  |  |                         //系统参数  自动审核 | 
 |  |  |                         string sReturn = ""; | 
 |  |  |                         if (oSystemParameter.ShowBill(ref sReturn) == true) | 
 |  |  |                         { | 
 |  |  |                             if (oSystemParameter.omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck == "Y") //系统参数  自动审核  | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.Verify = "Y"; | 
 |  |  |                             } | 
 |  |  |                             else | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.Verify = "N"; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     objJsonResult.Verify = "N"; | 
 |  |  |                 } | 
 |  |  |                 if (bResult) | 
 |  |  |                 { | 
 |  |  |                     | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "保存成功!"; | 
 |  |  | 
 |  |  |  | 
 |  |  |         public static DataSet Sc_GetMESProductReportBillList(string sWhere) | 
 |  |  |         { | 
 |  |  |             string sql = string.Format(@"select a.HInterID, a.HBillNo,a.HDate,a.HBillType,a.HMaterID,m.HNumber HMaterCode,m.HName HMaterName,m.HModel HMaterSpec  | 
 |  |  |             string sql = string.Format(@"select a.HInterID, a.HBillNo,a.HDate,a.HBillType,a.HBillStatus,a.HMaterID,m.HNumber HMaterCode,m.HName HMaterName,m.HModel HMaterSpec  | 
 |  |  |                                    ,a.HSourceID,s.HNumber HSourceCode,s.HName HSourceName,a.HGroupID,g.HNumber HGroupCode,g.HName HGroupName | 
 |  |  |                                    ,a.HWorkManID,e.HName HWorkManName,a.HMaker,a.HMakeDate, a.HReportType   | 
 |  |  |                                    ,a.HQty,a.HICMOBillNo,a.HICMOInterID,a.HICMOEntryID  | 
 |  |  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = new SQLHelper.ClsCN().RunProcReturn("select isnull(sum(HQty),0) HQty,isnull(sum(HBadQty),0) HBadQty,isnull(sum(HWasterQty),0) HWasterQty   from Sc_ICMOBillWorkQtyStatus_Tmp" + sWhere, "Sc_ICMOBillWorkQtyStatus_Tmp"); | 
 |  |  |                 ds = new SQLHelper.ClsCN().RunProcReturn("select isnull(sum(HQty),0) HQty,isnull(sum(HBadCount),0) HBadQty,isnull(sum(HWasterQty),0) HWasterQty   from Sc_ICMOBillWorkQtyStatus_Tmp with (nolock)" + sWhere, "Sc_ICMOBillWorkQtyStatus_Tmp"); | 
 |  |  |                 if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  | 
 |  |  |             string msg1 = _value.ToString(); | 
 |  |  |             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
 |  |  |             string msg2 = sArray[0].ToString(); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             string refSav = sArray[1].ToString(); | 
 |  |  |             string s = ""; | 
 |  |  |             ListModels oListModels = new ListModels(); | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  | 
 |  |  |                 lsmain = oListModels.getObjectByJson_Gy_MESProductReportFrom(msg2); | 
 |  |  |                 foreach (Models.ClsSc_ICMOBillWorkQtyStatus_Tmp oItem in lsmain) | 
 |  |  |                 { | 
 |  |  |                     if (refSav == "Add") | 
 |  |  |                     { | 
 |  |  |                         //单据号是否重复 | 
 |  |  |                         if (BillNew1.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld1.omodel.HInterID)) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据号重复!不允许保存!"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if (refSav == "Update") | 
 |  |  |                     { | 
 |  |  |                         if (BillOld1.ShowBill(oItem.HInterID, ref s) == false) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "此单据有误!"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         //判断是否可编辑 | 
 |  |  |                         if (BillOld1.omodel.HChecker != "" && BillOld1.omodel.HChecker != null) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "此单据已经被审核,不允许修改!"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         if (BillOld1.omodel.HBillStatus > 1) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld1, ref s)) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = s + ",不允许修改"; | 
 |  |  |                             objJsonResult.data = 1; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     oItem.HBillType = "3724"; | 
 |  |  |                     oItem.HBillSubType = "3724"; | 
 |  |  |                     oItem.HReportType = 3;//(1条码扫描,2机器汇报,3手工录入) | 
 |  |  | 
 |  |  |                 bool bResult; | 
 |  |  |                 if (oBill.omodel.HInterID == 0) | 
 |  |  |                 { | 
 |  |  |                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     if (bResult) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //返回主ID | 
 |  |  |                         //系统参数  自动审核 | 
 |  |  |                         string sReturn = ""; | 
 |  |  |                         if (oSystemParameter.ShowBill(ref sReturn) == true) | 
 |  |  |                         { | 
 |  |  |                             if (oSystemParameter.omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck == "Y") //系统参数  自动审核  | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.Verify = "Y"; | 
 |  |  |                             } | 
 |  |  |                             else | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.Verify = "N"; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     objJsonResult.Verify = "N"; | 
 |  |  |                 } | 
 |  |  |                 if (bResult) | 
 |  |  |                 { | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 报工平台产量汇报审核、反审核 | 
 |  |  |         /// <summary> | 
 |  |  |         ///  | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="HInterID">单据ID</param> | 
 |  |  |         /// <param name="IsAudit">审核(0),反审核(1)</param> | 
 |  |  |         /// <param name="CurUserName">审核人</param> | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Sc_MESBeginWorkBill/MESProductAuditProcessReportList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object MESProductAuditProcessReportList(int HSourceID,int HSourceInterID,int HSourceEntryID,string HSourceBillNo, int HICMOInterID,int HICMOEntryID, int HInterID, int IsAudit, string CurUserName) | 
 |  |  |         { | 
 |  |  |             string ModRightNameCheck = "MES_ProcExchReport_Check"; | 
 |  |  |             DBUtility.ClsPub.CurUserName = CurUserName; | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 string StrMessage = ""; | 
 |  |  |                 //审核权限 | 
 |  |  |                 if (!WebClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName,ref  StrMessage)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = StrMessage; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 if (HInterID <= 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "HInterID小于0!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 Int64 lngBillKey = 0; | 
 |  |  |                 lngBillKey = DBUtility.ClsPub.isLong(HInterID); | 
 |  |  |                 DLL.ClsSc_ICMOBillWorkQtyStatus_Tmp oBill = new DLL.ClsSc_ICMOBillWorkQtyStatus_Tmp(); | 
 |  |  |                 //查看是否已审核,关闭,作废 | 
 |  |  |                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
 |  |  |                 { | 
 |  |  |                     if (oBill.omodel.HCloseMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据已关闭!不能再次审核!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (oBill.omodel.HDeleteMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据已作废!不能再次审核!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == 0)  //审核判断 | 
 |  |  |                     { | 
 |  |  |                         if (oBill.omodel.HChecker.Trim() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已审核!不能再次审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == 1) //反审核判断 | 
 |  |  |                     { | 
 |  |  |                         if (oBill.omodel.HChecker.Trim() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据未审核!不需要反审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 if (IsAudit == 0) //审核提交 | 
 |  |  |                 { | 
 |  |  |                     //审核提交 | 
 |  |  |                     if (oBill.CheckBill(HSourceID, HSourceInterID,HSourceEntryID,HSourceBillNo,HICMOInterID, HICMOEntryID, lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "1"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.Message = "审核成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 if (IsAudit == 1) //反审核提交 | 
 |  |  |                 { | 
 |  |  |                     //反审核提交AbandonCheck | 
 |  |  |                     if (oBill.AbandonCheck(HSourceID, HSourceInterID, HSourceEntryID, HSourceBillNo, HICMOInterID, HICMOEntryID, lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "1"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.Message = "反审核成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 报工平台产量汇报删除 | 
 |  |  |         [Route("Sc_MESBeginWorkBill/DeltetMESProductReportBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object DeleteGetLineBindBillList(string HInterID,string HICMOInterID,string HICMOEntryID) | 
 |  |  |         public object DeleteGetLineBindBillList(string HInterID,string HICMOInterID,string HICMOEntryID,string UserName) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 oCN.BeginTran(); | 
 |  |  |                 //查询产量汇报临时表数量 | 
 |  |  |                 ds = oCN.RunProcReturn("select isnull(HQty,0) HQty,isnull(HWasterQty,0) HWasterQty,isnull(HBadQty,0) HBadQty  from Sc_ICMOBillWorkQtyStatus_Tmp where HInterID='" + HInterID + "' and HICMOInterID='" + HICMOInterID + "' and HICMOEntryID='" + HICMOEntryID + "'", "Sc_ICMOBillWorkQtyStatus_Tmp"); | 
 |  |  |                 double HQty =double.Parse(ds.Tables[0].Rows[0]["HQty"].ToString()); | 
 |  |  |                 double HWasterQty = double.Parse(ds.Tables[0].Rows[0]["HWasterQty"].ToString()); | 
 |  |  |                 double HBadQty = double.Parse(ds.Tables[0].Rows[0]["HBadQty"].ToString()); | 
 |  |  |                 double sumqty = HQty + HBadQty + HWasterQty;  //汇报数量+不良+报废 | 
 |  |  |                 //更新产量装量临时表已汇报数量 | 
 |  |  |                 string sql1 = string.Format(@"update Sc_ICMOBillStatus_Tmp  set  HICMOStatus='1',HFinishFlag='0', HRelationInterID=0,HSplitRelationQty=HSplitRelationQty-" + sumqty + ",HDateFinishQty=HDateFinishQty-"+ sumqty + "   where  HICMOInterID='"+ HICMOInterID + "' and HICMOEntryID='"+ HICMOEntryID + "'"); | 
 |  |  |                 oCN.RunProc(sql1); | 
 |  |  |                 //更新切换状态值 | 
 |  |  |                 string sql = string.Format(@"delete Sc_ICMOBillWorkQtyStatus_Tmp  where HInterID='" + HInterID + "'"); | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  |                 //更新产量装量临时表已汇报数量 | 
 |  |  |                 string sql1 = string.Format(@"update Sc_ICMOBillStatus_Tmp  set HRelationInterID=0,HSplitRelationQty=0 where HInterID='" + HInterID + "' and HICMOInterID='"+ HICMOInterID + "' and HICMOEntryID='"+ HICMOEntryID + "'"); | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  |  | 
 |  |  |                 oCN.Commit(); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  | 
 |  |  |             ListModels oListModels = new ListModels(); | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //系统参数 生成生产汇报单前判断是否首检 | 
 |  |  |                 //string sReturn = ""; | 
 |  |  |                 //if (oSystemParameter.ShowBill(ref sReturn) == true) | 
 |  |  |                 //{ | 
 |  |  |                 //    if (oSystemParameter.omodel.Sc_ICMOReportBill_FirstCheckOut == "Y") //系统参数   必须首件检验通过才能保存单据 | 
 |  |  |                 //    { | 
 |  |  |                 //        //系统参数审核,则根据生产订单号,关联首检检验单中源单号查找检验单数据,判断单据状态是否合格 | 
 |  |  |                 //        ds = oCN.RunProcReturn("select *   from QC_FirstPieceCheckBillMain where HICMOInterID='" + HICMOInterID + "' and HICMOEntryID='" + HICMOEntryID + "'", "QC_FirstPieceCheckBillMain"); | 
 |  |  |                 //        if (ds.Tables[0].Rows.Count > 0) //有首检检验单 | 
 |  |  |                 //        { | 
 |  |  |                 //            int rows = ds.Tables[0].AsEnumerable().Where(item => item["HLastResult"].ToString().Equals("True")).Count(); //判断当前数据(一条或多条)中最终判定是否有合格 | 
 |  |  |                 //            if (rows <= 0) | 
 |  |  |                 //            { | 
 |  |  |                 //                objJsonResult.code = "0"; | 
 |  |  |                 //                objJsonResult.count = 0; | 
 |  |  |                 //                objJsonResult.Message = "当前工单首检检验判定不合格,无法生成汇报单!"; | 
 |  |  |                 //                objJsonResult.data = null; | 
 |  |  |                 //                return objJsonResult; | 
 |  |  |                 //            } | 
 |  |  |                 //        } | 
 |  |  |                 //    } | 
 |  |  |                 //} | 
 |  |  |  | 
 |  |  |                 string sHSourceType = HSourceBillType; | 
 |  |  |                 string  BillType = "3711";  //单据类型 (生产汇报单) | 
 |  |  |                 //得到mainid | 
 |  |  |                  long HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                 oCN.BeginTran(); | 
 |  |  |                 //oCN.BeginTran(); | 
 |  |  |                 //根据单号、资源ID、订单主ID、订单子ID、制单人过滤产量汇报报检申请提交数据 | 
 |  |  |                 string sql = string.Format(@"update Sc_ICMOBillWorkQtyStatus_Tmp set  | 
 |  |  |                                  HICMOReportInterID ='"+HInterID+"', HICMOReportBillNo='"+ ScMaxWork + "' from Sc_ICMOBillWorkQtyStatus_Tmp a where a.HICMOBillNo='" + workcode+ "' and a.HSourceID='" + HSourceID + "' and  HICMOInterID='" + HICMOInterID+ "' and a.HICMOEntryID='"+ HICMOEntryID + "' and a.HMaker='"+HMaker+"'  and HRelationInterID='0'"); | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  |                 oCN.Commit(); | 
 |  |  |                 //string sql = string.Format(@"update Sc_ICMOBillWorkQtyStatus_Tmp set  | 
 |  |  |                 //                 HICMOReportInterID ='"+HInterID+"', HICMOReportBillNo='"+ ScMaxWork + "' from Sc_ICMOBillWorkQtyStatus_Tmp a where a.HICMOBillNo='" + workcode+ "' and a.HSourceID='" + HSourceID + "' and  HICMOInterID='" + HICMOInterID+ "' and a.HICMOEntryID='"+ HICMOEntryID + "' and a.HMaker='"+HMaker+"'  and HRelationInterID='0'"); | 
 |  |  |                 //oCN.RunProc(sql); | 
 |  |  |                 //oCN.Commit(); | 
 |  |  |                 //根据生产订单号查询生产订单表,拿到组织、车间 | 
 |  |  |                 DataSet ds0 = oCN.RunProcReturn("select HPRDORGID,HDeptID from Sc_ICMOBillMain where HBillNo='"+ workcode + "'", "Sc_ICMOBillMain"); | 
 |  |  |                 //DataSet ds0 = oCN.RunProcReturn("select HPRDORGID,HDeptID from Sc_ICMOBillMain where HBillNo='"+ workcode + "'", "Sc_ICMOBillMain"); | 
 |  |  |  | 
 |  |  |                 //查询产量汇报临时表 | 
 |  |  |                 ds = oCN.RunProcReturn("select top 1 * from  Sc_ICMOBillWorkQtyStatus_Tmp where HICMOReportInterID='" + HInterID + "' and HICMOReportBillNo='" + ScMaxWork + "'", "Sc_ICMOBillWorkQtyStatus_Tmp"); | 
 |  |  |                 if (ds.Tables[0].Rows.Count <= 0)  | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "当前单据无产量汇报记录!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 //ds = oCN.RunProcReturn("select top 1 * from  Sc_ICMOBillWorkQtyStatus_Tmp where HICMOReportInterID='" + HInterID + "' and HICMOReportBillNo='" + ScMaxWork + "'", "Sc_ICMOBillWorkQtyStatus_Tmp"); | 
 |  |  |                 //if (ds.Tables[0].Rows.Count <= 0) | 
 |  |  |                 //{ | 
 |  |  |                     //oCN.RollBack(); | 
 |  |  |                 //    objJsonResult.code = "0"; | 
 |  |  |                 //    objJsonResult.count = 0; | 
 |  |  |                 //    objJsonResult.Message = "当前单据无产量汇报记录!"; | 
 |  |  |                 //    objJsonResult.data = null; | 
 |  |  |                 //    return objJsonResult; | 
 |  |  |                 //} | 
 |  |  |                 | 
 |  |  |                 WebS.ClsSc_ICMOReportBillMain model = new WebS.ClsSc_ICMOReportBillMain(); | 
 |  |  |                 model.HInterID = HInterID; | 
 |  |  | 
 |  |  |                 model.HRemark = ""; | 
 |  |  |                 model.HMaker = HMaker; | 
 |  |  |                 model.HEmpID = 0; | 
 |  |  |                 model.HGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HGroupID"]); | 
 |  |  |                 model.HDeptID= DBUtility.ClsPub.isLong(ds0.Tables[0].Rows[0]["HDeptID"]); | 
 |  |  |                 model.HPRDORGID = DBUtility.ClsPub.isLong(ds0.Tables[0].Rows[0]["HPRDORGID"]); | 
 |  |  |                 //model.HGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HGroupID"]); | 
 |  |  |                 //model.HDeptID= DBUtility.ClsPub.isLong(ds0.Tables[0].Rows[0]["HDeptID"]); | 
 |  |  |                 //model.HPRDORGID = DBUtility.ClsPub.isLong(ds0.Tables[0].Rows[0]["HPRDORGID"]); | 
 |  |  |                 model.HMainSourceInterID = HICMOInterID; | 
 |  |  |                 model.HMainSourceEntryID = HICMOEntryID; | 
 |  |  |                 WebS.WebService1 oWebs = new WebS.WebService1(); | 
 |  |  |                 bool flag=oWebs.set_SaveICMOProductReportBill_Layui(model, sHSourceType, ref DBUtility.ClsPub.sErrInfo); | 
 |  |  |                  | 
 |  |  |                 //oWebs.Timeout = 30000; | 
 |  |  |                 bool flag=oWebs.set_SaveICMOProductReportBill_Layui(model,workcode,HSourceID, sHSourceType, ref DBUtility.ClsPub.sErrInfo); | 
 |  |  |                 if (flag) | 
 |  |  |                 { | 
 |  |  |                     //oCN.Commit(); | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "保存成功!"; | 
 |  |  |                     objJsonResult.data = 1; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else  | 
 |  |  |                 { | 
 |  |  |                     //oCN.RollBack(); | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sErrInfo; | 
 |  |  |                     objJsonResult.Message = "保存失败!"+ flag+ ";"+ DBUtility.ClsPub.sErrInfo; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 //oCN.RollBack(); | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "保存失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = 1; | 
 |  |  |                 | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             return objJsonResult; | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  |