public dynamic GetPageData(string id)
        {
            var masterService = new MES_MaterialPickMainService();
            var pQuery        = ParamQuery.Instance().AndWhere("ID", id);
            var mainData      = masterService.GetModel(pQuery);

            if (mainData != null)
            {
                var pQuery2 = ParamQuery.Instance().AndWhere("MainID", mainData.ID).AndWhere("IsEnable", 1);
                var result  = new
                {
                    //主表数据
                    form       = mainData,
                    scrollKeys = masterService.ScrollKeys("ID", id),

                    //明细数据
                    tab0 = new MES_MaterialPickDetailService().GetDynamicList(pQuery2)
                };
                return(result);
            }
            else
            {
                var result = new
                {
                    //主表数据
                    form       = mainData,
                    scrollKeys = masterService.ScrollKeys("ID", id),

                    //明细数据
                    tab0 = ""
                };
                return(result);
            }
        }
        //public dynamic GetMaterialDetailByPCode(int ppdID, string partCode, int productID, string productName)
        //{
        //    var data = new MES_MaterialPickMainService().GetMaterialDetailByPCode(ppdID, partCode, productID, productName);
        //    return data;

        //}

        public dynamic POSTMaterialDetailByIID(dynamic data)
        {
            var    list         = data.list;
            string batchingCode = list[0].BatchingCode;
            var    dataA        = new MES_MaterialPickMainService().GetMaterialDetailByPCode(batchingCode);

            return(dataA);
            //return data;
        }
        public void Audit(string id, JObject data)
        {
            var pUpdate = ParamUpdate.Instance()
                          .Update("MES_MaterialPickMain")
                          .Column("ApproveState", data["status"])
                          .Column("ApproveRemark", data["comment"])
                          .Column("ApprovePerson", FormsAuth.GetUserData().UserName)
                          .Column("ApproveDate", DateTime.Now)
                          .AndWhere("ID", id);

            var service      = new MES_MaterialPickMainService();
            var rowsAffected = service.Update(pUpdate);

            MmsHelper.ThrowHttpExceptionWhen(rowsAffected < 0, "单据审核失败[BillNo={0}],请重试或联系管理员!", id);
        }
        public dynamic Get(RequestWrapper query)
        {
            query.LoadSettingXmlString(@"
<settings defaultOrderBy='ID'>
    <select>*</select>
    <from>MES_MaterialPickMain</from>
    <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true' >
        <field name='BillCode'		cp='equal'></field>   
        <field name='DepartmentName'		cp='equal'></field>   
        <field name='PickingDate'		cp='daterange'></field>   
        <field name='BillState'		cp='equal'></field>   
    </where>
</settings>");
            var service = new MES_MaterialPickMainService();
            var pQuery  = query.ToParamQuery();
            var result  = service.GetDynamicListWithPaging(pQuery.AndWhere("IsEnable", 1));

            return(result);
        }
        public void Edit(dynamic data)
        {
            var service = new MES_MaterialPickMainService();

            if (data.form["BillCode"] != "系统生成")
            {
                var pQuery = ParamQuery.Instance().Select("*").AndWhere("ID", data.form["ID"]);
                MES_MaterialPickMain model = service.GetModel(pQuery);
                if (model.BillState != null && model.BillState == 2)
                {
                    MmsHelper.ThrowHttpExceptionWhen(true, "已发布的不能修改!");
                    return;
                }
            }
            var ids = "(";

            foreach (JToken tab in data["tabs"].Children())
            {
                foreach (JProperty item in tab.Children())
                {
                    if (item.Name == "deleted")
                    {
                        foreach (var row in item.Value.Children())
                        {
                            ids += "'" + row["ID"] + "',";
                        }
                        item.Value = "[]";
                    }
                }
            }
            if (ids != "(")
            {
                ids  = ids.Remove(ids.Length - 1, 1);
                ids += ")";
                using (var db = Db.Context("Mms"))
                {
                    string sql1 = string.Format("update MES_MaterialPickDetail set IsEnable=0 where ID in {0} ", ids);
                    db.Sql(sql1).Execute();
                }
            }

            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        MES_MaterialPickMain
    </table>
    <where>
        <field name='ID' cp='equal'></field>
    </where>
</settings>
");



            var tabsWrapper = new List <RequestWrapper>();

            tabsWrapper.Add(RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>MES_MaterialPickDetail</table>
    <where>
        <field name='ID' cp='equal'></field>      
    </where>
</settings>"));

            if (data.form["BillCode"] == "系统生成")
            {
                string documentNo = MmsHelper.GetOrderNumber("MES_MaterialPickMain", "BillCode", "CJLL", "", "");
                data.form["BillCode"] = documentNo;
            }
            var result = service.EditPage(data, formWrapper, tabsWrapper);
        }