优化
This commit is contained in:
		| @ -60,8 +60,8 @@ public class AppBgtProjectRecruitController extends BaseController { | |||||||
|     @Log(title = "App发布招工", businessType = BusinessType.INSERT) |     @Log(title = "App发布招工", businessType = BusinessType.INSERT) | ||||||
|     @RepeatSubmit |     @RepeatSubmit | ||||||
|     @PostMapping() |     @PostMapping() | ||||||
|     public AjaxResult<Void> add(@Validated @RequestBody BgtProjectRecruit bo) { |     public AjaxResult<Boolean> add(@Validated @RequestBody BgtProjectRecruit bo) { | ||||||
|         return toAjax(iBgtProjectRecruitService.insert(bo) ? 1 : 0); |         return AjaxResult.success(iBgtProjectRecruitService.insert(bo)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,9 +1,11 @@ | |||||||
| package com.ruoyi.web.controller.common; | package com.ruoyi.web.controller.common; | ||||||
|  |  | ||||||
|  | import cn.hutool.core.lang.Validator; | ||||||
| import com.ruoyi.bgt.service.IBgtUserService; | import com.ruoyi.bgt.service.IBgtUserService; | ||||||
| import com.ruoyi.common.constant.Constants; | import com.ruoyi.common.constant.Constants; | ||||||
| import com.ruoyi.common.core.domain.AjaxResult; | import com.ruoyi.common.core.domain.AjaxResult; | ||||||
| import com.ruoyi.common.core.domain.entity.BgtUser; | import com.ruoyi.common.core.domain.entity.BgtUser; | ||||||
|  | import com.ruoyi.common.core.domain.entity.SysDictData; | ||||||
| import com.ruoyi.common.core.domain.entity.SysUser; | import com.ruoyi.common.core.domain.entity.SysUser; | ||||||
| import com.ruoyi.common.core.domain.model.BgtLoginBody; | import com.ruoyi.common.core.domain.model.BgtLoginBody; | ||||||
| import com.ruoyi.common.core.domain.model.LoginUser; | import com.ruoyi.common.core.domain.model.LoginUser; | ||||||
| @ -11,15 +13,21 @@ import com.ruoyi.common.utils.ServletUtils; | |||||||
| import com.ruoyi.framework.web.service.AppLoginService; | import com.ruoyi.framework.web.service.AppLoginService; | ||||||
| import com.ruoyi.framework.web.service.SysPermissionService; | import com.ruoyi.framework.web.service.SysPermissionService; | ||||||
| import com.ruoyi.framework.web.service.TokenService; | import com.ruoyi.framework.web.service.TokenService; | ||||||
|  | import com.ruoyi.system.service.ISysDictTypeService; | ||||||
| import com.ruoyi.system.service.ISysMenuService; | import com.ruoyi.system.service.ISysMenuService; | ||||||
| import com.ruoyi.wgz.service.IWgzUserService; | import com.ruoyi.wgz.service.IWgzUserService; | ||||||
|  | import io.swagger.annotations.Api; | ||||||
|  | import io.swagger.annotations.ApiOperation; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.web.bind.annotation.GetMapping; | import org.springframework.web.bind.annotation.GetMapping; | ||||||
| import org.springframework.web.bind.annotation.PostMapping; | import org.springframework.web.bind.annotation.PostMapping; | ||||||
| import org.springframework.web.bind.annotation.RequestBody; | import org.springframework.web.bind.annotation.RequestBody; | ||||||
| import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||||
|  |  | ||||||
|  | import java.util.ArrayList; | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
|  | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @ -27,6 +35,8 @@ import java.util.Map; | |||||||
|  * |  * | ||||||
|  * @author ruoyi |  * @author ruoyi | ||||||
|  */ |  */ | ||||||
|  | @Api(value = "App登录验证", tags = {"App登录验证"}) | ||||||
|  | @RequiredArgsConstructor(onConstructor_ = @Autowired) | ||||||
| @RestController | @RestController | ||||||
| public class AppLoginController | public class AppLoginController | ||||||
| { | { | ||||||
| @ -48,6 +58,9 @@ public class AppLoginController | |||||||
| 	@Autowired | 	@Autowired | ||||||
| 	private IWgzUserService wgzUserService; | 	private IWgzUserService wgzUserService; | ||||||
|  |  | ||||||
|  | 	@Autowired | ||||||
|  | 	private ISysDictTypeService dictTypeService; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 登录方法 |      * 登录方法 | ||||||
|      * |      * | ||||||
| @ -55,6 +68,7 @@ public class AppLoginController | |||||||
|      * @return 结果 |      * @return 结果 | ||||||
|      */ |      */ | ||||||
|     @PostMapping("/app/login") |     @PostMapping("/app/login") | ||||||
|  | 	@ApiOperation("登录") | ||||||
|     public AjaxResult login(@RequestBody BgtLoginBody loginBody) |     public AjaxResult login(@RequestBody BgtLoginBody loginBody) | ||||||
|     { |     { | ||||||
| 		Map<String,Object> ajax = new HashMap<>(); | 		Map<String,Object> ajax = new HashMap<>(); | ||||||
| @ -71,6 +85,7 @@ public class AppLoginController | |||||||
| 	 * @return 用户信息 | 	 * @return 用户信息 | ||||||
| 	 */ | 	 */ | ||||||
| 	@GetMapping("/app/getInfo") | 	@GetMapping("/app/getInfo") | ||||||
|  | 	@ApiOperation("获取用户信息") | ||||||
| 	public AjaxResult getInfo() | 	public AjaxResult getInfo() | ||||||
| 	{ | 	{ | ||||||
| 		LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | 		LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | ||||||
| @ -103,6 +118,19 @@ public class AppLoginController | |||||||
| 		return AjaxResult.success("test"); | 		return AjaxResult.success("test"); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	@GetMapping(value = "/dict/type") | ||||||
|  | 	@ApiOperation("获取字典") | ||||||
|  | 	public AjaxResult dictType(String dictType) | ||||||
|  | 	{ | ||||||
|  | 		List<SysDictData> data = dictTypeService.selectDictDataByType(dictType); | ||||||
|  | 		if (Validator.isNull(data)) | ||||||
|  | 		{ | ||||||
|  | 			data = new ArrayList<SysDictData>(); | ||||||
|  | 		} | ||||||
|  | 		return AjaxResult.success(data); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
| //    /** | //    /** | ||||||
| //     * 获取用户信息 | //     * 获取用户信息 | ||||||
| //     * | //     * | ||||||
|  | |||||||
| @ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping; | |||||||
| import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||||
|  |  | ||||||
| import javax.validation.constraints.NotNull; | import javax.validation.constraints.NotNull; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 分包商项目任务Controller |  * 分包商项目任务Controller | ||||||
| @ -25,7 +26,7 @@ import javax.validation.constraints.NotNull; | |||||||
|  * @author ruoyi |  * @author ruoyi | ||||||
|  * @date 2025-02-17 |  * @date 2025-02-17 | ||||||
|  */ |  */ | ||||||
| @Api(value = "App分包商项目任务控制器", tags = {"分包商项目任务管理"}) | @Api(value = "App包工头项目任务控制器", tags = {"App包工头项目任务管理"}) | ||||||
| @RequiredArgsConstructor(onConstructor_ = @Autowired) | @RequiredArgsConstructor(onConstructor_ = @Autowired) | ||||||
| @RestController | @RestController | ||||||
| @RequestMapping("/app/fbs/task") | @RequestMapping("/app/fbs/task") | ||||||
| @ -36,12 +37,18 @@ public class AppFbsProjectTaskController extends BaseController { | |||||||
|     /** |     /** | ||||||
|      * app项目任务列表 |      * app项目任务列表 | ||||||
|      */ |      */ | ||||||
|     @ApiOperation("App包工头任务列表") |     @ApiOperation("App包工头任务列表/我的任务") | ||||||
|     @GetMapping("/list") |     @GetMapping("/list") | ||||||
|     public TableDataInfo<AppTaskVO> list(@Validated AppTaskDTO dto) { |     public TableDataInfo<AppTaskVO> list(@Validated AppTaskDTO dto) { | ||||||
|         return iFbsProjectTaskService.appQueryPageList(dto); |         return iFbsProjectTaskService.appQueryPageList(dto); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | 	@ApiOperation("App包工头任务列表(不分页)") | ||||||
|  | 	@GetMapping("/listAll") | ||||||
|  | 	public AjaxResult<List<AppTaskVO>> list() { | ||||||
|  | 		return AjaxResult.success(iFbsProjectTaskService.appQueryList()); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
| 	@ApiOperation("App获取项目任务详细信息") | 	@ApiOperation("App获取项目任务详细信息") | ||||||
| 	@GetMapping("/{id}") | 	@GetMapping("/{id}") | ||||||
|  | |||||||
| @ -203,7 +203,7 @@ swagger: | |||||||
|   # 是否开启swagger |   # 是否开启swagger | ||||||
|   enabled: true |   enabled: true | ||||||
|   # 请求前缀 |   # 请求前缀 | ||||||
|   pathMapping: /ruoyi |   pathMapping: / | ||||||
|   # 标题 |   # 标题 | ||||||
|   title: '标题:RuoYi-Vue-Plus后台管理系统_接口文档' |   title: '标题:RuoYi-Vue-Plus后台管理系统_接口文档' | ||||||
|   # 描述 |   # 描述 | ||||||
|  | |||||||
| @ -36,6 +36,9 @@ public class BgtProjectTaskProgress implements Serializable { | |||||||
|     @ApiModelProperty("项目ID") |     @ApiModelProperty("项目ID") | ||||||
|     private Long projectId; |     private Long projectId; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("项目ID") | ||||||
|  | 	private String projectName; | ||||||
|  |  | ||||||
|     /** 标段ID */ |     /** 标段ID */ | ||||||
|     @Excel(name = "标段ID") |     @Excel(name = "标段ID") | ||||||
|     @ApiModelProperty("标段ID") |     @ApiModelProperty("标段ID") | ||||||
| @ -51,6 +54,12 @@ public class BgtProjectTaskProgress implements Serializable { | |||||||
|     @ApiModelProperty("任务ID") |     @ApiModelProperty("任务ID") | ||||||
|     private Long taskId; |     private Long taskId; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("任务名") | ||||||
|  | 	private String taskName; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("用工数量") | ||||||
|  | 	private Integer taskStaffNum; | ||||||
|  |  | ||||||
|     /** 进度名称 */ |     /** 进度名称 */ | ||||||
|     @Excel(name = "进度名称") |     @Excel(name = "进度名称") | ||||||
|     @ApiModelProperty("进度名称") |     @ApiModelProperty("进度名称") | ||||||
| @ -61,11 +70,17 @@ public class BgtProjectTaskProgress implements Serializable { | |||||||
|     @ApiModelProperty("负责人") |     @ApiModelProperty("负责人") | ||||||
|     private String director; |     private String director; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("上传人ID") | ||||||
|  | 	private Long uploaderId; | ||||||
|  |  | ||||||
|     /** 上传人 */ |     /** 上传人 */ | ||||||
|     @Excel(name = "上传人") |     @Excel(name = "上传人") | ||||||
|     @ApiModelProperty("上传人") |     @ApiModelProperty("上传人") | ||||||
|     private String uploader; |     private String uploader; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("上传时间") | ||||||
|  | 	private LocalDateTime uploadTime; | ||||||
|  |  | ||||||
|     /** 进度 */ |     /** 进度 */ | ||||||
|     @Excel(name = "进度") |     @Excel(name = "进度") | ||||||
|     @ApiModelProperty("进度") |     @ApiModelProperty("进度") | ||||||
|  | |||||||
| @ -39,6 +39,9 @@ public class BgtWageApplication implements Serializable { | |||||||
|     @ApiModelProperty("项目ID") |     @ApiModelProperty("项目ID") | ||||||
|     private Long projectId; |     private Long projectId; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("项目名") | ||||||
|  | 	private Long projectName; | ||||||
|  |  | ||||||
|     /** 标段ID */ |     /** 标段ID */ | ||||||
|     @Excel(name = "标段ID") |     @Excel(name = "标段ID") | ||||||
|     @ApiModelProperty("标段ID") |     @ApiModelProperty("标段ID") | ||||||
| @ -54,11 +57,35 @@ public class BgtWageApplication implements Serializable { | |||||||
|     @ApiModelProperty("任务ID") |     @ApiModelProperty("任务ID") | ||||||
|     private Long taskId; |     private Long taskId; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("任务名") | ||||||
|  | 	private String taskName; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("用工数量") | ||||||
|  | 	private Integer taskStaffNum; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("任务地址") | ||||||
|  | 	private String  taskAddress; | ||||||
|  |  | ||||||
| 	/** 申请人ID */ | 	/** 申请人ID */ | ||||||
|     @Excel(name = "申请人ID") |     @Excel(name = "申请人ID") | ||||||
|     @ApiModelProperty("申请人ID") |     @ApiModelProperty("申请人ID") | ||||||
|     private Long userId; |     private Long userId; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("申请人姓名") | ||||||
|  | 	private String username; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("联系电话") | ||||||
|  | 	private String phone; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("银行") | ||||||
|  | 	private String bank; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("银行卡号") | ||||||
|  | 	private String cardNo; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("申请时间") | ||||||
|  | 	private String applyTime; | ||||||
|  |  | ||||||
|     /** 申请金额 */ |     /** 申请金额 */ | ||||||
|     @Excel(name = "申请金额") |     @Excel(name = "申请金额") | ||||||
|     @ApiModelProperty("申请金额") |     @ApiModelProperty("申请金额") | ||||||
|  | |||||||
| @ -1,10 +1,8 @@ | |||||||
| package com.ruoyi.bgt.domain.dto; | package com.ruoyi.bgt.domain.dto; | ||||||
|  |  | ||||||
| import com.ruoyi.common.core.domain.BaseEntity; |  | ||||||
| import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||||
| import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
| import lombok.EqualsAndHashCode; |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 包工头项目任务进度分页查询对象 bgt_project_task_progress |  * 包工头项目任务进度分页查询对象 bgt_project_task_progress | ||||||
| @ -14,9 +12,8 @@ import lombok.EqualsAndHashCode; | |||||||
|  */ |  */ | ||||||
|  |  | ||||||
| @Data | @Data | ||||||
| @EqualsAndHashCode(callSuper = true) |  | ||||||
| @ApiModel("App包工头项目任务进度分页查询对象") | @ApiModel("App包工头项目任务进度分页查询对象") | ||||||
| public class BgtProjectTaskProgressQueryDTO extends BaseEntity { | public class BgtProjectTaskProgressQueryDTO { | ||||||
|  |  | ||||||
| 	/** 分页大小 */ | 	/** 分页大小 */ | ||||||
| 	@ApiModelProperty("分页大小") | 	@ApiModelProperty("分页大小") | ||||||
| @ -29,4 +26,7 @@ public class BgtProjectTaskProgressQueryDTO extends BaseEntity { | |||||||
| 	@ApiModelProperty("审核状态(1审核中 2已审核 3未审核)") | 	@ApiModelProperty("审核状态(1审核中 2已审核 3未审核)") | ||||||
| 	private String auditStatus; | 	private String auditStatus; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty(value = "上传人Id",hidden = true) | ||||||
|  | 	private Long uploaderId; | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -51,6 +51,6 @@ public class BgtProjectTaskProgressVO implements Serializable { | |||||||
|  |  | ||||||
|     @ApiModelProperty("上传时间") |     @ApiModelProperty("上传时间") | ||||||
| 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm") | 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm") | ||||||
|     private LocalDateTime createTime; |     private LocalDateTime uploadTime; | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -25,14 +25,15 @@ import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq; | |||||||
| import com.ruoyi.wgz.bo.res.WgzAppCancelRegistrationProjectDetailsRes; | import com.ruoyi.wgz.bo.res.WgzAppCancelRegistrationProjectDetailsRes; | ||||||
| import com.ruoyi.wgz.bo.res.WgzAppProjectDetailsRes; | import com.ruoyi.wgz.bo.res.WgzAppProjectDetailsRes; | ||||||
| import com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes; | import com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes; | ||||||
| import com.ruoyi.wgz.bo.res.WgzAppUserDailyRecordRes; |  | ||||||
| import com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo; | import com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo; | ||||||
| import org.springframework.beans.BeanUtils; | import org.springframework.beans.BeanUtils; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| import org.springframework.validation.annotation.Validated; |  | ||||||
|  |  | ||||||
| import java.util.*; | import java.util.Collection; | ||||||
|  | import java.util.Collections; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 包工头招工Service业务层处理 |  * 包工头招工Service业务层处理 | ||||||
| @ -88,6 +89,7 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecr | |||||||
|     @Override |     @Override | ||||||
|     public Boolean insert(BgtProjectRecruit bo) { |     public Boolean insert(BgtProjectRecruit bo) { | ||||||
|         BgtProjectRecruit add = BeanUtil.toBean(bo, BgtProjectRecruit.class); |         BgtProjectRecruit add = BeanUtil.toBean(bo, BgtProjectRecruit.class); | ||||||
|  | 		add.setUserId(SecurityUtils.getAppUserId()); | ||||||
|         validEntityBeforeSave(add); |         validEntityBeforeSave(add); | ||||||
|         return save(add); |         return save(add); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -16,9 +16,8 @@ import com.ruoyi.bgt.service.IBgtProjectTaskProgressService; | |||||||
| import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; | import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; | ||||||
| import com.ruoyi.common.core.page.TableDataInfo; | import com.ruoyi.common.core.page.TableDataInfo; | ||||||
| import com.ruoyi.common.utils.PageUtils; | import com.ruoyi.common.utils.PageUtils; | ||||||
| import com.ruoyi.fbs.domain.FbsProjectTask; | import com.ruoyi.common.utils.SecurityUtils; | ||||||
| import com.ruoyi.fbs.service.IFbsProjectTaskService; | import com.ruoyi.fbs.service.IFbsProjectTaskService; | ||||||
| import com.ruoyi.zbf.domain.ZbfProject; |  | ||||||
| import com.ruoyi.zbf.service.IZbfProjectService; | import com.ruoyi.zbf.service.IZbfProjectService; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| @ -114,6 +113,7 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjec | |||||||
| 		Page<BgtProjectTaskProgressQueryDTO> queryDTOPage = new Page<>(); | 		Page<BgtProjectTaskProgressQueryDTO> queryDTOPage = new Page<>(); | ||||||
| 		queryDTOPage.setCurrent(dto.getPageNum()); | 		queryDTOPage.setCurrent(dto.getPageNum()); | ||||||
| 		queryDTOPage.setSize(dto.getPageSize()); | 		queryDTOPage.setSize(dto.getPageSize()); | ||||||
|  | 		dto.setUploaderId(SecurityUtils.getAppUserId()); | ||||||
| 		Page<BgtProjectTaskProgressVO> queryVOPage = baseMapper.appQueryPageList(queryDTOPage, dto); | 		Page<BgtProjectTaskProgressVO> queryVOPage = baseMapper.appQueryPageList(queryDTOPage, dto); | ||||||
| 		return PageUtils.buildDataInfo(queryVOPage); | 		return PageUtils.buildDataInfo(queryVOPage); | ||||||
| 	} | 	} | ||||||
| @ -121,14 +121,7 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjec | |||||||
| 	@Override | 	@Override | ||||||
| 	public BgtProjectTaskProgressDetailVO appQueryById(Long id) { | 	public BgtProjectTaskProgressDetailVO appQueryById(Long id) { | ||||||
| 		BgtProjectTaskProgress progress = getById(id); | 		BgtProjectTaskProgress progress = getById(id); | ||||||
| 		BgtProjectTaskProgressDetailVO bean = BeanUtil.toBean(progress, BgtProjectTaskProgressDetailVO.class); | 		return BeanUtil.toBean(progress, BgtProjectTaskProgressDetailVO.class); | ||||||
| 		ZbfProject project = zbfProjectService.getById(progress.getProjectId()); |  | ||||||
| 		bean.setProjectName(project.getProjectName()); |  | ||||||
| 		FbsProjectTask task = fbsProjectTaskService.getById(progress.getTaskId()); |  | ||||||
| 		bean.setTaskName(task.getTaskName()); |  | ||||||
| 		bean.setTaskAddress(task.getTaskAddress()); |  | ||||||
| 		bean.setTaskStaffNum(task.getTaskStaffNum()); |  | ||||||
| 		return bean; |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	@Override | 	@Override | ||||||
|  | |||||||
| @ -14,13 +14,10 @@ import com.ruoyi.bgt.domain.vo.BgtWageApplicationVO; | |||||||
| import com.ruoyi.bgt.mapper.BgtWageApplicationMapper; | import com.ruoyi.bgt.mapper.BgtWageApplicationMapper; | ||||||
| import com.ruoyi.bgt.service.IBgtUserService; | import com.ruoyi.bgt.service.IBgtUserService; | ||||||
| import com.ruoyi.bgt.service.IBgtWageApplicationService; | import com.ruoyi.bgt.service.IBgtWageApplicationService; | ||||||
| import com.ruoyi.common.core.domain.entity.BgtUser; |  | ||||||
| import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; | import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; | ||||||
| import com.ruoyi.common.core.page.TableDataInfo; | import com.ruoyi.common.core.page.TableDataInfo; | ||||||
| import com.ruoyi.common.utils.PageUtils; | import com.ruoyi.common.utils.PageUtils; | ||||||
| import com.ruoyi.fbs.domain.FbsProjectTask; |  | ||||||
| import com.ruoyi.fbs.service.IFbsProjectTaskService; | import com.ruoyi.fbs.service.IFbsProjectTaskService; | ||||||
| import com.ruoyi.zbf.domain.ZbfProject; |  | ||||||
| import com.ruoyi.zbf.service.IZbfProjectService; | import com.ruoyi.zbf.service.IZbfProjectService; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| @ -124,21 +121,7 @@ public class BgtWageApplicationServiceImpl extends ServicePlusImpl<BgtWageApplic | |||||||
| 	@Override | 	@Override | ||||||
| 	public BgtWageApplicationDetailVO appQueryById(Long id) { | 	public BgtWageApplicationDetailVO appQueryById(Long id) { | ||||||
| 		BgtWageApplication application = getById(id); | 		BgtWageApplication application = getById(id); | ||||||
| 		BgtWageApplicationDetailVO detailVO = BeanUtil.copyProperties(application, BgtWageApplicationDetailVO.class); | 		return BeanUtil.copyProperties(application, BgtWageApplicationDetailVO.class); | ||||||
| 		//项目 |  | ||||||
| 		ZbfProject project = projectService.getById(application.getProjectId()); |  | ||||||
| 		detailVO.setProjectName(project.getProjectName()); |  | ||||||
| 		//任务 |  | ||||||
| 		FbsProjectTask task = taskService.getById(application.getTaskId()); |  | ||||||
| 		detailVO.setTaskAddress(task.getTaskAddress()); |  | ||||||
| 		detailVO.setTaskName(task.getTaskName()); |  | ||||||
| 		detailVO.setTaskStaffNum(task.getTaskStaffNum()); |  | ||||||
| 		//人员 |  | ||||||
| 		BgtUser bgtUser = bgtUserService.selectUserByUserId(application.getUserId()); |  | ||||||
| 		detailVO.setBank(bgtUser.getBank()); |  | ||||||
| 		detailVO.setCardNo(bgtUser.getCardNo()); |  | ||||||
| 		detailVO.setPhone(bgtUser.getPhone()); |  | ||||||
| 		return detailVO; |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	@Override | 	@Override | ||||||
|  | |||||||
| @ -71,6 +71,9 @@ public class FbsProjectTask implements Serializable { | |||||||
|     @ApiModelProperty("任务开始时间") |     @ApiModelProperty("任务开始时间") | ||||||
|     private String taskBeginTime; |     private String taskBeginTime; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("任务结束时间") | ||||||
|  | 	private String taskEndTime; | ||||||
|  |  | ||||||
|     /** 联系人 */ |     /** 联系人 */ | ||||||
|     @Excel(name = "联系人") |     @Excel(name = "联系人") | ||||||
|     @ApiModelProperty("联系人") |     @ApiModelProperty("联系人") | ||||||
|  | |||||||
| @ -18,7 +18,7 @@ public class AppTaskDTO { | |||||||
| 	@ApiModelProperty("任务名称") | 	@ApiModelProperty("任务名称") | ||||||
| 	private String taskName; | 	private String taskName; | ||||||
|  |  | ||||||
| 	@ApiModelProperty("承接人") | 	@ApiModelProperty(value = "承接人",hidden = true) | ||||||
| 	private Long userId; | 	private Long userId; | ||||||
|  |  | ||||||
| 	@ApiModelProperty("任务状态(0申请中 1进行中 2已完成)") | 	@ApiModelProperty("任务状态(0申请中 1进行中 2已完成)") | ||||||
|  | |||||||
| @ -4,21 +4,38 @@ import com.fasterxml.jackson.annotation.JsonFormat; | |||||||
| import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; | import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; | ||||||
| import com.ruoyi.bgt.domain.vo.BgtWageApplicationListVO; | import com.ruoyi.bgt.domain.vo.BgtWageApplicationListVO; | ||||||
| import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO; | import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO; | ||||||
|  | import com.ruoyi.common.annotation.Excel; | ||||||
| import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||||
| import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
|  |  | ||||||
|  | import java.math.BigDecimal; | ||||||
| import java.time.LocalDateTime; | import java.time.LocalDateTime; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  |  | ||||||
|  |  | ||||||
| @Data | @Data | ||||||
| @ApiModel("包工头项目任务列表") | @ApiModel("包工头项目任务详情") | ||||||
| public class AppTaskDetailVO { | public class AppTaskDetailVO { | ||||||
|  |  | ||||||
| 	@ApiModelProperty("主键ID") | 	@ApiModelProperty("主键ID") | ||||||
| 	private Long id; | 	private Long id; | ||||||
|  |  | ||||||
|  | 	/** 项目ID */ | ||||||
|  | 	@Excel(name = "项目ID") | ||||||
|  | 	@ApiModelProperty("项目ID") | ||||||
|  | 	private Long projectId; | ||||||
|  |  | ||||||
|  | 	/** 标段ID */ | ||||||
|  | 	@Excel(name = "标段ID") | ||||||
|  | 	@ApiModelProperty("标段ID") | ||||||
|  | 	private Long sectionId; | ||||||
|  |  | ||||||
|  | 	/** 分包ID */ | ||||||
|  | 	@Excel(name = "分包ID") | ||||||
|  | 	@ApiModelProperty("分包ID") | ||||||
|  | 	private Long subId; | ||||||
|  |  | ||||||
| 	/** 任务名称 */ | 	/** 任务名称 */ | ||||||
| 	@ApiModelProperty("任务名称") | 	@ApiModelProperty("任务名称") | ||||||
| 	private String taskName; | 	private String taskName; | ||||||
| @ -79,7 +96,7 @@ public class AppTaskDetailVO { | |||||||
| 	private Integer taskReceiveAmount; | 	private Integer taskReceiveAmount; | ||||||
|  |  | ||||||
| 	@ApiModelProperty("任务付款金额") | 	@ApiModelProperty("任务付款金额") | ||||||
| 	private Integer taskPaymentAmount; | 	private BigDecimal taskPaymentAmount; | ||||||
|  |  | ||||||
| 	@ApiModelProperty("收款申请列表") | 	@ApiModelProperty("收款申请列表") | ||||||
| 	private List<BgtWageApplicationListVO> wageApplicationList; | 	private List<BgtWageApplicationListVO> wageApplicationList; | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| package com.ruoyi.fbs.domain.vo; | package com.ruoyi.fbs.domain.vo; | ||||||
|  |  | ||||||
| import com.fasterxml.jackson.annotation.JsonFormat; | import com.fasterxml.jackson.annotation.JsonFormat; | ||||||
|  | import com.ruoyi.common.annotation.Excel; | ||||||
| import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||||
| import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
| @ -15,6 +16,21 @@ public class AppTaskVO { | |||||||
| 	@ApiModelProperty("主键ID") | 	@ApiModelProperty("主键ID") | ||||||
| 	private Long id; | 	private Long id; | ||||||
|  |  | ||||||
|  | 	/** 项目ID */ | ||||||
|  | 	@Excel(name = "项目ID") | ||||||
|  | 	@ApiModelProperty("项目ID") | ||||||
|  | 	private Long projectId; | ||||||
|  |  | ||||||
|  | 	/** 标段ID */ | ||||||
|  | 	@Excel(name = "标段ID") | ||||||
|  | 	@ApiModelProperty("标段ID") | ||||||
|  | 	private Long sectionId; | ||||||
|  |  | ||||||
|  | 	/** 分包ID */ | ||||||
|  | 	@Excel(name = "分包ID") | ||||||
|  | 	@ApiModelProperty("分包ID") | ||||||
|  | 	private Long subId; | ||||||
|  |  | ||||||
| 	@ApiModelProperty("任务名称") | 	@ApiModelProperty("任务名称") | ||||||
| 	private String taskName; | 	private String taskName; | ||||||
| 	/** 任务地址 */ | 	/** 任务地址 */ | ||||||
| @ -30,8 +46,14 @@ public class AppTaskVO { | |||||||
| 	@ApiModelProperty("项目名") | 	@ApiModelProperty("项目名") | ||||||
| 	private String projectName; | 	private String projectName; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("任务开始时间") | ||||||
|  | 	private String taskBeginTime; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("任务结束时间") | ||||||
|  | 	private String taskEndTime; | ||||||
|  |  | ||||||
| 	@ApiModelProperty("发布时间") | 	@ApiModelProperty("发布时间") | ||||||
| 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 	@JsonFormat(pattern = "yyyy-MM-dd") | ||||||
| 	private LocalDateTime createTime; | 	private LocalDateTime createTime; | ||||||
|  |  | ||||||
| 	@ApiModelProperty("申请数量") | 	@ApiModelProperty("申请数量") | ||||||
|  | |||||||
| @ -63,6 +63,8 @@ public interface IFbsProjectTaskService extends IServicePlus<FbsProjectTask> { | |||||||
| 	 */ | 	 */ | ||||||
| 	TableDataInfo<AppTaskVO> appQueryPageList(AppTaskDTO dto); | 	TableDataInfo<AppTaskVO> appQueryPageList(AppTaskDTO dto); | ||||||
|  |  | ||||||
|  | 	List<AppTaskVO> appQueryList(); | ||||||
|  |  | ||||||
| 	/** | 	/** | ||||||
| 	 * 任务详情 | 	 * 任务详情 | ||||||
| 	 */ | 	 */ | ||||||
|  | |||||||
| @ -2,7 +2,6 @@ package com.ruoyi.fbs.service.impl; | |||||||
|  |  | ||||||
| import cn.hutool.core.bean.BeanUtil; | import cn.hutool.core.bean.BeanUtil; | ||||||
| import cn.hutool.core.collection.CollectionUtil; | import cn.hutool.core.collection.CollectionUtil; | ||||||
| import cn.hutool.core.util.ObjectUtil; |  | ||||||
| import cn.hutool.core.util.StrUtil; | import cn.hutool.core.util.StrUtil; | ||||||
| import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||||
| import com.baomidou.mybatisplus.core.toolkit.Wrappers; | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
| @ -24,6 +23,7 @@ import com.ruoyi.common.enums.ProjectTaskStatus; | |||||||
| import com.ruoyi.common.enums.RecruitApplyStatus; | import com.ruoyi.common.enums.RecruitApplyStatus; | ||||||
| import com.ruoyi.common.util.DataUtil; | import com.ruoyi.common.util.DataUtil; | ||||||
| import com.ruoyi.common.utils.PageUtils; | import com.ruoyi.common.utils.PageUtils; | ||||||
|  | import com.ruoyi.common.utils.SecurityUtils; | ||||||
| import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo; | import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo; | ||||||
| import com.ruoyi.fbs.domain.FbsProjectTask; | import com.ruoyi.fbs.domain.FbsProjectTask; | ||||||
| import com.ruoyi.fbs.domain.dto.AppTaskDTO; | import com.ruoyi.fbs.domain.dto.AppTaskDTO; | ||||||
| @ -33,12 +33,13 @@ import com.ruoyi.fbs.mapper.FbsProjectTaskMapper; | |||||||
| import com.ruoyi.fbs.service.IFbsProjectTaskApplyService; | import com.ruoyi.fbs.service.IFbsProjectTaskApplyService; | ||||||
| import com.ruoyi.fbs.service.IFbsProjectTaskService; | import com.ruoyi.fbs.service.IFbsProjectTaskService; | ||||||
| import com.ruoyi.wgz.service.IWgzAttendanceService; | import com.ruoyi.wgz.service.IWgzAttendanceService; | ||||||
|  | import com.ruoyi.wgz.service.IWgzPayCalculationService; | ||||||
| import com.ruoyi.zbf.domain.ZbfProject; | import com.ruoyi.zbf.domain.ZbfProject; | ||||||
| import com.ruoyi.zbf.service.IZbfProjectService; | import com.ruoyi.zbf.service.IZbfProjectService; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.context.annotation.Lazy; |  | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
|  |  | ||||||
|  | import java.math.BigDecimal; | ||||||
| import java.time.LocalDate; | import java.time.LocalDate; | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||||
| @ -57,7 +58,6 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap | |||||||
| 	@Autowired | 	@Autowired | ||||||
| 	private IFbsProjectTaskApplyService taskApplyService; | 	private IFbsProjectTaskApplyService taskApplyService; | ||||||
| 	@Autowired | 	@Autowired | ||||||
| 	@Lazy |  | ||||||
| 	private IBgtProjectRecruitService recruitService; | 	private IBgtProjectRecruitService recruitService; | ||||||
| 	@Autowired | 	@Autowired | ||||||
| 	private IBgtProjectRecruitApplyService recruitApplyService; | 	private IBgtProjectRecruitApplyService recruitApplyService; | ||||||
| @ -67,6 +67,8 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap | |||||||
| 	private IBgtWageApplicationService wageApplicationService; | 	private IBgtWageApplicationService wageApplicationService; | ||||||
| 	@Autowired | 	@Autowired | ||||||
| 	private IWgzAttendanceService attendanceService; | 	private IWgzAttendanceService attendanceService; | ||||||
|  | 	@Autowired | ||||||
|  | 	private IWgzPayCalculationService payCalculationService; | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public FbsProjectTask queryById(Long id){ |     public FbsProjectTask queryById(Long id){ | ||||||
| @ -140,14 +142,34 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap | |||||||
| 		Page<AppTaskDTO> appTaskDTOPage = new Page<>(); | 		Page<AppTaskDTO> appTaskDTOPage = new Page<>(); | ||||||
| 		appTaskDTOPage.setCurrent(dto.getPageNum()); | 		appTaskDTOPage.setCurrent(dto.getPageNum()); | ||||||
| 		appTaskDTOPage.setSize(dto.getPageSize()); | 		appTaskDTOPage.setSize(dto.getPageSize()); | ||||||
| 		if(dto.getMyTask() && ObjectUtil.equals(ProjectTaskStatus.APPLY.getCode(),dto.getStatus())){ | 		List<Long> taskIds = new ArrayList<>(); | ||||||
| 			List<Long> taskIds = taskApplyService.getTaskIdsByUserId(dto.getUserId()); | 		if(ProjectTaskStatus.APPLY.getCode().equals(dto.getStatus())){ | ||||||
|  | 			taskIds = taskApplyService.getTaskIdsByUserId(SecurityUtils.getAppUserId()); | ||||||
| 			dto.setTaskIds(taskIds); | 			dto.setTaskIds(taskIds); | ||||||
| 		} | 		} | ||||||
|  | 		if(dto.getMyTask() && !ProjectTaskStatus.APPLY.getCode().equals(dto.getStatus())){ | ||||||
|  | 			dto.setUserId(SecurityUtils.getAppUserId()); | ||||||
|  | 		} | ||||||
|  |  | ||||||
| 		Page<AppTaskVO> appTaskVOPage = baseMapper.appQueryPageList(appTaskDTOPage, dto); | 		Page<AppTaskVO> appTaskVOPage = baseMapper.appQueryPageList(appTaskDTOPage, dto); | ||||||
|  | 		if(dto.getMyTask() && ProjectTaskStatus.APPLY.getCode().equals(dto.getStatus()) | ||||||
|  | 			&&CollectionUtil.isEmpty(taskIds)){ | ||||||
|  | 			appTaskVOPage.setRecords(new ArrayList<AppTaskVO>()); | ||||||
|  | 			appTaskVOPage.setTotal(0); | ||||||
|  | 		} | ||||||
| 		return PageUtils.buildDataInfo(appTaskVOPage); | 		return PageUtils.buildDataInfo(appTaskVOPage); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public List<AppTaskVO> appQueryList() { | ||||||
|  | 		LambdaQueryWrapper<FbsProjectTask> wrapper = new LambdaQueryWrapper<>(); | ||||||
|  | 		System.out.println(SecurityUtils.getAppUserId()); | ||||||
|  | 		wrapper.eq(FbsProjectTask::getUserId,SecurityUtils.getAppUserId()); | ||||||
|  | 		wrapper.eq(FbsProjectTask::getStatus,ProjectTaskStatus.PROGRESS.getCode()); | ||||||
|  | 		List<FbsProjectTask> fbsProjectTasks = baseMapper.selectList(wrapper); | ||||||
|  | 		return BeanUtil.copyToList(fbsProjectTasks,AppTaskVO.class); | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	@Override | 	@Override | ||||||
| 	public AppTaskDetailVO appQueryById(Long id) { | 	public AppTaskDetailVO appQueryById(Long id) { | ||||||
| 		FbsProjectTask byId = getById(id); | 		FbsProjectTask byId = getById(id); | ||||||
| @ -155,6 +177,9 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap | |||||||
| 		//项目信息 | 		//项目信息 | ||||||
| 		ZbfProject project = zbfProjectService.getById(byId.getProjectId()); | 		ZbfProject project = zbfProjectService.getById(byId.getProjectId()); | ||||||
| 		appTaskDetailVO.setProjectName(project.getProjectName()); | 		appTaskDetailVO.setProjectName(project.getProjectName()); | ||||||
|  |  | ||||||
|  | 		if(ProjectTaskStatus.PROGRESS.getCode().equals(byId.getStatus()) | ||||||
|  | 			|| ProjectTaskStatus.COMPLETE.getCode().equals(byId.getStatus())){ | ||||||
| 			//务工者数量列表 | 			//务工者数量列表 | ||||||
| 			BgtProjectRecruitQueryBo bgtProjectRecruitQueryBo = new BgtProjectRecruitQueryBo(); | 			BgtProjectRecruitQueryBo bgtProjectRecruitQueryBo = new BgtProjectRecruitQueryBo(); | ||||||
| 			bgtProjectRecruitQueryBo.setTaskId(id); | 			bgtProjectRecruitQueryBo.setTaskId(id); | ||||||
| @ -179,7 +204,8 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap | |||||||
| 				.sum(); | 				.sum(); | ||||||
| 			appTaskDetailVO.setTaskReceiveAmount(taskReceiveAmount); | 			appTaskDetailVO.setTaskReceiveAmount(taskReceiveAmount); | ||||||
| 			//付款金额 | 			//付款金额 | ||||||
|  | 			BigDecimal payByTaskAndBgt = payCalculationService.getPayByTaskAndBgt(byId.getId(), byId.getUserId()); | ||||||
|  | 			appTaskDetailVO.setTaskPaymentAmount(payByTaskAndBgt); | ||||||
| 			//考勤情况 | 			//考勤情况 | ||||||
| 			LocalDate date = LocalDate.now(); | 			LocalDate date = LocalDate.now(); | ||||||
| 			LocalDate startOfMonth = date.withDayOfMonth(1); | 			LocalDate startOfMonth = date.withDayOfMonth(1); | ||||||
| @ -191,7 +217,7 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap | |||||||
| 				appTaskDetailVO.setReportToDutyNum(vo.getReportToDutyNum()); | 				appTaskDetailVO.setReportToDutyNum(vo.getReportToDutyNum()); | ||||||
| 				appTaskDetailVO.setReportToDutyRate(vo.getReportToDutyNum()/vo.getTotalNum()*100); | 				appTaskDetailVO.setReportToDutyRate(vo.getReportToDutyNum()/vo.getTotalNum()*100); | ||||||
| 			} | 			} | ||||||
|  | 		} | ||||||
| 		return appTaskDetailVO; | 		return appTaskDetailVO; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | |||||||
							
								
								
									
										52
									
								
								ruoyi-system/src/main/java/com/ruoyi/task/BusinessTask.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								ruoyi-system/src/main/java/com/ruoyi/task/BusinessTask.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | |||||||
|  | package com.ruoyi.task; | ||||||
|  |  | ||||||
|  | import cn.hutool.core.collection.CollectionUtil; | ||||||
|  | import cn.hutool.core.lang.Console; | ||||||
|  | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
|  | import com.ruoyi.bgt.domain.BgtProjectRecruit; | ||||||
|  | import com.ruoyi.bgt.domain.BgtProjectRecruitApply; | ||||||
|  | import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService; | ||||||
|  | import com.ruoyi.bgt.service.IBgtProjectRecruitService; | ||||||
|  | import com.ruoyi.common.enums.RecruitApplyStatus; | ||||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||||
|  | import org.springframework.stereotype.Component; | ||||||
|  |  | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.stream.Collectors; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 业务定时任务 | ||||||
|  |  * | ||||||
|  |  * @author ruoyi | ||||||
|  |  */ | ||||||
|  | @Component("businessTask") | ||||||
|  | public class BusinessTask | ||||||
|  | { | ||||||
|  | 	@Autowired | ||||||
|  | 	private IBgtProjectRecruitService recruitService; | ||||||
|  |  | ||||||
|  | 	@Autowired | ||||||
|  | 	private IBgtProjectRecruitApplyService recruitApplyService; | ||||||
|  | 	/** | ||||||
|  | 	 * 招工任务招工时间结束自动拒绝未选择的务工者 | ||||||
|  | 	 */ | ||||||
|  |     public void recruitRefuse() | ||||||
|  |     { | ||||||
|  | 		Console.log("开始招工拒绝任务"); | ||||||
|  | 		List<String> status = Arrays.asList(RecruitApplyStatus.SIGN_UP.getCode(), RecruitApplyStatus.BGT_PASS.getCode()); | ||||||
|  | 		List<BgtProjectRecruit> recruitList = recruitService.list(Wrappers.<BgtProjectRecruit>lambdaQuery() | ||||||
|  | 			.lt(BgtProjectRecruit::getRecruitEndTime, LocalDate.now())); | ||||||
|  | 		if(CollectionUtil.isNotEmpty(recruitList)){ | ||||||
|  | 			List<Long> recruitIds = recruitList.stream().map(BgtProjectRecruit::getId).collect(Collectors.toList()); | ||||||
|  | 			recruitApplyService.<BgtProjectRecruitApply>lambdaUpdate() | ||||||
|  | 				.in(BgtProjectRecruitApply::getRecruitId, recruitIds) | ||||||
|  | 				.in(BgtProjectRecruitApply::getStatus,status) | ||||||
|  | 				.set(BgtProjectRecruitApply::getStatus,RecruitApplyStatus.BGT_REFUSE.getCode()) | ||||||
|  | 				.update(); | ||||||
|  | 		} | ||||||
|  | 		Console.log("招工拒绝任务结束,此次拒绝任务个数:"+recruitList.size()); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -24,4 +24,8 @@ public class SnowflakeIdUtil { | |||||||
| 	public static long generateId() { | 	public static long generateId() { | ||||||
| 		return snowflake.nextId(); | 		return snowflake.nextId(); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	public static void main(String[] args) { | ||||||
|  | 		System.out.println(generateId()); | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  | |||||||
| @ -11,6 +11,7 @@ import com.ruoyi.wgz.bo.res.WgzAppApplyForPayrollSettlementListRes; | |||||||
| import com.ruoyi.wgz.domain.WgzPayCalculation; | import com.ruoyi.wgz.domain.WgzPayCalculation; | ||||||
| import org.springframework.validation.annotation.Validated; | import org.springframework.validation.annotation.Validated; | ||||||
|  |  | ||||||
|  | import java.math.BigDecimal; | ||||||
| import java.util.Collection; | import java.util.Collection; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  |  | ||||||
| @ -97,4 +98,9 @@ public interface IWgzPayCalculationService extends IServicePlus<WgzPayCalculatio | |||||||
| 	 */ | 	 */ | ||||||
| 	Boolean appUpdate(BgtPayCalculationUpdateDTO dto); | 	Boolean appUpdate(BgtPayCalculationUpdateDTO dto); | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * 根据任务和包工头查询已同意的工资 | ||||||
|  | 	 */ | ||||||
|  | 	BigDecimal getPayByTaskAndBgt(Long taskId, Long auditorUserId); | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; | |||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| import org.springframework.transaction.annotation.Transactional; | import org.springframework.transaction.annotation.Transactional; | ||||||
|  |  | ||||||
|  | import java.math.BigDecimal; | ||||||
| import java.time.LocalDateTime; | import java.time.LocalDateTime; | ||||||
| import java.util.Collection; | import java.util.Collection; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| @ -193,4 +194,12 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat | |||||||
| 		payCalculation.setAuditorTime(LocalDateTime.now()); | 		payCalculation.setAuditorTime(LocalDateTime.now()); | ||||||
| 		return updateById(payCalculation); | 		return updateById(payCalculation); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public BigDecimal getPayByTaskAndBgt(Long taskId,Long auditorUserId) { | ||||||
|  |  | ||||||
|  | 		List<WgzPayCalculation> list = list(Wrappers.<WgzPayCalculation>lambdaQuery().eq(WgzPayCalculation::getTaskId, taskId) | ||||||
|  | 			.eq(WgzPayCalculation::getAuditorUserId, auditorUserId)); | ||||||
|  | 		return list.stream().map(WgzPayCalculation::getRecruitAmount).reduce(BigDecimal.ZERO, BigDecimal::add); | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  | |||||||
| @ -33,13 +33,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||||
|                bptp.progress, |                bptp.progress, | ||||||
|                bptp.audit_status, |                bptp.audit_status, | ||||||
|                bptp.create_time, |                bptp.create_time, | ||||||
|                fpt.task_staff_num, |                bptp.task_staff_num, | ||||||
|                fpt.task_name, |                bptp.task_name, | ||||||
|                zp.project_name |                bptp.project_name | ||||||
|         from bgt_project_task_progress bptp |         from bgt_project_task_progress bptp | ||||||
|                  left join fbs_project_task fpt on bptp.task_id = fpt.id |         where bptp.uploader_id = #{dto.createBy} | ||||||
|                  left join zbf_project zp on bptp.project_id = zp.id |  | ||||||
|         where bptp.create_by = #{dto.createBy} |  | ||||||
|         <if test="dto.auditStatus != null and dto.auditStatus != '' "> |         <if test="dto.auditStatus != null and dto.auditStatus != '' "> | ||||||
|             and  bptp.audit_status = #{dto.auditStatus} |             and  bptp.audit_status = #{dto.auditStatus} | ||||||
|         </if> |         </if> | ||||||
|  | |||||||
| @ -26,18 +26,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||||
|     </resultMap> |     </resultMap> | ||||||
|  |  | ||||||
|     <select id="appQueryPageList" resultType="com.ruoyi.bgt.domain.vo.BgtWageApplicationVO"> |     <select id="appQueryPageList" resultType="com.ruoyi.bgt.domain.vo.BgtWageApplicationVO"> | ||||||
|         select fpt.task_name, |         select bwa.task_name, | ||||||
|                fpt.task_staff_num, |                bwa.task_staff_num, | ||||||
|                fpt.task_address, |                bwa.task_address, | ||||||
|                bwa.applicant_amount, |                bwa.applicant_amount, | ||||||
|                bwa.create_time, |                bwa.create_time, | ||||||
|                bwa.id, |                bwa.id, | ||||||
|                bu.username, |                bwa.username, | ||||||
|                zp.project_name |                bwa.project_name | ||||||
|         from bgt_wage_application bwa |         from bgt_wage_application bwa | ||||||
|             left join bgt_user bu on bwa.user_id = bu.user_id |  | ||||||
|             left join zbf_project zp on zp.id = bwa.project_id |  | ||||||
|             left join fbs_project_task fpt on fpt.id = bwa.task_id |  | ||||||
|         <where> |         <where> | ||||||
|             <if test="dto.userId != null "> |             <if test="dto.userId != null "> | ||||||
|                 and bwa.user_id = #{dto.userId} |                 and bwa.user_id = #{dto.userId} | ||||||
|  | |||||||
| @ -31,9 +31,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||||
|  |  | ||||||
|     <select id="appQueryPageList" resultType="com.ruoyi.fbs.domain.vo.AppTaskVO"> |     <select id="appQueryPageList" resultType="com.ruoyi.fbs.domain.vo.AppTaskVO"> | ||||||
|         select  fpt.id, |         select  fpt.id, | ||||||
|  |                 fpt.project_id, | ||||||
|  |                 fpt.section_id, | ||||||
|  |                 fpt.sub_id, | ||||||
|                 fpt.task_name, |                 fpt.task_name, | ||||||
|                 fpt.task_staff_num, |                 fpt.task_staff_num, | ||||||
|                 fpt.task_amount, |                 fpt.task_amount, | ||||||
|  |                 fpt.task_begin_time, | ||||||
|  |                 fpt.task_end_time, | ||||||
|                 zp.project_name, |                 zp.project_name, | ||||||
|                 fpt.task_describe, |                 fpt.task_describe, | ||||||
|                 fpt.task_address, |                 fpt.task_address, | ||||||
| @ -43,6 +48,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||||
|         from fbs_project_task fpt |         from fbs_project_task fpt | ||||||
|             left join zbf_project zp on fpt.project_id = zp.id |             left join zbf_project zp on fpt.project_id = zp.id | ||||||
|         <where> |         <where> | ||||||
|  |         <choose> | ||||||
|  |             <when test="dto.myTask"> | ||||||
|                 <if test="dto.taskIds != null and dto.taskIds.size() > 0"> |                 <if test="dto.taskIds != null and dto.taskIds.size() > 0"> | ||||||
|                     and fpt.id IN |                     and fpt.id IN | ||||||
|                     <foreach item="item" index="index" collection="dto.taskIds" |                     <foreach item="item" index="index" collection="dto.taskIds" | ||||||
| @ -50,6 +57,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||||
|                         #{item} |                         #{item} | ||||||
|                     </foreach> |                     </foreach> | ||||||
|                 </if> |                 </if> | ||||||
|  |             </when> | ||||||
|  |             <otherwise> | ||||||
|  |                 <if test="dto.taskIds != null and dto.taskIds.size() > 0"> | ||||||
|  |                     and fpt.id not IN | ||||||
|  |                     <foreach item="item" index="index" collection="dto.taskIds" | ||||||
|  |                              open="(" separator="," close=")"> | ||||||
|  |                         #{item} | ||||||
|  |                     </foreach> | ||||||
|  |                 </if> | ||||||
|  |             </otherwise> | ||||||
|  |         </choose> | ||||||
|  |  | ||||||
|         <if test="dto.taskName != null and dto.taskName != '' "> |         <if test="dto.taskName != null and dto.taskName != '' "> | ||||||
|             and fpt.task_name like concat('%', #{dto.taskName}, '%') |             and fpt.task_name like concat('%', #{dto.taskName}, '%') | ||||||
|         </if> |         </if> | ||||||
|  | |||||||
| @ -38,7 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||||
|         from wgz_attendance |         from wgz_attendance | ||||||
|         where date between #{beginDate} and #{endDate} |         where date between #{beginDate} and #{endDate} | ||||||
|         and (missed_in = 0 or missed_out = 0) |         and (missed_in = 0 or missed_out = 0) | ||||||
|         and recruit_id in (select id from bgt_project_recruit where task_id = #{taskId} )) |         and recruit_id in (select id from bgt_project_recruit where task_id = #{taskId} ) | ||||||
|         group by date |         group by date | ||||||
|     </select> |     </select> | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 zt
					zt