| | |
| | | [HttpPost] |
| | | public async Task<PageResult<OrderDto>> PostListPage(OrderPageSearch page) |
| | | { |
| | | var UserID = App.User?.FindFirstValue("UserID"); |
| | | int userid = 0; |
| | | if (!string.IsNullOrEmpty(UserID)) |
| | | { |
| | | userid = int.Parse(UserID); |
| | | } |
| | | |
| | | PageResult<OrderDto> result = new PageResult<OrderDto>(); |
| | | |
| | | Expression<Func<Order, bool>> expression = t => true; |
| | | |
| | | expression = expression.And(t => t.IsDeleted == false && t.IsEn == true && t.OrderStatus == 0); |
| | | expression = expression.And(t => t.WordStartTime >= DateTime.Now.Date.AddDays(-30)); |
| | | // expression = expression.And(t => t.WordEndTime >= DateTime.Now.Date.AddDays(-30)); |
| | | if (!string.IsNullOrEmpty(page.OrderName)) |
| | | { |
| | | expression = expression.And(t => t.OrderName.Contains(page.OrderName)); |
| | |
| | | { |
| | | orderDto.OrderComName = userCompany.Suppliername; |
| | | } |
| | | if (userid > 0) |
| | | { |
| | | var orderBidding = await orderBiddingRepository.GetFirstAsync(x => x.OrderId == orderDto.Id && x.WorkerUserId == userid && x.IsEn == true && x.IsDeleted == false); |
| | | if (orderBidding != null) |
| | | { |
| | | if (!orderBidding.IsSelected.HasValue) |
| | | { |
| | | orderDto.IsSelectedName = "审核中"; |
| | | } |
| | | else if (orderBidding.IsSelected.Value == true) |
| | | { |
| | | orderDto.IsSelectedName = "已确认"; |
| | | } |
| | | else |
| | | { |
| | | orderDto.IsSelectedName = "不录用"; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | orderDto.IsSelectedName = null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | orderDto.IsSelectedName = null; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | switch (orderDto.OrderStatus) |
| | | { |
| | | case (int)OrderStatuses.fabu: orderDto.OrderStatusName = "发布"; break; |
| | | case (int)OrderStatuses.fabu: orderDto.OrderStatusName = "发布中"; break; |
| | | case (int)OrderStatuses.zhaogongwanbi: orderDto.OrderStatusName = "招工完毕"; break; |
| | | case (int)OrderStatuses.jiesuanwanbi: orderDto.OrderStatusName = "结算完毕"; break; |
| | | default: break; |
| | |
| | | var orderBiddingWorkPriceRepository = new BaseRepository<OrderBiddingWorkPrice>(); |
| | | var userRes = new BaseRepository<User>(); |
| | | var order = await orderRes.GetByIdAsync(orderid); |
| | | if (order.IsDeleted == true) |
| | | { |
| | | throw Oops.Oh("订单已经删除无法查看!"); |
| | | } |
| | | orderDto = _mapper.Map<OrderDto>(order); |
| | | switch (orderDto.OrderStatus) |
| | | { |
| | | case (int)OrderStatuses.fabu: orderDto.OrderStatusName = "发布"; break; |
| | | case (int)OrderStatuses.fabu: orderDto.OrderStatusName = "发布中"; break; |
| | | case (int)OrderStatuses.zhaogongwanbi: orderDto.OrderStatusName = "招工完毕"; break; |
| | | case (int)OrderStatuses.jiesuanwanbi: orderDto.OrderStatusName = "结算完毕"; break; |
| | | default: break; |
| | | } |
| | | var orderBiddings = await orderBiddingRes.GetListAsync(x => x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == false && (x.IsSelected ==null || x.IsSelected !=false) ); |
| | | var orderBiddings = await orderBiddingRes.GetListAsync(x => x.OrderId == orderDto.Id && x.IsEn == true && x.IsDeleted == false ); //&& (x.IsSelected ==null || x.IsSelected !=false) |
| | | var IsSelected = orderBiddings.Count(x => x.IsSelected == true); |
| | | orderDto.WorderCounted = IsSelected; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | orderBiddings = orderBiddings.Where(x => (x.IsSelected == null || x.IsSelected != false)).OrderBy(x=>x.IsSelected).ToList(); |
| | | var orderBiddingDtos = _mapper.Map<List<OrderBiddingDto>>(orderBiddings); |
| | | if(orderBiddingDtos != null&& orderBiddingDtos.Count > 0) |
| | | { |
| | |
| | | { |
| | | throw Oops.Oh("该打卡记录已经审批,不能打卡!"); |
| | | } |
| | | if (orderBiddingDetail != null) |
| | | { |
| | | var orderBiddingDetailCheck1 = (await OrderBiddingDetailCheckRes.GetListAsync(x => x.OrderBiddingDetailId == orderBiddingDetail.Id && x.IsDeleted == false && x.IsEn == true )).OrderByDescending(x=>x.Checktime).FirstOrDefault(); |
| | | if (orderBiddingDetailCheck1 != null && orderBiddingDetailCheck1.Checktime >= DateTime.Now.AddMinutes(-10)) |
| | | { |
| | | throw Oops.Oh("两次打卡时间之间必须间隔超过10分钟!"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | //人脸识别 |
| | | if (App.Configuration["VerifyFace:Enable"].ObjToBool()) |
| | | { |
| | |
| | | JoinType.Inner, b.Id == c.OrderBiddingId , |
| | | JoinType.Inner, a.OrderUserId == 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 && b.WorkerUserId == userid && d.IsEn == true && d.IsDeleted == false ) |
| | | .Where((a, b, c, d) => a.IsDeleted == false && b.IsEn == true && b.IsDeleted == false && c.IsEn == true && c.IsDeleted == false |
| | | && b.IsSelected == true && b.WorkerUserId == userid && d.IsEn == true && d.IsDeleted == false) //a.IsEn == true && |
| | | .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)) |
| | |
| | | orderDakaMingxiDto.WorkPrice = order.WorkPrice; |
| | | orderDakaMingxiDto.TodaySalary = orderBiddingDetail.TodaySalary; |
| | | orderDakaMingxiDto.IsShenPi = orderBiddingDetail.IsShenPi; |
| | | orderDakaMingxiDto.ShenPitime = orderBiddingDetail.ShenPitime; |
| | | orderDakaMingxiDto.WorkCount = orderBiddingDetail.WorkCount; |
| | | orderDakaMingxiDto.WorkerUserId = orderBidding.WorkerUserId; |
| | | var user = await userRes.GetByIdAsync(orderDakaMingxiDto.WorkerUserId); |
| | |
| | | var order = await orderRes.GetByIdAsync(orderBidding.OrderId); |
| | | |
| | | |
| | | if (order == null || order.OrderStatus > 1 || order.IsDeleted == true || order.IsEn == false ) |
| | | if (order == null || order.OrderStatus > 1 || order.IsDeleted == true)// || order.IsEn == false |
| | | { |
| | | throw Oops.Oh("该招工状态已无法打卡确认!"); |
| | | } |