Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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));
        }