| | |
| | | |
| | | Expression<Func<Order, bool>> expression = t => true; |
| | | |
| | | expression = expression.And(t => t.IsDeleted == false && t.IsEn == true |
| | | expression = expression.And(t => t.IsDeleted == false /*&& t.IsEn == true*/ |
| | | && userids.Contains(t.OrderUserId)); //t.OrderUserId == userid |
| | | |
| | | if (!string.IsNullOrEmpty(page.OrderName)) |
| | |
| | | { |
| | | expression = expression.And(t => t.WordStartTime <= page.WordEndTime); |
| | | } |
| | | if (page.IsEn.HasValue) |
| | | { |
| | | expression = expression.And(t => t.IsEn == page.IsEn); |
| | | } |
| | | |
| | | |
| | | RefAsync<int> total = 0; |
| | | |
| | |
| | | |
| | | var orderRes = new BaseRepository<Order>(); |
| | | bool res; |
| | | if (!orderDto.Zixinganpai.HasValue) |
| | | { |
| | | orderDto.Zixinganpai = false; |
| | | } |
| | | if (orderDto.Id > 0) |
| | | { |
| | | var order = await orderRes.GetByIdAsync(orderDto.Id); |
| | | if (order.OrderStatus > 0) |
| | | if (order.OrderStatus > 0 && order.IsEn == true) |
| | | { |
| | | throw Oops.Oh("招工已经结束不能修改!"); |
| | | } |
| | | var orderBiddingRes = new BaseRepository<OrderBidding>(); |
| | | var count = await orderBiddingRes.CountAsync(x=>x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == true && x.IsSelected == true); |
| | | if (count > 0) |
| | | if (count > 0 && order.IsEn == true) |
| | | { |
| | | throw Oops.Oh("已经确认招工人员,不能修改!"); |
| | | } |
| | | |
| | | |
| | | if (order.IsEn == false) |
| | | { |
| | | var orderBiddings = await orderBiddingRes.GetListAsync(x => x.OrderId == orderDto.Id); |
| | | foreach (var orderBidding in orderBiddings) |
| | | { |
| | | res = await orderBiddingRes.DeleteByIdAsync(orderBidding.Id); |
| | | } |
| | | } |
| | | |
| | | order.OrderName = orderDto.OrderName; |
| | |
| | | order.ContactPhone = orderDto.ContactPhone; |
| | | order.WorkerType = orderDto.WorkerType; |
| | | order.WorkPrice = orderDto.WorkPrice; |
| | | |
| | | |
| | | order.OrderStatus = 0; |
| | | order.IsEn = true; |
| | | order.UpDataBy = NickName; |
| | | order.UpDataTime = DateTime.Now; |
| | | res = await orderRes.UpdateAsync(order); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | order.CreateTime = DateTime.Now; |
| | | order.OrderStatus = 0; |
| | | order.OrderUserId = userid; |
| | | order.IsEn = true; |
| | | res = await orderRes.InsertAsync(order); |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 公司不录用一个工人 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [Authorize] |
| | | [HttpPost] |
| | | public async Task<bool> saveBuLuYong(QueRenDto queRenDto) |
| | | { |
| | | |
| | | var UserID = App.User?.FindFirstValue("UserID"); |
| | | int userid = 0; |
| | | string NickName = App.User?.FindFirstValue("NickName"); |
| | | if (!string.IsNullOrEmpty(UserID)) |
| | | { |
| | | userid = int.Parse(UserID); |
| | | } |
| | | |
| | | var orderBiddingRes = new BaseRepository<OrderBidding>(); |
| | | var orderRes = new BaseRepository<Order>(); |
| | | |
| | | var orderBidding = await orderBiddingRes.GetByIdAsync(queRenDto.OrderBiddingId); |
| | | if (orderBidding == null || orderBidding.IsEn != true || orderBidding.IsDeleted == true) |
| | | { |
| | | throw Oops.Oh("该投递已经无效!"); |
| | | } |
| | | if (orderBidding.IsSelected == true) |
| | | { |
| | | throw Oops.Oh("该投递已经审核,不能不录用!"); |
| | | } |
| | | |
| | | var order = await orderRes.GetByIdAsync(orderBidding.OrderId); |
| | | if (order == null || order.OrderStatus > 0) |
| | | { |
| | | throw Oops.Oh("该招工状态已经无法投递!"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | bool res; |
| | | |
| | | orderBidding.IsSelected = false; |
| | | //orderBidding.Selectedtime = DateTime.Now; |
| | | orderBidding.UpDataBy = NickName; |
| | | orderBidding.UpDataTime = DateTime.Now; |
| | | |
| | | |
| | | res = await orderBiddingRes.UpdateAsync(orderBidding); |
| | | |
| | | |
| | | |
| | | return res; |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 公司取消选择工人 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | |
| | | |
| | | bool res; |
| | | |
| | | orderBidding.IsSelected = false; |
| | | orderBidding.IsSelected = null; |
| | | orderBidding.Selectedtime = null; |
| | | orderBidding.UpDataBy = NickName; |
| | | orderBidding.UpDataTime = DateTime.Now; |
| | |
| | | |
| | | var orderBiddingDetailCheckRepository = new BaseRepository<OrderBiddingDetailCheck>(); |
| | | var userWorkerRes = new BaseRepository<UserWorker>(); |
| | | var data = await orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail>((a, b, c) => |
| | | var data = await orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail, UserWorker>((a, b, c, d) => |
| | | new JoinQueryInfos(JoinType.Inner, a.Id == b.OrderId, |
| | | JoinType.Inner, b.Id == c.OrderBiddingId |
| | | JoinType.Inner, b.Id == c.OrderBiddingId, |
| | | JoinType.Inner, b.WorkerUserId == d.UserId |
| | | )) |
| | | .Where((a, b, c) => a.IsEn == true && a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false |
| | | .Where((a, b, c, d) => a.IsEn == true && a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false |
| | | && b.IsSelected == true && userids.Contains(a.OrderUserId)) //a.OrderUserId == userid |
| | | .WhereIF(page.WordDate.HasValue, (a, b, c) => (c.WorkDate == page.WordDate)) |
| | | .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == true, (a, b, c) => (c.IsShenPi == 2)) |
| | | .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == false, (a, b, c) => (c.IsShenPi < 2)) |
| | | .WhereIF(page.WordDate.HasValue, (a, b, c, d) => (c.WorkDate == page.WordDate)) |
| | | .WhereIF(page.WordDateStart.HasValue, (a, b, c, d) => (c.WorkDate >= page.WordDateStart)) |
| | | .WhereIF(page.WordDateEnd.HasValue, (a, b, c, d) => (c.WorkDate <= page.WordDateEnd)) |
| | | .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == true, (a, b, c, d) => (c.IsShenPi == 2)) |
| | | .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == false, (a, b, c, d) => (c.IsShenPi < 2)) |
| | | .WhereIF(!string.IsNullOrEmpty(page.WorkerUserName), (a, b, c, d) => (d.name.Contains(page.WorkerUserName))) |
| | | .WhereIF(page.WorkerUserId >0 , (a, b, c, d) => (b.WorkerUserId == page.WorkerUserId)) |
| | | .OrderByDescending((a,b,c) => c.WorkDate) |
| | | .Select((a, b, c) => new OrderDakaDto |
| | | .Select((a, b, c, d) => new OrderDakaDto |
| | | { |
| | | OrderBiddingDetailId = c.Id, |
| | | OrderName = a.OrderName, |
| | |
| | | IsShenPi = c.IsShenPi, |
| | | WorkCount = c.WorkCount, |
| | | WorkerUserId = b.WorkerUserId, |
| | | WorkerUserName = d.name, |
| | | }) |
| | | |
| | | .ToPageListAsync(page.PageIndex, page.PageSize, total); |
| | | |
| | | |
| | | |
| | | var heji = orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail, UserWorker>((a, b, c, d) => |
| | | new JoinQueryInfos(JoinType.Inner, a.Id == b.OrderId, |
| | | JoinType.Inner, b.Id == c.OrderBiddingId, |
| | | JoinType.Inner, b.WorkerUserId == d.UserId |
| | | )) |
| | | .Where((a, b, c, d) => a.IsEn == true && a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false |
| | | && b.IsSelected == true && userids.Contains(a.OrderUserId)) //a.OrderUserId == userid |
| | | .WhereIF(page.WordDate.HasValue, (a, b, c, d) => (c.WorkDate == page.WordDate)) |
| | | .WhereIF(page.WordDateStart.HasValue, (a, b, c, d) => (c.WorkDate >= page.WordDateStart)) |
| | | .WhereIF(page.WordDateEnd.HasValue, (a, b, c, d) => (c.WorkDate <= page.WordDateEnd)) |
| | | .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == true, (a, b, c, d) => (c.IsShenPi == 2)) |
| | | .WhereIF(page.IsJieSuan.HasValue && page.IsJieSuan == false, (a, b, c, d) => (c.IsShenPi < 2)) |
| | | .WhereIF(!string.IsNullOrEmpty(page.WorkerUserName), (a, b, c, d) => (d.name.Contains(page.WorkerUserName))) |
| | | .WhereIF(page.WorkerUserId > 0, (a, b, c, d) => (b.WorkerUserId == page.WorkerUserId)) |
| | | .Sum((a, b, c, d) => c.TodaySalary); |
| | | |
| | | if (data != null && data.Count > 0) |
| | | { |
| | |
| | | |
| | | switch (dakaDto.IsShenPi) |
| | | { |
| | | case (int)IsShenPis.baocun: dakaDto.IsShenPiName = "未结算"; break; |
| | | case (int)IsShenPis.tijiao: dakaDto.IsShenPiName = "未结算"; break; |
| | | case (int)IsShenPis.yishenpi: dakaDto.IsShenPiName = "已结算"; break; |
| | | case (int)IsShenPis.baocun: dakaDto.IsShenPiName = "未审核"; break; |
| | | case (int)IsShenPis.tijiao: dakaDto.IsShenPiName = "未审核"; break; |
| | | case (int)IsShenPis.yishenpi: dakaDto.IsShenPiName = "已审核"; break; |
| | | default: break; |
| | | } |
| | | |
| | |
| | | dakaDto.DakaMingxi = DakaMingxi; |
| | | |
| | | |
| | | var userWorker = await userWorkerRes.GetFirstAsync(x => x.UserId == dakaDto.WorkerUserId && x.IsEn == true && x.IsDeleted == false ); |
| | | if (userWorker != null) |
| | | { |
| | | dakaDto.WorkerUserName = userWorker.name; |
| | | } |
| | | //var userWorker = await userWorkerRes.GetFirstAsync(x => x.UserId == dakaDto.WorkerUserId && x.IsEn == true && x.IsDeleted == false ); |
| | | //if (userWorker != null) |
| | | //{ |
| | | // dakaDto.WorkerUserName = userWorker.name; |
| | | //} |
| | | |
| | | } |
| | | |
| | |
| | | result.PageIndex = page.PageIndex; |
| | | result.PageSize = page.PageSize; |
| | | result.TotalCount = total; |
| | | |
| | | result.Heji = heji ?? 0; |
| | | return result; |
| | | } |
| | | |
| | |
| | | userid = int.Parse(UserID); |
| | | } |
| | | |
| | | var orderBiddingRes = new BaseRepository<OrderBidding>(); |
| | | //var orderBiddingRes = new BaseRepository<OrderBidding>(); |
| | | var orderRes = new BaseRepository<Order>(); |
| | | var userWorkerRes = new BaseRepository<UserWorker>(); |
| | | //var userWorkerRes = new BaseRepository<UserWorker>(); |
| | | |
| | | |
| | | var order = await orderRes.GetByIdAsync(baoMingDto.OrderId); |
| | | if (order.OrderStatus > 0) |
| | | { |
| | | throw Oops.Oh("已经招工完毕或者结算,无法删除"); |
| | | throw Oops.Oh("已经招工完毕或者结算,无法下架"); |
| | | } |
| | | |
| | | bool res; |
| | | order.IsEn = false; |
| | | order.UpDataBy = NickName; |
| | | order.UpDataTime = DateTime.Now; |
| | | |
| | | res = await orderRes.DeleteAsync(order); |
| | | res = await orderRes.UpdateAsync(order); |
| | | |
| | | return res; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 查询公司下工人的工资额度 |
| | | /// </summary> |
| | | /// <param name="page"></param> |
| | | /// <returns></returns> |
| | | [Authorize] |
| | | [HttpPost] |
| | | public async Task<PageResult<OrderDakaDto>> PostMyComGongZiListPage(OrderDakaPageSearch page) |
| | | { |
| | | var UserID = App.User?.FindFirstValue("UserID"); |
| | | int userid = 0; |
| | | if (!string.IsNullOrEmpty(UserID)) |
| | | { |
| | | userid = int.Parse(UserID); |
| | | } |
| | | |
| | | PageResult<OrderDakaDto> result = new PageResult<OrderDakaDto>(); |
| | | var orderRepository = new BaseRepository<Order>(); |
| | | var userCompanyRes = new BaseRepository<UserCompany>(); |
| | | //查询公司的所有员工的所有招工订单 |
| | | var userCompany = await userCompanyRes.GetFirstAsync(x => x.UserId == userid && x.IsEn == true && x.IsDeleted == false); |
| | | if (userCompany == null) |
| | | { |
| | | throw Oops.Oh("你没有公司!"); |
| | | } |
| | | var userCompanies = await userCompanyRes.GetListAsync(x => x.Suppliercode == userCompany.Suppliercode && x.IsEn == true && x.IsDeleted == false); |
| | | var userids = userCompanies.Select(x => x.UserId).ToList(); |
| | | |
| | | RefAsync<int> total = 0; |
| | | |
| | | |
| | | var orderBiddingDetailCheckRepository = new BaseRepository<OrderBiddingDetailCheck>(); |
| | | var userWorkerRes = new BaseRepository<UserWorker>(); |
| | | var data = await orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail, UserWorker>((a, b, c, d) => |
| | | new JoinQueryInfos(JoinType.Inner, a.Id == b.OrderId, |
| | | JoinType.Inner, b.Id == c.OrderBiddingId, |
| | | JoinType.Inner, b.WorkerUserId == d.UserId |
| | | )) |
| | | .Where((a, b, c, d) => a.IsEn == true && a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false |
| | | && b.IsSelected == true && c.IsShenPi == 2 && userids.Contains(a.OrderUserId)) //a.OrderUserId == userid |
| | | .WhereIF(page.WordDate.HasValue, (a, b, c, d) => (c.WorkDate == page.WordDate)) |
| | | .WhereIF(page.WordDateStart.HasValue, (a, b, c, d) => (c.WorkDate >= page.WordDateStart)) |
| | | .WhereIF(page.WordDateEnd.HasValue, (a, b, c, d) => (c.WorkDate <= page.WordDateEnd)) |
| | | .WhereIF(!string.IsNullOrEmpty(page.WorkerUserName), (a, b, c, d) => (d.name.Contains(page.WorkerUserName))) |
| | | .GroupBy((a, b, c, d) => new { b.WorkerUserId, d.name }) |
| | | |
| | | .Select((a, b, c, d) => new OrderDakaDto |
| | | { |
| | | |
| | | TodaySalary = SqlFunc.AggregateSumNoNull(c.TodaySalary), |
| | | WorkerUserId = b.WorkerUserId, |
| | | WorkerUserName = d.name, |
| | | }) |
| | | |
| | | .ToPageListAsync(page.PageIndex, page.PageSize, total); |
| | | |
| | | |
| | | |
| | | |
| | | var heji = orderRepository.Context.Queryable<Order, OrderBidding, OrderBiddingDetail, UserWorker>((a, b, c, d) => |
| | | new JoinQueryInfos(JoinType.Inner, a.Id == b.OrderId, |
| | | JoinType.Inner, b.Id == c.OrderBiddingId, |
| | | JoinType.Inner, b.WorkerUserId == d.UserId |
| | | )) |
| | | .Where((a, b, c, d) => a.IsEn == true && a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false |
| | | && b.IsSelected == true && c.IsShenPi == 2 && userids.Contains(a.OrderUserId)) //a.OrderUserId == userid |
| | | .WhereIF(page.WordDate.HasValue, (a, b, c, d) => (c.WorkDate == page.WordDate)) |
| | | .WhereIF(page.WordDateStart.HasValue, (a, b, c, d) => (c.WorkDate >= page.WordDateStart)) |
| | | .WhereIF(page.WordDateEnd.HasValue, (a, b, c, d) => (c.WorkDate <= page.WordDateEnd)) |
| | | .WhereIF(!string.IsNullOrEmpty(page.WorkerUserName), (a, b, c, d) => (d.name.Contains(page.WorkerUserName))) |
| | | .Sum((a, b, c, d) => c.TodaySalary); |
| | | |
| | | result.Items = data; |
| | | result.PageIndex = page.PageIndex; |
| | | result.PageSize = page.PageSize; |
| | | result.TotalCount = total; |
| | | result.Heji = heji ?? 0; |
| | | return result; |
| | | } |
| | | } |
| | | } |