public void Edit(dynamic data)
        {
            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        WMS_BN_BillMain
    </table>
    <where>
        <field name='ID' cp='equal'></field>
    </where>
</settings>
");

            var tabsWrapper = new List <RequestWrapper>();

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

            var service = new WMS_BN_BillMainService();

            if (data.form["BillCode"] == "系统生成")
            {
                if (string.IsNullOrEmpty(WMS_BN_BillMainController.uc.Value))
                {
                    return;
                }
                string documentNo = MmsHelper.GetOrderNumber("WMS_BN_BillMain", "BillCode", WMS_BN_BillMainController.uc.Description, "", "");
                data.form["BillCode"] = documentNo;
                foreach (JToken tab in data["tabs"].Children())
                {
                    foreach (JProperty item in tab.Children())
                    {
                        if (item.Name == "inserted")
                        {
                            foreach (var row in item.Value.Children())
                            {
                                row["BillCode"] = documentNo;
                            }
                        }
                    }
                }
            }

            var result = service.EditPage(data, formWrapper, tabsWrapper);
        }
        public void Audit(string id, JObject data)
        {
            var pUpdate = ParamUpdate.Instance()
                          .Update("WMS_BN_BillMain")
                          .Column("ApproveState", data["status"])
                          .Column("ApproveRemark", data["comment"])
                          .Column("ApprovePerson", FormsAuth.GetUserData().UserName)
                          .Column("ApproveDate", DateTime.Now)
                          .AndWhere("ID", id);

            var service      = new WMS_BN_BillMainService();
            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>WMS_BN_BillMain</from>
    <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true' >
        <field name='BillCode'		cp='like'></field>   
        <field name='ContractCode'		cp='equal'></field>   
        <field name='DepartmentID'		cp='equal'></field>   
        <field name='SupplierCode'		cp='equal'></field>   
        <field name='WarehouseCode'		cp='equal'></field>   
        <field name='ApproveState'		cp='equal'></field>   
    </where>
</settings>");
            var service = new WMS_BN_BillMainService();
            //if (WMS_BN_BillMainController.uc.Value =="8")
            //{
            //var loginer = FormsAuth.GetUserData<LoginerBase>();
            //var warehouse = new SYS_BN_WarehouseService().GetWarehouseByCode(loginer.UserCode);
            //var pQuery1 = query.ToParamQuery().AndWhere("ApproveState", 1).AndWhere("BillType","6").AndWhere("WarehouseCode", warehouse.WarehouseCode);
            //var result = service.GetDynamicListWithPaging(pQuery1);
            //return result;
            //}
            //else if (WMS_BN_BillMainController.uc.Value == "9")
            //{
            //    var loginer = FormsAuth.GetUserData<LoginerBase>();
            //    var warehouse = new SYS_BN_WarehouseService().GetWarehouseByCode(loginer.UserCode);
            //    var pQuery1 = query.ToParamQuery().AndWhere("ApproveState", 1).AndWhere("BillType", "7").AndWhere("WarehouseCode", warehouse.WarehouseCode);
            //    var result = service.GetDynamicListWithPaging(pQuery1);
            //    return result;
            //}
            //else

            var loginer   = FormsAuth.GetUserData <LoginerBase>();
            var warehouse = new SYS_BN_WarehouseService().GetWarehouseByCode(loginer.UserCode);
            var pQuery    = query.ToParamQuery().AndWhere("BillType", WMS_BN_BillMainController.uc.Value);
            //.AndWhere("WarehouseCode", warehouse.WarehouseCode);
            var result = service.GetDynamicListWithPaging(pQuery);

            return(result);
        }
        public dynamic GetPageData(string id)
        {
            //var department = new SYS_BN_UserService().GetDepartmentInfo(MmsHelper.GetUserCode());
            var warehouse = new SYS_BN_WarehouseService().GetWarehouseByCode(MmsHelper.GetUserCode());
            //if (warehouse == "0")
            //{
            //    MmsHelper.ThrowHttpExceptionWhen(true, "员工" + MmsHelper.GetUserName() + "不是仓储人员,无法进入出入库明细页面!!", 0);
            //}

            //MmsHelper.ThrowHttpExceptionWhen(warehouse == "0", "请注意,您不是仓储人员,无法进入出入库明细页面!", id);
            var masterService = new WMS_BN_BillMainService();
            var pQuery        = ParamQuery.Instance().AndWhere("ID", id);
            var mainData      = masterService.GetModel(pQuery);

            if (mainData != null)
            {
                var pQuery2 = ParamQuery.Instance().AndWhere("BillCode", mainData.BillCode);
                //mainData.WarehouseName = warehouse.WarehouseName;
                var result = new
                {
                    //主表数据
                    form       = mainData,
                    scrollKeys = masterService.ScrollKeys("ID", id),
                    //明细数据
                    tab0 = new WMS_BN_BillDetailService().GetDynamicList(pQuery2)
                };
                return(result);
            }
            else
            {
                var result = new
                {
                    //主表数据
                    form       = mainData,
                    scrollKeys = masterService.ScrollKeys("ID", id),
                    //明细数据
                    tab0 = ""
                };
                return(result);
            }
        }
        public ActionResult customerEdit(string id = "", string type = "")
        {
            uc         = new sys_codeService().Getsys_codeByTypeAndID("BillType", int.Parse(type));
            ViewBag.uc = uc;
            var loginer = FormsAuth.GetUserData <LoginerBase>();
            var user    = new SYS_BN_UserService().GetModel(ParamQuery.Instance().AndWhere("IsEnable", 1).AndWhere("UserCode", loginer.UserCode));
            //var department = new SYS_BN_UserService().GetDepartmentInfo(MmsHelper.GetUserCode());
            var department             = new SYS_BN_DepartmentService().GetModel(ParamQuery.Instance().AndWhere("IsEnable", 1).AndWhere("DepartmentCode", user.DepartmentCode));
            SYS_BN_Warehouse warehouse = new SYS_BN_Warehouse();

            if (department.DepartmentCode == "0107")
            {
                warehouse = new SYS_BN_WarehouseService().GetModel(ParamQuery.Instance().AndWhere("IsEnable", 1).AndWhere("UserCode", MmsHelper.GetUserCode()));
            }
            else
            {
                warehouse = new SYS_BN_WarehouseService().GetModel(ParamQuery.Instance().AndWhere("ISEnable", 1).AndWhere("WarehouseName", department.DepartmentName));
            }
            //var department=new SYS_BN_DepartmentService().GetIDNameList(MmsHelper.GetUserCode())



            warehouse    = warehouse ?? new SYS_BN_Warehouse();
            ViewBag.user = warehouse.WarehouseCode == null ? 0 : 1;

            var    data     = new WMS_BN_BillDetailApiController().GetPageData(id);
            string billCode = new WMS_BN_BillMainService().GetBillCodeByID(id);
            //string documentNo = MmsHelper.GetOrderNumber("WMS_BN_BillMain", "BillCode", uc.Description, "", "");
            var model = new
            {
                urls = new
                {
                    getdata     = "/api/Mms/WMS_BN_BillDetail/GetPageData/",    //获取主表数据及数据滚动数据api
                    edit        = "/api/Mms/WMS_BN_BillDetail/edit/",           //数据保存api
                    audit       = "/api/Mms/WMS_BN_BillDetail/audit/",          //审核api
                    newkey      = "/api/Mms/WMS_BN_BillDetail/GetNewRowId/",    //获取新的明细数据的主键(日语叫采番)
                    storageSave = "/api/Mms/WMS_BN_BillDetail/PostStorage/"
                },
                resx = new
                {
                    rejected    = "已撤消修改!",
                    editSuccess = "保存成功!",
                    auditPassed = "单据已通过审核!",
                    auditReject = "单据已取消审核!"
                },
                dataSource = new
                {
                    pageData = data,

                    DepartmentID   = department.DepartmentCode,
                    DepartmentName = department.DepartmentName,
                    WarehouseCode  = warehouse.WarehouseCode,
                    //payKinds = codeService.GetValueTextListByType("PayType")
                },
                form = new
                {
                    defaults    = new WMS_BN_BillMain().Extend(new { ID = data.scrollKeys.current, BillCode = data.form == null ? "系统生成" : data.form.BillCode, BillType = uc.Value, ContractCode = "", DepartmentID = "", DepartmentName = "", SupplierCode = "", WarehouseCode = warehouse.WarehouseCode, WarehouseName = warehouse.WarehouseName, ApproveState = "1", ApprovePerson = "", ApproveDate = "", ApproveRemark = "", Remark = "", CreatePerson = MmsHelper.GetUserName(), CreateTime = DateTime.Now, ModifyPerson = MmsHelper.GetUserName(), ModifyTime = DateTime.Now }),
                    primaryKeys = new string[] { "ID" }
                },
                tabs = new object[] {
                    new{
                        type       = "grid",
                        rowId      = "ID",
                        relationId = "ID",
                        postFields = new string[] { "ID", "BillCode", "OrderBillCode", "InventoryCode", "InventoryName", "Specs", "Unit", "MateNum", "ConfirmNum", "UnitPrice", "TotalPrice", "PackageCode", "BatchCode", "PBillCode", "AccountabilityCode", "Remark", "CreatePerson", "CreateTime", "ModifyPerson", "ModifyTime", "IsEnable" },
                        defaults   = new { ID = "", BillCode = billCode, InventoryCode = "", InventoryName = "", Unit = "", MateNum = "", ConfirmNum = "", PackageCode = "", BatchCode = "", PBillCode = "", AccountabilityCode = "", Remark = "", CreatePerson = "", CreateTime = "", ModifyPerson = "", ModifyTime = "", IsEnable = 1 }
                    }
                }
            };

            return(View("Edit", model));
        }