优化
This commit is contained in:
@ -15,7 +15,6 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ -58,12 +57,11 @@ public class AppBgtWageApplicationController extends BaseController {
|
||||
* 新增包工头工资申请
|
||||
*/
|
||||
@ApiOperation("新增包工头工资申请")
|
||||
@PreAuthorize("@ss.hasPermi('bgt:application:add')")
|
||||
@Log(title = "包工头工资申请", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit
|
||||
@PostMapping()
|
||||
public AjaxResult<Void> add(@Validated @RequestBody BgtWageApplication bo) {
|
||||
return toAjax(iBgtWageApplicationService.insert(bo) ? 1 : 0);
|
||||
public AjaxResult<Boolean> add(@Validated @RequestBody BgtWageApplication bo) {
|
||||
return AjaxResult.success(iBgtWageApplicationService.insert(bo));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,7 +21,6 @@ import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.fbs.domain.FbsProjectTask;
|
||||
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
||||
import com.ruoyi.zbf.service.IZbfProjectService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -38,9 +37,6 @@ import java.util.Map;
|
||||
@Service
|
||||
public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjectTaskProgressMapper, BgtProjectTaskProgress> implements IBgtProjectTaskProgressService {
|
||||
|
||||
@Autowired
|
||||
private IZbfProjectService zbfProjectService;
|
||||
|
||||
@Autowired
|
||||
private IFbsProjectTaskService fbsProjectTaskService;
|
||||
|
||||
|
@ -5,27 +5,35 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
|
||||
import com.ruoyi.bgt.bo.BgtWageApplicationQueryBo;
|
||||
import com.ruoyi.bgt.domain.BgtMessage;
|
||||
import com.ruoyi.bgt.domain.BgtWageApplication;
|
||||
import com.ruoyi.bgt.domain.dto.BgtWageApplicationQueryDTO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtWageApplicationDetailVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtWageApplicationListVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtWageApplicationVO;
|
||||
import com.ruoyi.bgt.mapper.BgtWageApplicationMapper;
|
||||
import com.ruoyi.bgt.service.IBgtUserService;
|
||||
import com.ruoyi.bgt.service.IBgtMessageService;
|
||||
import com.ruoyi.bgt.service.IBgtWageApplicationService;
|
||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.fbs.domain.FbsProjectTask;
|
||||
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
||||
import com.ruoyi.zbf.service.IZbfProjectService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.ruoyi.common.constants.BgtMessageConstant.*;
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_BGT;
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_SYSTEM;
|
||||
|
||||
/**
|
||||
* 包工头工资申请Service业务层处理
|
||||
*
|
||||
@ -35,14 +43,11 @@ import java.util.Map;
|
||||
@Service
|
||||
public class BgtWageApplicationServiceImpl extends ServicePlusImpl<BgtWageApplicationMapper, BgtWageApplication> implements IBgtWageApplicationService {
|
||||
|
||||
@Autowired
|
||||
private IZbfProjectService projectService;
|
||||
|
||||
@Autowired
|
||||
private IFbsProjectTaskService taskService;
|
||||
|
||||
@Autowired
|
||||
private IBgtUserService bgtUserService;
|
||||
private IBgtMessageService bgtMessageService;
|
||||
|
||||
|
||||
@Override
|
||||
@ -79,10 +84,29 @@ public class BgtWageApplicationServiceImpl extends ServicePlusImpl<BgtWageApplic
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insert(BgtWageApplication bo) {
|
||||
BgtWageApplication add = BeanUtil.toBean(bo, BgtWageApplication.class);
|
||||
validEntityBeforeSave(add);
|
||||
return save(add);
|
||||
boolean save = save(add);
|
||||
//发消息
|
||||
FbsProjectTask task = taskService.getById(add.getTaskId());
|
||||
HashMap<String, String> mp = new HashMap<>();
|
||||
mp.put("projectName", task.getTaskName());
|
||||
mp.put("amount", add.getApplicantAmount().toString());
|
||||
Map<String, String> map = bgtMessage(mp, BGT_TYPE_SETTLEMENT, true);
|
||||
BgtMessage bgtMessage = new BgtMessage()
|
||||
.setSenderType(USERTYPE_SYSTEM)
|
||||
.setRecipientType(USERTYPE_BGT)
|
||||
.setRecipientId(add.getUserId())
|
||||
.setHeadline(map.get(HEADLINE))
|
||||
.setSubheading(map.get(SUBHEADING))
|
||||
.setTableId(task.getId())
|
||||
.setTableName(SqlHelper.table(FbsProjectTask.class).getTableName())
|
||||
.setMessageLargeType(BGT_LARGE_TASK);
|
||||
bgtMessageService.sendAMessage(bgtMessage);
|
||||
|
||||
return save;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -8,51 +8,99 @@ public class BgtMessageConstant {
|
||||
|
||||
public static final String BGT_LARGE_TASK = "1"; //大类型-任务
|
||||
public static final String BGT_LARGE_SETTLEMENT = "2"; //大类型-结算
|
||||
public static final String BGT_LARGE_OTHER = "3"; //大类型-其它
|
||||
public static final String BGT_LARGE_OTHER = "3"; //大类型-其它
|
||||
|
||||
public static final String BGT_SMALL_SIGN_UP = "1"; //小类型-务工者报名
|
||||
public static final String BGT_SMALL_PAY = "2"; //小类型-付款
|
||||
public static final String BGT_SMALL_LEAVE = "3"; //小类型-请假
|
||||
public static final String BGT_SMALL_MAKE_UP = "4"; //小类型-补卡
|
||||
public static final String BGT_SMALL_SYSTEM = "5"; //小类型-系统
|
||||
|
||||
/**
|
||||
* ============================================包工头->务工者==================================================
|
||||
* ============================================包工头->务工者==================================================
|
||||
* ============================================包工头->务工者==================================================
|
||||
* ============================================包工头->务工者 模板==================================================
|
||||
* ============================================包工头->务工者 模板==================================================
|
||||
* ============================================包工头->务工者 模板==================================================
|
||||
*/
|
||||
|
||||
//模板
|
||||
//招工审批
|
||||
public static final String BGT_SIGN_UP_APPLY_HEADLINE = "您申请的【%s】项目,已得到回复!";
|
||||
public static final String BGT_SIGN_UP_APPLY_SUBHEADING = "您申请的【%s】项目,审核人【%s】已%s!";
|
||||
//工资审批
|
||||
public static final String BGT_PAY_APPLY_HEADLINE = "您【%s】项目工资申请已审批!";
|
||||
public static final String BGT_PAY_APPLY_SUBHEADING = "您申请的【%s】项目工资,审核人【%s】已%s!";
|
||||
//请假审批
|
||||
public static final String BGT_LEAVE_APPLY_HEADLINE = "您【%s】项目的请假申请已审批!";
|
||||
public static final String BGT_LEAVE_APPLY_SUBHEADING = "您【%s】项目的请假申请,审核人【%s】已%s!";
|
||||
//补卡审批
|
||||
public static final String BGT_LEAVE_MAKE_UP_HEADLINE = "您【%s】项目的补卡申请已审批!";
|
||||
public static final String BGT_LEAVE_MAKE_UP_SUBHEADING = "您【%s】项目的补卡申请,审核人【%s】已%s!";
|
||||
//退场
|
||||
public static final String BGT_LEAVE_EXIT_HEADLINE = "您已从【%s】项目退场!";
|
||||
public static final String BGT_LEAVE_EXIT_SUBHEADING_ONE = "您已被【%s】指定从【%s】项目退场!";
|
||||
public static final String BGT_LEAVE_EXIT_SUBHEADING_TWO = "【%s】项目已完结,自动退场!";
|
||||
|
||||
|
||||
//主副标志
|
||||
public static final String HEADLINE = "headline"; //主标题
|
||||
public static final String SUBHEADING = "subheading"; //副标题
|
||||
|
||||
//消息类型
|
||||
//包工头->务工者 消息类型
|
||||
public static final String BGT_TYPE_SIGN_UP = "1"; //务工者报名
|
||||
public static final String BGT_TYPE_PAY = "2"; //付款
|
||||
public static final String BGT_TYPE_LEAVE = "3"; //请假
|
||||
public static final String BGT_TYPE_MAKE_UP = "4"; //补卡
|
||||
public static final String BGT_TYPE_EXIT = "5"; //退场
|
||||
|
||||
|
||||
/**
|
||||
* ============================================系统->包工头 模板==================================================
|
||||
* ============================================系统->包工头 模板==================================================
|
||||
* ============================================系统->包工头 模板==================================================
|
||||
*/
|
||||
//承接任务
|
||||
public static final String BGT_TASK_APPLY_HEADLINE = "您已申请【%s】项目";
|
||||
public static final String BGT_TASK_APPLY_SUBHEADING = "您已成功申请到【%s】项目,请耐心等待回复!";
|
||||
//取消承接任务
|
||||
public static final String BGT_TASK_APPLY_CANCEL_HEADLINE = "您已申请取消【%s】项目!";
|
||||
public static final String BGT_TASK_APPLY_CANCEL_SUBHEADING = "您已成功取消【%s】项目";
|
||||
//工资结算
|
||||
public static final String BGT_SETTLEMENT_APPLY_HEADLINE = "您正在申请【%s】项目,总共【%s】元的工资结算操作!";
|
||||
public static final String BGT_SETTLEMENT_APPLY_SUBHEADING = "您已成功发起金额为【%s】元的工资结算操作,请耐心等待回复!";
|
||||
|
||||
|
||||
//系统->包工头 消息类型
|
||||
public static final String BGT_TYPE_TASK = "6"; //任务报名
|
||||
public static final String BGT_TYPE_TASK_CANCEL = "7"; //任务取消
|
||||
public static final String BGT_TYPE_SETTLEMENT = "8"; //结算
|
||||
|
||||
|
||||
/**
|
||||
* ============================================包工头->分包商 模板==================================================
|
||||
* ============================================包工头->分包商 模板==================================================
|
||||
* ============================================包工头->分包商 模板==================================================
|
||||
*/
|
||||
//承接任务
|
||||
public static final String BGT_TO_FBG_APPLY_TASK_HEADLINE = "包工头【%s】正在向你申请承接【%s】任务!";
|
||||
public static final String BGT_TO_FBG_APPLY_TASK_SUBHEADING = "包工头【%s】正在向你申请承接【%s】任务,您可点击查看更多信息!";
|
||||
//工资结算
|
||||
public static final String BGT_TO_FBG_SETTLEMENT_APPLY_HEADLINE = "包工头【%s】正在向你发起工资结算!";
|
||||
public static final String BGT_TO_FBG_SETTLEMENT_APPLY_SUBHEADING = "包工头【%s】向你发起金额为【%s】元的工资结算操作!";
|
||||
|
||||
//包工头->分包商 消息类型
|
||||
public static final String BGT_TYPE_TASK_TO_FBG = "9"; //任务
|
||||
public static final String BGT_TYPE_SETTLEMEN_TO_FBGT = "10"; //结算
|
||||
|
||||
|
||||
/**
|
||||
* ============================================调用方法==================================================
|
||||
* ============================================调用方法==================================================
|
||||
* ============================================调用方法==================================================
|
||||
*/
|
||||
//主副标志
|
||||
public static final String HEADLINE = "headline"; //主标题
|
||||
public static final String SUBHEADING = "subheading"; //副标题
|
||||
|
||||
//包工头消息返回
|
||||
public static Map<String, String> bgtMessage(Map<String, String> mp, String type, Boolean isPass) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
String pass = isPass ? "通过" : "拒绝";
|
||||
String projectName = mp.get("projectName");
|
||||
String auditor = mp.get("auditor");
|
||||
String amount = mp.get("amount");
|
||||
switch (type) {
|
||||
case "1":
|
||||
map.put(HEADLINE, String.format(BGT_SIGN_UP_APPLY_HEADLINE, projectName));
|
||||
@ -78,6 +126,26 @@ public class BgtMessageConstant {
|
||||
map.put(SUBHEADING, String.format(BGT_LEAVE_EXIT_SUBHEADING_TWO, projectName));
|
||||
}
|
||||
break;
|
||||
case "6":
|
||||
map.put(HEADLINE, String.format(BGT_TASK_APPLY_HEADLINE, projectName));
|
||||
map.put(SUBHEADING, String.format(BGT_TASK_APPLY_SUBHEADING, projectName));
|
||||
break;
|
||||
case "7":
|
||||
map.put(HEADLINE, String.format(BGT_TASK_APPLY_CANCEL_HEADLINE, projectName));
|
||||
map.put(SUBHEADING, String.format(BGT_TASK_APPLY_CANCEL_SUBHEADING, projectName));
|
||||
break;
|
||||
case "8":
|
||||
map.put(HEADLINE, String.format(BGT_SETTLEMENT_APPLY_HEADLINE, projectName, amount));
|
||||
map.put(SUBHEADING, String.format(BGT_SETTLEMENT_APPLY_SUBHEADING, amount));
|
||||
break;
|
||||
case "9":
|
||||
map.put(HEADLINE, String.format(BGT_TO_FBG_APPLY_TASK_HEADLINE, auditor, projectName));
|
||||
map.put(SUBHEADING, String.format(BGT_TO_FBG_APPLY_TASK_SUBHEADING, auditor, projectName));
|
||||
break;
|
||||
case "10":
|
||||
map.put(HEADLINE, String.format(BGT_TO_FBG_SETTLEMENT_APPLY_HEADLINE, auditor));
|
||||
map.put(SUBHEADING, String.format(BGT_TO_FBG_SETTLEMENT_APPLY_SUBHEADING, auditor, amount));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -36,6 +36,9 @@ public class AppTaskVO {
|
||||
/** 任务地址 */
|
||||
@ApiModelProperty("任务地址")
|
||||
private String taskAddress;
|
||||
|
||||
@ApiModelProperty("任务描述")
|
||||
private String taskDescribe;
|
||||
/** 任务金额 */
|
||||
@ApiModelProperty("任务金额")
|
||||
private Integer taskAmount;
|
||||
|
@ -5,22 +5,35 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
|
||||
import com.ruoyi.bgt.domain.BgtMessage;
|
||||
import com.ruoyi.bgt.service.IBgtMessageService;
|
||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.exception.BaseException;
|
||||
import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.fbs.bo.FbsProjectTaskApplyQueryBo;
|
||||
import com.ruoyi.fbs.domain.FbsProjectTask;
|
||||
import com.ruoyi.fbs.domain.FbsProjectTaskApply;
|
||||
import com.ruoyi.fbs.domain.dto.TaskApplyDTO;
|
||||
import com.ruoyi.fbs.mapper.FbsProjectTaskApplyMapper;
|
||||
import com.ruoyi.fbs.service.IFbsProjectTaskApplyService;
|
||||
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.ruoyi.common.constants.BgtMessageConstant.*;
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_BGT;
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_SYSTEM;
|
||||
|
||||
/**
|
||||
* 分包商项目任务申请Service业务层处理
|
||||
*
|
||||
@ -30,6 +43,11 @@ import java.util.stream.Collectors;
|
||||
@Service
|
||||
public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl<FbsProjectTaskApplyMapper, FbsProjectTaskApply> implements IFbsProjectTaskApplyService {
|
||||
|
||||
@Autowired
|
||||
private IBgtMessageService bgtMessageService;
|
||||
@Autowired
|
||||
private IFbsProjectTaskService taskService;
|
||||
|
||||
@Override
|
||||
public FbsProjectTaskApply queryById(Long id){
|
||||
return getById(id);
|
||||
@ -92,9 +110,27 @@ public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl<FbsProjectTa
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean appTaskApply(TaskApplyDTO dto) {
|
||||
FbsProjectTaskApply fbsProjectTaskApply = BeanUtil.copyProperties(dto, FbsProjectTaskApply.class);
|
||||
validEntityBeforeSave(fbsProjectTaskApply);
|
||||
|
||||
//发消息
|
||||
FbsProjectTask task = taskService.getById(dto.getTaskId());
|
||||
HashMap<String, String> mp = new HashMap<>();
|
||||
mp.put("projectName", task.getTaskName());
|
||||
mp.put("auditor", SecurityUtils.getUsername());
|
||||
Map<String, String> map = bgtMessage(mp, BGT_TYPE_TASK, true);
|
||||
BgtMessage bgtMessage = new BgtMessage()
|
||||
.setSenderType(USERTYPE_SYSTEM)
|
||||
.setRecipientType(USERTYPE_BGT)
|
||||
.setRecipientId(dto.getUserId())
|
||||
.setHeadline(map.get(HEADLINE))
|
||||
.setSubheading(map.get(SUBHEADING))
|
||||
.setTableId(task.getId())
|
||||
.setTableName(SqlHelper.table(FbsProjectTask.class).getTableName())
|
||||
.setMessageLargeType(BGT_LARGE_TASK);
|
||||
bgtMessageService.sendAMessage(bgtMessage);
|
||||
return save(fbsProjectTaskApply);
|
||||
}
|
||||
|
||||
@ -108,6 +144,22 @@ public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl<FbsProjectTa
|
||||
public Boolean cancelApply(TaskApplyDTO dto) {
|
||||
int delete = baseMapper.delete(Wrappers.<FbsProjectTaskApply>lambdaQuery().eq(FbsProjectTaskApply::getTaskId, dto.getTaskId())
|
||||
.eq(FbsProjectTaskApply::getUserId, dto.getUserId()));
|
||||
//发消息
|
||||
FbsProjectTask task = taskService.getById(dto.getTaskId());
|
||||
HashMap<String, String> mp = new HashMap<>();
|
||||
mp.put("projectName", task.getTaskName());
|
||||
mp.put("auditor", SecurityUtils.getUsername());
|
||||
Map<String, String> map = bgtMessage(mp, BGT_TYPE_TASK_CANCEL, true);
|
||||
BgtMessage bgtMessage = new BgtMessage()
|
||||
.setSenderType(USERTYPE_SYSTEM)
|
||||
.setRecipientType(USERTYPE_BGT)
|
||||
.setRecipientId(dto.getUserId())
|
||||
.setHeadline(map.get(HEADLINE))
|
||||
.setSubheading(map.get(SUBHEADING))
|
||||
.setTableId(task.getId())
|
||||
.setTableName(SqlHelper.table(FbsProjectTask.class).getTableName())
|
||||
.setMessageLargeType(BGT_LARGE_TASK);
|
||||
bgtMessageService.sendAMessage(bgtMessage);
|
||||
return delete>0;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user