89 lines
2.6 KiB
Python
89 lines
2.6 KiB
Python
import clr
|
|
clr.AddReference("System")
|
|
clr.AddReference("Kingdee.BOS")
|
|
clr.AddReference("Kingdee.BOS.Core")
|
|
clr.AddReference("Kingdee.BOS.DataEntity")
|
|
clr.AddReference("Kingdee.BOS.App")
|
|
clr.AddReference("Kingdee.BOS.Contracts")
|
|
clr.AddReference("Kingdee.BOS.ServiceHelper")
|
|
clr.AddReference("ExtensionMethods")
|
|
|
|
from Kingdee.BOS import*
|
|
from Kingdee.BOS.Core import *
|
|
from Kingdee.BOS.Core.Metadata.EntityElement import *
|
|
from Kingdee.BOS.Orm.DataEntity import*
|
|
from Kingdee.BOS.Orm.Metadata.DataEntity import*
|
|
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
|
|
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
|
|
from System import *
|
|
from System.ComponentModel import*
|
|
from System.Collections.Generic import*
|
|
from System.Text import*
|
|
from Kingdee.BOS.ServiceHelper import *
|
|
from ExtensionMethods import BooleanExtension as boolObjEx
|
|
from ExtensionMethods import DateTimeExtension as dateObjEx
|
|
from ExtensionMethods import ObjectExtension as objEx
|
|
from ExtensionMethods import StringExtension as strObjEx
|
|
|
|
def ButtonClick(e):
|
|
if e.Key.EndsWith("FToSelectBtn", StringComparison.OrdinalIgnoreCase):
|
|
|
|
billNos = List[str]()
|
|
billNos.Add("RO2403280019")
|
|
SelectData();
|
|
|
|
def SelectData(billNos):
|
|
jsons = []
|
|
|
|
sqlL = """/*dialect*/
|
|
|
|
SELECT t0.FPRODUCTNO
|
|
,t0.FPRODUCTID
|
|
,SUM(t1.FAMOUNT) AS '领料成本'
|
|
,SUM(t1.FQTY) AS '领料数量'
|
|
,t2.FMATERIALID
|
|
,ISNULL(t4.FNUMBER,'') 'FLOT_TEXT'
|
|
,ROW_NUMBER() OVER (PARTITION BY t0.FPRODUCTNO,t0.FPRODUCTID ORDER BY t2.FMATERIALID) RN
|
|
,0 plevel
|
|
FROM T_CB_PROORDERDIME t0
|
|
INNER JOIN V_CB_COSTALLORESULTSEND t1 on t0.FPRODUCTDIMEID = t1.FPRODUCTDIMEID
|
|
INNER JOIN T_HS_INIVSTOCKDIMENSION t2 on t2.FENTRYID = t1.FDIMEENTRYID
|
|
INNER JOIN V_HS_OUTINSTOCKSEQ t3 on t3.FENTRYID = t1.FOUTINSTOCKID
|
|
LEFT JOIN T_BD_LOTMASTER t4 on t4.FLOTID = t2.FLOT
|
|
WHERE t0.FPRODUCTNO IN ('{0}')
|
|
GROUP BY t0.FPRODUCTNO,t0.FPRODUCTID,t2.FMATERIALID,t4.FNUMBER
|
|
|
|
"""
|
|
|
|
datas = DBServiceHelper.ExecuteDynamicObject(this.Context, sqlL.format("','".join(billNos)));
|
|
|
|
if datas != None and datas.Count > 0:
|
|
|
|
itemBillNos = List[str]()
|
|
for item in datas:
|
|
lotObjVal = item["FLOT_TEXT"]
|
|
lotVal = '' if lotObjVal == None else str(lotObjVal)
|
|
jsonData = {"工单编号": item["FPRODUCTNO"],"批号": lotVal}
|
|
|
|
if lotVal != '':
|
|
itemBillNos.Add(lotVal);
|
|
|
|
jsons.append(jsonData);
|
|
|
|
if itemBillNos.Count > 0:
|
|
return SelectData(itemBillNos)
|
|
|
|
return None
|
|
|
|
else :
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|