王 垚
2021-02-28 dda3dd912d5507be2fc56f917d217096bd2775a4
src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs
@@ -9,6 +9,7 @@
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using ZD.Cloud.Logger;
namespace Demo.BillView
{
@@ -17,10 +18,13 @@
    public class ProCompleteAnalysisDetail : AbstractDynamicFormPlugIn
    {
        bool did = false;
        string FHICMOInterID = "";//日计划工单内码
        string tempName = "JIT_MOMaterReadysBill";//表名称
        public override void OnLoad(EventArgs e)
        {
            LogHelper.Info("[齐套分析明细加载列表]");
            base.OnLoad(e);
            if (this.View.OpenParameter.GetCustomParameter("FHMainICMOInterID") == null)
            if (this.View.OpenParameter.GetCustomParameter("FHICMOInterID") == null)
            {
                SearchList();
                ChangeColor();
@@ -29,10 +33,10 @@
            {
                if (did)
                    return;
                string FHMainICMOInterIDr = this.View.OpenParameter.GetCustomParameter("FHMainICMOInterID").ToString();//主生产订单主内码
                string FHMainICMOEntryID = this.View.OpenParameter.GetCustomParameter("FHMainICMOEntryID").ToString();// 主生产订单子内码
                string FHICMOInterID = this.View.OpenParameter.GetCustomParameter("FHICMOInterID").ToString();//日计划订单主内码
                string sql = string.Format(@"/*dialect*/select * from JIT_MOMaterReadysBill where FHMainICMOInterIDr ='{0}' and FHMainICMOEntryID ='{1}' and FHICMOInterID='{2}' order by FPlanDate, FHStockQty desc ,FHMaterID ", FHMainICMOInterIDr, FHMainICMOEntryID, FHICMOInterID);
                if (this.View.OpenParameter.GetCustomParameter("tempName") != null)
                    tempName = this.View.OpenParameter.GetCustomParameter("tempName")?.ToString();//表名
                FHICMOInterID = this.View.OpenParameter.GetCustomParameter("FHICMOInterID").ToString();//日计划订单主内码
                string sql = string.Format(@"/*dialect*/select * from view_{0} where  FHICMOInterID='{1}' order by FPlanDate, FHStockQty desc ,FHMaterID ", tempName, FHICMOInterID);
                DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
                if (dt.Rows.Count > 0)
                {
@@ -48,21 +52,22 @@
                        this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//物料数量   
                        this.Model.SetValue("FOccupyCount", dt.Rows[i]["FOccupyCount"].ToString(), i);//占用数量   
                        this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//是否齐套   
                        this.Model.SetValue("FIsHavePur", dt.Rows[i]["FIsHavePur"].ToString(), i);//是否有采购订单
                        this.Model.SetValue("FHMainICMOInterIDr", dt.Rows[i]["FHMainICMOInterIDr"].ToString(), i);//生产订单内码   
                        this.Model.SetValue("FPRDBillNo", dt.Rows[i]["FPRDBillNo"].ToString(), i);//生产订单内码   
                        this.Model.SetValue("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), i);//日计划日期   
                        this.Model.SetValue("FOrgId", dt.Rows[i]["FHStockOrgID"], i);//库存组织  
                        this.Model.SetValue("FOwnerTypeId", dt.Rows[i]["FOwnerTypeId"], i);//货主类型  
                        this.Model.SetValue("FOwnerId", dt.Rows[i]["FOwnerId"], i);//货主 
                        this.Model.SetValue("FErpClsID", dt.Rows[i]["FErpClsID"], i);//物料属性
                    }
                }
                ChangeColor();
                 did = true;
                did = true;
            }
        }
        private void ChangeColor() {
        private void ChangeColor()
        {
            Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");
            //单据体信息转换为列表集合
            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
@@ -72,12 +77,11 @@
            {
                if (Convert.ToString(current["FCompleteDetailStatus"]) == "未齐套")
                {
                    grid.SetRowBackcolor("#FF0000", _i);
                    grid.SetRowBackcolor("#71FF98CB", _i);
                }
                _i++;
            }
        }
        public override void BarItemClick(BarItemClickEventArgs e)
        {
            base.BarItemClick(e);
@@ -98,11 +102,6 @@
            base.EntityRowClick(e);
            DynamicFormShowParameter formPa = new DynamicFormShowParameter();
            formPa.FormId = "paez_CompleteAnalysisMateriel";
            /* jsonModel.Add("FHMainICMOInterID", FMainInterID);//主生产订单主内码
             jsonModel.Add("FHMainICMOEntryID", FMainEntryID);//主生产订单子内码
             jsonModel.Add("FHICMOInterID", FDayPlanWorkID);//日计划订单主内码
            current["FMatrailId_Id"].ToString(), current["FHMainSourceInterID"].ToString(), current["FHMainSourceEntryID"].ToString(), current["FDayPlanWorkID"].ToString())
            */
            formPa.CustomParams.Add("FHMainICMOInterIDr", Convert.ToString(this.View.Model.GetValue("FHMainICMOInterIDr", e.Row).ToString()));
            formPa.CustomParams.Add("FMatrailId", Convert.ToString((this.View.Model.GetValue("FMateralDetailId", e.Row) as DynamicObject)["Id"].ToString()));
            this.View.ShowForm(formPa);
@@ -112,8 +111,8 @@
        /// </summary>
        public void SearchList()
        {
            string sqlwhere = " where 1=1";
            string sql = string.Format(@"/*dialect*/select * from JIT_MOMaterReadysBill ");
            string sqlwhere = $" where  FHICMOInterID='{FHICMOInterID}'";
            string sql = string.Format($"/*dialect*/select * from view_{tempName}");
            //物料
            if ((this.Model.GetValue("FMateralId") as DynamicObject) != null)
            {
@@ -125,6 +124,10 @@
            string FCompleteStatus = Convert.ToString(this.Model.GetValue("FCompleteStatus"));
            if (!string.IsNullOrEmpty(FCompleteStatus))
                sqlwhere += $" and FComPlete='{FCompleteStatus}'";
            //有无采购订单
            string FIsHavePurs = Convert.ToString(this.Model.GetValue("FIsHavePurs"));
            if (!string.IsNullOrEmpty(FIsHavePurs))
                sqlwhere += $" and FIsHavePur='{FIsHavePurs}'";
            //日计划日期
            string FPlanDate = Convert.ToString(this.Model.GetValue("FPlanDate2"));
@@ -135,6 +138,7 @@
            string PRDBillNo = Convert.ToString(this.Model.GetValue("FScOrderNo"));
            if (!string.IsNullOrEmpty(PRDBillNo))
                sqlwhere += $" and FPRDBillNo='{PRDBillNo}'";
            sql += sqlwhere;
            sql += "order by FPlanDate, FHStockQty desc ,FHMaterID";
            DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
@@ -157,12 +161,15 @@
                    this.Model.SetValue("FLackCount", dt.Rows[i]["FLackCount"], i);//缺料数量  
                    this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//可用数量   
                    this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//物料数量   
                    this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//是否齐套
                    this.Model.SetValue("FOccupyCount", dt.Rows[i]["FOccupyCount"].ToString(), i);//占用数量
                    this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//是否齐套
                    this.Model.SetValue("FIsHavePur", dt.Rows[i]["FIsHavePur"].ToString(), i);//是否有采购订单
                    this.Model.SetValue("FHMainICMOInterIDr", dt.Rows[i]["FHMainICMOInterIDr"].ToString(), i);//生产订单内码   
                    this.Model.SetValue("FPRDBillNo", dt.Rows[i]["FPRDBillNo"].ToString(), i);//生产订单内码   
                    this.Model.SetValue("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), i);//日计划日期   
                    this.Model.SetValue("FOrgId", dt.Rows[i]["FHStockOrgID"], i);//库存组织  
                    this.Model.SetValue("FOwnerTypeId", dt.Rows[i]["FOwnerTypeId"], i);//货主类型  
                    this.Model.SetValue("FErpClsID", dt.Rows[i]["FErpClsID"], i);//物料属性
                    this.Model.SetValue("FOwnerId", dt.Rows[i]["FOwnerId"], i);//货主 
                }
            }
@@ -173,4 +180,3 @@
    }
}