Browse Source

管理员添加项目报告修改功能

user5 4 năm trước cách đây
mục cha
commit
f718fa2990

+ 35 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java

@@ -294,6 +294,41 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         return "true";
     }
 
+
+    @Transactional(readOnly = false)
+    public String adminModifyReport(Projectcontentinfo projectcontentinfo) {
+        Projectcontentinfo s = new Projectcontentinfo();
+        s.setParentIds("0,");
+        s.setProject(projectcontentinfo.getProject());
+        //根据项目id查询相关工作内容信息的数据 并将其存为父级数据
+        Projectcontentinfo contentinfo = projectcontentinfoDao.findListByProject(s).get(0);
+        projectcontentinfo.setProjectOnRural(this.getInfo(projectcontentinfo.getProject().getId()));
+        List<Workattachment> attachmentList = projectcontentinfo.getWorkAttachments();
+        //工作报告
+        if (projectcontentinfo.getProjectReportData()!=null){
+            //保存工作报告相关数据
+            ProjectReportData projectReportData = projectcontentinfo.getProjectReportData();
+            projectReportData.setName(projectcontentinfo.getProjectOnRural().getProjectName());
+            projectReportData.setCompanyId(contentinfo.getCompanyId());
+            projectReportData.setOfficeId(contentinfo.getOfficeId());
+            projectReportData.setProject(contentinfo.getProject());
+            projectReportData.setReportDate(new Date());
+            if (com.jeeplus.common.utils.StringUtils.isBlank(projectReportData.getId())){
+                projectReportData.setFileStatus("1");
+            }
+            //修改保存
+            String num = projectReportData.getNumber();
+            if(com.jeeplus.common.utils.StringUtils.isNotBlank(num)){
+                projectReportNumService.updateNum(num);
+            }
+            projectReportDataService.save(projectReportData);
+            contentinfo.setDictType(projectReportData.getType());
+            contentinfo.setInfoId(projectReportData.getId());
+            projectcontentinfoDao.updateInfoId(contentinfo);
+        }
+        return "true";
+    }
+
     public ProjectReportData getProjectReportDateByProjectId(String projectId){
         if (StringUtils.isNotBlank(projectId)) {
             ProjectReportData projectReportData = dao.getProjectReportDateByProjectId(projectId);

+ 98 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java

@@ -130,6 +130,12 @@ public class RuralCostProjectMessageController extends BaseController {
             }else{
                 records1.setView("false");
             }
+            //判断是否为admin
+            if (UserUtils.isManager()){
+                records1.setFlagAdmin("1");
+            }else{
+                records1.setFlagAdmin("0");
+            }
         }
         model.addAttribute("page", page);
         return "modules/ruralprojectrecords/cost/ruralCostProjectMessageList";
@@ -202,6 +208,98 @@ public class RuralCostProjectMessageController extends BaseController {
         }
     }
 
+
+    /**
+     * admin跳转修改报告页面
+     * @param projectcontentinfo
+     * @param request
+     * @param response
+     * @param model
+     * @param attr
+     * @return
+     */
+    @RequestMapping(value = {"adminModifyForm"})
+    public String adminModifyForm(RuralProjectcontentinfo projectcontentinfo, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes attr) {
+        Projectcontentinfo projectcontentinfo1 = projectcontentinfoService.getByProjectId(projectcontentinfo.getProjectId());
+        model.addAttribute("parentIds", projectcontentinfo1.getParentIds());
+        String dictType = projectcontentinfo.getDictType();
+        RuralProjectRecords records = projectRecordsService.getQueryProjectUsers(projectcontentinfo1.getProject().getId());
+        model.addAttribute("projectRecords", records);
+        projectcontentinfo.setProject(records);
+        ProjectReportData projectReportData = new ProjectReportData();
+        projectReportData.setType(dictType);
+        if (StringUtils.isNotBlank(projectcontentinfo1.getInfoId())){
+            projectReportData = projectReportDataService.get(projectcontentinfo1.getInfoId());
+        }else if (projectcontentinfo.getProjectReportData()!=null && StringUtils.isNotBlank(projectcontentinfo.getProjectReportData().getId())) {
+            projectReportData = projectReportDataService.get(projectcontentinfo.getProjectReportData().getId());
+        }else {
+            projectReportData.setNumber("");
+        }
+        if (projectReportData.getMaster()==null || StringUtils.isBlank(projectReportData.getMaster().getId())){
+            projectReportData.setMaster(UserUtils.getUser());
+        }
+        if (StringUtils.isBlank(projectReportData.getStatus())){
+            projectReportData.setFileStatus("1");
+        }
+        projectcontentinfo.setProjectReportData(projectReportData);
+        //查询报告文件、依据性文件、其他文件必填列表以及数据
+        List<MainDictDetail> mainDictDetails = projectTemplateService.attachmentTemplateList();
+        for (MainDictDetail mainDict:mainDictDetails) {
+            ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
+            //添加项目类型
+            relateInfo.setProjectType("1");
+            //添加报告类型
+            relateInfo.setRequiredStage(1);
+            relateInfo.setId(records.getId());
+            relateInfo.setAttachType(mainDict.getValue());
+            switch(mainDict.getValue()){
+                case "11" :
+                    projectcontentinfo.setFileAttachmentList(projectTemplateService.getProjectTemplateList(relateInfo));
+                    break;
+                case "12" :
+                    projectcontentinfo.setFileGistdataList(projectTemplateService.getProjectTemplateList(relateInfo));
+                    break;
+                case "13" :
+                    projectcontentinfo.setFileOtherList(projectTemplateService.getProjectTemplateList(relateInfo));
+                    break;
+            }
+        }
+
+        model.addAttribute("projectcontentinfo", projectcontentinfo);
+        return "modules/ruralprojectrecords/cost/projectcontentinfo/adminReportModifyForm";
+    }
+
+
+    /**
+     * admin修改报告信息
+     * @param projectcontentinfo
+     * @param model
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping(value = {"adminModifyReport"})
+    public String adminModifyReport(Projectcontentinfo projectcontentinfo, Model model,RedirectAttributes redirectAttributes)  {
+        try{
+            String str = ruralProjectMessageService.adminModifyReport(projectcontentinfo);
+            addMessage(redirectAttributes, "修改报告"+(str.equals("true")?"成功":"失败"));
+            ProjectReportData projectReportData = projectcontentinfo.getProjectReportData();
+            if (projectReportData!=null){
+                if (StringUtils.isNotBlank(projectcontentinfo.getEdit()) && projectcontentinfo.getEdit().equals("edit")){
+                    return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralCostProjectMessage/?repage";
+                }
+                return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralCostProjectMessage/?repage";
+            }
+        }catch (Exception e){
+            logger.error("ProjectcontentinfoController save Exception e"+e);
+        }
+        if(UserUtils.isManager()){
+            model.addAttribute("flag","1");
+        }
+        addMessage(redirectAttributes, "修改报告失败");
+        ProjectRecords projectRecords = projectcontentinfo.getProject()==null?new ProjectRecords():projectcontentinfo.getProject();
+        return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralCostProjectMessage/?repage";
+    }
+
     /**
      * 编辑项目表单页面
      */

+ 97 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java

@@ -8,7 +8,6 @@ import com.jeeplus.common.web.BaseController;
 import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.projectAccessory.entity.ProjectAccessoryRelationInfo;
-import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
 import com.jeeplus.modules.projectAccessory.service.ProjectTemplateService;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
@@ -29,7 +28,6 @@ import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
-import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import org.activiti.engine.HistoryService;
@@ -132,6 +130,12 @@ public class RuralProjectMessageController extends BaseController {
             }else{
                 records1.setView("false");
             }
+            //判断是否为admin
+            if (UserUtils.isManager()){
+                records1.setFlagAdmin("1");
+            }else{
+                records1.setFlagAdmin("0");
+            }
         }
         model.addAttribute("page", page);
         return "modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList";
@@ -204,6 +208,97 @@ public class RuralProjectMessageController extends BaseController {
     }
 
     /**
+     * admin跳转修改报告页面
+     * @param projectcontentinfo
+     * @param request
+     * @param response
+     * @param model
+     * @param attr
+     * @return
+     */
+    @RequestMapping(value = {"adminModifyForm"})
+    public String adminModifyForm(RuralProjectcontentinfo projectcontentinfo, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes attr) {
+        Projectcontentinfo projectcontentinfo1 = projectcontentinfoService.getByProjectId(projectcontentinfo.getProjectId());
+        model.addAttribute("parentIds", projectcontentinfo1.getParentIds());
+        String dictType = projectcontentinfo.getDictType();
+        RuralProjectRecords records = projectRecordsService.getQueryProjectUsers(projectcontentinfo1.getProject().getId());
+        model.addAttribute("projectRecords", records);
+        projectcontentinfo.setProject(records);
+        ProjectReportData projectReportData = new ProjectReportData();
+        projectReportData.setType(dictType);
+        if (StringUtils.isNotBlank(projectcontentinfo1.getInfoId())){
+            projectReportData = projectReportDataService.get(projectcontentinfo1.getInfoId());
+        }else if (projectcontentinfo.getProjectReportData()!=null && StringUtils.isNotBlank(projectcontentinfo.getProjectReportData().getId())) {
+            projectReportData = projectReportDataService.get(projectcontentinfo.getProjectReportData().getId());
+        }else {
+            projectReportData.setNumber("");
+        }
+        if (projectReportData.getMaster()==null || StringUtils.isBlank(projectReportData.getMaster().getId())){
+            projectReportData.setMaster(UserUtils.getUser());
+        }
+        if (StringUtils.isBlank(projectReportData.getStatus())){
+            projectReportData.setFileStatus("1");
+        }
+        projectcontentinfo.setProjectReportData(projectReportData);
+        //查询报告文件、依据性文件、其他文件必填列表以及数据
+        List<MainDictDetail> mainDictDetails = projectTemplateService.attachmentTemplateList();
+        for (MainDictDetail mainDict:mainDictDetails) {
+            ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
+            //添加项目类型
+            relateInfo.setProjectType("1");
+            //添加报告类型
+            relateInfo.setRequiredStage(1);
+            relateInfo.setId(records.getId());
+            relateInfo.setAttachType(mainDict.getValue());
+            switch(mainDict.getValue()){
+                case "11" :
+                    projectcontentinfo.setFileAttachmentList(projectTemplateService.getProjectTemplateList(relateInfo));
+                    break;
+                case "12" :
+                    projectcontentinfo.setFileGistdataList(projectTemplateService.getProjectTemplateList(relateInfo));
+                    break;
+                case "13" :
+                    projectcontentinfo.setFileOtherList(projectTemplateService.getProjectTemplateList(relateInfo));
+                    break;
+            }
+        }
+
+        model.addAttribute("projectcontentinfo", projectcontentinfo);
+        return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/adminReportModifyForm";
+    }
+
+
+    /**
+     * admin修改报告信息
+     * @param projectcontentinfo
+     * @param model
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping(value = {"adminModifyReport"})
+    public String adminModifyReport(Projectcontentinfo projectcontentinfo, Model model,RedirectAttributes redirectAttributes)  {
+        try{
+            String str = ruralProjectMessageService.adminModifyReport(projectcontentinfo);
+            addMessage(redirectAttributes, "修改报告"+(str.equals("true")?"成功":"失败"));
+            ProjectReportData projectReportData = projectcontentinfo.getProjectReportData();
+            if (projectReportData!=null){
+                if (StringUtils.isNotBlank(projectcontentinfo.getEdit()) && projectcontentinfo.getEdit().equals("edit")){
+                    return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+                }
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+            }
+        }catch (Exception e){
+            logger.error("ProjectcontentinfoController save Exception e"+e);
+        }
+        if(UserUtils.isManager()){
+            model.addAttribute("flag","1");
+        }
+        addMessage(redirectAttributes, "修改报告失败");
+        ProjectRecords projectRecords = projectcontentinfo.getProject()==null?new ProjectRecords():projectcontentinfo.getProject();
+        return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+    }
+
+    /**
      * 编辑项目表单页面
      */
     @RequiresPermissions(value={"ruralProject:ruralProjectMessage:edit"},logical= Logical.OR)

+ 69 - 29
src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataDao.xml

@@ -570,35 +570,75 @@
 	
 	<update id="update">
 		UPDATE project_report_data SET 	
-			update_by = #{updateBy.id},
-			update_date = #{updateDate},
-			remarks = #{remarks},
-			company_id = #{companyId},
-			office_id = #{officeId},
-			project_id = #{project.id},
-			name = #{name},
-			number = #{number},
-			type = #{type},
-			achievement_type = #{achievementType},
-			review_standard = #{reviewStandard},
-			sign_cost_one = #{signCostOne.id},
-			sign_cost_two = #{signCostTwo.id},
-			master = #{master.id},
-			report_date = #{reportDate},
-			status = #{status},
-			invalid_status = #{invalidStatus},
-			report_type = #{reportType},
-			number_path = #{numberPath},
-			review_fee = #{reviewFee},
-			approval_fee = #{approvalFee},
-			contract_fee = #{contractFee},
-			verify_fee = #{verifyFee},
-			verify_rate = #{verifyRate},
-			consult_fee = #{consultFee},
-			building_fee = #{buildingFee},
-			install_fee = #{installFee},
-			building_rate = #{buildingRate},
-			install_rate = #{installRate}
+			update_by = #{updateBy.id}
+			,update_date = #{updateDate}
+			,remarks = #{remarks}
+			,company_id = #{companyId}
+			,office_id = #{officeId}
+			,project_id = #{project.id}
+			<if test="name != null and name != ''">
+				,name = #{name}
+			</if>
+		<if test="number != null and number != ''">
+			,number = #{number}
+		</if>
+		<if test="type != null and type != ''">
+			,type = #{type}
+		</if>
+		<if test="achievementType != null and achievementType != ''">
+			,achievement_type = #{achievementType}
+		</if>
+		<if test="reviewStandard != null and reviewStandard != ''">
+			,review_standard = #{reviewStandard}
+		</if>
+			,sign_cost_one = #{signCostOne.id}
+			,sign_cost_two = #{signCostTwo.id}
+			,master = #{master.id}
+		<if test="reportDate != null and reportDate != ''">
+			,report_date = #{reportDate}
+		</if>
+		<if test="status != null and status != ''">
+			,status = #{status}
+		</if>
+		<if test="invalidStatus != null and invalidStatus != ''">
+			,invalid_status = #{invalidStatus}
+		</if>
+		<if test="reportType != null and reportType != ''">
+			,report_type = #{reportType}
+		</if>
+		<if test="numberPath != null and numberPath != ''">
+			,number_path = #{numberPath}
+		</if>
+		<if test="reviewFee != null and reviewFee != ''">
+			,review_fee = #{reviewFee}
+		</if>
+		<if test="approvalFee != null and approvalFee != ''">
+			,approval_fee = #{approvalFee}
+		</if>
+		<if test="contractFee != null and contractFee != ''">
+			,contract_fee = #{contractFee}
+		</if>
+		<if test="verifyFee != null and verifyFee != ''">
+			,verify_fee = #{verifyFee}
+		</if>
+		<if test="verifyRate != null and verifyRate != ''">
+			,verify_rate = #{verifyRate}
+		</if>
+		<if test="consultFee != null and consultFee != ''">
+			,consult_fee = #{consultFee}
+		</if>
+		<if test="buildingFee != null and buildingFee != ''">
+			,building_fee = #{buildingFee}
+		</if>
+		<if test="installFee != null and installFee != ''">
+			,install_fee = #{installFee}
+		</if>
+		<if test="buildingRate != null and buildingRate != ''">
+			,building_rate = #{buildingRate}
+		</if>
+		<if test="installRate != null and installRate != ''">
+			,install_rate = #{installRate}
+		</if>
 		WHERE id = #{id}
 	</update>
 

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1113 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/cost/projectcontentinfo/adminReportModifyForm.jsp


+ 5 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp

@@ -397,6 +397,10 @@
 								xml+="<a href=\"${ctx}/ruralProject/ruralCostProjectMessage/updateReported?id=" + d.id + "\" style='background-color: #5FB878' onclick=\"return confirmx('确认要上报吗?', this.href)\" class=\"op-btn op-btn-delete\" ><i class=\"fa fa-plus\"></i> 上报</a>";
 							}
 						}
+						if(d.deleteAdmin != undefined && d.deleteAdmin =="1")
+						{
+							xml+="<a href=\"#\" onclick=\"openDialogre('修改项目报告', '${ctx}/ruralProject/ruralCostProjectMessage/adminModifyForm?projectId=" + d.id + "','95%', '95%','','提交,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改报告</a>";
+						}
                         return xml;
 
                     }}
@@ -486,6 +490,7 @@
                     ,"recordcancel":"0"
                     </c:otherwise>
                     </c:choose>
+					,"deleteAdmin":<c:choose><c:when test="${'1' == projectRecords.flagAdmin && projectRecords.projectReportStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
                     <shiro:hasPermission name="ruralProject:ruralProjectRecords:edit">,"canedit3":<c:choose><c:when test="${fns:getUser().id == projectRecords.leaderIds || fns:getUser().id eq projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
                     <%--<shiro:hasPermission name="project:projectRecords:edit">
                     ,"canedit3":<c:choose>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1113 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/adminReportModifyForm.jsp


+ 5 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp

@@ -399,6 +399,10 @@
 								}
 							}
 						}
+						if(d.deleteAdmin != undefined && d.deleteAdmin =="1")
+						{
+							xml+="<a href=\"#\" onclick=\"openDialogre('修改项目报告', '${ctx}/ruralProject/ruralProjectMessage/adminModifyForm?projectId=" + d.id + "','95%', '95%','','提交,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改报告</a>";
+						}
                         return xml;
 
                     }}
@@ -488,6 +492,7 @@
                     ,"recordcancel":"0"
                     </c:otherwise>
                     </c:choose>
+					,"deleteAdmin":<c:choose><c:when test="${'1' == projectRecords.flagAdmin && projectRecords.projectReportStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
                     <shiro:hasPermission name="project:projectRecords:edit">,"canedit3":<c:choose><c:when test="${fns:getUser().id == projectRecords.leaderIds || fns:getUser().id eq projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
                     <%--<shiro:hasPermission name="project:projectRecords:edit">
                     ,"canedit3":<c:choose>