王 垚
2021-02-28 156e06ad46f0e4cb61c5f74553f6c2bc51e21a04
src/BLL/Demo.BillView/PRD/ProCompleteAnalysisMateriel.cs
@@ -1,5 +1,4 @@
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
@@ -23,11 +22,9 @@
    {
        bool did = false;
        string FMatrailId = "";
        public override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            if (this.View.OpenParameter.GetCustomParameter("FHMainICMOInterIDr") == null)
            {
                SearchList();
@@ -38,47 +35,28 @@
                    return;
                string FHMainICMOInterIDr = this.View.OpenParameter.GetCustomParameter("FHMainICMOInterIDr").ToString();//主生产订单主内码
                FMatrailId = this.View.OpenParameter.GetCustomParameter("FMatrailId").ToString();//物料
                //string FBillNo = this.View.OpenParameter.GetCustomParameter("FBillNo").ToString();
                string sql = string.Format(@"/*dialect*/select a.*,b.FBILLNO FBILLNOs from JIT_MOMaterReadysBill a
               string sql = string.Format(@"/*dialect*/select a.*,b.FBILLNO FBILLNOs from JIT_MOMaterReadysBill a
                                        left join T_PRD_MO b on a.FHMainICMOInterIDr=b.FID
                                        where FHMainICMOInterIDr ='{0}' and FIDENTIFICAT=2 and FHMATERID ='{1}'", FHMainICMOInterIDr, FMatrailId);
                sql = string.Format(@"/*dialect*/select a.*,b.FBILLNO FBILLNOs from JIT_MOMaterReadysBill a
                                        left join T_PRD_MO b on a.FHMainICMOInterIDr=b.FID
                                        where     FIDENTIFICAT=2 and FHMATERID ='{0}'", FMatrailId);
                                        where  FCompleteCount1>0 and    FHMATERID ='{0}'", FMatrailId);
                DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        /*
                        计划发料数量 = 计划总数量 * 单位用料
                        齐套数量 = 齐套数 * 单位用料(考虑分层级* 父级)
                        缺料数量 = 1 - 2
                        是否齐套 = 缺料 < 0 ?
                        */
                        decimal FPlanIssueCount = Convert.ToDecimal(dt.Rows[i]["FSumPlanCount"]) * Convert.ToDecimal(dt.Rows[i]["FUNITDOSAGE"]);//计划发料数量
                        decimal FCompleteCount = Convert.ToDecimal(dt.Rows[i]["FCompleteCount"]) * Convert.ToDecimal(dt.Rows[i]["FUNITDOSAGE"]);//齐套数量
                        decimal FLackCount = FPlanIssueCount - FCompleteCount;//缺料数量
                        this.Model.CreateNewEntryRow("FEntity");
                        this.Model.SetValue("FSEQ", i + 1, i);//序号
                        this.Model.SetValue("FMateralDetailId", dt.Rows[i]["FHMATERID"], i);
                        this.Model.SetValue("FScOrderNoDetail", dt.Rows[i]["FBILLNOs"], i);//生产订单号
                        this.Model.SetValue("FOccupyCount", dt.Rows[i]["FHUseQty"], i);//
                        this.Model.SetValue("FScOrderNoDetail", dt.Rows[i]["FBILLNOs"], i);//生产订单号
                        this.Model.SetValue("FOccupyCount", dt.Rows[i]["FCompleteCount1"], i);//
                        this.Model.SetValue("FCurrentCount", dt.Rows[i]["FHStockQty"], 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("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), i);//日计划日期
                    }
                }
                did = true;
            }
        }
        /// <summary>
@@ -86,19 +64,16 @@
        /// </summary>
        public void SearchList()
        {
            string sqlwhere = " and 1=1";
            string sqlwhere = " where FCompleteCount1>0 and  1=1";
            string sql = string.Format(@"/*dialect*/select a.*,b.FBILLNO FBILLNOs from JIT_MOMaterReadysBill a  
                                        left join T_PRD_MO b on a.FHMainICMOInterIDr=b.FID where FIDENTIFICAT=2
                                        left join T_PRD_MO b on a.FHMainICMOInterIDr=b.FID
                                         ");
            //生产订单号
            string PRDBillNo = Convert.ToString(this.Model.GetValue("FScOrderNo"));
            if (!string.IsNullOrEmpty(PRDBillNo))
                sqlwhere += $" and FPRDBillNo='{PRDBillNo}'";
            if (FMatrailId != "")
                sqlwhere += $" and FHMATERID='{FMatrailId}'";
            sql += sqlwhere;
            DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
            this.Model.DeleteEntryData("FEntity");
@@ -106,38 +81,21 @@
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    /*
                        计划发料数量 = 计划总数量 * 单位用料
                        齐套数量 = 齐套数 * 单位用料(考虑分层级* 父级)
                        缺料数量 = 1 - 2
                        是否齐套 = 缺料 < 0 ?
                        */
                    decimal FPlanIssueCount = Convert.ToDecimal(dt.Rows[i]["FSumPlanCount"]) * Convert.ToDecimal(dt.Rows[i]["FUNITDOSAGE"]);//计划发料数量
                    decimal FCompleteCount = Convert.ToDecimal(dt.Rows[i]["FCompleteCount"]) * Convert.ToDecimal(dt.Rows[i]["FUNITDOSAGE"]);//齐套数量
                    decimal FLackCount = FPlanIssueCount - FCompleteCount;//缺料数量
                    this.Model.CreateNewEntryRow("FEntity");
                    this.Model.SetValue("FSEQ", i + 1, i);//序号
                    this.Model.SetValue("FMateralDetailId", dt.Rows[i]["FHMATERID"], i);
                    this.Model.SetValue("FScOrderNoDetail", dt.Rows[i]["FBILLNOs"], i);//生产订单号
                    this.Model.SetValue("FOccupyCount", dt.Rows[i]["FHUseQty"], i);//
                    this.Model.SetValue("FScOrderNoDetail", dt.Rows[i]["FBILLNOs"], i);//生产订单号
                    this.Model.SetValue("FOccupyCount", dt.Rows[i]["FCompleteCount1"], i);//
                    this.Model.SetValue("FCurrentCount", dt.Rows[i]["FHStockQty"], i);//当前库存情况  
                    this.Model.SetValue("FOrgId", dt.Rows[i]["FHStockOrgID"], i);//库存组织
                    this.Model.SetValue("FOwnerTypeId", dt.Rows[i]["FOwnerTypeId"], 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("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), i);//日计划日期
                }
            }
            this.View.UpdateView();
            did = true;
        }
        public override void BarItemClick(BarItemClickEventArgs e)
        {
            base.BarItemClick(e);