|
|
@@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.jeeplus.assess.program.configuration.projectList.domain.ProgramProjectListInfo;
|
|
|
+import com.jeeplus.assess.workContract.domain.WorkContractCancel;
|
|
|
import com.jeeplus.assess.workContract.domain.WorkContractInfo;
|
|
|
+import com.jeeplus.assess.workContract.mapper.WorkContractCancelMapper;
|
|
|
import com.jeeplus.assess.workContract.mapper.WorkContractInfoMapper;
|
|
|
import com.jeeplus.assess.workContract.service.dto.WorkContractInfoDto;
|
|
|
import com.jeeplus.common.TokenProvider;
|
|
|
@@ -30,6 +32,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
@@ -47,6 +50,9 @@ public class WorkContractService {
|
|
|
@Resource
|
|
|
private IFlowableApi flowTaskService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private WorkContractCancelMapper workContractCancelMapper;
|
|
|
+
|
|
|
public String saveInfo(WorkContractInfoDto workContractInfoDto) throws Exception {
|
|
|
if (StringUtils.isNotEmpty(workContractInfoDto.getId())) {
|
|
|
WorkContractInfo info = workContractInfoMapper.selectById(workContractInfoDto.getId());
|
|
|
@@ -105,6 +111,19 @@ public class WorkContractService {
|
|
|
i.setAuditUserIdsFiled(flowTaskService.getTaskAuditUsers(i.getTaskFiledId())); // 获取数据审核人
|
|
|
}
|
|
|
}
|
|
|
+ // 作废
|
|
|
+ if (StringUtils.isNotBlank(i.getTaskIdCancel()) && StringUtils.isNotBlank(i.getCancelStatus())) {
|
|
|
+ if ("2".equals(i.getCancelStatus())) { // “审核中”的数据要获取数据审核人
|
|
|
+ i.setAuditUserIdsCancel(flowTaskService.getTaskAuditUsers(i.getTaskIdCancel())); // 获取数据审核人
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询合同关联报告号
|
|
|
+ List<String> reportNoList = workContractInfoMapper.getReportNoByContractId(i.getId());
|
|
|
+ if (reportNoList != null && !reportNoList.isEmpty()) {
|
|
|
+ i.setReportNo(reportNoList);
|
|
|
+ }
|
|
|
+
|
|
|
});
|
|
|
return pageList;
|
|
|
}
|
|
|
@@ -199,6 +218,21 @@ public class WorkContractService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 根据id修改状态cancelStatus
|
|
|
+ */
|
|
|
+ public String updatecancelStatusById(WorkContractCancel workContractCancel) {
|
|
|
+ WorkContractInfo info = workContractInfoMapper.findById(workContractCancel.getContractInfoId());
|
|
|
+ if(StringUtils.isNotBlank(info.getCancelId())){
|
|
|
+ workContractCancelMapper.updateById(workContractCancel);
|
|
|
+ }else{
|
|
|
+ workContractCancelMapper.insert(workContractCancel);
|
|
|
+ info.setCancelId(workContractCancel.getId());
|
|
|
+ }
|
|
|
+ return info.getCancelId();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
* 保存附件信息
|
|
|
* @param list 待保存的附件列表
|
|
|
* @param userDTO 当前登录用户
|
|
|
@@ -512,4 +546,64 @@ public class WorkContractService {
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据项目id查询关联的合同
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public WorkContractInfoDto getContractByProgramId(String programId){
|
|
|
+ WorkContractInfoDto contract = workContractInfoMapper.getContractByProgramId(programId);
|
|
|
+ return contract;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询超过三个月未归档的合同
|
|
|
+ */
|
|
|
+ public void getThreeMonthsUnarchivedContracts(){
|
|
|
+ List<WorkContractInfoDto> threeMonthsUnarchivedContracts = workContractInfoMapper.getThreeMonthsUnarchivedContracts();
|
|
|
+ if (CollectionUtil.isEmpty(threeMonthsUnarchivedContracts)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ IUserApi userApi = SpringUtil.getBean(IUserApi.class);
|
|
|
+ for (WorkContractInfoDto contract : threeMonthsUnarchivedContracts) {
|
|
|
+ try {
|
|
|
+ if(!contract.getFiledType().equals("5") && ( contract.getCancelStatus() == null || !contract.getCancelStatus().equals("5"))){
|
|
|
+ // 通知内容
|
|
|
+ String message = "合同:【" + contract.getName() + "】已超过3个月未归档,请及时归档";
|
|
|
+ UserDTO user = userApi.getById(contract.getCreateBy().getId());
|
|
|
+ if (user == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ // 发送通知
|
|
|
+ sendNotify(user, contract.getProcessDefinitionId(), contract.getProcInsId(), message);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询超过三个月未归档的合同发送提醒
|
|
|
+ * @param userDto
|
|
|
+ * @param defId
|
|
|
+ * @param procInsId
|
|
|
+ * @param title
|
|
|
+ */
|
|
|
+ public void sendNotify(UserDTO userDto,String defId,String procInsId,String title ){
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String day = format.format(new Date());
|
|
|
+ Map<String ,String > map = new HashMap<>();
|
|
|
+ map.put("taskId",procInsId);
|
|
|
+ map.put("title",title);
|
|
|
+ map.put("defId",defId);
|
|
|
+ map.put("taskName","合同超期未归档提醒");
|
|
|
+ map.put("createUser","管理员");
|
|
|
+ map.put("createTime",day);
|
|
|
+ map.put("noticeName",userDto.getName());
|
|
|
+ map.put("noticeId",userDto.getId());
|
|
|
+ map.put("createById",userDto.getId());
|
|
|
+ SpringUtil.getBean ( IFlowableApi.class ).add(map);
|
|
|
+ }
|
|
|
+
|
|
|
}
|