102 lines
4.0 KiB
Python
102 lines
4.0 KiB
Python
import clr
|
|
clr.AddReference("System")
|
|
clr.AddReference("System.Data")
|
|
clr.AddReference("Kingdee.BOS")
|
|
clr.AddReference("Kingdee.BOS.Core")
|
|
clr.AddReference("Kingdee.BOS.App")
|
|
clr.AddReference("Kingdee.BOS.ServiceHelper")
|
|
from Kingdee.BOS import *
|
|
from Kingdee.BOS.Core import *
|
|
from Kingdee.BOS.Core.Bill import *
|
|
from Kingdee.BOS.Core.List import *
|
|
from Kingdee.BOS.Core.Report import *
|
|
from System import *
|
|
from System.Data import *
|
|
from System.Net import *
|
|
from System.Text import *
|
|
from Kingdee.BOS.App.Data import *
|
|
from Kingdee.BOS.Core.List.PlugIn import *
|
|
from Kingdee.BOS.Core.List.PlugIn.Args import *
|
|
|
|
# def FormatCellValue(args):
|
|
# # 日期格式化
|
|
# if args.Header.ColType == SqlStorageType.SqlDatetime:
|
|
# args.FormateValue = ("{0}").format(DateTime.Parse(str(args.FormateValue)).ToString("yyyy-MM-dd"))
|
|
|
|
def CellDbClick(e):
|
|
e.Cancel = True
|
|
fldKey = e.Header.FieldName;
|
|
# 生产订单
|
|
if fldKey == "MONO":
|
|
reportModel = this.Model
|
|
tab = reportModel.DataSource
|
|
row = e.CellRowIndex - 1
|
|
data = tab.Rows[row]
|
|
moIds = "0";
|
|
if data["MOIDS"] !=None and data["MOIDS"] != "":
|
|
moIds = data["MOIDS"];
|
|
filterStr = "FID IN ({0}) AND FMATERIALID = {1} ".format(moIds,data["ProMaterialId"])
|
|
ShowListForm("PRD_MO", filterStr)
|
|
|
|
# 订单.需求数量
|
|
if fldKey == "FBASENEEDQTY":
|
|
reportModel = this.Model
|
|
tab = reportModel.DataSource
|
|
row = e.CellRowIndex - 1
|
|
data = tab.Rows[row]
|
|
moIds = "0";
|
|
if data["MOIDS"] !=None and data["MOIDS"] != "":
|
|
moIds = data["MOIDS"];
|
|
filterStr = "t1.FMOID IN ({0}) AND t1.FMATERIALID = {1} ".format(moIds,data["物料内码"])
|
|
ShowListForm("PRD_PPBOM", filterStr)
|
|
# 订单.未领数量
|
|
if fldKey == "FBASENOPICKEDQTY":
|
|
reportModel = this.Model
|
|
tab = reportModel.DataSource
|
|
row = e.CellRowIndex - 1
|
|
data = tab.Rows[row]
|
|
moIds = "0";
|
|
if data["MOIDS"] !=None and data["MOIDS"] != "":
|
|
moIds = data["MOIDS"];
|
|
filterStr = "t1.FMOID IN ({0}) AND t1.FMATERIALID = {1} ".format(moIds,data["物料内码"])
|
|
ShowListForm("PRD_PPBOM", filterStr)
|
|
# 未发量
|
|
if fldKey == "未发量":
|
|
reportModel = this.Model
|
|
tab = reportModel.DataSource
|
|
row = e.CellRowIndex - 1
|
|
data = tab.Rows[row]
|
|
filterStr = "EXISTS (SELECT 1 FROM T_PRD_MOENTRY_A tt WHERE tt.FID = t1.FMOID AND tt.FSTATUS = 4 ) AND t1.FMATERIALID = {0} ".format(data["物料内码"])
|
|
ShowListForm("PRD_PPBOM", filterStr)
|
|
# 在制量
|
|
if fldKey == "在制量":
|
|
reportModel = this.Model
|
|
tab = reportModel.DataSource
|
|
row = e.CellRowIndex - 1
|
|
data = tab.Rows[row]
|
|
filterStr = "EXISTS (SELECT 1 FROM T_PRD_MOENTRY_A tt WHERE tt.FENTRYID = t1.FENTRYID AND tt.FSTATUS = 4 ) AND t1.FMATERIALID = {0} ".format(data["物料内码"])
|
|
ShowListForm("PRD_PPBOM", filterStr)
|
|
# 在途量
|
|
if fldKey == "在途量":
|
|
reportModel = this.Model
|
|
tab = reportModel.DataSource
|
|
row = e.CellRowIndex - 1
|
|
data = tab.Rows[row]
|
|
filterStr = "FMRPCLOSESTATUS = 'A' AND FCloseStatus = 'A' AND FMATERIALID = {0} AND FBASEUNITQTY >= FBASESTOCKINQTY".format(data["物料内码"])
|
|
# ShowListForm("PUR_PurchaseOrder", filterStr)
|
|
showParam = ListShowParameter();
|
|
showParam.FormId = "PUR_PurchaseOrder";
|
|
showParam.ParentPageId = this.View.PageId;
|
|
showParam.OpenStyle.ShowType = ShowType.Floating;
|
|
showParam.ListFilterParameter.Filter = filterStr
|
|
showParam.IsShowQuickFilter = True;
|
|
this.View.ShowForm(showParam)
|
|
|
|
def ShowListForm(_fromId, _filter, _operationStatus = OperationStatus.VIEW ,_openStyleShowType = ShowType.Floating):
|
|
showParam = ListShowParameter();
|
|
showParam.FormId = _fromId;
|
|
showParam.ParentPageId = this.View.PageId;
|
|
showParam.OpenStyle.ShowType = _openStyleShowType;
|
|
showParam.ListFilterParameter.Filter = _filter
|
|
showParam.IsShowQuickFilter = True;
|
|
this.View.ShowForm(showParam) |