public dynamic Get(RequestWrapper query) { query.LoadSettingXmlString(@" <settings defaultOrderBy='ID'> <select>*,(select TOP 1 PartFigureCode from PRS_Process_BOM where PartCode=MES_WorkingTicket.PartCode) PartFigureCode</select> <from>MES_WorkingTicket</from> <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true'> <field name='WorkTicketCode' cp='like'></field> <field name='ApsCode' cp='like'></field> <field name='TeamName' cp='like'></field> <field name='WorkshopName' cp='like'></field> <field name='ProcessName' cp='like'></field> <field name='WorkStepsName' cp='like'></field> <field name='EquipmentName' cp='like'></field> </where> </settings>"); var service = new MES_WorkingTicketService(); //string WorkshopCodeStr = "'nodata'"; //var WorkshopCodeList = new SYS_WorkGroupService() // .GetModelList(ParamQuery.Instance() // .Select("DISTINCT b.DepartID") // .From("SYS_WorkGroupDetail a LEFT JOIN SYS_WorkGroup b ON a.MainID=b.ID") // .AndWhere("a.UserCode", MmsHelper.GetUserCode())); var user = new SYS_BN_UserService().GetModel(ParamQuery.Instance().AndWhere("IsEnable", 1).AndWhere("UserCode", MmsHelper.GetUserCode())); //if (WorkshopCodeList.Count > 0) //{ // WorkshopCodeStr = "'" + string.Join("','", WorkshopCodeList.Select(a => a.DepartID)) + "'"; //} var pQuery = query.ToParamQuery(); //var result = service.GetDynamicListWithPaging(pQuery.AndWhere("WorkshopCode", user.DepartmentCode)); var result = service.GetDynamicListWithPaging(pQuery); return(result); }
public dynamic Get(RequestWrapper query) { query.LoadSettingXmlString(@" <settings defaultOrderBy='temp.RootPartCode'> <select>*</select> <from>(SELECT d.ContractCode,d.ProjectName,c.ProjectDetailID ProductID,c.RootPartCode,a.IsEnable, (SELECT TOP 1 PartFigureCode FROM dbo.PRS_Process_BOM WHERE PartCode = c.RootPartCode) RootFigureCode, (SELECT TOP 1 PartName FROM dbo.PRS_Process_BOM WHERE PartCode = c.RootPartCode) RootPartName, (SELECT TOP 1 PartFigureCode FROM dbo.PRS_Process_BOM WHERE InventoryCode = b.InventoryCode) PartFigureCode,b.InventoryCode, (SELECT TOP 1 PartCode FROM dbo.PRS_Process_BOM WHERE InventoryCode = b.InventoryCode) PartCode, (SELECT TOP 1 PartName FROM dbo.PRS_Process_BOM WHERE InventoryCode = b.InventoryCode) PartName, (SELECT TOP 1 MaterialCode FROM dbo.PRS_Process_BOM WHERE InventoryCode = b.InventoryCode) MaterialCode, a.WorkshopCode,(SELECT TOP 1 DepartmentName FROM dbo.SYS_BN_Department WHERE DepartmentCode=a.WorkshopCode) WorkshopName, a.ProcessName,a.WorkStepsName,ISNULL(b.RequiredQuantity,0) RequiredQuantity FROM MES_WorkingTicket a LEFT JOIN MES_WorkTicketMate b ON a.WorkTicketCode=b.WorkTicketCode LEFT JOIN dbo.APS_ProjectProduceDetial c ON c.ApsCode=a.ApsCode LEFT JOIN PMS_BN_Project d ON d.ContractCode=c.ContractCode WHERE a.IsEnable=1) as temp</from> <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true' > <field name='temp.ContractCode' cp='equal'></field> <field name='temp.ProductID' cp='equal'></field> <field name='temp.InventoryCode' cp='equal'></field> <field name='temp.RootPartCode' cp='equal'></field> </where> </settings>"); var service = new MES_WorkingTicketService(); var pQuery = query.ToParamQuery(); var result = service.GetDynamicList(pQuery.AndWhere("RequiredQuantity", 0, Cp.NotEqual)); return(result); }
public void Edit(dynamic data) { string TurnTargetCode = "", TurnTargetName = ""; var ApsList = new APS_ProjectProduceDetialService().GetModelList(); dynamic insert_list = data.list.inserted; if (data.list.inserted.ToString() != "[]") { var PlanCode = MmsHelper.GetOrderNumber("MES_WorkingTicket", "WorkTicketCode", "ZYGP", "", ""); string PreCode = PlanCode.Substring(0, PlanCode.Length - 3); int StartNumber = Convert.ToInt32(PlanCode.Substring(PlanCode.Length - 3)); foreach (dynamic item in data.list.inserted) { item["ApproveState"] = 1; item["WorkTicketCode"] = PreCode + StartNumber.ToString().PadLeft(3, '0'); string ApsCode = item["ApsCode"]; var ApsItem = ApsList.Where(a => a.ApsCode == ApsCode).FirstOrDefault(); var TurnTargetModel = new WinFormClientService().GetTurnTarget(ApsItem.ID); bool Result = TurnTargetModel.Result; if (Result) { TurnTargetCode = TurnTargetModel.Data.ID; TurnTargetName = TurnTargetModel.Data.Name; } item["TurnTargetCode"] = TurnTargetCode; item["TurnTargetName"] = TurnTargetName; StartNumber++; } } var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@" <settings> <table> MES_WorkingTicket </table> <where> <field name='ID' cp='equal'></field> </where> </settings>"); var service = new MES_WorkingTicketService(); var result = service.Edit(null, listWrapper, data); }
public ActionResult Index(string id) { WorkTicketCode = id; //查询工票表信息 var WorkTicketCodeModel = new MES_WorkingTicketService().GetModelList(ParamQuery.Instance().AndWhere("WorkTicketCode", WorkTicketCode)).FirstOrDefault(); var WorkshopCode = WorkTicketCodeModel.WorkshopCode; //工票信息车间编码 var WorkshopName = WorkTicketCodeModel.WorkshopName; //工票信息车间名称 var PartCode = WorkTicketCodeModel.PartCode; //工票信息零件编码 //var WorkQuantity = WorkTicketCodeModel.WorkQuantity;//工票信息派工数量 var ApsCode = WorkTicketCodeModel.ApsCode; //计划编码 var ApproveState = WorkTicketCodeModel.ApproveState ?? 1; //查询计划中产品数量 var PlanNumber = new APS_ProjectProduceDetialService().GetField <int>( ParamQuery.Instance() .Select("Quantity/BomQty") .From("APS_ProjectProduceDetial") .AndWhere("ApsCode", ApsCode)); var MES_WorkshopBatchingList = new MES_WorkshopBatchingService().GetModelList(ParamQuery.Instance().AndWhere("WorkshopCode", WorkshopCode).AndWhere("PartCode", PartCode).AndWhere("IsEnable", 1)); var MES_WorkshopBatchingDetailList = new List <MES_WorkshopBatchingDetail>(); var MES_WorkTicketMateList = new List <dynamic>(); MES_WorkTicketMateList = new MES_WorkTicketMateService().GetDynamicList(ParamQuery.Instance().AndWhere("WorkTicketCode", WorkTicketCode)); if (MES_WorkTicketMateList.Count == 0) { var PRS_Process_BOMList = new PRS_Process_BOMService() .GetModelList(); if (MES_WorkshopBatchingList.Count > 0) { string BatchingCodeStr = "'" + string.Join("','", MES_WorkshopBatchingList.Select(a => a.BatchingCode)) + "'"; MES_WorkshopBatchingDetailList = new MES_WorkshopBatchingDetailService().GetModelList(ParamQuery.Instance().AndWhere("BatchingCode", BatchingCodeStr, Cp.In)); } if (MES_WorkshopBatchingDetailList.Count > 0) { MES_WorkTicketMateList = MES_WorkshopBatchingDetailList .Join(PRS_Process_BOMList, a => new { PartCode = a.PartCode, ParentCode = a.ParentCode }, b => new { PartCode = b.PartCode, ParentCode = b.ParentCode }, (a, b) => new { a, b }) //.Join(PRS_Process_BOMList, c => new { ParentCode = c.b.ParentCode }, d => new { ParentCode = d.PartCode }, (c, d) => { c,d }) .Select(r => new { InventoryCode = r.b.InventoryCode, PartCode = r.b.PartCode, ParentCode = r.b.ParentCode, InventoryName = r.a.PartName, RequiredQuantity = r.a.BatchingNum, //需求数量 TotalQuantity = r.b.PartQuantity * PlanNumber, //需求总数 WorkTicketCode = WorkTicketCode, WorkshopCode = WorkshopCode, WorkshopName = WorkshopName, IsEnable = 1, IsCrux = r.b.IsCrux }).ToList <dynamic>(); } } var code = new sys_codeService(); var model = new { dataSource = new { MES_WorkTicketMateList = MES_WorkTicketMateList, ApproveState = ApproveState }, urls = new { query = "/api/Mms/MES_WorkTicketMate", newkey = "/api/Mms/MES_WorkTicketMate/getnewkey", edit = "/api/Mms/MES_WorkTicketMate/edit" }, resx = new { noneSelect = "请先选择一条数据!", editSuccess = "保存成功!", auditSuccess = "单据已审核!" }, form = new { WorkTicketCode = "" }, defaultRow = new { }, setting = new { idField = "ID", postListFields = new string[] { "ID", "WorkTicketCode", "InventoryCode", "PartCode", "ParentCode", "InventoryName", "RequiredQuantity", "TotalQuantity", "WorkshopCode", "WorkshopName", "CreatePerson", "CreateTime", "IsEnable", "IsCrux" } } }; return(View(model)); }