Browse Source

新增需求

master
gjh 3 weeks ago
parent
commit
ec4a1a2ee8
  1. 34
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouContractinfoController.java
  2. 5
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouContractinfo.java
  3. 6
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouContractinfoService.java
  4. 78
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java
  5. 16
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

34
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouContractinfoController.java

@ -10,15 +10,12 @@ import com.easy.admin.modules.huzhou.service.IHuzhouContractinfoService;
import com.easy.admin.modules.huzhou.service.IHuzhouPlaninfoService;
import com.easy.admin.modules.huzhou.service.IHuzhouProjectinfoService;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.config.annotation.web.servlet.configuration.EnableWebMvcSecurity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@RestController
@ -47,15 +44,27 @@ public class HuzhouContractinfoController {
Page<HuzhouProjectinfoOV> pageList = contractinfoService.getContractinfoPageList(projectinfo, pageNo, pageSize);
return Result.ok(pageList);
}
// 合同信息(计划)
@PostMapping(value = "/addContractinfo")
public Result<?> addContractinfo(@RequestParam(value = "file",required = false) MultipartFile[] file, String contractinfoList) throws IOException {
ObjectMapper mapper = new ObjectMapper();
List<HuzhouContractinfo> contractList = mapper.readValue(contractinfoList, new TypeReference<List<HuzhouContractinfo>>(){});
contractinfoService.addContractinfo(file,contractList);
return Result.ok("上传成功");
return Result.ok("上传合同信息(计划)成功");
}
@PostMapping(value = "/addRealContractinfo")
public Result<?> addRealContractinfo(@RequestParam(value = "file",required = false) MultipartFile[] file, String contractinfoList) throws IOException {
ObjectMapper mapper = new ObjectMapper();
List<HuzhouContractinfo> contractList = mapper.readValue(contractinfoList, new TypeReference<List<HuzhouContractinfo>>(){});
contractinfoService.addRealContractinfo(file,contractList);
return Result.ok("上传合同信息(实际)成功");
}
@PostMapping(value = "/approvalContractinfo")
public Result<?> approvalContractinfo(@RequestParam(value = "file",required = false) MultipartFile[] file,
@RequestParam String taskId,
@ -79,12 +88,27 @@ public class HuzhouContractinfoController {
Boolean exitTaskNameInPlanInfo = planinfoService.isExitTaskNameInPlanInfo(projectid, taskName);
return Result.ok(exitTaskNameInPlanInfo);
}
// 合同信息(计划)
@GetMapping("/getContractinfoByProjectId")
public Result<?> getContractinfoByProjectId(String projectid){
List<HuzhouContractinfo> contractinfoByprojectId = contractinfoService.getContractinfoByprojectId(projectid);
return Result.ok(contractinfoByprojectId);
}
@GetMapping("/getRealContractinfoByProjectId")
public Result<?> getRealContractinfoByProjectId(String projectid){
List<HuzhouContractinfo> contractinfoByprojectId = contractinfoService.getRealContractinfoByprojectId(projectid);
return Result.ok(contractinfoByprojectId);
}
// 该阶段是否存在合同计划
@GetMapping("/hasContractinfoByTaskName")
public Result<?> hasContractinfo(String projectid,String taskName){
Boolean flag = contractinfoService.hasContractinfoByTaskName(projectid,taskName);
return Result.ok(flag);
}
@PostMapping("/modifyContractinfo")
public Result<?> modifyContractinfo(@RequestParam(value = "file",required = false) MultipartFile[] file, String contractinfoList) throws IOException {
ObjectMapper mapper = new ObjectMapper();

5
huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouContractinfo.java

@ -61,6 +61,9 @@ public class HuzhouContractinfo extends BaseEntity implements Serializable {
private Double centralMoney;
private String status;
private String groupId;
/**
* 计划实际标识符
*/
private String flag;
}

6
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouContractinfoService.java

@ -21,7 +21,7 @@ public interface IHuzhouContractinfoService extends IService<HuzhouContractinfo>
Integer pageSize);
void addContractinfo(MultipartFile[] file, List<HuzhouContractinfo> contractinfoList) throws IOException;
void addRealContractinfo(MultipartFile[] file, List<HuzhouContractinfo> contractinfoList) throws IOException;
Boolean modifyContractinfo(MultipartFile[] file, List<HuzhouContractinfo> contractinfoList) throws IOException;
@ -30,7 +30,11 @@ public interface IHuzhouContractinfoService extends IService<HuzhouContractinfo>
List<HuzhouContractinfo> getContractinfoByprojectId(String projectid);
List<HuzhouContractinfo> getRealContractinfoByprojectId(String projectid);
void approvalContractinfo(MultipartFile[] file, List<HuzhouContractinfo> contractList, String taskId, String flag, String projectid, String comment,boolean isEdit) throws IOException;
List<HuzhouContractinfo> ListByProjectIds(List<String> projectIds);
Boolean hasContractinfoByTaskName(String projectid, String taskName);
}

78
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java

@ -16,6 +16,7 @@ import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
import com.easy.admin.sys.model.SysDict;
import com.easy.admin.sys.service.SysDictService;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ProcessInstance;
@ -33,7 +34,7 @@ import java.util.stream.Collectors;
@Service
@Transactional
@Slf4j
public class HuzhouContractinfoServiceImpl extends ServiceImpl<HuzhouContractinfoMapper, HuzhouContractinfo> implements IHuzhouContractinfoService {
@Value(value = "${jeecg.path.upload}")
private String uploadpath;
@ -137,6 +138,54 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl<HuzhouContractinf
}
@Override
public void addRealContractinfo(MultipartFile[] file, List<HuzhouContractinfo> contractinfoList) throws IOException {
String projectid = contractinfoList.get(0).getProjectId();
//uploadfileinfoService.saveFileAndFileInfo(file, projectid, "4");
WorkFlow workFlow = workflowService.createFlow("createContract",projectid);
String projectId = contractinfoList.get(0).getProjectId();
HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId);
String superLeader = "";
//如果项目信息为空说明是子项目
if(huzhouProjectinfo==null){
HuzhouSubProjectinfo byId = subProjectinfoService.getById(projectId);
superLeader = byId.getSuperLeader();
}else {
superLeader=huzhouProjectinfo.getSuperLeader();
}
//获取上级指导室中文名称
SysDict dict = sysDictService.getDictByCode("superLeader", superLeader);
String dictName = dict.getName();
//上级指导室中文名称查询角色有哪些人
List<HashMap<String, String>> userDictByRoles = userService.getUserDictByRoles(dictName);
ArrayList<String> userIdlist = 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");
userIdlist.add(userid);
}
Task task = workFlow.getTask();
String taskId = task.getId();
String processInstanceId = workFlow.getProcessInstanceId();
Map<String, Object> variables = new HashMap<>();
variables.put("taskLeadingDepartment",userIdlist);
taskService.setVariableLocal(taskId,"approvalStatue","1");//添加审批状态 通过
String comment = "同意";
taskService.addComment(taskId,processInstanceId,comment);//添加审批意见
taskService.complete(taskId, variables);
List<HuzhouContractinfo> collect = contractinfoList.stream().map(contract -> {
contract.setStatus("1");
contract.setFlag("实际");
return contract;
}).collect(Collectors.toList());
saveBatch(collect);
}
@Override
public Boolean modifyContractinfo(MultipartFile[] file, List<HuzhouContractinfo> contractinfoList) throws IOException {
@ -218,6 +267,15 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl<HuzhouContractinf
return list;
}
@Override
public List<HuzhouContractinfo> getRealContractinfoByprojectId(String projectid) {
LambdaQueryWrapper<HuzhouContractinfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouContractinfo::getProjectId, projectid);
queryWrapper.eq(HuzhouContractinfo::getFlag,"实际");
List<HuzhouContractinfo> list = list(queryWrapper);
return list;
}
@Override
public void approvalContractinfo(MultipartFile[] file, List<HuzhouContractinfo> contractList, String taskId, String flag,String projectId, String comment,boolean isEdit) throws IOException {
if(isEdit&&"1".equals(flag)){
@ -267,5 +325,23 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl<HuzhouContractinf
return result;
}
@Override
public Boolean hasContractinfoByTaskName(String projectid, String taskName) {
LambdaQueryWrapper<HuzhouContractinfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouContractinfo::getProjectId, projectid);
queryWrapper.eq(HuzhouContractinfo::getTaskName, taskName);
//queryWrapper.ne(HuzhouContractinfo::getFlag, "实际");
List<HuzhouContractinfo> tmp = list(queryWrapper);
List<HuzhouContractinfo> rs = tmp.stream()
.filter(item -> item.getFlag() != null && item.getFlag().contains("实际"))
.collect(Collectors.toList());
if (rs.size() > 0) {
log.info("该项目阶段填已经填写实际支付金额");
return false;
}
log.info("请根据合同信息(计划)信息填写实际支付金额!");
return true;
}
}

16
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

@ -120,7 +120,9 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
userprojectService.removeByProjectId(info.getId(), "0");
this.updateById(info);
} else {
this.save(info);//保存项目信息
//保存项目信息
this.save(info);
//保存项目负责人信息
ProjectManager projectManager = new ProjectManager();
projectManager.setManager(info.getManager());
projectManager.setPhone(info.getManagerPhone());
@ -572,16 +574,18 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
// huzhouPlaninfo1.setActualStartTime(new Date());
// huzhouPlaninfo1.setActualEndTime(new Date());
// planinfoService.updateById(huzhouPlaninfo1);
HuzhouProjectinfo projectinfo = getById(id);
HuzhouProjectinfo projectInfo = getById(id);
if (projectInfo != null){
ProjectManager projectManagerInfo = projectManagerService.getProjectManagerInfo(id);
projectinfo.setManager(projectManagerInfo.getManager());
projectinfo.setManagerPhone(projectManagerInfo.getPhone());
projectInfo.setManager(projectManagerInfo.getManager());
projectInfo.setManagerPhone(projectManagerInfo.getPhone());
}
//projectinfo为空说明是子项目
if (null == projectinfo) {
if (null == projectInfo) {
HuzhouSubProjectinfo huzhouSubProjectinfo = subProjectinfoMapper.selectById(id);
return huzhouSubProjectinfo;
}
return projectinfo;
return projectInfo;
}

Loading…
Cancel
Save