ch
2021-07-30 f38f94f9a14619d6877eb101058d1405d27b3bd0
WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
@@ -390,6 +390,40 @@
        }
        #endregion
        #region  报工平台验证单据状态
        [Route("Sc_MESBeginWorkBill/GetMESBeginWorkBillStaus")]
        [HttpGet]
        public object GetMESBeginWorkBillStaus(string sWhere)
        {
            try
            {
                ds = new SQLHelper.ClsCN().RunProcReturn("select * from Sc_ICMOBillStatus_Tmp" + sWhere, "Sc_ICMOBillStatus_Tmp");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "工单暂未处理,可以操作!";
                    objJsonResult.data = null;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "工单已处理,不允许操作!";
                    objJsonResult.data = null;
                }
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = ex.Message;
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        #endregion
        #region  报工平台报检申请列表(产量汇报列表)
        [Route("Sc_MESBeginWorkBill/GetMESProductReportBillList")]
@@ -418,7 +452,7 @@
        public static DataSet Sc_GetMESProductReportBillList(string sWhere)
        {
            string sql = string.Format(@"select 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.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 
@@ -427,105 +461,48 @@
                                   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 + "");
                                   left join Gy_Employee e on a.HWorkManID=e.HItemID " + sWhere + " and HRelationInterID='0'");
            return new SQLHelper.ClsCN().RunProcReturn(sql, "Sc_ICMOBillWorkQtyStatus_Tmp");
        }
        #endregion
        #region 报工平台报检申请保存
        [Route("Sc_MESBeginWorkBill/SaveGetMESProductReportBillList")]
        #region 报工平台产量汇验证汇报数量是否超出计划数量辑
        /// <summary>
        ///
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("Sc_MESBeginWorkBill/GetMESOverStepQty")]
        [HttpGet]
        public object SaveGetMESProductReportBillList([FromBody] JObject msg)
        public object GetMESOverStepQty(string sWhere)
        {
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string UserName = "";
            ListModels oListModels = new ListModels();
            try
            {
                DLL.ClsSc_ICMOReportBill oBill = new DLL.ClsSc_ICMOReportBill();
                List<Models.ClsSc_ICMOReportBillMain> lsmain = new List<Models.ClsSc_ICMOReportBillMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Gy_ICMOReportBillMain(msg2);
                foreach (Models.ClsSc_ICMOReportBillMain oItem in lsmain)
                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");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    //oItem.HMaker = "";
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "3711";
                    oItem.HBillSubType = "3711";
                    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.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    oBill.omodel = oItem;
                }
                //子表体数据
                List<Models.ClsSc_ICMOReportBillSub> ls = new List<Models.ClsSc_ICMOReportBillSub>();
                ls = oListModels.getObjectByJson_Gy_ICMOReportBillSub(msg2);
                int i = 0;
                foreach (Models.ClsSc_ICMOReportBillSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.omodel.HInterID == 0)
                {
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                    objJsonResult.data = 1;
                    return objJsonResult;
                    objJsonResult.Message = "已有产量汇报数据返回!";
                    objJsonResult.data = ds;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                    objJsonResult.Message = "无产量汇报数据!";
                    objJsonResult.data = null;
                }
            }
            catch (Exception e)
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
                objJsonResult.Message = ex.Message;
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        #endregion
@@ -612,41 +589,110 @@
        }
        #endregion
        #region  报工平台验证单据状态
        [Route("Sc_MESBeginWorkBill/GetMESBeginWorkBillStaus")]
        #region 报工平台产量汇报删除
        [Route("Sc_MESBeginWorkBill/DeltetMESProductReportBill")]
        [HttpGet]
        public object GetMESBeginWorkBillStaus(string sWhere)
        public object DeleteGetLineBindBillList(string HInterID)
        {
            try
            {
                ds=new SQLHelper.ClsCN().RunProcReturn("select * from Sc_ICMOBillStatus_Tmp" + sWhere, "Sc_ICMOBillStatus_Tmp");
                if (ds.Tables[0].Rows.Count > 0)
                oCN.BeginTran();
                //更新切换状态值
                string sql = string.Format(@"delete Sc_ICMOBillWorkQtyStatus_Tmp  where HInterID='" + HInterID + "'");
                oCN.RunProc(sql);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除资源成功!";
                objJsonResult.data = ds;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        #endregion
        #region 报工平台报检申请保存
        [Route("Sc_MESBeginWorkBill/SaveGetMESProductReportBillList")]
        [HttpGet]
        public object SaveGetMESProductReportBillList(string ScMaxWork,string HSourceBillType, string workcode,int HSourceID,int HICMOInterID,int HICMOEntryID,string HMaker)
        {
            ListModels oListModels = new ListModels();
            try
            {
                string sHSourceType = HSourceBillType;
                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
                                 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");
                //查询产量汇报临时表
                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;
                }
                WebS.ClsSc_ICMOReportBillMain model = new WebS.ClsSc_ICMOReportBillMain();
                model.HInterID = HInterID;
                model.HBillNo = ScMaxWork;
                //model.HYear= DBUtility.ClsPub.isLong(DateTime.Now.Year);
                //model.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                model.HDate = DateTime.Now;
                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"]);
                WebS.WebService1 oWebs = new WebS.WebService1();
                bool flag=oWebs.set_SaveICMOProductReportBill_Layui(model, sHSourceType, ref DBUtility.ClsPub.sErrInfo);
                if (flag)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "工单暂未处理,可以操作!";
                    objJsonResult.data = null;
                    objJsonResult.Message = "保存成功!";
                    objJsonResult.data = 1;
                }
                else 
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "工单已处理,不允许操作!";
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.data = null;
                }
            }
            catch (Exception ex)
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = ex.Message;
                objJsonResult.data = null;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
            }
            return objJsonResult;
        }
        #endregion
    }
}