1
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using BGP.K3.GSP.Business.PlugIn.Template;
|
||||
using BGP.K3.GSP.Core.Gsp;
|
||||
using Kingdee.BOS;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.Metadata.EntityElement;
|
||||
using Kingdee.BOS.Orm.DataEntity;
|
||||
using Kingdee.BOS.Orm.Metadata.DataEntity;
|
||||
using Kingdee.BOS.ServiceHelper;
|
||||
|
||||
namespace GZ.BGP.K3.GSP.Business.PlugIn.StorageAndMaintenance
|
||||
{
|
||||
[Description("药品养护计划表单插件")]
|
||||
public class DrugMaintPlanEdit : AbstractGspBillPlugIn
|
||||
{
|
||||
public override DynamicObject RequestOrg => Model.GetValue("F_BGP_OrgId") as DynamicObject;
|
||||
|
||||
public override string DeptFieldKey => "F_BGP_Department";
|
||||
|
||||
public override string EmpFieldKey => "F_BGP_Staff";
|
||||
|
||||
public override void BarItemClick(BarItemClickEventArgs e)
|
||||
{
|
||||
string barItemKey = e.BarItemKey;
|
||||
DynamicObject dataObject = Model.DataObject;
|
||||
if (barItemKey == "tbButtonComDraw" && dataObject["F_BGP_OrgId"] is DynamicObject dynamicObject)
|
||||
{
|
||||
DynamicObjectCollection dynamicObjectCollection = ReceivableDetail1(base.Context, dynamicObject[0]);
|
||||
Entity entity = base.View.BusinessInfo.GetEntity("FEntity");
|
||||
base.View.Model.GetEntityDataObject(entity);
|
||||
int entryRowCount = Model.GetEntryRowCount(entity.Key);
|
||||
for (int num = entryRowCount - 1; num > -1; num--)
|
||||
{
|
||||
base.View.Model.DeleteEntryRow("FEntity", num);
|
||||
}
|
||||
|
||||
int count = dynamicObjectCollection.Count;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
base.View.Model.CreateNewEntryRow("FEntity");
|
||||
base.View.Model.SetValue("F_BGP_MaterialNo", dynamicObjectCollection[i]["FMaterialId"], i);
|
||||
base.View.InvokeFieldUpdateService("FMaterialId", i);
|
||||
base.View.Model.SetValue("F_BGP_Warehouse", dynamicObjectCollection[i]["FSTOCKID"], i);
|
||||
base.View.Model.SetValue("F_BGP_Inventory", dynamicObjectCollection[i]["FBaseQty"], i);
|
||||
base.View.Model.SetValue("F_BGP_BatchNo", dynamicObjectCollection[i]["FLot"], i);
|
||||
base.View.Model.SetValue("F_BGP_Positions", dynamicObjectCollection[i]["FStockLocId"], i);
|
||||
base.View.Model.SetValue("F_BGP_OverTime", dynamicObjectCollection[i]["overday"], i);
|
||||
base.View.Model.SetValue("F_BGP_ShouldMainteDate", dynamicObjectCollection[i]["F_BGP_ShouldMainteDate"], i);
|
||||
base.View.Model.SetValue("F_BGP_MeasuringUnit", dynamicObjectCollection[i]["FStockUnitId"], i);
|
||||
base.View.Model.SetValue("F_BGP_UNITID", dynamicObjectCollection[i]["FBaseUnitId"], i);
|
||||
base.View.Model.SetValue("F_BGP_MAINTEPLANDATE", dynamicObjectCollection[i]["F_BGP_MAINTEPLANDATE"], i);
|
||||
base.View.Model.SetValue("F_BGP_MAINTECN", dynamicObjectCollection[i]["FBaseQty"], i);
|
||||
base.View.Model.SetValue("F_BGP_ProductDate", dynamicObjectCollection[i]["FPRODUCEDATE"], i);
|
||||
base.View.Model.SetValue("F_BGP_EffDate", dynamicObjectCollection[i]["FEXPIRYDATE"], i);
|
||||
base.View.Model.SetValue("F_BGP_BaseQty", dynamicObjectCollection[i]["FBaseQty"], i);
|
||||
base.View.Model.SetValue("F_BGP_InventoryState", dynamicObjectCollection[i]["FStockStatusId"], i);
|
||||
base.View.Model.SetValue("F_BGP_OwnerTypeId", dynamicObjectCollection[i]["FOwnerTypeId"], i);
|
||||
base.View.Model.SetValue("F_BGP_OwnerId", dynamicObjectCollection[i]["FOwnerId"], i);
|
||||
base.View.Model.SetValue("F_BGP_KeeperTypeId", dynamicObjectCollection[i]["FKeeperTypeId"], i);
|
||||
base.View.Model.SetValue("F_BGP_KeeperId", dynamicObjectCollection[i]["FKeeperId"], i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static DynamicObjectCollection ReceivableDetail1(Context cxt, object fOrg)
|
||||
{
|
||||
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
|
||||
StringBuilder stringBuilder = new StringBuilder("/*dialect*/ ");
|
||||
string gspDatabasetext = GspDatabaseTypeHelper.GetGspDatabasetext(cxt, "FORG");
|
||||
SqlParam[] array = new SqlParam[1]
|
||||
{
|
||||
new SqlParam(gspDatabasetext, KDDbType.String, fOrg)
|
||||
};
|
||||
if ((int)GspDatabaseTypeHelper.GetGspDatabaseType(cxt) == 0)
|
||||
{
|
||||
stringBuilder.AppendFormat(" SELECT i.FSTOCKID, i.FMaterialId, FLot, FStockUnitId, FBaseUnitId, FQty,FBaseQty, FStockStatusId, FStockLocId ,DATEDIFF(day,Maintdate ,getdate())-90 overday,dateadd(day,90.7,Maintdate) as F_BGP_ShouldMainteDate,isnull(l.FPRODUCEDATE,i.FPRODUCEDATE)FPRODUCEDATE, isnull(l.FEXPIRYDATE,i.FEXPIRYDATE)FEXPIRYDATE,getdate() F_BGP_MAINTEPLANDATE \r\n ,FOwnerTypeId ,FOwnerId ,FKeeperTypeId,FKeeperId,FStockStatusId\r\nFROM T_STK_INVENTORY i, T_BD_MATERIAL m,T_BGP_MaintainType mt,\r\n(select isnull(F_BGP_MaintDate,FInStockDate) Maintdate, FLOTID,FPRODUCEDATE,FEXPIRYDATE from T_BD_LOTMASTER) l\r\nWHERE i.FMaterialId = m.FMaterialId \r\nand F_BGP_MaintainClass=mt.FID\r\nand F_BGP_DAY=90\r\nand l.FLOTID=i.FLot\r\nand DATEDIFF(day,Maintdate ,getdate())>90 and i.FSTOCKORGID={0} and FBaseQty>0\r\nand m.FDOCUMENTSTATUS='C' and FStockStatusId=10000\r\n order by F_BGP_DosageForm,FSTOCKID,FMaterialId ", gspDatabasetext);
|
||||
}
|
||||
else
|
||||
{
|
||||
stringBuilder.AppendFormat(" SELECT i.FSTOCKID, i.FMaterialId, FLot, FStockUnitId, FBaseUnitId, FQty,FBaseQty, FStockStatusId, FStockLocId ,\r\n ROUND(TO_NUMBER(Maintdate-sysdate))-90 overday,\r\n /*dateadd(day,90.7,Maintdate)*/\r\n Maintdate+90.7 as F_BGP_ShouldMainteDate,\r\n NVL(l.FPRODUCEDATE,i.FPRODUCEDATE)FPRODUCEDATE, NVL(l.FEXPIRYDATE,i.FEXPIRYDATE)FEXPIRYDATE,\r\n sysdate F_BGP_MAINTEPLANDATE \r\n ,FOwnerTypeId ,FOwnerId ,FKeeperTypeId,FKeeperId,FStockStatusId\r\nFROM T_STK_INVENTORY i, T_BD_MATERIAL m,T_BGP_MaintainType mt,\r\n(select NVL(F_BGP_MaintDate,FInStockDate) Maintdate, FLOTID,FPRODUCEDATE,FEXPIRYDATE from T_BD_LOTMASTER) l\r\nWHERE i.FMaterialId = m.FMaterialId \r\nand F_BGP_MaintainClass=mt.FID\r\nand F_BGP_DAY=90\r\nand l.FLOTID=i.FLot\r\nand ROUND(TO_NUMBER(Maintdate-sysdate)) >90 \r\nand i.FSTOCKORGID={0} and FBaseQty>0\r\nand m.FDOCUMENTSTATUS='C' and FStockStatusId=10000\r\n order by F_BGP_DosageForm,FSTOCKID,FMaterialId", gspDatabasetext);
|
||||
}
|
||||
|
||||
return DBServiceHelper.ExecuteDynamicObject(cxt, stringBuilder.ToString(), (IDataEntityType)null, (IDictionary<string, Type>)null, CommandType.Text, array);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user