using Kingdee.BOS.App.Data;
|
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.Util;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Linq;
|
using System.Text;
|
using Kingdee.BOS.ServiceHelper;
|
using System.Threading.Tasks;
|
|
namespace Demo.BillView
|
{
|
[Description("齐套分析列表功能")]
|
[HotUpdate]
|
public class ProCompleteAnalysisDetail : AbstractDynamicFormPlugIn
|
{
|
bool did = false;
|
public override void OnLoad(EventArgs e)
|
{
|
base.OnLoad(e);
|
if (this.View.OpenParameter.GetCustomParameter("FHMainICMOInterID") == null)
|
{
|
SearchList();
|
}
|
else
|
{
|
if (did)
|
return;
|
string FHMainICMOInterIDr = this.View.OpenParameter.GetCustomParameter("FHMainICMOInterID").ToString();//主生产订单主内码
|
string FHMainICMOEntryID = this.View.OpenParameter.GetCustomParameter("FHMainICMOEntryID").ToString();// 主生产订单子内码
|
string FHICMOInterID = this.View.OpenParameter.GetCustomParameter("FHICMOInterID").ToString();//日计划订单主内码
|
string sql = string.Format(@"/*dialect*/select * from JIT_MOMaterReadysBill where FHMainICMOInterIDr ='{0}' and FHMainICMOEntryID ='{1}' and FHICMOInterID='{2}' ", FHMainICMOInterIDr, FHMainICMOEntryID, FHICMOInterID);
|
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);
|
this.Model.SetValue("FPlanIssueCount", dt.Rows[i]["FSumPlanCount"], i);//计划发料数量
|
this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount"], i);//齐套数量
|
this.Model.SetValue("FLackCount", dt.Rows[i]["FLackCount"], i);//缺料数量
|
this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//可用数量
|
this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//物料数量
|
this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//是否齐套
|
this.Model.SetValue("FHMainICMOInterIDr", dt.Rows[i]["FHMainICMOInterIDr"].ToString(), i);//生产订单内码
|
this.Model.SetValue("FPRDBillNo", dt.Rows[i]["FPRDBillNo"].ToString(), i);//生产订单内码
|
this.Model.SetValue("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), 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);//货主
|
}
|
}
|
did = true;
|
}
|
}
|
public override void BarItemClick(BarItemClickEventArgs e)
|
{
|
base.BarItemClick(e);
|
if (e.BarItemKey.ToUpper() == "TBFILTER")
|
{
|
SearchList();
|
}
|
}
|
/// <summary>
|
/// 行双击 跳出齐套分析明细列表
|
/// </summary>
|
/// <param name="e"></param>
|
public override void EntityRowDoubleClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.EntityRowClickEventArgs e)
|
{
|
var m = e.Row;
|
var n = e.Key;
|
base.EntityRowClick(e);
|
DynamicFormShowParameter formPa = new DynamicFormShowParameter();
|
formPa.FormId = "paez_CompleteAnalysisMateriel";
|
/* jsonModel.Add("FHMainICMOInterID", FMainInterID);//主生产订单主内码
|
jsonModel.Add("FHMainICMOEntryID", FMainEntryID);//主生产订单子内码
|
jsonModel.Add("FHICMOInterID", FDayPlanWorkID);//日计划订单主内码
|
current["FMatrailId_Id"].ToString(), current["FHMainSourceInterID"].ToString(), current["FHMainSourceEntryID"].ToString(), current["FDayPlanWorkID"].ToString())
|
*/
|
formPa.CustomParams.Add("FHMainICMOInterIDr", Convert.ToString(this.View.Model.GetValue("FHMainICMOInterIDr", e.Row).ToString()));
|
formPa.CustomParams.Add("FMatrailId", Convert.ToString((this.View.Model.GetValue("FMateralDetailId", e.Row) as DynamicObject)["Id"].ToString()));
|
this.View.ShowForm(formPa);
|
}
|
/// <summary>
|
/// 查询事件
|
/// </summary>
|
public void SearchList()
|
{
|
string sqlwhere = " where 1=1";
|
string sql = @"
|
/*dialect*/
|
select * from (
|
select FSumPlanCount*FUNITDOSAGE as FPlanIssueCountS,FCompleteCount*FUNITDOSAGE FCompleteCountS,(FSumPlanCount-FCompleteCount)*FUNITDOSAGE FLackCountS,case when FSumPlanCount>FCompleteCount then '未齐套' else '齐套' end CompleteStatus,
|
t2.FBillNo PRDBillNo,
|
t1.* from JIT_MOMaterReadysBill T1
|
JOIN T_PRD_MO t2 on t1.FHMainICMOInterIDr=t2.FID
|
)AS T
|
";
|
sql = string.Format(@"/*dialect*/select * from JIT_MOMaterReadysBill");
|
//物料
|
if ((this.Model.GetValue("FMateralId") as DynamicObject) != null)
|
{
|
string FMateralId = (this.Model.GetValue("FMateralId") as DynamicObject)["Id"].ToString();
|
if (!string.IsNullOrEmpty(FMateralId))
|
sqlwhere += $" and FHMATERID='{FMateralId}'";
|
}
|
//齐套
|
string FCompleteStatus = Convert.ToString(this.Model.GetValue("FCompleteStatus"));
|
if (!string.IsNullOrEmpty(FCompleteStatus))
|
sqlwhere += $" and FComPlete='{FCompleteStatus}'";
|
|
//日计划日期
|
string FPlanDate = Convert.ToString(this.Model.GetValue("FPlanDate2"));
|
if (!string.IsNullOrEmpty(FPlanDate))
|
sqlwhere += $" and FPlanDate='{FPlanDate}'";
|
|
//生产订单号
|
string PRDBillNo = Convert.ToString(this.Model.GetValue("FScOrderNo"));
|
if (!string.IsNullOrEmpty(PRDBillNo))
|
sqlwhere += $" and PRDBillNo='{PRDBillNo}'";
|
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);
|
this.Model.SetValue("FPlanIssueCount", dt.Rows[i]["FSumPlanCount"], i);//计划发料数量
|
this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount"], i);//齐套数量
|
this.Model.SetValue("FLackCount", dt.Rows[i]["FLackCount"], i);//缺料数量
|
this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//可用数量
|
this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//物料数量
|
this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//是否齐套
|
this.Model.SetValue("FHMainICMOInterIDr", dt.Rows[i]["FHMainICMOInterIDr"].ToString(), i);//生产订单内码
|
this.Model.SetValue("FPRDBillNo", dt.Rows[i]["FPRDBillNo"].ToString(), i);//生产订单内码
|
this.Model.SetValue("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), 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.View.UpdateView();
|
did = true;
|
}
|
}
|
}
|