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;
|
|
namespace Demo.BillView.PRD
|
{
|
[Description("生产计划平台拖期明细")]
|
[HotUpdate]
|
public class ProTardinessDetails : AbstractDynamicFormPlugIn
|
{
|
bool did = false;
|
string FID = "";
|
public override void OnLoad(EventArgs e)
|
{
|
base.OnLoad(e);
|
if (this.View.OpenParameter.GetCustomParameter("FID") == null)
|
{
|
SearchList();
|
}
|
else
|
{
|
if (did)
|
return;
|
FID = this.View.OpenParameter.GetCustomParameter("FID").ToString();
|
string sql = string.Format(@"
|
/*dialect*/
|
select a.*,b.FHMASTERDATE,b.FHQTY,b.FNOTPRODUCTNUM,FHCloseManSub from SC_WORKBILLSORTBILLMain a
|
join SC_WORKBILLSORTBILLSub b on a.FID=b.FID
|
where DATEDIFF(D,FHMASTERDATE,GETDATE())>0 and isnull(FHCloseManSub,'')=''
|
and FNOTPRODUCTNUM>0
|
and a.FID='{0}'
|
", FID);
|
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("FEntity");
|
this.Model.SetValue("FSEQ", i + 1, i);//序号
|
//this.Model.SetValue("FCompleteSetCount", "", i);//总齐套数量
|
this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//生产订单数量
|
this.Model.SetValue("FSalOrderCount", dt.Rows[i]["FHSeOrderBillNo"].ToString(), i);//销售订单数量
|
this.Model.SetValue("FBatch", dt.Rows[i]["FBatch"].ToString(), i);//批次号
|
this.Model.SetValue("FUnit", dt.Rows[i]["FHUnitID"].ToString(), i);//计量单位
|
this.Model.SetValue("FORGID", dt.Rows[i]["FHPRDORGID"].ToString(), i);//生产组织
|
this.Model.SetValue("FMatrailId", dt.Rows[i]["FHMaterID"].ToString(), i);//产品代码
|
this.Model.SetValue("FDeliverydate", dt.Rows[i]["FHOrderCommitDate"].ToString(), i);//交货日期
|
this.Model.SetValue("FOrderLevel", dt.Rows[i]["FHOrderLev"].ToString(), i);//订单等级
|
this.Model.SetValue("FSCOrderNo", dt.Rows[i]["FSCOrderNo"].ToString(), i);//生产订单号
|
this.Model.SetValue("FSalOrderNo", dt.Rows[i]["FHSEORDERBILLNO"].ToString(), i);//销售订单号
|
this.Model.SetValue("FBzDate", dt.Rows[i]["FPreparatDate"].ToString(), i);//编制日期
|
this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//生产订单数量
|
this.Model.SetValue("FHMainSourceInterID", dt.Rows[i]["FPRDMOMAINID"].ToString(), i);//源单主内码FHMainSourceInterID
|
this.Model.SetValue("FHMainSourceEntryID", dt.Rows[i]["FPRDMOENTYID"].ToString(), i);//源单子内码FHMainSourceEntryID
|
this.Model.SetValue("FDayPlanWorkID", dt.Rows[i]["FID"].ToString(), i);//日计划工单FID
|
this.Model.SetValue("FResourcesId", dt.Rows[i]["FHSourceID"].ToString(), i);//生产资源
|
this.Model.SetValue("FProductWorkShopId", dt.Rows[i]["FHWorkShopID"].ToString(), i);//生产车间
|
this.Model.SetValue("FOrderQuantity", dt.Rows[i]["FOrderQuantity"].ToString(), i);//生产订单数量
|
this.Model.SetValue("FDayPlanQuantity", dt.Rows[i]["FHQTY"].ToString(), i);//日计划数量
|
this.Model.SetValue("FDelaylnUM", dt.Rows[i]["FNotProductNum"].ToString(), i);//拖期数量
|
this.Model.SetValue("FPlanDate", dt.Rows[i]["FHMASTERDATE"].ToString(), i);//拖期数量
|
|
}
|
}
|
did = true;
|
}
|
}
|
public override void BarItemClick(BarItemClickEventArgs e)
|
{
|
base.BarItemClick(e);
|
if (e.BarItemKey.ToUpper() == "TBFILTER")
|
{
|
SearchList();
|
}
|
}
|
/// <summary>
|
/// 查询事件
|
/// </summary>
|
public void SearchList()
|
{
|
string sqlwhere = "AND a.FID ='" + FID + "'";
|
//日计划日期
|
string FPlanDate = Convert.ToString(this.Model.GetValue("FDate"));
|
if (!string.IsNullOrEmpty(FPlanDate))
|
sqlwhere += $" and FHMASTERDATE='{FPlanDate}'";
|
|
string sql = string.Format(@"
|
/*dialect*/
|
select a.*,b.FHMASTERDATE,b.FHQTY,b.FNOTPRODUCTNUM,FHCloseManSub from SC_WORKBILLSORTBILLMain a
|
join SC_WORKBILLSORTBILLSub b on a.FID=b.FID
|
where DATEDIFF(D,FHMASTERDATE,GETDATE())>0 and isnull(FHCloseManSub,'')=''
|
and FNOTPRODUCTNUM>0
|
");
|
sql += sqlwhere;
|
DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
|
this.Model.DeleteEntryData("FEntity");
|
if (dt.Rows.Count > 0)
|
{
|
for (int i = 0; i < dt.Rows.Count; i++)
|
{
|
this.Model.CreateNewEntryRow("FEntity");
|
this.Model.SetValue("FSEQ", i + 1, i);//序号
|
this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//生产订单数量
|
this.Model.SetValue("FSalOrderCount", dt.Rows[i]["FHSeOrderBillNo"].ToString(), i);//销售订单数量
|
this.Model.SetValue("FBatch", dt.Rows[i]["FBatch"].ToString(), i);//批次号
|
this.Model.SetValue("FUnit", dt.Rows[i]["FHUnitID"].ToString(), i);//计量单位
|
this.Model.SetValue("FORGID", dt.Rows[i]["FHPRDORGID"].ToString(), i);//生产组织
|
this.Model.SetValue("FMatrailId", dt.Rows[i]["FHMaterID"].ToString(), i);//产品代码
|
this.Model.SetValue("FDeliverydate", dt.Rows[i]["FHOrderCommitDate"].ToString(), i);//交货日期
|
this.Model.SetValue("FOrderLevel", dt.Rows[i]["FHOrderLev"].ToString(), i);//订单等级
|
this.Model.SetValue("FSCOrderNo", dt.Rows[i]["FSCOrderNo"].ToString(), i);//生产订单号
|
this.Model.SetValue("FSalOrderNo", dt.Rows[i]["FHSEORDERBILLNO"].ToString(), i);//销售订单号
|
this.Model.SetValue("FBzDate", dt.Rows[i]["FPreparatDate"].ToString(), i);//编制日期
|
this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//生产订单数量
|
this.Model.SetValue("FHMainSourceInterID", dt.Rows[i]["FPRDMOMAINID"].ToString(), i);//源单主内码FHMainSourceInterID
|
this.Model.SetValue("FHMainSourceEntryID", dt.Rows[i]["FPRDMOENTYID"].ToString(), i);//源单子内码FHMainSourceEntryID
|
this.Model.SetValue("FDayPlanWorkID", dt.Rows[i]["FID"].ToString(), i);//日计划工单FID
|
this.Model.SetValue("FResourcesId", dt.Rows[i]["FHSourceID"].ToString(), i);//生产资源
|
this.Model.SetValue("FProductWorkShopId", dt.Rows[i]["FHWorkShopID"].ToString(), i);//生产车间
|
this.Model.SetValue("FOrderQuantity", dt.Rows[i]["FOrderQuantity"].ToString(), i);//生产订单数量
|
this.Model.SetValue("FDayPlanQuantity", dt.Rows[i]["FHQTY"].ToString(), i);//日计划数量
|
this.Model.SetValue("FDelaylnUM", dt.Rows[i]["FNotProductNum"].ToString(), i);//拖期数量
|
this.Model.SetValue("FPlanDate", dt.Rows[i]["FHQTY"].ToString(), i);//拖期数量
|
}
|
}
|
this.View.UpdateView();
|
did = true;
|
}
|
}
|
}
|