150 lines
7.0 KiB
C#
150 lines
7.0 KiB
C#
using Kingdee.BOS;
|
|
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.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace HW.PRD_LACKANAYLEBILL
|
|
{
|
|
public class ProductBomLackAnalyePlugIn : AbstractDynamicFormPlugIn
|
|
{
|
|
public override void OnInitialize(InitializeEventArgs e)
|
|
{
|
|
base.OnInitialize(e);
|
|
|
|
}
|
|
|
|
public override void ButtonClick(ButtonClickEventArgs e)
|
|
{
|
|
base.ButtonClick(e);
|
|
if (e.Key.EndsWith("FToAnalyze", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
|
|
var materialEntity = this.View.Model.BusinessInfo.GetEntryEntity("FAnalyzeMaterialEntity");
|
|
var materialRows = this.View.Model.GetEntityDataObject(materialEntity);
|
|
var row = new DynamicObject(materialEntity.DynamicObjectType);
|
|
var a = row[""].Long2Int();
|
|
materialEntity.SeqDynamicProperty.SetValue(row, 1);
|
|
int num = (int)base.Context.CurrentOrganizationInfo.ID;
|
|
Entity entryEntity = this.View.Model.BusinessInfo.GetEntryEntity("F_ora_Entity");
|
|
DynamicObjectCollection entityDataObject = this.View.Model.GetEntityDataObject(entryEntity);
|
|
this.View.Model.BeginIniti();
|
|
entityDataObject.Clear();
|
|
DynamicObjectCollection dynamicObjectCollection = this.View.Model.GetValue("F_ora_Stock") as DynamicObjectCollection;
|
|
DynamicObject dynamicObject = this.View.Model.GetValue("F_ora_Base") as DynamicObject;
|
|
DynamicObject dynamicObject2 = this.View.Model.GetValue("F_ora_Base1") as DynamicObject;
|
|
string text = " AND FSTOCKID IN (";
|
|
string text2 = "";
|
|
string text3 = "";
|
|
string text4 = "";
|
|
string text5 = "";
|
|
string text6 = "";
|
|
if (this.View.Model.GetValue("F_ora_SDate") != null)
|
|
{
|
|
text5 = this.View.Model.GetValue("F_ora_SDate").ToString();
|
|
}
|
|
if (this.View.Model.GetValue("F_ora_EDate") != null)
|
|
{
|
|
text6 = this.View.Model.GetValue("F_ora_EDate").ToString();
|
|
}
|
|
if (dynamicObject != null)
|
|
{
|
|
text3 = Convert.ToString(dynamicObject["Number"]);
|
|
}
|
|
if (dynamicObject2 != null)
|
|
{
|
|
text4 = Convert.ToString(dynamicObject2["Number"]);
|
|
}
|
|
if (this.View.Model.GetValue("F_ora_HName") != null)
|
|
{
|
|
text2 = this.View.Model.GetValue("F_ora_HName").ToString();
|
|
}
|
|
HashSet<long> hashSet = new HashSet<long>();
|
|
if (dynamicObjectCollection.Count > 0)
|
|
{
|
|
foreach (DynamicObject dynamicObject3 in dynamicObjectCollection)
|
|
{
|
|
long num2 = Convert.ToInt64(dynamicObject3["F_ora_Stock_Id"]);
|
|
bool flag8 = num2 == 0L;
|
|
if (!flag8)
|
|
{
|
|
bool flag9 = !hashSet.Contains(num2);
|
|
if (flag9)
|
|
{
|
|
text = text + num2 + ",";
|
|
}
|
|
}
|
|
}
|
|
text += "0)";
|
|
}
|
|
else
|
|
{
|
|
text = " AND 1=1 ";
|
|
}
|
|
string text7 = string.Concat(new string[]
|
|
{
|
|
"exec Pro_BOMStockStatusBillEXP '",
|
|
text3,
|
|
"','",
|
|
text4,
|
|
"','",
|
|
text,
|
|
"','",
|
|
text5,
|
|
"' ,'",
|
|
text6,
|
|
"','",
|
|
text2,
|
|
"'"
|
|
});
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
DynamicObjectCollection dynamicObjectCollection2 = DBServiceHelper.ExecuteDynamicObject(base.Context, text7);
|
|
bool flag10 = dynamicObjectCollection2.Count > 0;
|
|
if (flag10)
|
|
{
|
|
this.View.Model.BatchCreateNewEntryRow("F_ora_Entity", dynamicObjectCollection2.Count);
|
|
}
|
|
int num3 = 0;
|
|
foreach (DynamicObject dynamicObject4 in dynamicObjectCollection2)
|
|
{
|
|
this.Model.SetValue("F_ora_Number", dynamicObject4[1], num3);
|
|
this.Model.SetValue("F_ora_Name", dynamicObject4[2], num3);
|
|
this.Model.SetValue("F_ora_Model", dynamicObject4[3], num3);
|
|
this.Model.SetValue("F_ora_OldNumber", dynamicObject4[4], num3);
|
|
this.Model.SetValue("F_ora_StartQty", dynamicObject4[5], num3);
|
|
this.Model.SetValue("F_ora_PoInQty", dynamicObject4[6], num3);
|
|
this.Model.SetValue("F_ora_AllOutQty", dynamicObject4[7], num3);
|
|
this.Model.SetValue("F_ora_EndQty", dynamicObject4[8], num3);
|
|
this.Model.SetValue("F_ora_ZTQty", dynamicObject4[9], num3);
|
|
this.Model.SetValue("F_ora_ZZQty", dynamicObject4[10], num3);
|
|
this.Model.SetValue("F_ora_JJQty", dynamicObject4[11], num3);
|
|
this.Model.SetValue("F_ora_WFQty", dynamicObject4[12], num3);
|
|
this.Model.SetValue("F_ora_LLQty", dynamicObject4[13], num3);
|
|
this.Model.SetValue("F_ora_XSCKQty", dynamicObject4[14], num3);
|
|
this.Model.SetValue("F_ora_DBCKQty", dynamicObject4[15], num3);
|
|
this.Model.SetValue("F_ora_DBRKQty", dynamicObject4[16], num3);
|
|
this.Model.SetValue("F_ora_SGWZQty", dynamicObject4[17], num3);
|
|
this.Model.SetValue("F_ora_SDQty", dynamicObject4[18], num3);
|
|
this.Model.SetValue("F_ora_ZYQty", dynamicObject4[19], num3);
|
|
this.Model.SetValue("F_ora_KYKCQty", dynamicObject4[20], num3);
|
|
this.Model.SetValue("F_ora_StockNumber", dynamicObject4[21], num3);
|
|
this.Model.SetValue("F_ora_StockName", dynamicObject4[22], num3);
|
|
this.Model.SetValue("F_ora_Text", dynamicObject4[23], num3);
|
|
this.Model.SetValue("F_ora_CPNumber", dynamicObject4[24], num3);
|
|
num3++;
|
|
}
|
|
DBServiceHelper.LoadReferenceObject(base.Context, entityDataObject.ToArray(), entityDataObject.DynamicCollectionItemPropertyType, false);
|
|
this.View.Model.EndIniti();
|
|
this.View.UpdateView("F_ora_Entity");
|
|
}
|
|
}
|
|
}
|
|
}
|