王 垚
2021-04-09 25f2835fa45e704f6eccf2feeaa3d2e95c224e2f
src/BLL/Demo.BillView/PRD/ProductScheduleShowList.cs
@@ -19,9 +19,15 @@
    {
        public override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            SearchList();
        }
        public void SearchList()
        {
            try
            {
                base.OnLoad(e);
                //界面下方“生产订单”的页签,加载未排程已审核的生产订单 (测试未加条件 更改后去除该标记)
                string sql = @"
SELECT A.FBILLNO,B.FSEQ,B.FMATERIALID,B.FQTY,B.FPlanStartDate,b.FPlanFinishDate,b.FSaleOrderNo,c.FCustId,d.FQTY as FQTYXSDD ,d.FNOTE,d.FPLANDELIVERYDATE,e.FSCOrderNo
@@ -52,8 +58,8 @@
                    }
                }
                //待排任务 初始化加载
                sql = @"select * from Sc_WorkBillSortBillMain where FNoScheduled > 0";
                //待排任务 初始化加载 where FNoScheduled > 0 未排产数量大于0
                sql = @"select * from Sc_WorkBillSortBillMain ";
                dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
                if (dt.Rows.Count > 0)
                {
@@ -79,14 +85,52 @@
                        this.Model.SetValue("FID", dt.Rows[i]["FID"], i);//日计划工单ID  
                    }
                }
                //自动排程 初始化加载  where FNoScheduled > 0 未排产数量大于0
                if (dt.Rows.Count > 0)
                {
                    DateTime DateNow = DateTime.Now;//获取当前日期
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        this.Model.CreateNewEntryRow("FZdpcEntity");
                        this.Model.SetValue("FSczyZD", dt.Rows[i]["FHSourceID"], i);//生产资源
                        this.Model.SetValue("FProOrderNoZD", dt.Rows[i]["FSCOrderNo"], i);//生产订单号
                        this.Model.SetValue("FSRCBILLENTRYSEQZD", dt.Rows[i]["FSRCBILLENTRYSEQ"], i);//生产订单明细行号
                        this.Model.SetValue("FMATERIALIDZD", dt.Rows[i]["FHMaterID"], i);//物料代码
                        this.Model.SetValue("FSCOrderCountZD", dt.Rows[i]["FOrderQuantity"], i);//生产订单数
                        //this.Model.SetValue("FFinishConutZD", dt.Rows[i]["FNOTE"], i);//完工数 (没有对应字段)
                        this.Model.SetValue("FNoScheduledCount", dt.Rows[i]["FNoScheduled"], i);//待排数
                        this.Model.SetValue("FPriorityZD", dt.Rows[i]["FHYX"], i);//优先级
                        this.Model.SetValue("FCapacityZD", dt.Rows[i]["FHWorkQty"], i);//产能
                        this.Model.SetValue("FIDZD", dt.Rows[i]["FID"], i);//日计划工单ID
                        sql = @"/*dialect*/SELECT * FROM Sc_WorkBillSortBillSub WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 and FID=" + dt.Rows[i]["FID"].ToString();
                        DataTable _dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                        foreach (DataRow dr in _dt.Rows)
                        {
                            DateTime start = Convert.ToDateTime(DateNow.ToShortDateString());
                            DateTime end = Convert.ToDateTime(Convert.ToDateTime(dr["FHMASTERDATE"]).ToShortDateString());
                            TimeSpan getDay = end.Subtract(start);
                            if (getDay.Days > 60)
                                continue;
                            this.Model.SetValue("FT" + getDay.Days.ToString(), dr["FHQTY"].ToString(), i);//日计划工单FID
                            if (dr["FHLockedSub"].ToString() == "1")
                                this.View.GetFieldEditor("FT" + getDay.Days.ToString(), i).Enabled = false; //单据体行锁定字段
                        }
                    }
                    for (int m = 0; m <= 60; m++)
                    {
                        //  this.View.GetControl("FT" + "" + m + "").Text = DateNow.AddDays(m).ToShortDateString();
                        this.View.GetControl("FT" + "" + m + "").SetValue(DateNow.AddDays(m).ToShortDateString());
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("生产排程单动态表单-页面展示 抛出异常:" + ex.Message.ToString());
                this.View.ShowErrMessage("错误:" + ex.Message.ToString());
            }
        }
    }
}