using Kingdee.BOS.Core.DynamicForm;
|
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
|
using Kingdee.BOS.Core.Metadata.EntityElement;
|
using Kingdee.BOS.Orm.DataEntity;
|
using Kingdee.BOS.ServiceHelper;
|
using Kingdee.BOS.Util;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace Demo.BillView.PRD
|
{
|
[Description("齐套分析物料明细")]
|
[HotUpdate]
|
public class ProCompleteAnalysisMateriel : AbstractDynamicFormPlugIn
|
{
|
bool did = false;
|
string FMatrailId = "";
|
public override void OnLoad(EventArgs e)
|
{
|
base.OnLoad(e);
|
if (this.View.OpenParameter.GetCustomParameter("FHMainICMOInterIDr") == null)
|
{
|
SearchList();
|
}
|
else
|
{
|
if (did)
|
return;
|
string FHMainICMOInterIDr = this.View.OpenParameter.GetCustomParameter("FHMainICMOInterIDr").ToString();//主生产订单主内码
|
FMatrailId = this.View.OpenParameter.GetCustomParameter("FMatrailId").ToString();//物料
|
string sql = string.Format(@"
|
/*dialect*/
|
SELECT A.*,T6.FNAME,T6.FSPECIFICATION FROM view_JIT_MOMaterReadysBill A
|
join t_BD_Material_L t6 on A.FHMATERID = t6.FMATERIALID
|
WHERE FHICMOINTERID
|
NOT IN (SELECT FID FROM SC_WORKBILLSORTBILLMAIN WHERE FDOCUMENTSTATUS IN ('E'))
|
AND FCOMPLETECOUNT1>0
|
AND FHMATERID ='{0}'
|
AND datediff(d,getdate(),A.FPLANDATE)>=0
|
ORDER BY FPLANDATE ASC,FHLeftQty DESC,FWORKSHOPID
|
", FMatrailId);
|
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("FMateralDetailId", dt.Rows[i]["FHMATERID"], i);//物料ID
|
////this.Model.SetValue("FMateralDetailNumber", dt.Rows[i]["FNAME"], i);//物料名称
|
////this.Model.SetValue("FMateralDetailModel", dt.Rows[i]["FSPECIFICATION"], 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);//日计划日期
|
////this.Model.SetValue("FStockId", dt.Rows[i]["FSTOCKID"], i);//仓库
|
////this.Model.SetValue("FWorkShopId", dt.Rows[i]["FWORKSHOPID"], i);//车间
|
|
this.Model.CreateNewEntryRow("FEntity");
|
this.Model.SetValue("FSEQ", i + 1, i);//序号
|
this.Model.SetValue("FMateralDetailId", dt.Rows[i]["FHMATERID"], i);//物料ID
|
this.Model.SetValue("FMateralDetailNumber", dt.Rows[i]["FNUMBER"], i);//物料编码
|
this.Model.SetValue("FMateralDetailNAME", dt.Rows[i]["FNAME"], i);//物料名称
|
this.Model.SetValue("FMateralDetailModel", dt.Rows[i]["FSPECIFICATION"], i);//物料规格型号
|
this.Model.SetValue("FScOrderNoDetail", dt.Rows[i]["FPRDBILLNO"], i);//生产订单号
|
this.Model.SetValue("FSalorderNo", dt.Rows[i]["FSALEORDERNO"].ToString(), i);//销售订单号
|
this.Model.SetValue("FOccupyCount", dt.Rows[i]["FCompleteCount1"], i);//占用数量 = 齐套数量
|
this.Model.SetValue("FOccupyPickedCount", dt.Rows[i]["FOccupyPickedCount"], i);//领料占用数量
|
this.Model.SetValue("FCurrentCount", dt.Rows[i]["FHLeftQty"], 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.Model.SetValue("FWorkShopId", dt.Rows[i]["FWORKSHOPID"], i);//车间
|
this.Model.SetValue("FStockId", dt.Rows[i]["FSTOCKID"], i);//仓库
|
}
|
}
|
did = true;
|
}
|
}
|
|
/// <summary>
|
/// 查询事件
|
/// </summary>
|
public void SearchList()
|
{
|
string sqlwhere = " where FCompleteCount1>0 and 1=1 AND datediff(d,getdate(),a.FPLANDATE)>=0 ";
|
string sql = string.Format(@"/*dialect*/select a.*,T6.FNAME,T6.FSPECIFICATION from view_JIT_MOMaterReadysBill a
|
join t_BD_Material_L t6 on A.FHMATERID = t6.FMATERIALID
|
");
|
//生产订单号
|
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");
|
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("FMateralDetailId", dt.Rows[i]["FHMATERID"], i);//物料ID
|
this.Model.SetValue("FScOrderNoDetail", dt.Rows[i]["FPRDBILLNO"], i);//生产订单号
|
this.Model.SetValue("FOccupyCount", dt.Rows[i]["FCompleteCount1"], i);//占用数量 = 齐套数量
|
this.Model.SetValue("FOccupyPickedCount", dt.Rows[i]["FOccupyPickedCount"], i);//领料占用数量
|
this.Model.SetValue("FCurrentCount", dt.Rows[i]["FHLeftQty"], 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.Model.SetValue("FWorkShopId", dt.Rows[i]["FWORKSHOPID"], i);//车间
|
this.Model.SetValue("FStockId", dt.Rows[i]["FSTOCKID"], i);//仓库
|
}
|
}
|
this.View.UpdateView();
|
did = true;
|
}
|
public override void BarItemClick(BarItemClickEventArgs e)
|
{
|
base.BarItemClick(e);
|
if (e.BarItemKey.ToUpper() == "TBFILTER")
|
{
|
SearchList();
|
}
|
}
|
}
|
}
|