Forráskód Böngészése

项目新增报告总审人员选择功能

user5 4 éve
szülő
commit
46aed9883a

+ 9 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectReportData.java

@@ -61,6 +61,7 @@ public class ProjectReportData extends ActEntity<ProjectReportData> {
 	private String reportId;
 	private String numberPath;
 	private String tempType;    //模板类型
+	private String bzshbUserId; //总审用户id
 
 	public String getNumberPath() {
 		return numberPath;
@@ -634,4 +635,12 @@ public class ProjectReportData extends ActEntity<ProjectReportData> {
 	public void setDownFileStatus(String downFileStatus) {
 		this.downFileStatus = downFileStatus;
 	}
+
+	public String getBzshbUserId() {
+		return bzshbUserId;
+	}
+
+	public void setBzshbUserId(String bzshbUserId) {
+		this.bzshbUserId = bzshbUserId;
+	}
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectRecords.java

@@ -124,6 +124,7 @@ public class ProjectRecords extends ActEntity<ProjectRecords> {
 	private String constructionUnit; //施工单位
 	private String constructionLinkman; //施工方联系人
 	private String attachmentProjectSort;   //项目类别
+	private List<User> bzshbUserList;  //总审用户信息
 	private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
 
 	private List<ProjectReportData> projectReportData = Lists.newArrayList();
@@ -755,4 +756,12 @@ public class ProjectRecords extends ActEntity<ProjectRecords> {
 	public void setAttachmentProjectSort(String attachmentProjectSort) {
 		this.attachmentProjectSort = attachmentProjectSort;
 	}
+
+	public List<User> getBzshbUserList() {
+		return bzshbUserList;
+	}
+
+	public void setBzshbUserList(List<User> bzshbUserList) {
+		this.bzshbUserList = bzshbUserList;
+	}
 }

+ 7 - 3
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java

@@ -439,7 +439,7 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
 
 
     @Transactional(readOnly = false)
-    public String saveData(Projectcontentinfo projectcontentinfo,int type) throws Exception {
+    public String saveData(Projectcontentinfo projectcontentinfo,int type) {
         String count = "0";
         String infoId = "";
         Projectcontentinfo s = new Projectcontentinfo();
@@ -1429,7 +1429,11 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         //总工
         List<User> bzshbsList = UserUtils.getByRoleActivityEnname("bzshb",3,recordsOffice.getId(),"12",projectReportData.getCreateBy());
         List<User> bzshbs = new ArrayList<>();
-        //判断总工数据是否为空
+        User bzshbsUser = UserUtils.get(projectReportData.getBzshbUserId());
+        if(null != bzshbsUser){
+            bzshbs.add(bzshbsUser);
+        }
+        /*//判断总工数据是否为空
         if(bzshbsList.size()>0){
             for (User zgUser: bzshbsList) {
                 //判断当前登陆人对应的总审人员的id和遍历的人员id相对比  相同的则留用
@@ -1442,7 +1446,7 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
             }
         }else{
             return "流程总审审批人不能为空,请联系管理员变更!";
-        }
+        }*/
 
         if (insert) {
             projectReportDataService.insert(projectReportData);

+ 25 - 3
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java

@@ -33,6 +33,7 @@ import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageServic
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.service.UserService;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
@@ -93,6 +94,8 @@ public class RuralCostProjectMessageController extends BaseController {
     private HistoricalService historicalService;
     @Autowired
     private ProjectAccessoryRelationService projectAccessoryRelationService;
+    @Autowired
+    private UserService userService;
 
     private static byte[] SYN_BYTE = new byte[0];
 
@@ -147,7 +150,7 @@ public class RuralCostProjectMessageController extends BaseController {
         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);
@@ -223,6 +226,11 @@ public class RuralCostProjectMessageController extends BaseController {
             }
         /*}*/
 
+        //查询总审人员信息
+        List<User> auditUserList = userService.getAuditUserList();
+        records.setBzshbUserList(auditUserList);
+        model.addAttribute("projectRecords", records);
+        model.addAttribute("projectcontentinfo", projectcontentinfo);
         model.addAttribute("projectcontentinfo", projectcontentinfo);
         /*model.addAttribute("projectSort", projectSort);*/
         if (projectReportData != null && projectReportData.getCreateBy() != null && StringUtils.isNotBlank(projectReportData.getCreateBy().getId()) && projectReportData.getCreateBy().getId().equals(UserUtils.getUser().getId())) {
@@ -477,6 +485,9 @@ public class RuralCostProjectMessageController extends BaseController {
 
             }
         }
+        //查询总审人员信息
+        List<User> auditUserList = userService.getAuditUserList();
+        projectcontentinfo1.getProject().setBzshbUserList(auditUserList);
         model.addAttribute("processInstanceId",projectReportData.getProcessInstanceId());
         model.addAttribute("projectId", projectcontentinfo1.getProject().getId());
         model.addAttribute("reportedId", projectcontentinfo.getReportedId());
@@ -523,6 +534,11 @@ public class RuralCostProjectMessageController extends BaseController {
         try{
             Projectcontentinfo projectcontentinfo1 = projectcontentinfoService.getByProjectId(projectcontentinfo.getProject().getId());
             ProjectReportData reportData = projectReportDataService.get(projectcontentinfo1.getInfoId());
+            //将审核人员id放入报告信息中
+            if(StringUtils.isBlank(projectcontentinfo.getProjectReportData().getBzshbUserId()) && StringUtils.isBlank(reportData.getBzshbUserId())){
+                addMessage(redirectAttributes, "审核人员未选择,请重新发起请求");
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+            }
             if(null != reportData){
                 if(reportData.getStatus().equals("2")){
                     addMessage(redirectAttributes, "报告已送审,请勿重复提交");
@@ -710,12 +726,18 @@ public class RuralCostProjectMessageController extends BaseController {
         }
         String taskDefKey =  t.getAct().getTaskDefKey();
         List<User> users = null;
+        User auditUser = null;
         ProjectRecords projectRecord = projectRecordsServices.getRuralMasters(projectcontentinfo.getProject().getId());
         projectReportData.setProject(projectRecord);
         if ("bmzr".equals(taskDefKey)){
             users = UserUtils.getByProssType(t.getProcessInstanceId(),2);
-            if (users==null )
-                users = UserUtils.getByRoleActivityEnname("bzshb",3,t.getOfficeId(),"12",t.getCreateBy());
+            if (users==null ) {
+                users = Lists.newArrayList();
+                //添加总审人员
+                auditUser = UserUtils.get(t.getBzshbUserId());
+                users.add(auditUser);
+            }
+                //users = UserUtils.getByRoleActivityEnname("bzshb",3,t.getOfficeId(),"12",t.getCreateBy());
         }else if ("bzshb".equals(taskDefKey)){
             users = UserUtils.getByProssType(t.getProcessInstanceId(),5);
             if (users==null )

+ 25 - 4
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java

@@ -39,6 +39,7 @@ import com.jeeplus.modules.ruralprojectrecords.service.SubProjectInfoService;
 import com.jeeplus.modules.sys.entity.Area;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.service.UserService;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
@@ -96,6 +97,8 @@ public class RuralProjectMessageController extends BaseController {
     private HistoricalService historicalService;
     @Autowired
     private ProjectAccessoryRelationService projectAccessoryRelationService;
+    @Autowired
+    private UserService userService;
 
     private static byte[] SYN_BYTE = new byte[0];
 
@@ -160,7 +163,7 @@ public class RuralProjectMessageController extends BaseController {
         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);
@@ -235,7 +238,10 @@ public class RuralProjectMessageController extends BaseController {
 
             }
         /*}*/
-
+        //查询总审人员信息
+        List<User> auditUserList = userService.getAuditUserList();
+        records.setBzshbUserList(auditUserList);
+        model.addAttribute("projectRecords", records);
         model.addAttribute("projectcontentinfo", projectcontentinfo);
         /*model.addAttribute("projectSort", projectSort);*/
         if (projectReportData != null && projectReportData.getCreateBy() != null && StringUtils.isNotBlank(projectReportData.getCreateBy().getId()) && projectReportData.getCreateBy().getId().equals(UserUtils.getUser().getId())) {
@@ -488,6 +494,10 @@ public class RuralProjectMessageController extends BaseController {
 
             }
         }
+
+        //查询总审人员信息
+        List<User> auditUserList = userService.getAuditUserList();
+        projectcontentinfo1.getProject().setBzshbUserList(auditUserList);
         model.addAttribute("processInstanceId",projectReportData.getProcessInstanceId());
         model.addAttribute("projectId", projectcontentinfo1.getProject().getId());
         model.addAttribute("project", projectcontentinfo1.getProject());
@@ -535,6 +545,11 @@ public class RuralProjectMessageController extends BaseController {
         try{
             Projectcontentinfo projectcontentinfo1 = projectcontentinfoService.getByProjectId(projectcontentinfo.getProject().getId());
             ProjectReportData reportData = projectReportDataService.get(projectcontentinfo1.getInfoId());
+            //将审核人员id放入报告信息中
+            if(StringUtils.isBlank(projectcontentinfo.getProjectReportData().getBzshbUserId()) && StringUtils.isBlank(reportData.getBzshbUserId())){
+                addMessage(redirectAttributes, "审核人员未选择,请重新发起请求");
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+            }
             if(null != reportData){
                 if(reportData.getStatus().equals("2")){
                     addMessage(redirectAttributes, "报告已送审,请勿重复提交");
@@ -722,12 +737,18 @@ public class RuralProjectMessageController extends BaseController {
         }
         String taskDefKey =  t.getAct().getTaskDefKey();
         List<User> users = null;
+        User auditUser = null;
         ProjectRecords projectRecord = projectRecordsServices.getRuralMasters(projectcontentinfo.getProject().getId());
         projectReportData.setProject(projectRecord);
         if ("bmzr".equals(taskDefKey)){
             users = UserUtils.getByProssType(t.getProcessInstanceId(),2);
-            if (users==null )
-                users = UserUtils.getByRoleActivityEnname("bzshb",3,t.getOfficeId(),"12",t.getCreateBy());
+            if (users==null ) {
+                users = Lists.newArrayList();
+                //添加总审人员
+                auditUser = UserUtils.get(t.getBzshbUserId());
+                users.add(auditUser);
+            }
+                //users = UserUtils.getByRoleActivityEnname("bzshb",3,t.getOfficeId(),"12",t.getCreateBy());
         }else if ("bzshb".equals(taskDefKey)){
             users = UserUtils.getByProssType(t.getProcessInstanceId(),5);
             if (users==null )

+ 5 - 2
src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataDao.xml

@@ -52,6 +52,7 @@
 	<select id="get" resultType="ProjectReportData" >
 		SELECT
 			<include refid="projectReportDataColumns"/>
+			,a.bzshb_user_id as "bzshbUserId"
 		FROM project_report_data a
 		<include refid="projectReportDataJoins"/>
 		WHERE a.id = #{id}
@@ -532,7 +533,8 @@
 		    building_fee,
 		    install_fee,
 		    building_rate,
-		    install_rate
+		    install_rate,
+		    bzshb_user_id
 		) VALUES (
 			#{id},
 			#{createBy.id},
@@ -568,7 +570,8 @@
 			#{buildingFee},
 			#{installFee},
 			#{buildingRate},
-			#{installRate}
+			#{installRate},
+			#{bzshbUserId}
 		)
 	</insert>
 	

+ 28 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/cost/projectcontentinfo/reportForm.jsp

@@ -492,6 +492,34 @@
 					</form:select>
 				</div>
 			</div>
+			<c:choose>
+				<c:when test="${not empty projectcontentinfo.projectReportData.bzshbUserId}">
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label"><span class="require-item">*</span>审核人员:</label>
+						<div class="layui-input-block">
+							<select class="form-control required editable-select layui-input" id="bzshbUserId" disabled="disabled" name="projectReportData.bzshbUserId">
+								<option value=""/>
+								<c:forEach items="${projectRecords.bzshbUserList}" var="user" varStatus="status">
+									<option value="${user.id}" <c:if test="${projectcontentinfo.projectReportData.bzshbUserId eq user.id }">selected</c:if>>${user.name}</option>
+								</c:forEach>
+							</select>
+						</div>
+					</div>
+				</c:when>
+				<c:otherwise>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label"><span class="require-item">*</span>审核人员:</label>
+						<div class="layui-input-block">
+							<select class="form-control required editable-select layui-input" id="bzshbUserId"  name="projectReportData.bzshbUserId">
+								<option value=""/>
+								<c:forEach items="${projectRecords.bzshbUserList}" var="user" varStatus="status">
+									<option value="${user.id}">${user.name}</option>
+								</c:forEach>
+							</select>
+						</div>
+					</div>
+				</c:otherwise>
+			</c:choose>
 			<%--<div class="layui-item layui-col-sm6">
 				<label class="layui-form-label"><span class="require-item">*</span>签章类型:</label>
 				<div class="layui-input-block">

+ 1 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsList.jsp

@@ -309,7 +309,7 @@
             ,elem: '#contentTable1'
             ,page: false
             ,cols: [[
-                // {checkbox: true, fixed: true},
+				{checkbox: true, fixed: true},
                 {field:'index',align:'center', title: '序号',width:40}
                 ,{field:'projName',align:'center', title: '项目名称',minWidth:200,templet:function(d){
                         return "<a class=\"attention-info\" title=\"" + d.projName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看项目', '${ctx}/ruralProject/ruralProjectRecords/view?id=" + d.id +"','95%', '95%')\">" + d.projName + "</a>";

+ 28 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/reportForm.jsp

@@ -495,6 +495,34 @@
 					</form:select>
 				</div>
 			</div>
+			<c:choose>
+				<c:when test="${not empty projectcontentinfo.projectReportData.bzshbUserId}">
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label"><span class="require-item">*</span>审核人员:</label>
+						<div class="layui-input-block">
+							<select class="form-control required editable-select layui-input" id="bzshbUserId" disabled="disabled" name="projectReportData.bzshbUserId">
+								<option value=""/>
+								<c:forEach items="${projectRecords.bzshbUserList}" var="user" varStatus="status">
+									<option value="${user.id}" <c:if test="${projectcontentinfo.projectReportData.bzshbUserId eq user.id }">selected</c:if>>${user.name}</option>
+								</c:forEach>
+							</select>
+						</div>
+					</div>
+				</c:when>
+				<c:otherwise>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label"><span class="require-item">*</span>审核人员:</label>
+						<div class="layui-input-block">
+							<select class="form-control required editable-select layui-input" id="bzshbUserId"  name="projectReportData.bzshbUserId">
+								<option value=""/>
+								<c:forEach items="${projectRecords.bzshbUserList}" var="user" varStatus="status">
+									<option value="${user.id}">${user.name}</option>
+								</c:forEach>
+							</select>
+						</div>
+					</div>
+				</c:otherwise>
+			</c:choose>
 			<%--<div class="layui-item layui-col-sm6">
 				<label class="layui-form-label"><span class="require-item">*</span>签章类型:</label>
 				<div class="layui-input-block">

+ 7 - 7
src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoList.jsp

@@ -230,7 +230,7 @@
                 ,{field:'office',align:'center', title: '部门', minWidth:100}
                 // ,{field:'role',align:'center', title: '岗位', minWidth:100}
                 ,{field:'jobGrade',align:'center', title: '职级', minWidth:100}
-                ,{field:'auditUserName',align:'center', title: '校审人员', minWidth:100
+                /*,{field:'auditUserName',align:'center', title: '校审人员', minWidth:100
                     ,event:'auditUserId',config:{type:'select',data:params,verify:true}
                     ,templet:function (d) {
                         if(d.auditUserName){
@@ -240,7 +240,7 @@
                             return  d.auditUserName;
                         }
                         return ''
-                    }}
+                    }}*/
                 ,{field:'status',align:'center', title: '员工状态', minWidth:80}
                 ,{field:'entryDate', align:'center',sort:true,title: '入职日期',width:100}
                 ,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
@@ -281,13 +281,13 @@
             ]
         }).config.cols;
 
-        /**
+       /* /!**
          * 参数cols是table.render({})中的cols属性值
          * aop代理是基于event点击事件进行操作的,
          * 因此cols中务必开启event点击事件!
-         **/
+         **!/
         var aopTable = tableEdit.aopObj(cols); //获取一个aop对象
-        /**
+        /!**
          * 注意:
          * 1、 aopTable.on('tool(xxx)',function (obj) {})
          * 2、 table.on('tool(yyy)',function (obj) {})
@@ -295,7 +295,7 @@
          * 不能同时用,用了会造成后调用者覆盖前调用者。
          * 应该直接用1来代替2,因为1中包含了2中的事件。
          * 如果不相同,则可以同时使用。
-         **/
+         **!/
         aopTable.on('tool(tableEvent)',function (obj) {
             var field = obj.field; //单元格字段
             console.log(field);
@@ -320,7 +320,7 @@
                     parent.layer.msg(data.msg,{icon:1});
                 }
             });
-        });
+        });*/
 
     })