21 changed files with 590 additions and 9 deletions
@ -0,0 +1,74 @@ |
|||
package com.easy.admin.modules.huzhou.controller; |
|||
|
|||
|
|||
import com.easy.admin.common.core.annotation.ResponseResult; |
|||
import com.easy.admin.modules.huzhou.entity.HuzhouMergesplitinfo; |
|||
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo; |
|||
import com.easy.admin.modules.huzhou.service.HuzhouMergesplitinfoService; |
|||
import com.easy.admin.modules.huzhou.vo.HuzhouMergesplitinfoVo; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.data.domain.Page; |
|||
import org.springframework.data.domain.PageRequest; |
|||
import org.springframework.http.ResponseEntity; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* (HuzhouMergesplitinfo)表控制层 |
|||
* |
|||
* @author makejava |
|||
* @since 2024-07-18 15:17:34 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/huzhouMergesplitinfo") |
|||
@ResponseResult |
|||
public class HuzhouMergesplitinfoController { |
|||
/** |
|||
* 服务对象 |
|||
*/ |
|||
@Autowired |
|||
private HuzhouMergesplitinfoService huzhouMergesplitinfoService; |
|||
|
|||
@PostMapping("/submitMergeProject") |
|||
public void submitMergeProject(@RequestBody HuzhouMergesplitinfoVo mergesplitinfoVo){ |
|||
huzhouMergesplitinfoService.submitMergeProject(mergesplitinfoVo); |
|||
} |
|||
@PostMapping("/submitSplitProject") |
|||
public void submitSplitProject(@RequestBody List<HuzhouMergesplitinfoVo> mergesplitinfoVoList){ |
|||
huzhouMergesplitinfoService.submitSplitProject(mergesplitinfoVoList); |
|||
} |
|||
@GetMapping("/getMergeDetailList") |
|||
public List<HuzhouMergesplitinfo> getMergeDetailList(@RequestParam("projectid") String projectid){ |
|||
List<HuzhouMergesplitinfo> result = huzhouMergesplitinfoService.getMergeDetailList(projectid); |
|||
return result; |
|||
} |
|||
@GetMapping("/getSplitDetailList") |
|||
public List<HuzhouMergesplitinfo> getSplitDetailList(@RequestParam("projectid") String projectid){ |
|||
List<HuzhouMergesplitinfo> result = huzhouMergesplitinfoService.getSplitDetailList(projectid); |
|||
return result; |
|||
} |
|||
@PostMapping("/approvalMergeProject") |
|||
public void approvalMergeProject(@RequestParam(value = "file",required = false) MultipartFile[] file, |
|||
String taskId, |
|||
String flag, |
|||
String fieldChangeGroupid, |
|||
String comment, |
|||
String isEdit, |
|||
HuzhouProjectinfo newProjectinfo) throws Exception { |
|||
// huzhouMergesplitinfoService.approvalMergeProject(file,taskId,flag,fieldChangeGroupid,comment,isEdit,newProjectinfo);
|
|||
} |
|||
@PostMapping("/approvalSplitProject") |
|||
public void approvalSplitProject(@RequestParam(value = "file",required = false) MultipartFile[] file, |
|||
String taskId, |
|||
String flag, |
|||
String fieldChangeGroupid, |
|||
String comment, |
|||
String isEdit, |
|||
HuzhouProjectinfo newProjectinfo) throws Exception { |
|||
// huzhouMergesplitinfoService.approvalSplitProject(file,taskId,flag,fieldChangeGroupid,comment,isEdit,newProjectinfo);
|
|||
} |
|||
} |
|||
|
@ -0,0 +1,11 @@ |
|||
package com.easy.admin.modules.huzhou.dao; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.easy.admin.modules.huzhou.entity.HuzhouMergesplitinfo; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
public interface HuzhouMergesplitinfoMapper extends BaseMapper<HuzhouMergesplitinfo> { |
|||
|
|||
} |
@ -0,0 +1,179 @@ |
|||
package com.easy.admin.modules.huzhou.entity; |
|||
|
|||
import com.easy.admin.modules.huzhou.entity.BaseEntity; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* (HuzhouMergesplitinfo)实体类 |
|||
* |
|||
* @author makejava |
|||
* @since 2024-07-18 15:18:04 |
|||
*/ |
|||
@Data |
|||
public class HuzhouMergesplitinfo extends BaseEntity implements Serializable { |
|||
private static final long serialVersionUID = 509578568779634240L; |
|||
/** |
|||
* id |
|||
*/ |
|||
private String id; |
|||
/** |
|||
* 项目名称 |
|||
*/ |
|||
private String projectName; |
|||
/** |
|||
* 行政区划 |
|||
*/ |
|||
private String adminDivision; |
|||
/** |
|||
* 主要任务及标志性成果 |
|||
*/ |
|||
private String description; |
|||
/** |
|||
* 项目类型 |
|||
*/ |
|||
private String projectType; |
|||
/** |
|||
* 责任单位 |
|||
*/ |
|||
private String dutyWorkplace; |
|||
/** |
|||
* 建设年限 |
|||
*/ |
|||
private String constructionPeriod; |
|||
/** |
|||
* 中央资金 |
|||
*/ |
|||
private Double centralMoney; |
|||
/** |
|||
* 省级资金 |
|||
*/ |
|||
private Double provincialMoney; |
|||
/** |
|||
* 市级资金 |
|||
*/ |
|||
private Double cityMoney; |
|||
/** |
|||
* 区县级资金 |
|||
*/ |
|||
private Double countyMoney; |
|||
/** |
|||
* 所属改革任务 |
|||
*/ |
|||
private String reformName; |
|||
/** |
|||
* 上级指导处室 |
|||
*/ |
|||
private String superLeader; |
|||
/** |
|||
* 项目联系人 |
|||
*/ |
|||
private String projectContacts; |
|||
/** |
|||
* 联系电话 |
|||
*/ |
|||
private String phone; |
|||
/** |
|||
* 管理单位 |
|||
*/ |
|||
private String manageOrg; |
|||
/** |
|||
* 管理单位负责人 |
|||
*/ |
|||
private String manageContactor; |
|||
/** |
|||
* 监理单位 |
|||
*/ |
|||
private String controler; |
|||
/** |
|||
* 监理单位负责人 |
|||
*/ |
|||
private String controlerContactor; |
|||
/** |
|||
* 监管单位 |
|||
*/ |
|||
private String supervisor; |
|||
/** |
|||
* 监管单位负责人 |
|||
*/ |
|||
private String supervisorContactor; |
|||
/** |
|||
* 建设单位 |
|||
*/ |
|||
private String owner; |
|||
/** |
|||
* 建设单位负责人 |
|||
*/ |
|||
private String ownerContactor; |
|||
/** |
|||
* 咨询单位 |
|||
*/ |
|||
private String consult; |
|||
/** |
|||
* 咨询单位负责人 |
|||
*/ |
|||
private String consultContactor; |
|||
/** |
|||
* 承建单位 |
|||
*/ |
|||
private String contructor; |
|||
/** |
|||
* 承建单位负责人 |
|||
*/ |
|||
private String contructorContactor; |
|||
/** |
|||
* 项目阶段 |
|||
|
|||
*/ |
|||
private String stage; |
|||
|
|||
/** |
|||
* 单位属性 |
|||
*/ |
|||
private String workplaceProperties; |
|||
/** |
|||
* 总投资 |
|||
*/ |
|||
private Double totalMoney; |
|||
/** |
|||
* 自筹资金 |
|||
*/ |
|||
private Double selfMoney; |
|||
/** |
|||
* 2023年支付 |
|||
*/ |
|||
private Double payamount2023Money; |
|||
/** |
|||
* 2024年支付 |
|||
*/ |
|||
private Double payamount2024Money; |
|||
/** |
|||
* 2025年支付 |
|||
*/ |
|||
private BigDecimal payamount2025Money; |
|||
/** |
|||
* 是否在发起修改 0 否,1 是 |
|||
*/ |
|||
private String ismodify; |
|||
/** |
|||
* 是周报还是月报 |
|||
*/ |
|||
private String reportType; |
|||
/** |
|||
* 0:异常项目;1:入库项目;2:配套项目 |
|||
|
|||
*/ |
|||
private String type; |
|||
/** |
|||
* 项目id |
|||
*/ |
|||
private String projectId; |
|||
/** |
|||
* 是拆分还是合并 |
|||
*/ |
|||
private String mergeOrSplit; |
|||
} |
|||
|
@ -0,0 +1,26 @@ |
|||
|
|||
package com.easy.admin.modules.huzhou.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.easy.admin.modules.huzhou.entity.HuzhouMergesplitinfo; |
|||
import com.easy.admin.modules.huzhou.vo.HuzhouMergesplitinfoVo; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* (HuzhouMergesplitinfo)表服务接口 |
|||
* |
|||
* @author makejava |
|||
* @since 2024-07-18 15:20:04 |
|||
*/ |
|||
public interface HuzhouMergesplitinfoService extends IService<HuzhouMergesplitinfo> { |
|||
|
|||
|
|||
void submitMergeProject(HuzhouMergesplitinfoVo mergesplitinfoVo); |
|||
|
|||
List<HuzhouMergesplitinfo> getMergeDetailList(String projectid); |
|||
|
|||
List<HuzhouMergesplitinfo> getSplitDetailList(String projectid); |
|||
|
|||
void submitSplitProject(List<HuzhouMergesplitinfoVo> mergesplitinfoVoList); |
|||
} |
@ -0,0 +1,190 @@ |
|||
package com.easy.admin.modules.huzhou.service.impl; |
|||
|
|||
|
|||
import cn.hutool.core.util.IdUtil; |
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.easy.admin.auth.service.SysUserService; |
|||
import com.easy.admin.common.core.exception.EasyException; |
|||
import com.easy.admin.modules.huzhou.dao.HuzhouMergesplitinfoMapper; |
|||
import com.easy.admin.modules.huzhou.entity.HuzhouMergesplitinfo; |
|||
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo; |
|||
import com.easy.admin.modules.huzhou.entity.WorkFlow; |
|||
import com.easy.admin.modules.huzhou.service.HuzhouMergesplitinfoService; |
|||
import com.easy.admin.modules.huzhou.service.IHuzhouProjectinfoService; |
|||
import com.easy.admin.modules.huzhou.service.IHuzhouUserprojectService; |
|||
import com.easy.admin.modules.huzhou.service.IWorkflowService; |
|||
import com.easy.admin.modules.huzhou.vo.HuzhouMergesplitinfoVo; |
|||
import com.easy.admin.sys.model.SysDict; |
|||
import com.easy.admin.sys.service.SysDictService; |
|||
import org.activiti.engine.RuntimeService; |
|||
import org.activiti.engine.TaskService; |
|||
import org.activiti.engine.task.Task; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.data.domain.Page; |
|||
import org.springframework.data.domain.PageImpl; |
|||
import org.springframework.data.domain.PageRequest; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.util.ArrayList; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* (HuzhouMergesplitinfo)表服务实现类 |
|||
* |
|||
* @author makejava |
|||
* @since 2024-07-18 15:20:04 |
|||
*/ |
|||
@Service |
|||
@Transactional |
|||
public class HuzhouMergesplitinfoServiceImpl extends ServiceImpl<HuzhouMergesplitinfoMapper, HuzhouMergesplitinfo> implements HuzhouMergesplitinfoService { |
|||
@Autowired |
|||
IHuzhouProjectinfoService projectinfoService; |
|||
@Autowired |
|||
IHuzhouUserprojectService userprojectService; |
|||
@Autowired |
|||
HuzhouMergesplitinfoMapper mergesplitinfoMapper; |
|||
@Autowired |
|||
private IWorkflowService workflowService; |
|||
@Autowired |
|||
private RuntimeService runtimeService; |
|||
@Autowired |
|||
private SysUserService userService; |
|||
@Autowired |
|||
private SysDictService sysDictService; |
|||
@Autowired |
|||
private TaskService taskService; |
|||
@Override |
|||
public void submitMergeProject(HuzhouMergesplitinfoVo mergesplitinfoVo) { |
|||
HuzhouProjectinfo huzhouProjectinfo = new HuzhouProjectinfo(); |
|||
BeanUtils.copyProperties(mergesplitinfoVo, huzhouProjectinfo); |
|||
userprojectService.saveFromProject(huzhouProjectinfo,"0"); |
|||
huzhouProjectinfo.setCityMoney(0.0); |
|||
huzhouProjectinfo.setCountyMoney(0.0); |
|||
huzhouProjectinfo.setProvincialMoney(0.0); |
|||
huzhouProjectinfo.setSelfMoney(0.0); |
|||
huzhouProjectinfo.setCentralMoney(0.0); |
|||
huzhouProjectinfo.setTotalMoney(0.0); |
|||
huzhouProjectinfo.setPayamount2023Money(0.0); |
|||
huzhouProjectinfo.setPayamount2024Money(0.0); |
|||
huzhouProjectinfo.setPayamount2025Money(0.0); |
|||
huzhouProjectinfo.setStage("-1");//0
|
|||
projectinfoService.save(huzhouProjectinfo); |
|||
for (String oldprojectid :mergesplitinfoVo.getProjectids() |
|||
) { |
|||
HuzhouProjectinfo projectinfo = projectinfoService.getById(oldprojectid); |
|||
HuzhouMergesplitinfo huzhouMergesplitinfo = new HuzhouMergesplitinfo(); |
|||
BeanUtils.copyProperties(projectinfo, huzhouMergesplitinfo); |
|||
huzhouMergesplitinfo.setMergeOrSplit("merge"); |
|||
huzhouMergesplitinfo.setProjectId(huzhouProjectinfo.getId()); |
|||
projectinfo.setStage("0.1"); |
|||
projectinfoService.updateById(projectinfo); |
|||
mergesplitinfoMapper.insert(huzhouMergesplitinfo); |
|||
} |
|||
//发起流程
|
|||
String superLeader = mergesplitinfoVo.getSuperLeader(); |
|||
WorkFlow workFlow = workflowService.createFlow("fieldChange",huzhouProjectinfo.getId()); |
|||
Task task = workFlow.getTask(); |
|||
String taskId = task.getId(); |
|||
String processInstanceId = workFlow.getProcessInstanceId(); |
|||
//获取上级指导室中文名称
|
|||
SysDict dict = sysDictService.getDictByCode("superLeader", superLeader); |
|||
String dictName = dict.getName(); |
|||
//上级指导室中文名称查询角色有哪些人
|
|||
List<HashMap<String, String>> userDictByRoles = userService.getUserDictByRoles(dictName); |
|||
ArrayList<String> strings = new ArrayList<>(); |
|||
if(userDictByRoles==null||userDictByRoles.size()==0){ |
|||
String error = "任务牵头处室"+dictName+"负责人未找到"; |
|||
throw new EasyException(error); |
|||
} |
|||
for (HashMap<String, String> map:userDictByRoles |
|||
) { |
|||
String userid = map.get("value"); |
|||
strings.add(userid); |
|||
} |
|||
Map<String, Object> variables = new HashMap<>(); |
|||
variables.put("taskLeadingDepartment",strings); |
|||
runtimeService.setVariable(processInstanceId, "taskLeadingDepartment", strings);//设置第三个人变量信息
|
|||
taskService.complete(taskId, variables); |
|||
} |
|||
|
|||
@Override |
|||
public List<HuzhouMergesplitinfo> getMergeDetailList(String projectid) { |
|||
LambdaQueryWrapper<HuzhouMergesplitinfo> queryWrapper = new LambdaQueryWrapper<>(); |
|||
queryWrapper.eq(HuzhouMergesplitinfo::getProjectId, projectid); |
|||
queryWrapper.eq(HuzhouMergesplitinfo::getMergeOrSplit, "merge"); |
|||
return mergesplitinfoMapper.selectList(queryWrapper); |
|||
} |
|||
|
|||
@Override |
|||
public List<HuzhouMergesplitinfo> getSplitDetailList(String projectid) { |
|||
LambdaQueryWrapper<HuzhouMergesplitinfo> queryWrapper = new LambdaQueryWrapper<>(); |
|||
queryWrapper.eq(HuzhouMergesplitinfo::getProjectId, projectid); |
|||
queryWrapper.eq(HuzhouMergesplitinfo::getMergeOrSplit, "split"); |
|||
return mergesplitinfoMapper.selectList(queryWrapper); |
|||
} |
|||
|
|||
@Override |
|||
public void submitSplitProject(List<HuzhouMergesplitinfoVo> mergesplitinfoVoList) { |
|||
String oldId = mergesplitinfoVoList.get(0).getProjectids().get(0); |
|||
for (HuzhouMergesplitinfoVo mergesplitinfoVo : mergesplitinfoVoList) { |
|||
HuzhouProjectinfo huzhouProjectinfo = new HuzhouProjectinfo(); |
|||
BeanUtils.copyProperties(mergesplitinfoVo, huzhouProjectinfo); |
|||
userprojectService.saveFromProject(huzhouProjectinfo, "0"); |
|||
huzhouProjectinfo.setCityMoney(0.0); |
|||
huzhouProjectinfo.setCountyMoney(0.0); |
|||
huzhouProjectinfo.setProvincialMoney(0.0); |
|||
huzhouProjectinfo.setSelfMoney(0.0); |
|||
huzhouProjectinfo.setCentralMoney(0.0); |
|||
huzhouProjectinfo.setTotalMoney(0.0); |
|||
huzhouProjectinfo.setPayamount2023Money(0.0); |
|||
huzhouProjectinfo.setPayamount2024Money(0.0); |
|||
huzhouProjectinfo.setPayamount2025Money(0.0); |
|||
huzhouProjectinfo.setStage("-1");//0
|
|||
projectinfoService.save(huzhouProjectinfo); |
|||
for (String oldprojectid :mergesplitinfoVo.getProjectids() |
|||
) { |
|||
HuzhouProjectinfo projectinfo = projectinfoService.getById(oldprojectid); |
|||
HuzhouMergesplitinfo huzhouMergesplitinfo = new HuzhouMergesplitinfo(); |
|||
BeanUtils.copyProperties(projectinfo, huzhouMergesplitinfo); |
|||
huzhouMergesplitinfo.setMergeOrSplit("split"); |
|||
huzhouMergesplitinfo.setProjectId(huzhouProjectinfo.getId()); |
|||
projectinfo.setStage("0.1"); |
|||
projectinfoService.updateById(projectinfo); |
|||
mergesplitinfoMapper.insert(huzhouMergesplitinfo); |
|||
} |
|||
|
|||
} |
|||
HuzhouProjectinfo oldProjectinfo = projectinfoService.getById(oldId); |
|||
//发起流程
|
|||
String superLeader = oldProjectinfo.getSuperLeader(); |
|||
WorkFlow workFlow = workflowService.createFlow("fieldChange",oldId); |
|||
Task task = workFlow.getTask(); |
|||
String taskId = task.getId(); |
|||
String processInstanceId = workFlow.getProcessInstanceId(); |
|||
//获取上级指导室中文名称
|
|||
SysDict dict = sysDictService.getDictByCode("superLeader", superLeader); |
|||
String dictName = dict.getName(); |
|||
//上级指导室中文名称查询角色有哪些人
|
|||
List<HashMap<String, String>> userDictByRoles = userService.getUserDictByRoles(dictName); |
|||
ArrayList<String> strings = new ArrayList<>(); |
|||
if(userDictByRoles==null||userDictByRoles.size()==0){ |
|||
String error = "任务牵头处室"+dictName+"负责人未找到"; |
|||
throw new EasyException(error); |
|||
} |
|||
for (HashMap<String, String> map:userDictByRoles |
|||
) { |
|||
String userid = map.get("value"); |
|||
strings.add(userid); |
|||
} |
|||
Map<String, Object> variables = new HashMap<>(); |
|||
variables.put("taskLeadingDepartment",strings); |
|||
runtimeService.setVariable(processInstanceId, "taskLeadingDepartment", strings);//设置第三个人变量信息
|
|||
taskService.complete(taskId, variables); |
|||
} |
|||
} |
@ -0,0 +1,64 @@ |
|||
package com.easy.admin.modules.huzhou.vo; |
|||
|
|||
import com.easy.admin.modules.huzhou.entity.BaseEntity; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* (HuzhouMergesplitinfo)实体类 |
|||
* |
|||
* @author makejava |
|||
* @since 2024-07-18 15:18:04 |
|||
*/ |
|||
@Data |
|||
public class HuzhouMergesplitinfoVo extends BaseEntity implements Serializable { |
|||
private static final long serialVersionUID = 509578568779634240L; |
|||
/** |
|||
* id |
|||
*/ |
|||
private String id; |
|||
/** |
|||
* 项目名称 |
|||
*/ |
|||
private String projectName; |
|||
/** |
|||
* 行政区划 |
|||
*/ |
|||
private String adminDivision; |
|||
|
|||
|
|||
/** |
|||
* 责任单位 |
|||
*/ |
|||
private String dutyWorkplace; |
|||
|
|||
|
|||
/** |
|||
* 所属改革任务 |
|||
*/ |
|||
private String reformName; |
|||
/** |
|||
* 上级指导处室 |
|||
*/ |
|||
private String superLeader; |
|||
|
|||
|
|||
|
|||
/** |
|||
* 单位属性 |
|||
*/ |
|||
private String workplaceProperties; |
|||
|
|||
/** |
|||
* 项目id |
|||
*/ |
|||
private List<String> projectids; |
|||
|
|||
private String projectContacts; |
|||
private String phone; |
|||
|
|||
} |
|||
|
Loading…
Reference in new issue