WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
@@ -83,7 +83,7 @@
                return new ApiResult<DataSet> { code = -1, msg = "ID不能为空" };
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MESBeginWorkBillList_NEW  where hmainid= " + HID + " ", "h_v_Sc_MESBeginWorkBillList_NEW");
            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MESBeginWorkBillList_Edit  where hmainid= " + HID + " ", "h_v_Sc_MESBeginWorkBillList_Edit");
            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
                return new ApiResult<DataSet> { code = -1, msg = "不存在开工单号" };
@@ -201,11 +201,11 @@
        /// <returns></returns>
        [Route("Sc_MESBeginWorkBill/DeltetMESBeginWorkBill")]
        [HttpGet]
        public object DeltetMESBeginWorkBill(string HInterID,string UserName)
        public object DeltetMESBeginWorkBill(string HInterID, string UserName)
        {
            DBUtility.ClsPub.CurUserName = UserName;
            //编辑权限
            if (!DBUtility.ClsPub.Security_Log("MES_MESBeginWorkBill_Delete", 1, true, DBUtility.ClsPub.CurUserName))
            if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Delete", 1, false, DBUtility.ClsPub.CurUserName))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
@@ -287,12 +287,12 @@
        [HttpGet]
        public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "MES_MESBeginWorkBill_Check";
            string ModRightNameCheck = "MES_MESBeginWorkBill_Check";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName))
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -457,26 +457,20 @@
        }
        #endregion
        #region 报工平台开工单保存/编辑
        #region 报工平台开工单快速保存
        /// <summary>
        /// 开工单
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom")]
        [HttpPost]
        public object SaveGetMESBeginWorkFrom([FromBody] JObject msg)
        [Route("Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom_KS")]
        [HttpGet]
        public object SaveGetMESBeginWorkFrom_KS(string HBillType,int HSourceInterID,int HSourceEntryID,string HSourceBillNo,string user,string HSourceBillType)
        {
            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("MES_MESBeginWorkBill_Edit", 1, true, DBUtility.ClsPub.CurUserName))
            if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Edit", 1, false, user))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
@@ -496,7 +490,277 @@
                objJsonResult.data = null;
                return objJsonResult;
            }
            ListModels oListModels = new ListModels();
            try
            {
                ds = oCN.RunProcReturn("exec h_p_JIT_GetInfoByICMOStatusInterID @HSourceInterID=" + HSourceInterID + ",@HSourceEntryID=" + HSourceEntryID + ",@HSourceBillNo='" + HSourceBillNo + "',@HSourceBillType='" + HBillType + "'", "h_p_JIT_GetInfoByICMOStatusInterID");
                Models.ClsSc_MESBeginWorkBillMain ClsSc_MESBeginWorkBillMain = new Models.ClsSc_MESBeginWorkBillMain();
                ClsSc_MESBeginWorkBillMain.HProcID = int.Parse(ds.Tables[0].Rows[0]["HProcID"].ToString());
                ClsSc_MESBeginWorkBillMain.HMaterID = int.Parse(ds.Tables[0].Rows[0]["HMaterID"].ToString());
                ClsSc_MESBeginWorkBillMain.HSourceID = int.Parse(ds.Tables[0].Rows[0]["HSourceID"].ToString());
                ClsSc_MESBeginWorkBillMain.HMainSourceBillNo = ds.Tables[0].Rows[0]["HSourceBillNo"].ToString();
                ClsSc_MESBeginWorkBillMain.HMainSourceInterID = int.Parse(ds.Tables[0].Rows[0]["HSourceInterID"].ToString());
                ClsSc_MESBeginWorkBillMain.HMainSourceEntryID = ds.Tables[0].Rows[0]["HSourceEntryID"].ToString();
                ClsSc_MESBeginWorkBillMain.HMainSourceBillType = HSourceBillType == null ? "" : HSourceBillType;
                ClsSc_MESBeginWorkBillMain.HDeptID = int.Parse(ds.Tables[0].Rows[0]["HDeptID"].ToString());
                ClsSc_MESBeginWorkBillMain.HICMOInterID = int.Parse(ds.Tables[0].Rows[0]["HICMOInterID"].ToString());
                ClsSc_MESBeginWorkBillMain.HICMOEntryID = int.Parse(ds.Tables[0].Rows[0]["HICMOEntryID"].ToString());
                ClsSc_MESBeginWorkBillMain.HICMOBillNo = ds.Tables[0].Rows[0]["HICMOBillNo"].ToString();
                ds = oCN.RunProcReturn("select * from h_v_xt_UserAssociationSelect where Czymc='" + user + "'", "h_v_xt_UserAssociationSelect");
                if (ds.Tables[0].Rows[0]["HGroupID"].ToString() == "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!用户没有绑定班组!" ;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HEmployeeID"].ToString() == "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!用户没有绑定职员!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                ClsSc_MESBeginWorkBillMain.HGroupID = int.Parse(ds.Tables[0].Rows[0]["HGroupID"].ToString());
                ClsSc_MESBeginWorkBillMain.HEmpID = int.Parse(ds.Tables[0].Rows[0]["HEmployeeID"].ToString());
                DLL.ClsSc_MESBeginWorkBill oBill = new DLL.ClsSc_MESBeginWorkBill();
                List<Models.ClsSc_MESBeginWorkBillMain> lsmain = new List<Models.ClsSc_MESBeginWorkBillMain>();
                lsmain.Add(ClsSc_MESBeginWorkBillMain);
                ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
                DBUtility.ClsPub.CurUserName = user;
                foreach (Models.ClsSc_MESBeginWorkBillMain oItem in lsmain)
                {
                    oItem.HBillNo = DBUtility.ClsPub.CreateBillCode("3787", ref DBUtility.ClsPub.sExeReturnInfo, true);
                    string sCapName = oClsXt_SystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                    if (sCapName.Contains("凯贝"))
                    {
                        DataTable dt = getInfodatanow(oItem.HSourceID.ToString());
                        if (dt.Rows.Count > 0)
                        {
                            DataRow dr = dt.Rows[0];
                            oItem.HRunStatus = dr["runStu"].ToString();
                            oItem.HSourceBeginQty = Convert.ToDecimal(dr["countAll"]);
                        }
                    }
                    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判定不合格)
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    oItem.HMaker = user;
                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    oItem.HBarCodeMakeDate = Convert.ToDateTime(DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"))); //扫描日期(年-月-日-时-分-秒)
                    oBill.omodel = oItem;
                }
                oCN.BeginTran();
                //保存
                //保存完毕后处理
                bool bResult = false;
                if (oBill.omodel.HInterID == 0)
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                ds = oCN.RunProcReturn("select * from Sc_MESBeginWorkBillMain where HBillNo='" + oBill.omodel.HBillNo + "'", "Sc_MESBeginWorkBillMain");
                if (ds.Tables[0].Rows.Count == 0) {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查无单据!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                string sAutoCheck = oClsXt_SystemParameter.GetSingleSystemParameter("Sc_MESBeginWorkBill_AutoCheck", ref DBUtility.ClsPub.sExeReturnInfo);
                if (sAutoCheck == "Y")
                {
                    if (!oBill.CheckBill(long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString()), ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核失败!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                }
                oCN.Commit();
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message;
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region 报工平台开工单保存前系统验证
        [Route("Sc_MESBeginWorkBill/Xt_AllowLoadData")]
        [HttpGet]
        public object Xt_AllowLoadData(string HKey)
        {
            try
            {
                ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
                string Key = "N";
                string sCapName = oClsXt_SystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                if (sCapName.Contains("杭州斯莫尔"))
                {
                    Key = oClsXt_SystemParameter.GetSingleSystemParameter(HKey, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = null;
                objJsonResult.Verify = Key;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message;
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region 报工平台开工单流水号回车获取条码信息
        [Route("Sc_MESBeginWorkBill/txtHBarCode_KeyDown")]
        [HttpGet]
        public object txtHBarCode_KeyDown(string HBarCode, string HSourceInterID)
        {
            try
            {
                if (HBarCode == null || HBarCode.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "空白码,条形码不能为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("exec h_p_Sc_MESBeginWorkBill_AllowLoadData '"+ HBarCode + "',"+ HSourceInterID, "h_p_Sc_MESBeginWorkBill_AllowLoadData");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到条码信息!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                else if (ds.Tables.Count ==1)
                {
                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
                    objJsonResult.count = 0;
                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
                    objJsonResult.data = ds;
                    return objJsonResult;
                }
                objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
                objJsonResult.count = 1;
                objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
                objJsonResult.data = ds;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 报工平台开工单保存/编辑
        /// <summary>
        /// 开工单
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom")]
        [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 msg3 = sArray[1].ToString();
            string UserName = sArray[2].ToString();
            string refSav = sArray[3].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
            {
@@ -555,8 +819,19 @@
                            return objJsonResult;
                        }
                    }
                    DBUtility.ClsPub.CurUserName =oItem.HMaker;
                    ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
                    string sCapName = oClsXt_SystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                    if (sCapName.Contains("凯贝"))
                    {
                        DataTable dt = getInfodatanow(oItem.HSourceID.ToString());
                        if (dt.Rows.Count > 0)
                        {
                            DataRow dr = dt.Rows[0];
                            oItem.HRunStatus = dr["runStu"].ToString();
                            oItem.HSourceBeginQty = Convert.ToDecimal(dr["countAll"]);
                        }
                    }
                    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判定不合格)     
@@ -574,14 +849,34 @@
                    oBill.omodel = oItem;
                }
                // 表体数据
                //按 },{来拆分数组 //去掉【和】
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                List<Models.ClsSc_MESBeginWorkBillSub_RelationBill> ls = new List<Models.ClsSc_MESBeginWorkBillSub_RelationBill>();
                ls = oListModels.getObjectByJson_Sc_MESBeginWorkBillSub_RelationBill(msg3);
                int i = 0;
                foreach (Models.ClsSc_MESBeginWorkBillSub_RelationBill oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    oBill.DetailCol2.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.omodel.HInterID == 0)
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    if (bResult)
                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    if (bResult)
                    {
                        objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //返回主ID
                        //系统参数  自动审核
@@ -598,7 +893,7 @@
                            }
                        }
                    }
                }
                else
                {
@@ -607,7 +902,7 @@
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
@@ -634,6 +929,14 @@
        }
        #endregion
        public DataTable getInfodatanow(string hsoucreID)
        {
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            string sql = $" select HMacAddr, isnull(runStu,'')runStu, isnull(countAll,0)countAll from Gy_Source t1  left join HX_LIOTsys..Info_data_now t2 on t1.HMacAddr = t2.hid where t1.hitemid={hsoucreID}";
            DataTable dt = oCn.RunProcReturn(sql, "dt").Tables[0];
            return dt;
        }
        #region  报工平台验证单据状态
        [Route("Sc_MESBeginWorkBill/GetMESBeginWorkBillStaus")]
        [HttpGet]
@@ -641,7 +944,14 @@
        {
            try
            {
                ds = new SQLHelper.ClsCN().RunProcReturn("select * from Sc_ICMOBillStatus_Tmp" + sWhere, "Sc_ICMOBillStatus_Tmp");
                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
                string HSourceID = dic["HSourceID"].ToString();
                string HICMOBillNo = dic["HICMOBillNo"].ToString();
                string HInterID = dic["HInterID"].ToString();
                string Type = dic["type"].ToString();
                ds = new SQLHelper.ClsCN().RunProcReturn("exec h_p_IpadIndexButton  '"+ HSourceID + "','" + HICMOBillNo + "','" + HInterID + "','" + Type + "'", "h_p_IpadIndexButton");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "1";
@@ -696,20 +1006,20 @@
        public static DataSet Sc_GetMESProductReportBillList(string sWhere)
        {
            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
                                   ,a.HSourceInterID,a.HSourceEntryID,a.HSourceBillNo, a.HSourceBillType
                                   from Sc_ICMOBillWorkQtyStatus_Tmp a
                                   left join Gy_Material m on a.HMaterID=m.hitemid
                                   left join Gy_Source s on a.HSourceID=s.HItemID
                                   left join Gy_Group g on a.HGroupID=g.HItemID
                                   left join Gy_Employee e on a.HWorkManID=e.HItemID " + sWhere + " and HRelationInterID='0'");
            return new SQLHelper.ClsCN().RunProcReturn(sql, "Sc_ICMOBillWorkQtyStatus_Tmp");
            string sql = "";
            if (sWhere != null && sWhere != "")
            {
                sql = "select * from h_v_Sc_ICMOBillWorkQtyTmpList_ReportingPlatform " + sWhere;
            }
            else
            {
                sql = "select * from h_v_Sc_ICMOBillWorkQtyTmpList_ReportingPlatform " ;
            }
            return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Sc_ICMOBillWorkQtyTmpList_ReportingPlatform");
        }
        #endregion
        #region 报工平台产量汇验证汇报数量是否超出计划数量辑
        /// <summary>
        /// 
@@ -722,7 +1032,7 @@
        {
            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 with (nolock)" + 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";
@@ -849,7 +1159,7 @@
                    if (bResult)
                    {
                        objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //返回主ID
                        //系统参数  自动审核
                                                                                  //系统参数  自动审核
                        string sReturn = "";
                        if (oSystemParameter.ShowBill(ref sReturn) == true)
                        {
@@ -881,7 +1191,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!";
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
@@ -907,7 +1217,7 @@
        /// <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)
        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;
@@ -915,7 +1225,7 @@
            {
                string StrMessage = "";
                //审核权限
                if (!WebClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName,ref  StrMessage))
                if (!WebClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName, ref StrMessage))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -987,7 +1297,7 @@
                if (IsAudit == 0) //审核提交
                {
                    //审核提交
                    if (oBill.CheckBill(HSourceID, HSourceInterID,HSourceEntryID,HSourceBillNo,HICMOInterID, HICMOEntryID, lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    if (oBill.CheckBill(HSourceID, HSourceInterID, HSourceEntryID, HSourceBillNo, HICMOInterID, HICMOEntryID, lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
@@ -1040,17 +1350,24 @@
        #region 报工平台产量汇报删除
        [Route("Sc_MESBeginWorkBill/DeltetMESProductReportBill")]
        [HttpGet]
        public object DeleteGetLineBindBillList(string HInterID,string HICMOInterID,string HICMOEntryID,string UserName)
        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;
@@ -1074,15 +1391,38 @@
        #region 报工平台报检申请保存
        [Route("Sc_MESBeginWorkBill/SaveGetMESProductReportBillList")]
        [HttpGet]
        public object SaveGetMESProductReportBillList(string ScMaxWork,string HSourceBillType, string workcode,int HSourceID,int HICMOInterID,int HICMOEntryID,string HMaker,string Czybm)
        {
        public object SaveGetMESProductReportBillList(string ScMaxWork, string HSourceBillType, string workcode, int HSourceID, int HICMOInterID, int HICMOEntryID, string HMaker, string Czybm)
        {
            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);
                string BillType = "3711";  //单据类型 (生产汇报单)
                                           //得到mainid
                long HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //oCN.BeginTran();
                //根据单号、资源ID、订单主ID、订单子ID、制单人过滤产量汇报报检申请提交数据
                //string sql = string.Format(@"update Sc_ICMOBillWorkQtyStatus_Tmp set 
@@ -1096,14 +1436,14 @@
                //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();
                //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.HBillNo = ScMaxWork;
@@ -1118,9 +1458,9 @@
                //model.HPRDORGID = DBUtility.ClsPub.isLong(ds0.Tables[0].Rows[0]["HPRDORGID"]);
                model.HMainSourceInterID = HICMOInterID;
                model.HMainSourceEntryID = HICMOEntryID;
                //oWebs.Timeout = 30000;
                bool flag=oWebs.set_SaveICMOProductReportBill_Layui(model,workcode,HSourceID, sHSourceType, ref DBUtility.ClsPub.sErrInfo);
                bool flag = oWebs.set_SaveICMOProductReportBill_Layui(model, workcode, HSourceID, sHSourceType, ref DBUtility.ClsPub.sErrInfo);
                if (flag)
                {
                    //oCN.Commit();
@@ -1130,12 +1470,12 @@
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                else
                else
                {
                    //oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!"+ flag+ ";"+ DBUtility.ClsPub.sErrInfo;
                    objJsonResult.Message = "保存失败!" + flag + ";" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1153,7 +1493,47 @@
        #endregion
        #region  报工平台检验取样单弹窗查找数据
        [Route("Sc_MESBeginWorkBill/GetQC_TakeSampleCheckBill")]
        [HttpGet]
        public object GetQC_TakeSampleCheckBill(string HSourceInterID, string HSourceEntryID, string HSourceBillNo, string HSourceBillType)
        {
            try
            {
                //根据选择资源ID获取当前生产工单、责任人
                ds = oCN.RunProcReturn("exec h_p_GetQC_TakeSampleCheckBill @HSourceInterID=" + HSourceInterID + ",@HSourceEntryID=" + HSourceEntryID + ",@HSourceBillNo='" + HSourceBillNo + "',@HSourceBillType='" + HSourceBillType + "'", "h_p_GetQC_TakeSampleCheckBill");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "获取资源绑定数据成功!";
                    objJsonResult.data = ds;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "暂无资源绑定!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        #endregion
    }
}