public void Edit(dynamic data)
        {
            dynamic insert_list = data.list.inserted;

            if (data.list.inserted.ToString() != "[]")
            {
                var    PlanCode    = MmsHelper.GetOrderNumber("APS_MonthPlan", "PlanCode", "YDJH", "", "");
                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["PlanCode"] = PreCode + StartNumber.ToString().PadLeft(3, '0');
                    StartNumber++;
                }
            }

            var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
    <settings>
        <table>
            APS_MonthPlan
        </table>
        <where>
            <field name='PlanCode' cp='equal'></field>
        </where>
    </settings>");
            var service     = new APS_MonthPlanService();
            var result      = service.Edit(null, listWrapper, data);
        }
        //生产计划弹窗点【确定】
        public dynamic PostProductPlanList(dynamic data)
        {
            List <dynamic> plan_list       = data.ToObject <List <dynamic> >();
            var            ProductPlanList = new APS_MonthPlanService().GetProductPlanList(plan_list);

            return(new { list = ProductPlanList });
        }
        public dynamic GetMonthPlanRootPartCode(RequestWrapper data)
        {
            data.LoadSettingXmlString(@"
                <settings defaultOrderBy='ContractCode,ProductID'>
                <select>a.*,b.PartCode,b.PartName,b.PartFigureCode,b.PartQuantity</select>
                <from>dbo.APS_MonthPlan a JOIN dbo.PRS_Process_BOM b ON a.ContractCode=b.ContractCode AND a.ProductID=b.ProductID AND ISNULL(b.ParentCode,'')=''</from>
                <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true' >
                    <field name='b.PartCode' cp='equal'></field>
                </where>
                </settings>");
            var pQuery          = data.ToParamQuery();
            var month_plan_list = new APS_MonthPlanService().GetDynamicList(pQuery);

            return(month_plan_list);
        }
        public dynamic GetMonthPlanList(RequestWrapper data)
        {
            data.LoadSettingXmlString(@"
                <settings defaultOrderBy='ContractCode,ProductID'>
                <select>*</select>
                <from>PRS_Process_BOM</from>
                <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true' >
                    <field name='ContractCode' cp='equal'></field>
                    <field name='ProductID' cp='equal'></field>
                </where>
                </settings>");
            var pQuery          = data.ToParamQuery();
            var month_plan_list = new APS_MonthPlanService().GetDynamicList(pQuery.AndWhere("IsEnable", 1).AndWhere("ISNULL(ParentCode,'')", ""));

            return(month_plan_list);
        }
        //public dynamic PostProductPlanRate(dynamic data)
        //{
        //    string ContractCode = data.ContractCode;
        //    int ProductID = data.ProductID;
        //    string PartCode = data.PartCode;
        //    int ProcessType = data.ProcessType;
        //    var Quantity = new PMS_BN_ProjectDetailService().GetModel(ParamQuery.Instance().AndWhere("ID", ProductID)).Quantity ?? 0;
        //    var PartQuantity = new PRS_Process_BOMService().GetModel(ParamQuery.Instance().AndWhere("PartCode", PartCode)).PartQuantity ?? 0;
        //    var ProductTotal = Quantity * PartQuantity;//生产总数=产品数量*单台数量
        //    //已生产数量
        //    int? ProcuctList = new APS_ProjectProduceDetialService().GetField<int>(
        //        ParamQuery.Instance()
        //        .Select("SUM(Quantity) TotalQuantity")
        //        .From("APS_ProjectProduceDetial")
        //        .AndWhere("ContractCode", ContractCode)
        //        .AndWhere("ProjectDetailID", ProductID)
        //        .AndWhere("PartCode", PartCode)
        //        .AndWhere("ProcessModelType", 1));
        //    return "(" + (ProcuctList ?? 0).ToString() + "/" + ProductTotal.ToString() + ")";
        //}

        public dynamic Get(RequestWrapper query)
        {
            query.LoadSettingXmlString(@"
    <settings defaultOrderBy='PlanCode'>
        <select>*</select>
        <from>APS_MonthPlan</from>
        <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true'>
                <field name='PlanCode'       cp='like'></field>
                <field name='ContractCode'       cp='equal'></field>
                <field name='ProductName'        cp='like'></field>
        </where>
    </settings>");
            var service = new APS_MonthPlanService();
            var pQuery  = query.ToParamQuery();
            var result  = service.GetDynamicListWithPaging(pQuery);

            return(result);
        }