|
@@ -78,7 +78,7 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
- @ModelAttribute
|
|
|
+// @ModelAttribute
|
|
|
public ProjectReportSignatureWork get(@RequestParam(required=false) String id) {
|
|
|
ProjectReportSignatureWork entity = null;
|
|
|
if (StringUtils.isNotBlank(id)){
|
|
@@ -164,15 +164,43 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
//根据签章id查询报告签章信息
|
|
|
ReportSignature reportSignature=projectReportSignatureService.getReportBySigId(projectReportSignature.getId());
|
|
|
if (null != reportSignature){
|
|
|
+ ReportSignature report = projectReportSignatureService.getReport(reportSignature.getId());
|
|
|
+ projectReportSignature.setWorkAttachments(report.getWorkAttachments());
|
|
|
projectReportSignature.setDutyPerson(reportSignature.getDutyPerson());
|
|
|
projectReportSignature.setSignatureName(reportSignature.getSignatureName());
|
|
|
}
|
|
|
- //根据签章id查询审定单签章信息
|
|
|
- ReportSignature approvalSignature=projectReportSignatureService.getApprovalBySigId(projectReportSignature.getId());
|
|
|
- if (null != approvalSignature){
|
|
|
- projectReportSignature.setDutyPerson(approvalSignature.getDutyPerson());
|
|
|
- projectReportSignature.setSignatureName(approvalSignature.getSignatureName());
|
|
|
+ model.addAttribute("projectReportSignature", projectReportSignature);
|
|
|
+ return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkForm";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看,增加,编辑项目表单页面
|
|
|
+ */
|
|
|
+ @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical= Logical.OR)
|
|
|
+ @RequestMapping(value = "reportForm")
|
|
|
+ public String reportForm(ProjectReportSignatureWork projectReportSignature, Model model) {
|
|
|
+ User user = UserUtils.getUser();
|
|
|
+ if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
|
|
|
+ projectReportSignature = projectReportSignatureService.get(projectReportSignature.getId());
|
|
|
+ projectReportSignature.setSignatureType("1");
|
|
|
+ ReportSignature approvalBySigId = projectReportSignatureService.getReportBySigId(projectReportSignature.getId());
|
|
|
+ if (null != approvalBySigId){
|
|
|
+ ReportSignature report = projectReportSignatureService.getReport(approvalBySigId.getId());
|
|
|
+ projectReportSignature.setSignatureName(approvalBySigId.getSignatureName());
|
|
|
+ projectReportSignature.setDutyPerson(approvalBySigId.getDutyPerson());
|
|
|
+ projectReportSignature.setWorkAttachments(report.getWorkAttachments());
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ projectReportSignature.setCreateBy(user);
|
|
|
+ projectReportSignature.setOffice(UserUtils.getSelectOffice());
|
|
|
+ projectReportSignature.setCreateDate(new Date());
|
|
|
+ }
|
|
|
+ //根据当前登录人获取签章负责人信息
|
|
|
+ List<User> userList = projectReportSignatureService.getDutyPersonList(user);
|
|
|
+ if (null != userList){
|
|
|
+ model.addAttribute("dutyPersonList",userList);
|
|
|
}
|
|
|
+
|
|
|
model.addAttribute("projectReportSignature", projectReportSignature);
|
|
|
return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkForm";
|
|
|
}
|
|
@@ -180,11 +208,43 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
/**
|
|
|
* 查看,增加,编辑项目表单页面
|
|
|
*/
|
|
|
+ @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical= Logical.OR)
|
|
|
+ @RequestMapping(value = "approvalForm")
|
|
|
+ public String approvalForm(ProjectReportSignatureWork projectReportSignature, Model model) {
|
|
|
+ User user = UserUtils.getUser();
|
|
|
+ if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
|
|
|
+ projectReportSignature = projectReportSignatureService.get(projectReportSignature.getId());
|
|
|
+ projectReportSignature.setSignatureType("2");
|
|
|
+ ReportSignature approvalBySigId = projectReportSignatureService.getApprovalBySigId(projectReportSignature.getId());
|
|
|
+ if (null != approvalBySigId){
|
|
|
+ ReportSignature approval = projectReportSignatureService.getApproval(approvalBySigId.getId());
|
|
|
+ projectReportSignature.setSignatureName(approvalBySigId.getSignatureName());
|
|
|
+ projectReportSignature.setDutyPerson(approvalBySigId.getDutyPerson());
|
|
|
+ projectReportSignature.setWorkAttachments(approval.getWorkAttachments());
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ projectReportSignature.setCreateBy(user);
|
|
|
+ projectReportSignature.setOffice(UserUtils.getSelectOffice());
|
|
|
+ projectReportSignature.setCreateDate(new Date());
|
|
|
+ }
|
|
|
+ //根据当前登录人获取签章负责人信息
|
|
|
+ List<User> userList = projectReportSignatureService.getDutyPersonList(user);
|
|
|
+ if (null != userList){
|
|
|
+ model.addAttribute("dutyPersonList",userList);
|
|
|
+ }
|
|
|
+
|
|
|
+ model.addAttribute("projectReportSignature", projectReportSignature);
|
|
|
+ return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkApprovalForm";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看,增加,编辑项目表单页面
|
|
|
+ */
|
|
|
@RequiresPermissions(value={"projectReport:projectReportSignature:edit"},logical= Logical.OR)
|
|
|
@RequestMapping(value = "modify")
|
|
|
- public String modify(ProjectReportSignatureWork projectReportSignature, Model model) {
|
|
|
+ public String modify(ReportSignature projectReportSignature, Model model) {
|
|
|
if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
|
|
|
- projectReportSignature = projectReportSignatureService.get(projectReportSignature.getId());
|
|
|
+ projectReportSignature = projectReportSignatureService.getReport(projectReportSignature.getId());
|
|
|
}else {
|
|
|
projectReportSignature.setCreateBy(UserUtils.getUser());
|
|
|
projectReportSignature.setCreateDate(new Date());
|
|
@@ -204,11 +264,49 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
projectReportSignature.setAct(act);
|
|
|
}
|
|
|
}
|
|
|
+ //签章责任列表
|
|
|
+ User user = UserUtils.get(projectReportSignature.getCreateBy().getId());
|
|
|
+ List<User> dutyPersonList = projectReportSignatureService.getDutyPersonList(user);
|
|
|
+ model.addAttribute("dutyPersonList",dutyPersonList);
|
|
|
|
|
|
model.addAttribute("projectReportSignature", projectReportSignature);
|
|
|
return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkModify";
|
|
|
}
|
|
|
|
|
|
+ @RequiresPermissions(value={"projectReport:projectReportSignature:edit"},logical= Logical.OR)
|
|
|
+ @RequestMapping(value = "modifyApproval")
|
|
|
+ public String modifyApproval(ReportSignature projectReportSignature, Model model) {
|
|
|
+ if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
|
|
|
+ projectReportSignature = projectReportSignatureService.getApproval(projectReportSignature.getId());
|
|
|
+ }else {
|
|
|
+ projectReportSignature.setCreateBy(UserUtils.getUser());
|
|
|
+ projectReportSignature.setCreateDate(new Date());
|
|
|
+ }
|
|
|
+
|
|
|
+ if(StringUtils.isNotBlank(projectReportSignature.getProcessInstanceId())){
|
|
|
+ ProcessInstance processInstance = actTaskService.getProcIns(projectReportSignature.getProcessInstanceId());
|
|
|
+ if (processInstance!=null) {
|
|
|
+ Task taskInfok = actTaskService.getCurrentTaskInfo(processInstance);
|
|
|
+ Act act = new Act();
|
|
|
+ act.setTaskId(taskInfok.getId());
|
|
|
+ act.setTaskName(taskInfok.getName());
|
|
|
+ act.setTaskDefKey(taskInfok.getTaskDefinitionKey());
|
|
|
+ act.setProcDefId(taskInfok.getProcessDefinitionId());
|
|
|
+ act.setProcInsId(taskInfok.getProcessInstanceId());
|
|
|
+ act.setTask(taskInfok);
|
|
|
+ projectReportSignature.setAct(act);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //签章责任列表
|
|
|
+ User user = UserUtils.get(projectReportSignature.getCreateBy().getId());
|
|
|
+ List<User> dutyPersonList = projectReportSignatureService.getDutyPersonList(user);
|
|
|
+ model.addAttribute("dutyPersonList",dutyPersonList);
|
|
|
+
|
|
|
+
|
|
|
+ model.addAttribute("projectReportSignature", projectReportSignature);
|
|
|
+ return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkModifyApproval";
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查看,增加,编辑项目表单页面
|
|
|
*/
|
|
@@ -222,6 +320,22 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
projectReportSignature.setCreateDate(new Date());
|
|
|
}
|
|
|
|
|
|
+ //根据签章id查询报告签章信息
|
|
|
+ ReportSignature reportSignature=projectReportSignatureService.getReportBySigId(projectReportSignature.getId());
|
|
|
+ if (null != reportSignature){
|
|
|
+ ReportSignature report = projectReportSignatureService.getReport(reportSignature.getId());
|
|
|
+ projectReportSignature.setDutyPerson(reportSignature.getDutyPerson());
|
|
|
+ projectReportSignature.setSignatureName(reportSignature.getSignatureName());
|
|
|
+ projectReportSignature.setWorkAttachments(report.getWorkAttachments());
|
|
|
+ projectReportSignature.setOffice(report.getOffice());
|
|
|
+ projectReportSignature.setSignatureType(report.getSignatureType());
|
|
|
+ }
|
|
|
+
|
|
|
+ //签章责任列表
|
|
|
+ User user1 = UserUtils.get(projectReportSignature.getCreateBy().getId());
|
|
|
+ List<User> dutyPersonList = projectReportSignatureService.getDutyPersonList(user1);
|
|
|
+ model.addAttribute("dutyPersonList",dutyPersonList);
|
|
|
+
|
|
|
List<WorkClientAttachment> signatureWorkAttachments = Lists.newArrayList();
|
|
|
if(StringUtils.isNotBlank(projectReportSignature.getSignatureUrl())){
|
|
|
WorkClientAttachment signatureAttachment = new WorkClientAttachment();
|
|
@@ -249,15 +363,79 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
signatureWorkAttachments.add(signatureAttachment);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if(signatureWorkAttachments.size()>0){
|
|
|
projectReportSignature.setSignatureWorkAttachments(signatureWorkAttachments);
|
|
|
}
|
|
|
model.addAttribute("projectReportSignature", projectReportSignature);
|
|
|
return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkView";
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看,增加,编辑项目表单页面-审定单签章
|
|
|
+ */
|
|
|
+ @RequiresPermissions(value={"projectReport:projectReportSignature:view"},logical= Logical.OR)
|
|
|
+ @RequestMapping(value = "viewApproval")
|
|
|
+ public String viewApproval(ProjectReportSignatureWork projectReportSignature, Model model) {
|
|
|
+ if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
|
|
|
+ projectReportSignature = projectReportSignatureService.get(projectReportSignature.getId());
|
|
|
+ }else {
|
|
|
+ projectReportSignature.setCreateBy(UserUtils.getUser());
|
|
|
+ projectReportSignature.setCreateDate(new Date());
|
|
|
+ }
|
|
|
+
|
|
|
+ //根据签章id查询报告签章信息
|
|
|
+ ReportSignature reportSignature=projectReportSignatureService.getApprovalBySigId(projectReportSignature.getId());
|
|
|
+ if (null != reportSignature){
|
|
|
+ ReportSignature report = projectReportSignatureService.getApproval(reportSignature.getId());
|
|
|
+ projectReportSignature.setDutyPerson(reportSignature.getDutyPerson());
|
|
|
+ projectReportSignature.setSignatureName(reportSignature.getSignatureName());
|
|
|
+ projectReportSignature.setWorkAttachments(report.getWorkAttachments());
|
|
|
+ projectReportSignature.setOffice(report.getOffice());
|
|
|
+ projectReportSignature.setSignatureType(report.getSignatureType());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //签章责任列表
|
|
|
+ User user1 = UserUtils.get(projectReportSignature.getCreateBy().getId());
|
|
|
+ List<User> dutyPersonList = projectReportSignatureService.getDutyPersonList(user1);
|
|
|
+ model.addAttribute("dutyPersonList",dutyPersonList);
|
|
|
+
|
|
|
+ List<WorkClientAttachment> signatureWorkAttachments = Lists.newArrayList();
|
|
|
+ if(StringUtils.isNotBlank(projectReportSignature.getSignatureUrl())){
|
|
|
+ WorkClientAttachment signatureAttachment = new WorkClientAttachment();
|
|
|
+
|
|
|
+ //处理文件路径
|
|
|
+ //如果文件路径中包含 /xg-qz 则表示文件存储在签章的对应文件库中需要单独进行处理
|
|
|
+ if(projectReportSignature.getSignatureUrl().contains("/xg-qz")){
|
|
|
+ if(StringUtils.isNotBlank(projectReportSignature.getSignatureUrl())){
|
|
|
+ String signatureUrl = projectReportSignature.getSignatureUrl().replace("/xg-qz","");
|
|
|
+ projectReportSignature.setSignatureUrl(signatureUrl);
|
|
|
+ }
|
|
|
+ signatureAttachment.setTemporaryUrl(new OSSClientUtil().getQzFileTemporaryLookUrl(aliyunUrl + projectReportSignature.getSignatureUrl()));
|
|
|
+ }else{
|
|
|
+ signatureAttachment.setTemporaryUrl(new OSSClientUtil().getFileTemporaryLookUrl(aliyunUrl + projectReportSignature.getSignatureUrl()));
|
|
|
+ }
|
|
|
+ User user = UserUtils.get(projectReportSignature.getSignatureUploadFileUser().getId());
|
|
|
+ signatureAttachment.setCreateBy(user);
|
|
|
+ signatureAttachment.setUpdateBy(user);
|
|
|
+ signatureAttachment.setCreateDate(projectReportSignature.getSignatureUploadDate());
|
|
|
+ signatureAttachment.setUpdateDate(projectReportSignature.getSignatureUploadDate());
|
|
|
+ signatureAttachment.setDelFlag("0");
|
|
|
+ signatureAttachment.setAttachmentName(projectReportSignature.getSignatureFileName());
|
|
|
+ String type = projectReportSignature.getSignatureUrl().substring(projectReportSignature.getSignatureUrl().lastIndexOf(".") + 1);
|
|
|
+ signatureAttachment.setType(type);
|
|
|
+ signatureWorkAttachments.add(signatureAttachment);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(signatureWorkAttachments.size()>0){
|
|
|
+ projectReportSignature.setSignatureWorkAttachments(signatureWorkAttachments);
|
|
|
+ }
|
|
|
+ model.addAttribute("projectReportSignature", projectReportSignature);
|
|
|
+ return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkViewApproval";
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
- * 暂存信息
|
|
|
+ * 暂存信息-报告签章
|
|
|
*/
|
|
|
@RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical=Logical.OR)
|
|
|
@RequestMapping(value = "tstore")
|
|
@@ -266,13 +444,17 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
return form(projectReportSignature, model);
|
|
|
}
|
|
|
try {
|
|
|
+ if (StringUtils.isBlank(projectReportSignature.getSignatureType())){
|
|
|
+ addMessage(redirectAttributes, "签章类型未选择,无法保存");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
if (!projectReportSignature.getIsNewRecord()) {//编辑表单保存
|
|
|
ProjectReportSignatureWork t = projectReportSignatureService.get(projectReportSignature.getId());//从数据库取出记录的值
|
|
|
-
|
|
|
- if(t.getStatus() == 2){
|
|
|
+ ReportSignature approvalBySigId = projectReportSignatureService.getReportBySigId(t.getId());
|
|
|
+ if(approvalBySigId.getStatus() == 2){
|
|
|
addMessage(redirectAttributes, "报告签章申请已送审,无法重复送审");
|
|
|
return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
- }else if(t.getStatus() == 5){
|
|
|
+ }else if(approvalBySigId.getStatus() == 5){
|
|
|
addMessage(redirectAttributes, "报告签章申请已审核完成,无法再次送审");
|
|
|
return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
}
|
|
@@ -290,20 +472,23 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
}
|
|
|
return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
- * 保存项目
|
|
|
+ * 暂存信息-审定单签章
|
|
|
*/
|
|
|
@RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical=Logical.OR)
|
|
|
- @RequestMapping(value = "save")
|
|
|
- public String save(ProjectReportSignatureWork projectReportSignature, Model model, RedirectAttributes redirectAttributes) throws Exception {
|
|
|
+ @RequestMapping(value = "tstoreApproval")
|
|
|
+ public String tstoreApproval(ProjectReportSignatureWork projectReportSignature, Model model, RedirectAttributes redirectAttributes) {
|
|
|
if (!beanValidator(model, projectReportSignature)){
|
|
|
return form(projectReportSignature, model);
|
|
|
}
|
|
|
try {
|
|
|
-
|
|
|
if (!projectReportSignature.getIsNewRecord()) {//编辑表单保存
|
|
|
ProjectReportSignatureWork t = projectReportSignatureService.get(projectReportSignature.getId());//从数据库取出记录的值
|
|
|
+ ReportSignature approvalBySigId = projectReportSignatureService.getApprovalBySigId(t.getId());
|
|
|
+ if (StringUtils.isBlank(projectReportSignature.getSignatureType())){
|
|
|
+ addMessage(redirectAttributes, "签章类型未选择,无法保存");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
|
|
|
if(t.getStatus() == 2){
|
|
|
addMessage(redirectAttributes, "报告签章申请已送审,无法重复送审");
|
|
@@ -313,6 +498,44 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
}
|
|
|
MyBeanUtils.copyBeanNotNull2Bean(projectReportSignature, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
|
|
|
+ t.setStatus(1);
|
|
|
+ projectReportSignatureService.saveApprovalInfo(t);//保存
|
|
|
+ } else {//新增表单保存
|
|
|
+ projectReportSignature.setStatus(1);
|
|
|
+ projectReportSignatureService.saveApprovalInfo(projectReportSignature);//保存
|
|
|
+ }
|
|
|
+ addMessage(redirectAttributes, "保存报告签章申请成功");
|
|
|
+ }catch (Exception e){
|
|
|
+ logger.error("保存报告签章申请异常:",e);
|
|
|
+ addMessage(redirectAttributes, "保存报告签章申请异常:"+e.getMessage());
|
|
|
+ }
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存项目
|
|
|
+ */
|
|
|
+ @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical=Logical.OR)
|
|
|
+ @RequestMapping(value = "save")
|
|
|
+ public String save(ProjectReportSignatureWork projectReportSignature, Model model, RedirectAttributes redirectAttributes) throws Exception {
|
|
|
+ if (!beanValidator(model, projectReportSignature)){
|
|
|
+ return form(projectReportSignature, model);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+
|
|
|
+ if (!projectReportSignature.getIsNewRecord()) {//编辑表单保存
|
|
|
+ ProjectReportSignatureWork t = projectReportSignatureService.get(projectReportSignature.getId());//从数据库取出记录的值
|
|
|
+ ReportSignature reportBySigId = projectReportSignatureService.getReportBySigId(t.getId());
|
|
|
+ if (null != reportBySigId){
|
|
|
+ if(reportBySigId.getStatus() == 2){
|
|
|
+ addMessage(redirectAttributes, "报告签章申请已送审,无法重复送审");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }else if(reportBySigId.getStatus() == 5){
|
|
|
+ addMessage(redirectAttributes, "报告签章申请已审核完成,无法再次送审");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ MyBeanUtils.copyBeanNotNull2Bean(projectReportSignature, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
|
|
|
projectReportSignatureService.save(t, ProjectStatusEnum.SIGNED);//保存
|
|
|
} else {//新增表单保存
|
|
|
projectReportSignatureService.save(projectReportSignature, ProjectStatusEnum.SIGNED);//保存
|
|
@@ -327,6 +550,44 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
|
|
|
|
|
|
/**
|
|
|
+ * 保存项目-暂存
|
|
|
+ */
|
|
|
+ @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical=Logical.OR)
|
|
|
+ @RequestMapping(value = "saveApproval")
|
|
|
+ public String saveApproval(ProjectReportSignatureWork projectReportSignature, Model model, RedirectAttributes redirectAttributes) throws Exception {
|
|
|
+ if (!beanValidator(model, projectReportSignature)){
|
|
|
+ return form(projectReportSignature, model);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+
|
|
|
+ if (!projectReportSignature.getIsNewRecord()) {//编辑表单保存
|
|
|
+ ProjectReportSignatureWork t = projectReportSignatureService.get(projectReportSignature.getId());//从数据库取出记录的值
|
|
|
+ ReportSignature approvalBySigId = projectReportSignatureService.getApprovalBySigId(t.getId());
|
|
|
+ if (null != approvalBySigId){
|
|
|
+ if(approvalBySigId.getStatus() == 2){
|
|
|
+ addMessage(redirectAttributes, "报告签章申请已送审,无法重复送审");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }else if(approvalBySigId.getStatus() == 5){
|
|
|
+ addMessage(redirectAttributes, "报告签章申请已审核完成,无法再次送审");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ MyBeanUtils.copyBeanNotNull2Bean(projectReportSignature, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
|
|
|
+ projectReportSignatureService.saveApproval(t, ProjectStatusEnum.SIGNED);//保存
|
|
|
+ } else {//新增表单保存
|
|
|
+ projectReportSignatureService.saveApproval(projectReportSignature, ProjectStatusEnum.SIGNED);//保存
|
|
|
+ }
|
|
|
+ addMessage(redirectAttributes, "保存报告签章申请成功");
|
|
|
+ }catch (Exception e){
|
|
|
+ logger.error("保存报告签章申请异常:",e);
|
|
|
+ addMessage(redirectAttributes, "保存报告签章申请异常:"+e.getMessage());
|
|
|
+ }
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
* 撤回操作
|
|
|
* @param request
|
|
|
* @param redirectAttributes
|
|
@@ -338,15 +599,44 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
HashMap<String, String> requestMap = findRequestMap(request);
|
|
|
String id = requestMap.get("id");
|
|
|
try {
|
|
|
- ProjectReportSignatureWork projectReportSignature = projectReportSignatureService.get(id);
|
|
|
- if(3==projectReportSignature.getStatus() || 4==projectReportSignature.getStatus()){
|
|
|
+ ReportSignature reportSignature = projectReportSignatureService.getReport(id);
|
|
|
+ if(3==reportSignature.getStatus() || 4==reportSignature.getStatus()){
|
|
|
addMessage(redirectAttributes, "报告签章申请已撤回、驳回,请勿重复操作");
|
|
|
return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
- }else if(5==projectReportSignature.getStatus()){
|
|
|
+ }else if(5==reportSignature.getStatus()){
|
|
|
addMessage(redirectAttributes, "报告签章申请已审批通过,无法撤回");
|
|
|
return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
}
|
|
|
- projectReportSignatureService.cancelInvalidate(projectReportSignature);
|
|
|
+ projectReportSignatureService.cancelInvalidate(reportSignature);
|
|
|
+ addMessage(redirectAttributes, "撤回该报告签章申请成功");
|
|
|
+ }catch (Exception e){
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ addMessage(redirectAttributes, "撤回该报告签章申请失败");
|
|
|
+ }
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 撤回操作
|
|
|
+ * @param request
|
|
|
+ * @param redirectAttributes
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "revokeApproval")
|
|
|
+ public String revokeApproval(HttpServletRequest request, RedirectAttributes redirectAttributes) throws Exception {
|
|
|
+ HashMap<String, String> requestMap = findRequestMap(request);
|
|
|
+ String id = requestMap.get("id");
|
|
|
+ try {
|
|
|
+ ReportSignature reportSignature = projectReportSignatureService.getApproval(id);
|
|
|
+ if(3==reportSignature.getStatus() || 4==reportSignature.getStatus()){
|
|
|
+ addMessage(redirectAttributes, "报告签章申请已撤回、驳回,请勿重复操作");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }else if(5==reportSignature.getStatus()){
|
|
|
+ addMessage(redirectAttributes, "报告签章申请已审批通过,无法撤回");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
+ projectReportSignatureService.cancelInvalidateApproval(reportSignature);
|
|
|
addMessage(redirectAttributes, "撤回该报告签章申请成功");
|
|
|
}catch (Exception e){
|
|
|
logger.info(e.getMessage());
|
|
@@ -377,7 +667,19 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
|
|
|
@RequestMapping(value = "getProcess")
|
|
|
public String getProcess(ProjectReportSignatureWork projectReportSignature, Model model, HttpServletRequest request){
|
|
|
- model.addAttribute("processInstanceId", projectReportSignature.getProcessInstanceId());
|
|
|
+ HashMap<String, String> requestMap = findRequestMap(request);
|
|
|
+ String id = requestMap.get("reportId");
|
|
|
+ ReportSignature reportSignature = projectReportSignatureService.getReport(id);
|
|
|
+ model.addAttribute("processInstanceId", reportSignature.getProcessInstanceId());
|
|
|
+ return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkTask";
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value = "getApprovalProcess")
|
|
|
+ public String getApprovalProcess(ProjectReportSignatureWork projectReportSignature, Model model, HttpServletRequest request){
|
|
|
+ HashMap<String, String> requestMap = findRequestMap(request);
|
|
|
+ String id = requestMap.get("approvalId");
|
|
|
+ ReportSignature reportSignature = projectReportSignatureService.getApproval(id);
|
|
|
+ model.addAttribute("processInstanceId", reportSignature.getProcessInstanceId());
|
|
|
return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkTask";
|
|
|
}
|
|
|
|
|
@@ -468,7 +770,9 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping("saveAudit")
|
|
|
- public String saveAudit(ProjectReportSignatureWork projectReportSignature, RedirectAttributes redirectAttributes) {
|
|
|
+ public String saveAudit(ReportSignature projectReportSignature, RedirectAttributes redirectAttributes) {
|
|
|
+ ReportSignature reportSignature = projectReportSignatureService.getReport(projectReportSignature.getId());
|
|
|
+ projectReportSignature.setStatus(reportSignature.getStatus());
|
|
|
String home = projectReportSignature.getHome();
|
|
|
try {
|
|
|
String taskDefKey = projectReportSignature.getAct().getTaskDefKey();
|
|
@@ -478,15 +782,13 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
}
|
|
|
List<User> users = null;
|
|
|
//所属部门
|
|
|
- Office office = officeService.get(projectReportSignature.getOffice().getId());
|
|
|
+ Office office = officeService.get(reportSignature.getOffice().getId());
|
|
|
+ projectReportSignature.setOffice(office);
|
|
|
+ projectReportSignature.setCompany(reportSignature.getCompany());
|
|
|
if ("bmzr".equals(taskDefKey)){
|
|
|
- users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(),2);
|
|
|
- if (users == null)
|
|
|
- users = UserUtils.getByRoleActivityEnname("bgsquhe", 3, office.getId(), "11", projectReportSignature.getCreateBy());
|
|
|
- }else if ("bgs".equals(taskDefKey)){
|
|
|
- users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(),2);
|
|
|
- if (users == null)
|
|
|
- users = UserUtils.getByRoleActivityEnname("bgsquhe", 3, office.getId(), "11", projectReportSignature.getCreateBy());
|
|
|
+ users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(),1);
|
|
|
+ //if (users == null)
|
|
|
+ //users = UserUtils.getByRoleActivityEnname("bgsquhe", 3, office.getId(), "11", projectReportSignature.getCreateBy());
|
|
|
}else if ("modifyApply".equals(taskDefKey)){
|
|
|
users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(), 1);
|
|
|
}
|
|
@@ -532,6 +834,77 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 审批
|
|
|
+ * @param projectReportSignature
|
|
|
+ * @param redirectAttributes
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping("saveAuditApproval")
|
|
|
+ public String saveAuditApproval(ReportSignature projectReportSignature, RedirectAttributes redirectAttributes) {
|
|
|
+ ReportSignature reportSignature = projectReportSignatureService.getApproval(projectReportSignature.getId());
|
|
|
+ projectReportSignature.setStatus(reportSignature.getStatus());
|
|
|
+ String home = projectReportSignature.getHome();
|
|
|
+ try {
|
|
|
+ String taskDefKey = projectReportSignature.getAct().getTaskDefKey();
|
|
|
+ //当状态为未通过时,重新修改数据
|
|
|
+ if ("modifyApply".equals(taskDefKey)) {
|
|
|
+ projectReportSignature.getAct().setComment("重新申请");
|
|
|
+ }
|
|
|
+ List<User> users = null;
|
|
|
+ //所属部门
|
|
|
+ Office office = officeService.get(reportSignature.getOffice().getId());
|
|
|
+ projectReportSignature.setOffice(office);
|
|
|
+ projectReportSignature.setCompany(reportSignature.getCompany());
|
|
|
+ if ("bmzr".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(),1);
|
|
|
+ //if (users == null)
|
|
|
+ //users = UserUtils.getByRoleActivityEnname("bgsquhe", 3, office.getId(), "11", projectReportSignature.getCreateBy());
|
|
|
+ }else if ("modifyApply".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(), 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ String flag = projectReportSignature.getAct().getFlag();
|
|
|
+ if ("yes".equals(flag) && (users==null || users.size()==0)){
|
|
|
+ addMessage(redirectAttributes, "审批失败,审批人为空,请联系管理员!");
|
|
|
+ }else {
|
|
|
+ if (projectReportSignature.getStatus() != 2 && projectReportSignature.getStatus() != 4 && projectReportSignature.getStatus() != 5) {
|
|
|
+ addMessage(redirectAttributes, "报告签章申请未发起,请发起申请");
|
|
|
+ if (StringUtils.isNotBlank(home) && "home".equals(home)) {
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/home/?repage";
|
|
|
+ }else if (StringUtils.isNotBlank(home) && "notifyList".equals(home)){
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
|
|
|
+ } else {
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(projectReportSignature.getStatus() == 5){
|
|
|
+ addMessage(redirectAttributes, "报告签章申请已登记完成,无法再次送审");
|
|
|
+ if (StringUtils.isNotBlank(home) && "home".equals(home)){
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/home/?repage";
|
|
|
+ }else if (StringUtils.isNotBlank(home) && "notifyList".equals(home)){
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
|
|
|
+ }else {
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String str = projectReportSignatureService.signatuereSaveAuditApproval(projectReportSignature,users);
|
|
|
+ addMessage(redirectAttributes, str);
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ addMessage(redirectAttributes, "报告签章申请审批失败");
|
|
|
+ logger.error("Exception e:"+e);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(home) && "home".equals(home)){
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/home/?repage";
|
|
|
+ }else if (StringUtils.isNotBlank(home) && "notifyList".equals(home)){
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
|
|
|
+ }else {
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 选择签章项目报告
|
|
@@ -568,6 +941,22 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
|
|
|
|
|
|
/**
|
|
|
+ * 校验项目是否存在
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "checkProject")
|
|
|
+ @ResponseBody
|
|
|
+ public boolean checkProject(HttpServletRequest request){
|
|
|
+ String obj = request.getParameter("obj");
|
|
|
+ Integer projectRecords = projectReportSignatureService.checkProject(obj);
|
|
|
+ if (projectRecords>0){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
* 获取项目编号
|
|
|
* @return
|
|
|
*/
|
|
@@ -620,4 +1009,41 @@ public class ProjectReportSignatureWorkController extends BaseController {
|
|
|
return "modules/signature/projectRerpotSignatureWork/ProjectReportSignatureProjectView";
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询签章类型是否已经存在
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "checkType")
|
|
|
+ @ResponseBody
|
|
|
+ public boolean checkType(ReportSignature reportSignature){
|
|
|
+ //传进来的id是基础表的id,只会在第一次新增时出现该id
|
|
|
+ ProjectReportSignatureWork projectReportSignatureWork = projectReportSignatureService.get(reportSignature.getId());
|
|
|
+ if (null != projectReportSignatureWork){
|
|
|
+ if (reportSignature.getSignatureType().equals("1")){
|
|
|
+ ReportSignature reportBySigId = projectReportSignatureService.getReportBySigId(projectReportSignatureWork.getId());
|
|
|
+ if (null != reportBySigId){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ ReportSignature approvalBySigId = projectReportSignatureService.getApprovalBySigId(projectReportSignatureWork.getId());
|
|
|
+ if (null != approvalBySigId){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else { //传进来的id是类型表的id
|
|
|
+ if (reportSignature.getSignatureType().equals("1")){
|
|
|
+ ReportSignature reportBySigId = projectReportSignatureService.getReport(reportSignature.getId());
|
|
|
+ if (null != reportBySigId && !reportBySigId.getId().equals(reportSignature.getId())){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ ReportSignature approvalBySigId = projectReportSignatureService.getApproval(projectReportSignatureWork.getId());
|
|
|
+ if (null != approvalBySigId && !approvalBySigId.getId().equals(reportSignature.getId())){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
}
|