public async Task <Result> AddDepartment(reqmodel <AddDepartmentModel> reqmodel) { bool has_parent = false; Result result = new Result { code = ErrorCodeConst.ERROR_100 }; if (reqmodel.Data.department_parent != null) { string sql_exist_parent = g_sqlMaker.Select <t_department>(s => s.id) .Where("id", "=", "@id") .ToSQL(); bool exist_parent_flag = await g_dbHelper.QueryAsync <int>(sql_exist_parent, new { id = reqmodel.Data.department_parent.Value }) != 0; if (!exist_parent_flag) { result.code = ErrorCodeConst.ERROR_1024; return(result); } has_parent = true; } //上级部门 string sql_insert = null; if (has_parent) { sql_insert = g_sqlMaker.Insert <t_department>(i => new { i.department_name, i.department_parent, i.state, i.status, i.add_time }).ToSQL(); } else { sql_insert = g_sqlMaker.Insert <t_department>(i => new { i.department_name, i.state, i.status, i.add_time }).ToSQL(); } t_department department_model = new t_department { department_name = reqmodel.Data.department_name, department_parent = reqmodel.Data.department_parent, state = (int)EnumState.Normal, status = (int)EnumStatus.Enable }; bool insert_flag = await g_dbHelper.ExecAsync(sql_insert, department_model) > 0; if (!insert_flag) { result.code = ErrorCodeConst.ERROR_1018; return(result); } result.status = ErrorCodeConst.ERROR_200; result.code = ErrorCodeConst.ERROR_1019; return(result); }
/// <summary> /// @xis 搜索入库单 /// </summary> /// <param name="reqmodel"></param> /// <returns></returns> public async Task <Result> SearchStockInPaginerAsync(reqmodel <SearchStockInModel> reqmodel) { PaginerData <t_stock_in> order_list = await GetStockHasByVagueOrderSn(s => new { s.in_user_id, s.order_sn, s.add_time, s.apply_process, s.apply_status, s.department_id, s.position_id }, reqmodel.Data.order_sn, reqmodel.User.position_id, reqmodel.Data.page_index, reqmodel.Data.page_size); Result <PaginerData <SearchStockInResult> > result = new Result <PaginerData <SearchStockInResult> > { status = ErrorCodeConst.ERROR_200, code = ErrorCodeConst.ERROR_200 }; PaginerData <SearchStockInResult> result_paginer = new PaginerData <SearchStockInResult> { page_index = order_list.page_index, page_size = order_list.page_size, total = order_list.total, Data = new List <SearchStockInResult>() }; IAuditServer auditServer = new AuditServerImpl(g_dbHelper, g_logServer); IUserServer userServer = new UserServerImpl(g_dbHelper, g_logServer); IDepartmentServer departmentServer = new DepartmentServerImpl(g_dbHelper, g_logServer); foreach (var item in order_list.Data) { t_user user_model = await userServer.GetUserById(s => new { s.real_name, s.job_number }, item.in_user_id); t_department depart_model = await departmentServer.GetDepartment(s => new { s.department_name }, item.department_id); result_paginer.Data.Add(new SearchStockInResult { add_time = item.add_time.Value.ToString("yyyy-MM-dd hh:mm:ss"), applyer = user_model.real_name, apply_status = item.apply_status, apply_status_desc = ((EnumApplyStatus)item.apply_status).GetDesc(), job_number = user_model.job_number, order_sn = item.order_sn, depart_name = depart_model.department_name, audit_list = await auditServer.GetApplyLogByOrderSnAsync(EnumOrderType.IN, item.order_sn, item.department_id, item.position_id), audit_step_index = auditServer.GetApplyIndex(EnumOrderType.IN, item.department_id, item.position_id, item.apply_process),//获取审批到第几步 op_audit = (auditServer.GetNextApplyer(EnumOrderType.IN, item.department_id, item.apply_process) == reqmodel.User.position_id) && item.apply_status == (int)EnumApplyStatus.Progress }); } result.data = result_paginer; return(result); }
/// <summary> /// @xis 获取入库单详情 /// </summary> /// <param name="reqmodel"></param> /// <returns></returns> public async Task <Result> GetStockInDetailAsync(reqmodel <StockInDetailModel> reqmodel) { Result <StockInDetailResult> result = new Result <StockInDetailResult> { code = ErrorCodeConst.ERROR_100, status = ErrorCodeConst.ERROR_403 }; t_stock_in stock_in_model = await GetStockInByOrderSn(f => new { f.in_user_id, f.department_id, f.add_time, f.apply_status, f.position_id, f.order_sn }, reqmodel.Data.order_sn); if (stock_in_model == null) { result.code = ErrorCodeConst.ERROR_1038; return(result); } IUserServer userServer = new UserServerImpl(g_dbHelper, g_logServer); IDepartmentServer departmentServer = new DepartmentServerImpl(g_dbHelper, g_logServer); IAuditServer auditServer = new AuditServerImpl(g_dbHelper, g_logServer); t_user user_model = await userServer.GetUserById(s => new { s.real_name, s.job_number }, stock_in_model.in_user_id); t_department depart_model = await departmentServer.GetDepartment(s => new { s.department_name }, stock_in_model.department_id); result.data = new StockInDetailResult { add_time = stock_in_model.add_time.Value.ToString("yyyy-MM-dd hh:mm:ss") ?? "", applyer = user_model.real_name, apply_status = stock_in_model.apply_status, apply_status_desc = ((EnumApplyStatus)stock_in_model.apply_status).GetDesc(), audit_step_index = auditServer.GetApplyIndex(EnumOrderType.IN, stock_in_model.department_id, stock_in_model.position_id, stock_in_model.apply_process), job_number = user_model.job_number, order_sn = stock_in_model.order_sn, depart_name = depart_model.department_name, audit_list = await auditServer.GetApplyedLogByOrderSnAsync(EnumOrderType.IN, stock_in_model.order_sn, stock_in_model.department_id, stock_in_model.position_id), products = new List <StockInProductResult>() }; //获取入库的库存信息 List <t_stock_in_detail> stock_detail_list = await GetStockDetailsByOrderSn(f => new t_stock_in_detail { }, stock_in_model.order_sn); IFactoryServer factoryServer = new FactoryServerImpl(g_dbHelper, g_logServer); foreach (var item in stock_detail_list) { result.data.products.Add(new StockInProductResult { batch_number = item.batch_number, expiration_date = item.expiration_date, factory_id = item.factory_id, instructions = item.instructions, material_number = item.material_number, model_number = item.model_number, package_size = item.package_size, product_name = item.product_name, report_card_url = item.report_card_url, retest_date = item.retest_date, spare_parts = item.spare_parts, unit_name = item.unit_name, quantity = item.quantity, unit_price = item.unit_price, factory_name = (await factoryServer.GetFactoryById(f => new { f.factory_name }, item.factory_id)).factory_name }); } result.code = ErrorCodeConst.ERROR_200; result.status = ErrorCodeConst.ERROR_200; return(result); }
/// <summary> /// @xis 登录 2020-3-25 07:52:00 /// </summary> /// <param name="reqmodel"></param> /// <returns></returns> public async Task <Result> LoginAsync(reqmodel <LoginModel> reqmodel) { const string modelname = "UserServerImpl.LoginAsync"; Result <LoginResult> result = new Result <LoginResult> { status = ErrorCodeConst.ERROR_403, code = ErrorCodeConst.ERROR_100 }; string sql_user_select = g_sqlMaker.Select <t_user>(s => new { s.id, s.user_name, s.real_name, s.salt, s.log_pwd, s.position_id }) .Where($"user_name", "=", "@user_name") .And("state", "=", "@state") .ToSQL(); t_user user = await g_dbHelper.QueryAsync <t_user>(sql_user_select, new { reqmodel.Data.user_name, state = (int)EnumState.Normal }); if (user == null) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name}" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1004; return(result); } string pwd = EncPassword(user.id, reqmodel.Data.password, user.salt); if (user.log_pwd != pwd) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name}" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1004; return(result); } //获取职位信息 IPositionServer positionServer = new PositionServerImpl(g_dbHelper, g_logServer); t_position position_model = await positionServer.GetPosition(s => new { s.id, s.position_name, s.department_id }, user.position_id); if (position_model == null) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name},获取职位信息失败" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1022; return(result); } //获取部门信息 IDepartmentServer departmentServer = new DepartmentServerImpl(g_dbHelper, g_logServer); t_department depart_model = await departmentServer.GetDepartment(s => new { s.id, s.department_name }, position_model.department_id); if (depart_model == null) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name},获取部门信息失败" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1022; return(result); } //token string token = Common.AESEncrypt(Common.MakeMd5(Common.MakeGuid()), Common.MakeGuid()); LoginResult login_info = new LoginResult { user_id = user.id, user_name = user.user_name, avatar = user.avatar, real_name = user.real_name, department_id = depart_model.id, department_name = depart_model.department_name, position_id = position_model.id, position_name = position_model.position_name, token = token }; bool login_flag = await TokenRenewalAsync(token, login_info); if (!login_flag) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name},存Redis失败" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1022; return(result); } result.data = login_info; result.status = ErrorCodeConst.ERROR_200; result.code = ErrorCodeConst.ERROR_1008; return(result); }
public DepartmentResult(t_department model) { this.id = model.id; this.name = model.department_name; this.parent = model.department_parent; }