王 垚
2021-04-02 4476cab7907ced549b116987362ef0c895a18030
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
using System.Data;
using Kingdee.BOS.ServiceHelper;
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
{
    [Description("生产排程单动态表单-页面展示")]
    [HotUpdate]
    public class ProductScheduleShowList : AbstractDynamicFormPlugIn
    {
        public override void OnLoad(EventArgs e)
        {
            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
FROM T_PRD_MO a
LEFT JOIN T_PRD_MOENTRY b on a.FID = B.FID
left join T_SAL_ORDER c on b.FSaleOrderNo =c.FBILLNO
left join T_SAL_ORDERENTRY d on c.FID = d.FID and b.FMATERIALID = d.FMATERIALID
left join Sc_WorkBillSortBillMain e on b.FMATERIALID = e.FHMaterID and b.FSEQ = e.FSRCBILLENTRYSEQ and a.FBILLNO = e.FSCOrderNo
where ISNULL(e.FSCOrderNo,'')=''";
                DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        this.Model.CreateNewEntryRow("FScddEntity");
                        this.Model.SetValue("FSEQ", i + 1, i);//序号
                        this.Model.SetValue("FProOrderNoSC", dt.Rows[i]["FBILLNO"], i);//生产订单号  
                        this.Model.SetValue("FSRCBILLENTRYSEQSC", dt.Rows[i]["FSEQ"], i);//生产订单明细号  
                        this.Model.SetValue("FSCOrderCountSC", dt.Rows[i]["FQTY"], i);//生产订单数
                        this.Model.SetValue("FPlanBeginDateSC", dt.Rows[i]["FPlanStartDate"], i);//计划开工日期
                        this.Model.SetValue("FPlanEndDateSC", dt.Rows[i]["FPlanFinishDate"], i);//计划完工日期  
                        this.Model.SetValue("FSalOrderNoSC", dt.Rows[i]["FSaleOrderNo"], i);//销售订单号  
                        this.Model.SetValue("FMATERIALIDSC", dt.Rows[i]["FMATERIALID"], i);//物料  
                        this.Model.SetValue("FCustormerSC", dt.Rows[i]["FCustId"], i);//客户  
                        this.Model.SetValue("FSalOrderCountSC", dt.Rows[i]["FQTYXSDD"], i);//销售订单数量  
                        this.Model.SetValue("FSalDeliveryDateSC", dt.Rows[i]["FPLANDELIVERYDATE"], i);//销售订单交货期
                        this.Model.SetValue("FOrderRemakeSC", dt.Rows[i]["FNOTE"], i);//订单备注  
                    }
                }
 
                //待排任务 初始化加载
                sql = @"select * from Sc_WorkBillSortBillMain where FNoScheduled > 0";
                dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        this.Model.CreateNewEntryRow("FDprwEntity");
                        this.Model.SetValue("FSczy", dt.Rows[i]["FHSourceID"], i);//生产资源  
                        this.Model.SetValue("FProOrderNo", dt.Rows[i]["FSCOrderNo"], i);//生产订单号  
                        this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"], i);//生产订单明细行号  
                        this.Model.SetValue("FMATERIALID", dt.Rows[i]["FHMaterID"], i);//物料代码  
                        this.Model.SetValue("FSCOrderCount", dt.Rows[i]["FOrderQuantity"], i);//生产订单数  
                        //this.Model.SetValue("FFinishConut", dt.Rows[i]["FNOTE"], i);//完工数 (没有对应字段)
                        this.Model.SetValue("FStoredCount", dt.Rows[i]["FHInstockQty"], i);//已入库数  
                        this.Model.SetValue("FPriority", dt.Rows[i]["FHYX"], i);//优先级  
                        this.Model.SetValue("FCapacity", dt.Rows[i]["FHWorkQty"], i);//产能  
                        this.Model.SetValue("FPlanBeginDate", dt.Rows[i]["FHPlanBeginDate"], i);//计划开始日期  
                        this.Model.SetValue("FPlanEndDate", dt.Rows[i]["FHPlanEndDate"], i);//计划完工日期  
                        this.Model.SetValue("FSalOrderCount", dt.Rows[i]["FHOrderQty"], i);//销售订单数量  
                        //this.Model.SetValue("FCustormer", dt.Rows[i]["FNOTE"], i);//客户 (没有对应字段) 
                        this.Model.SetValue("FSalOrderNo", dt.Rows[i]["FHSeOrderBillNo"], i);//销售订单号  
                        //this.Model.SetValue("FSalDeliveryDate", dt.Rows[i]["FNOTE"], i);//销售订单交货期  (没有对应字段)
                        //this.Model.SetValue("FOrderRemake", dt.Rows[i]["FNOTE"], i);//订单备注  (没有对应字段)
                        this.Model.SetValue("FID", dt.Rows[i]["FID"], i);//日计划工单ID  
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("生产排程单动态表单-页面展示 抛出异常:" + ex.Message.ToString());
            }
 
        }
 
    }
}