private bool ExistERPBom() { /*1,目前工序BOM建立逻辑不变,增加生效检查功能和失效功能, * 初始建立的工序BOM资料处于失效状态,通过生效检查后处于生效状态, * 此时不允许修改,只有失效状态的工序BOM才可以修改。 * 生效检查逻辑包括:完整的工序BOM包含的子阶物料(替代料)必须包含某工单所有的已发料物料代码, * 比如,工单发料资料中包含5种物料,则工序BOM中的子阶物料必须也有这五种物料, * 且首选料不能有这五种物料之外的其他物料。具体的工单由用户在界面指定。 * 举例如下:工单发料资料中有A,B,C,D四种物料*/ string moCode = txtMoCode.Text.ToUpper().Trim(); string bitemCode = txtItemCodeEdit.Text.ToUpper().Trim(); MOFacade moFac = (new FacadeFactory(base.DataProvider)).CreateMOFacade(); // object[] objs = moFac.QueryERPBOM(moCode); bool isExist = moFac.CheckERPBOM(OPID, moCode); // bool isExist = false; // if(objs != null && objs.Length > 0) // { // foreach(Domain.MOModel.ERPBOM erpBom in objs) // { // if(erpBom.BITEMCODE == bitemCode && moCode == erpBom.MOCODE) // { // isExist = true; // break; // } // } // } if (!isExist) { lblMessage.Text = languageComponent1.GetString("$CS_OPBOM_NOT_MATCH_ERPBOM"); } else { lblMessage.Text = String.Empty; } return(isExist); }