总包方
This commit is contained in:
@ -104,7 +104,7 @@ public class AppBgtMessageController extends BaseController {
|
||||
BigDecimal allPay = iWgzAttendanceService.getAllPay(userId, recruitApplyId, recruit.getRecruitAmount());
|
||||
//获取个人已结算工资
|
||||
BigDecimal alreadyPay = iWgzPayCalculationService.getAlreadyPay(userId, recruitApplyId);
|
||||
res.setIsPay(allPay.equals(alreadyPay));
|
||||
res.setIsPay(allPay.compareTo(alreadyPay)==0);
|
||||
}
|
||||
return AjaxResult.success(res);
|
||||
}
|
||||
@ -115,5 +115,9 @@ public class AppBgtMessageController extends BaseController {
|
||||
return iBgtMessageService.unAuditList(dto);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("消息详情")
|
||||
@GetMapping("/detail/{id}")
|
||||
public AjaxResult<BgtMessage> detail(@PathVariable(value = "id") Long id) {
|
||||
return AjaxResult.success(iBgtMessageService.getById(id));
|
||||
}
|
||||
}
|
||||
|
@ -3,10 +3,13 @@ package com.ruoyi.web.controller.fbs;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.fbs.domain.vo.FbsProjectSubcontractingDetailVO;
|
||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
|
||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
|
||||
import com.ruoyi.zbf.service.IZbfProjectSectionService;
|
||||
import com.ruoyi.zbf.service.IZbfProjectService;
|
||||
import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService;
|
||||
import com.ruoyi.zbf.service.IZbfProjectSubcontractingService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -34,6 +37,7 @@ public class AppFbsProjectSubcontractingController extends BaseController {
|
||||
private final IZbfProjectSubcontractingService iZbfProjectSubcontractingService;
|
||||
private final IZbfProjectSectionService zbfProjectSectionService;
|
||||
private final IZbfProjectService zbfProjectService;
|
||||
private final IZbfProjectSubcontractingApplyService iZbfProjectSubcontractingApplyService;
|
||||
|
||||
@ApiOperation("分包商查询项目分包详细信息")
|
||||
@GetMapping("/{id}")
|
||||
@ -43,6 +47,10 @@ public class AppFbsProjectSubcontractingController extends BaseController {
|
||||
FbsProjectSubcontractingDetailVO vo = BeanUtil.copyProperties(zbfProjectSubcontracting, FbsProjectSubcontractingDetailVO.class);
|
||||
vo.setSectionName(zbfProjectSectionService.getById(vo.getSectionId()).getSectionName());
|
||||
vo.setProjectImg(zbfProjectService.getById(vo.getProjectId()).getProjectImg());
|
||||
ZbfProjectSubcontractingApply subcontractingApply = iZbfProjectSubcontractingApplyService.queryBySubIdAndFbsUserId(id, SecurityUtils.getAppUserId());
|
||||
if (subcontractingApply != null) {
|
||||
vo.setApplyStatus(subcontractingApply.getApplyStatus());
|
||||
}
|
||||
return AjaxResult.success(vo);
|
||||
}
|
||||
|
||||
|
@ -175,4 +175,27 @@ public class AppFbsProjectTaskController extends BaseController {
|
||||
return AjaxResult.success(vo);
|
||||
}
|
||||
|
||||
@ApiOperation("分包商完成任务")
|
||||
@Log(title = "分包商完成任务", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit
|
||||
@PutMapping("/complete/{taskId}")
|
||||
public AjaxResult<Boolean> complete(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("taskId") Long taskId) {
|
||||
return AjaxResult.success(iFbsProjectTaskService.complete(taskId));
|
||||
}
|
||||
|
||||
@ApiOperation("分包商完成任务前检查")
|
||||
@GetMapping("/checkBeforeComplete/{taskId}")
|
||||
public AjaxResult<Boolean> checkBeforeComplete(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("taskId") Long taskId) {
|
||||
return AjaxResult.success(iFbsProjectTaskService.checkBeforeComplete(taskId));
|
||||
}
|
||||
|
||||
@ApiOperation("分包商完成任务提醒消息")
|
||||
@PostMapping("/sendRemindMessage/{taskId}")
|
||||
public AjaxResult<Boolean> sendRemindMessage(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("taskId") Long taskId) {
|
||||
return AjaxResult.success(iFbsProjectTaskService.sendRemindMessage(taskId));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ import com.ruoyi.wgz.bo.rests.WgzAppUserAllRecruitmentTwo;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfProjectTaskUserDTO;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@ -156,7 +157,7 @@ public interface IBgtProjectRecruitApplyService extends IServicePlus<BgtProjectR
|
||||
/**
|
||||
* 批量退场
|
||||
*/
|
||||
void quitBatch(Long taskId);
|
||||
void quitBatch(Long taskId, LocalDate leaveTime);
|
||||
|
||||
/**
|
||||
* 评分
|
||||
|
@ -42,7 +42,6 @@ import com.ruoyi.wgz.service.*;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfProjectTaskUserDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -567,9 +566,9 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
return updateById(recruitApply);
|
||||
}
|
||||
|
||||
@Async
|
||||
@Override
|
||||
public void quitBatch(Long taskId) {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void quitBatch(Long taskId, LocalDate leaveTime) {
|
||||
BgtProjectRecruitApplyQueryDTO dto = new BgtProjectRecruitApplyQueryDTO();
|
||||
dto.setTaskId(taskId);
|
||||
dto.setStatus(Collections.singletonList(RecruitApplyStatus.WORKING.getCode()));
|
||||
@ -580,10 +579,13 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
List<WgzMessage> wgzMessages = new ArrayList<>();
|
||||
List<Long> ids = new ArrayList<>();
|
||||
for (BgtProjectRecruitApplyVO vo : bgtProjectRecruitApplyVOS) {
|
||||
// if(quitCheck(vo.getId())){
|
||||
// throw new BaseException("务工者还有未审批的申请,无法完成!");
|
||||
// }
|
||||
ids.add(vo.getId());
|
||||
HashMap<String, String> mp = new HashMap<>();
|
||||
mp.put("projectName", vo.getRecruitName());
|
||||
mp.put("auditor", "系统");
|
||||
mp.put("auditor", SecurityUtils.getUsername());
|
||||
Map<String, String> map = bgtMessage(mp, BGT_TYPE_EXIT, false);
|
||||
WgzMessage wgzMessage = new WgzMessage()
|
||||
.setSenderType(USERTYPE_BGT)
|
||||
@ -601,7 +603,7 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
iWgzMessageService.saveBatch(wgzMessages);
|
||||
LambdaUpdateWrapper<BgtProjectRecruitApply> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.in(BgtProjectRecruitApply::getId, ids)
|
||||
.set(BgtProjectRecruitApply::getLeaveTime, LocalDate.now())
|
||||
.set(BgtProjectRecruitApply::getLeaveTime, leaveTime)
|
||||
.set(BgtProjectRecruitApply::getStatus, RecruitApplyStatus.OUT_WORK.getCode());
|
||||
update(wrapper);
|
||||
}
|
||||
|
@ -15,11 +15,11 @@ import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressDetailVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO;
|
||||
import com.ruoyi.bgt.mapper.BgtProjectTaskProgressMapper;
|
||||
import com.ruoyi.bgt.service.IBgtMessageService;
|
||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
|
||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.AuditStatus;
|
||||
import com.ruoyi.common.enums.ProjectTaskStatus;
|
||||
import com.ruoyi.common.exception.BaseException;
|
||||
import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
@ -54,6 +54,8 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
private IFbsMessageService fbsMessageService;
|
||||
@Autowired
|
||||
private IBgtMessageService bgtMessageService;
|
||||
@Autowired
|
||||
private IBgtProjectRecruitApplyService recruitApplyService;
|
||||
|
||||
@Override
|
||||
public BgtProjectTaskProgress queryById(Long id){
|
||||
@ -176,14 +178,8 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
|
||||
@Override
|
||||
public Boolean fbsAudit(BgtProjectTaskProgress bo) {
|
||||
boolean b = updateById(bo);
|
||||
FbsProjectTask task = taskService.getById(bo.getTaskId());
|
||||
|
||||
if(bo.getProgress() == 100){
|
||||
//更改任务状态
|
||||
taskService.lambdaUpdate().set(FbsProjectTask::getStatus, ProjectTaskStatus.COMPLETE.getCode())
|
||||
.eq(FbsProjectTask::getId, bo.getTaskId()).update();
|
||||
}
|
||||
boolean b = updateById(bo);
|
||||
|
||||
//分包商发消息到包工头
|
||||
HashMap<String, String> mp = new HashMap<>();
|
||||
@ -203,9 +199,7 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjec
|
||||
.setMessageSmallType(BGT_SMALL_PROGRESS)
|
||||
.setIsOperation(OPERATION_NO);
|
||||
bgtMessageService.sendAMessage(bgtMessage);
|
||||
|
||||
fbsMessageService.operation(USERTYPE_BGT, bo.getUploaderId(), USERTYPE_FBS, SecurityUtils.getAppUserId(), bo.getId(), SqlHelper.table(BgtProjectTaskProgress.class).getTableName());
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,7 @@ public class BgtMessageConstant {
|
||||
public static final String BGT_SMALL_MAKE_UP = "4"; //小类型-补卡
|
||||
public static final String BGT_SMALL_REPORT_MAKE_UP = "5"; //小类型-日报补卡
|
||||
public static final String BGT_SMALL_PROGRESS = "6"; //小类型-任务进度
|
||||
public static final String BGT_SMALL_SYSTEM = "7"; //小类型-系统
|
||||
|
||||
public static final List<String> AUDIT_TYPE = Arrays.asList("2", "3", "4", "5");
|
||||
/**
|
||||
@ -75,11 +76,11 @@ public class BgtMessageConstant {
|
||||
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"; //结算
|
||||
//提醒
|
||||
|
||||
|
||||
/**
|
||||
|
@ -35,12 +35,16 @@ public class FbsMessageConstant {
|
||||
//进度审批
|
||||
public static final String FBS_PROGRESS_HEADLINE = "您【%s】任务的上传进度已审批!";
|
||||
public static final String FBS_PROGRESS_SUBHEADING = "您【%s】任务的上传进度,审核人【%s】已%s!";
|
||||
//审批提醒
|
||||
public static final String FBS_REMIND_HEADLINE = "请尽快完成【%s】任务下的所有审批!";
|
||||
public static final String FBS_REMIND_SUBHEADING = "分包商【%s】提醒您完成【%s】任务的所有审批!";
|
||||
|
||||
|
||||
//分包商->包工头 消息类型
|
||||
public static final String FBS_TYPE_SIGN_UP = "1"; //包工头报名
|
||||
public static final String FBS_TYPE_PAY = "2"; //付款
|
||||
public static final String FBS_TYPE_PROGRESS = "3"; //进度
|
||||
public static final String FBS_TYPE_PROGRESS = "3"; //进度
|
||||
public static final String FBS_TYPE_REMIND = "9"; //提醒
|
||||
|
||||
|
||||
|
||||
@ -130,6 +134,10 @@ public class FbsMessageConstant {
|
||||
map.put(HEADLINE, String.format(FBS_TO_ZBF_SETTLEMENT_APPLY_HEADLINE, auditor));
|
||||
map.put(SUBHEADING, String.format(FBS_TO_ZBF_SETTLEMENT_APPLY_SUBHEADING, auditor,amount));
|
||||
break;
|
||||
case "9":
|
||||
map.put(HEADLINE, String.format(FBS_REMIND_HEADLINE, projectName));
|
||||
map.put(SUBHEADING, String.format(FBS_REMIND_SUBHEADING, auditor,projectName));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1,8 +1,12 @@
|
||||
package com.ruoyi.common.service;
|
||||
|
||||
import com.ruoyi.bgt.domain.BgtMessage;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruit;
|
||||
|
||||
public interface IAsyncService {
|
||||
//异步修改招工状态为招满
|
||||
void updateRecruitStatus(BgtProjectRecruit recruit);
|
||||
|
||||
//异步发送提醒消息
|
||||
void sendMessageToBgt(BgtMessage bgtMessage);
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
package com.ruoyi.common.service.impl;
|
||||
|
||||
import com.ruoyi.bgt.domain.BgtMessage;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruit;
|
||||
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
|
||||
import com.ruoyi.common.service.IAsyncService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@ -19,4 +18,9 @@ public class AsyncServiceImpl implements IAsyncService {
|
||||
recruit.setStatus("2");
|
||||
iBgtProjectRecruitService.updateById(recruit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessageToBgt(BgtMessage bgtMessage) {
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -71,4 +71,7 @@ public class FbsProjectSubcontractingDetailVO {
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("申请状态(0=申请中,1=已同意,2=已拒绝,3=已取消)")
|
||||
private String applyStatus;
|
||||
|
||||
}
|
||||
|
@ -149,5 +149,18 @@ public interface IFbsProjectTaskService extends IServicePlus<FbsProjectTask> {
|
||||
*/
|
||||
TableDataInfo<FbsProjectTask> bgtTaskList(ZbfProjectTaskDTO dto);
|
||||
|
||||
/**
|
||||
* 分包商完成任务
|
||||
*/
|
||||
Boolean complete(Long taskId);
|
||||
|
||||
/**
|
||||
* 分包商完成任务前检查
|
||||
*/
|
||||
Boolean checkBeforeComplete(Long taskId);
|
||||
|
||||
/**
|
||||
* 分包商完成任务提醒消息
|
||||
*/
|
||||
Boolean sendRemindMessage( Long taskId);
|
||||
}
|
||||
|
@ -6,13 +6,17 @@ 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.domain.BgtMessage;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||
import com.ruoyi.bgt.domain.BgtProjectTaskProgress;
|
||||
import com.ruoyi.bgt.domain.BgtWageApplication;
|
||||
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
||||
import com.ruoyi.bgt.domain.dto.BgtProjectTaskUserDTO;
|
||||
import com.ruoyi.bgt.domain.dto.BgtTaskDTO;
|
||||
import com.ruoyi.bgt.domain.dto.BgtWageApplicationQueryDTO;
|
||||
import com.ruoyi.bgt.domain.vo.*;
|
||||
import com.ruoyi.bgt.service.IBgtMessageService;
|
||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
|
||||
import com.ruoyi.bgt.service.IBgtWageApplicationService;
|
||||
@ -46,16 +50,20 @@ import com.ruoyi.zbf.service.IZbfProjectSectionService;
|
||||
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.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.ruoyi.common.constants.BgtMessageConstant.*;
|
||||
import static com.ruoyi.common.constants.FbsMessageConstant.FBS_TYPE_REMIND;
|
||||
import static com.ruoyi.common.constants.FbsMessageConstant.fbsMessage;
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_BGT;
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_FBS;
|
||||
|
||||
/**
|
||||
* 分包商项目任务Service业务层处理
|
||||
*
|
||||
@ -83,6 +91,8 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
||||
private IZbfProjectSectionService zbfProjectSectionService;
|
||||
@Autowired
|
||||
private IFbsProjectTaskService fbsProjectTaskService;
|
||||
@Autowired
|
||||
private IBgtMessageService bgtMessageService;
|
||||
|
||||
@Override
|
||||
public FbsProjectTask queryById(Long id){
|
||||
@ -121,10 +131,18 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insert(FbsProjectTask bo) {
|
||||
FbsProjectTask add = BeanUtil.toBean(bo, FbsProjectTask.class);
|
||||
validEntityBeforeSave(add);
|
||||
return save(add);
|
||||
|
||||
//修改项目状态
|
||||
ZbfProject byId = zbfProjectService.getById(add.getProjectId());
|
||||
if(byId.getProjectStatus().equals(ProjectTaskStatus.COMPLETE.getCode())){
|
||||
byId.setProjectStatus(ProjectTaskStatus.PROGRESS.getCode());
|
||||
zbfProjectService.updateById(byId);
|
||||
}
|
||||
return save(add);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -454,4 +472,56 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
||||
Page<FbsProjectTask> page = page(PageUtils.buildPage(), wrapper);
|
||||
return PageUtils.buildDataInfo(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean complete(Long taskId) {
|
||||
//更改任务状态
|
||||
FbsProjectTask task = getById(taskId);
|
||||
task.setStatus(ProjectTaskStatus.COMPLETE.getCode());
|
||||
//批量退场
|
||||
recruitApplyService.quitBatch(taskId,LocalDate.now());
|
||||
return updateById(task);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean checkBeforeComplete(Long taskId) {
|
||||
boolean result = true;
|
||||
BgtProjectRecruitApplyQueryDTO dto = new BgtProjectRecruitApplyQueryDTO();
|
||||
dto.setTaskId(taskId);
|
||||
dto.setStatus(Collections.singletonList(RecruitApplyStatus.WORKING.getCode()));
|
||||
List<BgtProjectRecruitApplyVO> bgtProjectRecruitApplyVOS = recruitApplyService.appAllList(dto);
|
||||
|
||||
if (CollectionUtil.isNotEmpty(bgtProjectRecruitApplyVOS)) {
|
||||
for (BgtProjectRecruitApplyVO vo : bgtProjectRecruitApplyVOS) {
|
||||
if (recruitApplyService.quitCheck(vo.getId())) {
|
||||
result= false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean sendRemindMessage(Long taskId) {
|
||||
FbsProjectTask task = getById(taskId);
|
||||
HashMap<String, String> mp = new HashMap<>();
|
||||
mp.put("projectName", task.getTaskName());
|
||||
mp.put("auditor", SecurityUtils.getUsername());
|
||||
Map<String, String> map = fbsMessage(mp, FBS_TYPE_REMIND, true);
|
||||
BgtMessage bgtMessage = new BgtMessage()
|
||||
.setSenderId(SecurityUtils.getAppUserId())
|
||||
.setSenderType(USERTYPE_FBS)
|
||||
.setRecipientType(USERTYPE_BGT)
|
||||
.setRecipientId(task.getUserId())
|
||||
.setHeadline(map.get(HEADLINE))
|
||||
.setSubheading(map.get(SUBHEADING))
|
||||
.setTableId(task.getId())
|
||||
.setTableName(SqlHelper.table(FbsProjectTask.class).getTableName())
|
||||
.setMessageLargeType(BGT_LARGE_OTHER)
|
||||
.setMessageSmallType(BGT_SMALL_SYSTEM);
|
||||
return bgtMessageService.sendAMessage(bgtMessage);
|
||||
}
|
||||
}
|
||||
|
@ -65,5 +65,9 @@ public interface IZbfProjectSubcontractingApplyService extends IServicePlus<ZbfP
|
||||
*/
|
||||
TableDataInfo<ZbfProjectSubcontractingApplyListVO> getFbsList(ZbfProjectSubApplyListDTO dto);
|
||||
|
||||
/**
|
||||
* 根据分包商Id和分包ID查询申请
|
||||
*/
|
||||
ZbfProjectSubcontractingApply queryBySubIdAndFbsUserId(Long subId, Long fbsUserId);
|
||||
|
||||
}
|
||||
|
@ -220,7 +220,8 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
||||
.eq(ZbfProjectSubcontractingApply::getProjectId, projectId)
|
||||
.eq(ZbfProjectSubcontractingApply::getFbsUserId, SecurityUtils.getAppUserId())
|
||||
.in(ZbfProjectSubcontractingApply::getApplyStatus, SubcontractingApplyStatus.getApplyStatus()));
|
||||
List<Long> applyIds = applyList.stream().map(ZbfProjectSubcontractingApply::getSubId).collect(Collectors.toList());
|
||||
Map<Long, String> map = applyList.stream().collect(Collectors.toMap(ZbfProjectSubcontractingApply::getSubId, ZbfProjectSubcontractingApply::getApplyStatus));
|
||||
|
||||
|
||||
//标段处理
|
||||
List<FbsProjectSectionListVO> sectionListVO = new ArrayList<>();
|
||||
@ -235,11 +236,12 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
||||
.eq(ZbfProjectSubcontracting::getSectionId, zbfProjectSection.getId()));
|
||||
//排除掉未申请和已同意的分包
|
||||
for (ZbfProjectSubcontracting sub : subList) {
|
||||
if (!applyIds.contains(sub.getId())) {
|
||||
if (map.get(sub.getId()) == null) {
|
||||
continue;
|
||||
}
|
||||
FbsProjectSubcontractingListVO fbsProjectSubcontractingListVO = new FbsProjectSubcontractingListVO();
|
||||
BeanUtil.copyProperties(sub, fbsProjectSubcontractingListVO);
|
||||
fbsProjectSubcontractingListVO.setApplyStatus(map.get(sub.getId()));
|
||||
subListVO.add(fbsProjectSubcontractingListVO);
|
||||
}
|
||||
if (CollectionUtil.isEmpty(subListVO)) {
|
||||
@ -485,6 +487,8 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
||||
for (ZbfProjectSubcontracting sub : subList) {
|
||||
FbsProjectSubcontractingListVO fbsProjectSubcontractingListVO = new FbsProjectSubcontractingListVO();
|
||||
BeanUtil.copyProperties(sub, fbsProjectSubcontractingListVO);
|
||||
//写死 已加入和已竣工的申请状态都是已同意
|
||||
fbsProjectSubcontractingListVO.setApplyStatus(SubcontractingApplyStatus.PASS.getCode());
|
||||
subListVO.add(fbsProjectSubcontractingListVO);
|
||||
}
|
||||
if (CollectionUtil.isEmpty(subListVO)) {
|
||||
@ -617,14 +621,14 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
||||
.eq(ZbfProjectSection::getProjectId, zbfProjectListVO.getId()));
|
||||
for (ZbfProjectSection zbfProjectSection : sectionList) {
|
||||
//分包处理
|
||||
List<ZbfProjectSubcontractingListVO> subListVO = new ArrayList<>();
|
||||
//查询标段下的所有的分包
|
||||
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
|
||||
.eq(ZbfProjectSubcontracting::getSectionId, zbfProjectSection.getId()));
|
||||
List<ZbfProjectSubcontractingListVO> zbfProjectSubcontractingListVOS = BeanUtil.copyToList(subList, ZbfProjectSubcontractingListVO.class);
|
||||
|
||||
ZbfProjectSectionListVO zbfProjectSectionListVO = new ZbfProjectSectionListVO();
|
||||
BeanUtil.copyProperties(zbfProjectSection, zbfProjectSectionListVO);
|
||||
zbfProjectSectionListVO.setSubList(subListVO);
|
||||
zbfProjectSectionListVO.setSubList(zbfProjectSubcontractingListVOS);
|
||||
sectionListVO.add(zbfProjectSectionListVO);
|
||||
}
|
||||
zbfProjectListVO.setSectionList(sectionListVO);
|
||||
|
@ -251,4 +251,14 @@ public class ZbfProjectSubcontractingApplyServiceImpl extends ServicePlusImpl<Zb
|
||||
Page<ZbfProjectSubcontractingApplyListVO> fbsList = baseMapper.getFbsList(queryDTOPage, dto);
|
||||
return PageUtils.buildDataInfo(fbsList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ZbfProjectSubcontractingApply queryBySubIdAndFbsUserId(Long subId, Long fbsUserId) {
|
||||
LambdaQueryWrapper<ZbfProjectSubcontractingApply> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ZbfProjectSubcontractingApply::getSubId, subId);
|
||||
wrapper.eq(ZbfProjectSubcontractingApply::getFbsUserId, fbsUserId);
|
||||
wrapper.orderByDesc(ZbfProjectSubcontractingApply::getId);
|
||||
List<ZbfProjectSubcontractingApply> list = baseMapper.selectList(wrapper);
|
||||
return CollectionUtil.getFirst(list);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user