浏览代码

Merge remote-tracking branch 'origin/master'

user5 11 月之前
父节点
当前提交
2b38bba621
共有 20 个文件被更改,包括 936 次插入32 次删除
  1. 156 7
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/controller/ProjectReportSignatureWorkController.java
  2. 2 0
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/dao/ProjectReportSignatureWorkDao.java
  3. 37 0
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/ProjectReportSignatureWork.java
  4. 23 0
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/Type.java
  5. 25 11
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/service/ProjectReportSignatureWorkService.java
  6. 23 0
      src/main/java/com/jeeplus/modules/signatureManagement/businessSignature/controller/BusinessSignatureController.java
  7. 18 0
      src/main/java/com/jeeplus/modules/signatureManagement/businessSignature/entity/BusinessSignatureInfo.java
  8. 22 0
      src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/controller/DistrictDirectorApplicationController.java
  9. 28 0
      src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/controller/ElectronicSignatureController.java
  10. 18 0
      src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/entity/DistrictDirectorApplication.java
  11. 18 0
      src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/entity/ElectronicSignatureInfo.java
  12. 19 0
      src/main/resources/mappings/modules/signature/projectReport/ProjectReportSignatureDao.xml
  13. 1 1
      src/main/webapp/webpage/modules/areaStaff/areaStaffList.jsp
  14. 96 2
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkApprovalForm.jsp
  15. 110 7
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkForm.jsp
  16. 67 2
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkList.jsp
  17. 96 2
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkReportForm.jsp
  18. 59 0
      src/main/webapp/webpage/modules/signatureManagement/businessSignature/BusinessSignatureList.jsp
  19. 59 0
      src/main/webapp/webpage/modules/signatureManagement/electronicSignature/ElectronicSignatureList.jsp
  20. 59 0
      src/main/webapp/webpage/modules/signatureManagement/electronicSignature/districtDirectorApplicationList.jsp

+ 156 - 7
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/controller/ProjectReportSignatureWorkController.java

@@ -18,6 +18,7 @@ import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
 import com.jeeplus.modules.signature.projectReportSignatureWork.entity.ProjectReportSignatureRelation;
 import com.jeeplus.modules.signature.projectReportSignatureWork.entity.ProjectReportSignatureWork;
 import com.jeeplus.modules.signature.projectReportSignatureWork.entity.ReportSignature;
+import com.jeeplus.modules.signature.projectReportSignatureWork.entity.Type;
 import com.jeeplus.modules.signature.projectReportSignatureWork.service.ProjectReportSignatureWorkService;
 import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.User;
@@ -48,10 +49,9 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * @author: 徐滕
@@ -80,6 +80,8 @@ public class ProjectReportSignatureWorkController extends BaseController {
 
     @Autowired
     private WorkProjectNotifyService workProjectNotifyService;
+    @Autowired
+    private HttpServletRequest request;
 
 
 
@@ -164,6 +166,37 @@ public class ProjectReportSignatureWorkController extends BaseController {
 
         }
 
+        WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+        workProjectNotify.setUser(UserUtils.getUser());
+        workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        workProjectNotify.setRemarks("待审批");
+        List<String> typeList= Lists.newArrayList();
+        typeList.add("173");
+        typeList.add("174");
+        String types = StringUtils.join(typeList,',');
+        workProjectNotify.setTypes(types);
+        List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+        for (ProjectReportSignatureWork info : list) {
+            for (WorkProjectNotify notify : notifyList) {
+                if(notify.getNotifyId().equals(info.getReportId()) && "173".equals(notify.getType())){
+                    info.setReportNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        info.setReportNotifyFlag(1);
+                    }
+                }
+                //报告归档资料缺失说明修改权限处理
+                if(notify.getNotifyId().equals(info.getApprovalId()) && "174".equals(notify.getType())){
+                    info.setApprovalNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        info.setApprovalNotifyFlag(4);
+                    }
+                }
+            }
+        }
+
+
+
+
         model.addAttribute("page", page);
         return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkList";
     }
@@ -185,8 +218,61 @@ public class ProjectReportSignatureWorkController extends BaseController {
         //根据当前登录人获取签章负责人信息
         List<User> userList = projectReportSignatureService.getDutyPersonList(user);
         if (null != userList){
-            model.addAttribute("dutyPersonList",userList);
+            Map<String, User> uniqueUserMap = userList.stream()
+                    .collect(Collectors.toMap(
+                            User::getId, // keyMapper
+                            Function.identity(), // valueMapper, 直接返回User对象
+                            (existing, replacement) -> existing // mergeFunction, 如果有冲突,保留现有的
+                    ));
+            List<User> uniqueUserList = new ArrayList<>(uniqueUserMap.values());
+            model.addAttribute("dutyPersonList",uniqueUserList);
         }
+        //获取当前登陆人可申请的签章类型
+        ArrayList<Type> types = new ArrayList<>();
+        String typeList = projectReportSignatureService.getSignatureTypeList(user); //typeList 1:审定单 2:报告
+        //type 1:报告  2:审定单
+        if (StringUtils.isNotBlank(typeList)){
+            if (typeList.contains(",")){
+                String[] split = typeList.split(",");
+                for (String s : split) {
+                    if (s.equals("2")){
+                        Type type = new Type();
+                        type.setValue("1");
+                        type.setLabel("报告签章");
+                        types.add(type);
+                    }
+                    if (s.equals("1")){
+                        Type type = new Type();
+                        type.setValue("2");
+                        type.setLabel("审定单签章");
+                        types.add(type);
+                    }
+                }
+            }else {
+                Type type = new Type();
+                if (typeList.equals("1")){
+                    type.setValue("2");
+                    type.setLabel("审定单签章");
+                    types.add(type);
+                }
+                if (typeList.equals("2")){
+                    type.setValue("1");
+                    type.setLabel("报告签章");
+                    types.add(type);
+                }
+            }
+        }
+        //去重处理
+        Map<String, Type> uniqueTypeMap = types.stream()
+                .collect(Collectors.toMap(
+                        Type::getValue, // keyMapper
+                        Function.identity(), // valueMapper, 直接返回User对象
+                        (existing, replacement) -> existing // mergeFunction, 如果有冲突,保留现有的
+                ));
+        List<Type> uniqueTypeList = new ArrayList<>(uniqueTypeMap.values());
+        model.addAttribute("signatureTypeList",uniqueTypeList);
+
+
 
         //根据签章id查询报告签章信息
         ReportSignature reportSignature=projectReportSignatureService.getReportBySigId(projectReportSignature.getId());
@@ -225,7 +311,14 @@ public class ProjectReportSignatureWorkController extends BaseController {
         //根据当前登录人获取签章负责人信息
         List<User> userList = projectReportSignatureService.getDutyPersonList(user);
         if (null != userList){
-            model.addAttribute("dutyPersonList",userList);
+            Map<String, User> uniqueUserMap = userList.stream()
+                    .collect(Collectors.toMap(
+                            User::getId, // keyMapper
+                            Function.identity(), // valueMapper, 直接返回User对象
+                            (existing, replacement) -> existing // mergeFunction, 如果有冲突,保留现有的
+                    ));
+            List<User> uniqueUserList = new ArrayList<>(uniqueUserMap.values());
+            model.addAttribute("dutyPersonList",uniqueUserList);
         }
 
         model.addAttribute("projectReportSignature", projectReportSignature);
@@ -257,7 +350,14 @@ public class ProjectReportSignatureWorkController extends BaseController {
         //根据当前登录人获取签章负责人信息
         List<User> userList = projectReportSignatureService.getDutyPersonList(user);
         if (null != userList){
-            model.addAttribute("dutyPersonList",userList);
+            Map<String, User> uniqueUserMap = userList.stream()
+                    .collect(Collectors.toMap(
+                            User::getId, // keyMapper
+                            Function.identity(), // valueMapper, 直接返回User对象
+                            (existing, replacement) -> existing // mergeFunction, 如果有冲突,保留现有的
+                    ));
+            List<User> uniqueUserList = new ArrayList<>(uniqueUserMap.values());
+            model.addAttribute("dutyPersonList",uniqueUserList);
         }
 
         model.addAttribute("projectReportSignature", projectReportSignature);
@@ -669,6 +769,26 @@ public class ProjectReportSignatureWorkController extends BaseController {
         if (!beanValidator(model, projectReportSignature)){
             return form(projectReportSignature, model);
         }
+        //校验签章责任人拥有的签章权限与当前的签章类型是否一致
+        if (StringUtils.isNotBlank(projectReportSignature.getDutyPerson()) && StringUtils.isNotBlank(projectReportSignature.getSignatureType())){
+            //获取签章责任人的签章权限
+            User user = UserUtils.get(projectReportSignature.getDutyPerson());
+            String typeList = projectReportSignatureService.getSignatureTypeList(user);
+            if (!typeList.contains(",")){
+                if (typeList.equals("1")){
+                    if (!projectReportSignature.getSignatureType().equals("2")){
+                        addMessage(redirectAttributes, user.getName()+"没有审定单签章权限,无法发起申请");
+                        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+                    }
+                }
+                if (typeList.equals("2")){
+                    if (!projectReportSignature.getSignatureType().equals("1")){
+                        addMessage(redirectAttributes, user.getName()+"没有报告签章权限,无法发起申请");
+                        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+                    }
+                }
+            }
+        }
         try {
             String str = "";
             if (!projectReportSignature.getIsNewRecord()) {//编辑表单保存
@@ -1421,4 +1541,33 @@ public class ProjectReportSignatureWorkController extends BaseController {
         return false;
     }
 
+
+    /**
+     * 校验当前签章责任人拥有的权限
+     * @return
+     */
+    @RequestMapping(value = "checkPromiss")
+    @ResponseBody
+    public Set<String> checkPromiss(){
+        String id = request.getParameter("id");
+
+        User user = UserUtils.get(id);
+        //根据id获取权限
+        String types = projectReportSignatureService.getSignatureTypeList(user);
+        Set<String> list = new LinkedHashSet<>();
+        if (StringUtils.isNotBlank(types)){
+            if (types.contains(",")){
+                String[] split = types.split(",");
+                for (String s : split) {
+                    list.add(s);
+                }
+            }else {
+                list.add(types);
+            }
+        }
+        return list;
+
+
+    }
+
 }

+ 2 - 0
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/dao/ProjectReportSignatureWorkDao.java

@@ -161,4 +161,6 @@ public interface ProjectReportSignatureWorkDao extends CrudDao<ProjectReportSign
     void updateApprovalSignatureSignature(ReportSignature signature);
 
     List<User> getDutyPersons();
+    //根据当前登录人获取可申请的签章类型
+    String getSignatureTypeList(String id);
 }

+ 37 - 0
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/ProjectReportSignatureWork.java

@@ -85,6 +85,43 @@ public class ProjectReportSignatureWork extends ActEntity<ProjectReportSignature
     private List<WorkClientAttachment> workAttachments = Lists.newArrayList();//签章附件
     private List<WorkClientAttachment> signatureWorkAttachments = Lists.newArrayList();//已签章附件
 
+    private Integer reportNotifyFlag; //代办判定条件
+    private String reportNotifyId; //代办判定条件
+    private Integer approvalNotifyFlag; //代办判定条件
+    private String approvalNotifyId; //代办判定条件
+
+    public Integer getReportNotifyFlag() {
+        return reportNotifyFlag;
+    }
+
+    public void setReportNotifyFlag(Integer reportNotifyFlag) {
+        this.reportNotifyFlag = reportNotifyFlag;
+    }
+
+    public String getReportNotifyId() {
+        return reportNotifyId;
+    }
+
+    public void setReportNotifyId(String reportNotifyId) {
+        this.reportNotifyId = reportNotifyId;
+    }
+
+    public Integer getApprovalNotifyFlag() {
+        return approvalNotifyFlag;
+    }
+
+    public void setApprovalNotifyFlag(Integer approvalNotifyFlag) {
+        this.approvalNotifyFlag = approvalNotifyFlag;
+    }
+
+    public String getApprovalNotifyId() {
+        return approvalNotifyId;
+    }
+
+    public void setApprovalNotifyId(String approvalNotifyId) {
+        this.approvalNotifyId = approvalNotifyId;
+    }
+
     public String getLabel() {
         return label;
     }

+ 23 - 0
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/Type.java

@@ -0,0 +1,23 @@
+package com.jeeplus.modules.signature.projectReportSignatureWork.entity;
+
+public class Type {
+    private String value;
+    private String label;
+
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+}

+ 25 - 11
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/service/ProjectReportSignatureWorkService.java

@@ -224,8 +224,14 @@ public class ProjectReportSignatureWorkService extends CrudService<ProjectReport
             if (isDutyPerson){
                     projectReportSignature.getSqlMap().put("dutyPerson",user.getId());
             }else {
-                dataScopeSql = dataScopeFilter(projectReportSignature.getCurrentUser(), "o", "u", "s", MenuStatusEnum.PROJECT_REPORT_WORK.getValue());
-                projectReportSignature.getSqlMap().put("dsf", dataScopeSql);
+                //判断当前登录人所属的部门是否是苏州团队
+                if (user.getOffice().getId().equals("d8cf33fafd2d4f04a603e89f7e28e54c")){
+                    projectReportSignature.getSqlMap().put("sztd", "and a.office_id = 'd8cf33fafd2d4f04a603e89f7e28e54c'");
+                }else {
+                    dataScopeSql = dataScopeFilter(projectReportSignature.getCurrentUser(), "o", "u", "s", MenuStatusEnum.PROJECT_REPORT_WORK.getValue());
+                    projectReportSignature.getSqlMap().put("dsf", dataScopeSql);
+                }
+
 
             }
             projectReportSignature.getSqlMap().put("delFlag", "AND a.del_flag = 0");
@@ -304,9 +310,12 @@ public class ProjectReportSignatureWorkService extends CrudService<ProjectReport
                 signature.preInsert();
                 dao.insertReportSignature(signature);
             }
+            signature.setWorkAttachments(projectReportSignature.getWorkAttachments());
+            //保存签章附件信息
+            this.saveAttachments(signature);
 
-
-        }else {
+        }
+        if (projectReportSignature.getSignatureType().equals("2")) {
             ReportSignature approvalSignature = dao.getApprovalBySigId(projectReportSignature.getId());
             //判断签章类型是否发生改变
             //修改报告签章信息
@@ -318,16 +327,12 @@ public class ProjectReportSignatureWorkService extends CrudService<ProjectReport
                 signature.preInsert();
                 dao.insertApprovalSignature(signature);
             }
-
-
+            signature.setWorkAttachments(projectReportSignature.getWorkAttachments());
+            //保存签章附件信息
+            this.saveAttachmentsApproval(signature);
         }
 
 
-
-        signature.setWorkAttachments(projectReportSignature.getWorkAttachments());
-        //保存签章附件信息
-        this.saveAttachments(signature);
-
         //处理需要签章的报告信息
         //this.disposeProjectReportRelevance(projectReportSignature);
         return "保存报告签章申请成功";
@@ -2774,4 +2779,13 @@ public class ProjectReportSignatureWorkService extends CrudService<ProjectReport
     public void deleteReport(ReportSignature projectReportSignature) {
         dao.deleteReportSignature(projectReportSignature.getId());
     }
+
+    /**
+     * 根据当前登录人获取可以申请的签章类型
+     * @param user
+     * @return
+     */
+    public String getSignatureTypeList(User user) {
+        return  dao.getSignatureTypeList(user.getId());
+    }
 }

+ 23 - 0
src/main/java/com/jeeplus/modules/signatureManagement/businessSignature/controller/BusinessSignatureController.java

@@ -20,6 +20,8 @@ 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.workprojectnotify.entity.WorkProjectNotify;
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import org.activiti.engine.HistoryService;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -53,6 +55,8 @@ public class BusinessSignatureController extends BaseController {
     protected HistoryService historyService;
     @Autowired
     private AreaStaffService areaStaffService;
+    @Autowired
+    private WorkProjectNotifyService workProjectNotifyService;
 
     @ModelAttribute
     public BusinessSignatureInfo get(@RequestParam(required=false) String id) {
@@ -105,6 +109,25 @@ public class BusinessSignatureController extends BaseController {
             }
         }
 
+        //查询所有和当前登陆人有关的项目的审核
+        WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+        workProjectNotify.setUser(UserUtils.getUser());
+        workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        workProjectNotify.setRemarks("待审批");
+        workProjectNotify.setType("193");
+        List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+        for (BusinessSignatureInfo info : list) {
+            for (WorkProjectNotify notify : notifyList) {
+                if(notify.getNotifyId().equals(info.getId())){
+                    info.setNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        info.setNotifyFlag(1);
+                    }
+                    break;
+                }
+            }
+        }
+
         model.addAttribute("page", page);
         return "modules/signatureManagement/businessSignature/BusinessSignatureList";
     }

+ 18 - 0
src/main/java/com/jeeplus/modules/signatureManagement/businessSignature/entity/BusinessSignatureInfo.java

@@ -31,11 +31,29 @@ public class BusinessSignatureInfo extends ActEntity<BusinessSignatureInfo> {
 
     private String useTypeStr;
     private Integer useTypeShow;
+    private Integer notifyFlag; //代办判定条件
+    private String notifyId; //代办判定条件
 
 
     private List<WorkClientAttachment> workAttachments = Lists.newArrayList();//附件信息
     private List<WorkClientAttachment> workAttachmentArchives = Lists.newArrayList();	//附件信息(审核结束时存档附件)
 
+    public Integer getNotifyFlag() {
+        return notifyFlag;
+    }
+
+    public void setNotifyFlag(Integer notifyFlag) {
+        this.notifyFlag = notifyFlag;
+    }
+
+    public String getNotifyId() {
+        return notifyId;
+    }
+
+    public void setNotifyId(String notifyId) {
+        this.notifyId = notifyId;
+    }
+
     public String getSealNumber() {
         return sealNumber;
     }

+ 22 - 0
src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/controller/DistrictDirectorApplicationController.java

@@ -84,6 +84,28 @@ public class DistrictDirectorApplicationController extends BaseController {
             model.addAttribute("flag","1");
         }
         Page<DistrictDirectorApplication> page = directorApplicationService.findPage(new Page<DistrictDirectorApplication>(request, response), directorApplication);
+        List<DistrictDirectorApplication> list = page.getList();
+        //查询所有和当前登陆人有关的项目的审核
+        WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+        workProjectNotify.setUser(UserUtils.getUser());
+        workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        workProjectNotify.setRemarks("待审批");
+        workProjectNotify.setType("261");
+        List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+        for (DistrictDirectorApplication info : list) {
+            for (WorkProjectNotify notify : notifyList) {
+                if(notify.getNotifyId().equals(info.getId())){
+                    info.setNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        info.setNotifyFlag(1);
+                    }
+                    break;
+                }
+            }
+        }
+
+
+
         model.addAttribute("page", page);
         return "modules/signatureManagement/electronicSignature/districtDirectorApplicationList";
     }

+ 28 - 0
src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/controller/ElectronicSignatureController.java

@@ -24,6 +24,8 @@ 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.workprojectnotify.entity.WorkProjectNotify;
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import org.activiti.engine.HistoryService;
 import org.activiti.engine.history.HistoricProcessInstance;
 import org.activiti.engine.runtime.ProcessInstance;
@@ -60,6 +62,8 @@ public class ElectronicSignatureController extends BaseController {
     protected HistoryService historyService;
     @Autowired
     private AreaStaffService areaStaffService;
+    @Autowired
+    protected WorkProjectNotifyService workProjectNotifyService;
 
     @Autowired
     private DistrictDirectorApplicationService directorApplicationService;
@@ -122,6 +126,30 @@ public class ElectronicSignatureController extends BaseController {
             model.addAttribute("isArea","1");
             model.addAttribute("districtId",directorApplication.get(0).getId());
         }
+
+        //查询所有和当前登陆人有关的项目的审核
+        WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+        workProjectNotify.setUser(UserUtils.getUser());
+        workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        workProjectNotify.setRemarks("待审批");
+        workProjectNotify.setType("192");
+        List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
+        for (ElectronicSignatureInfo info : list) {
+            for (WorkProjectNotify notify : notifyList) {
+                if (notify.getNotifyId().equals(info.getId())){
+                    info.setNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        info.setNotifyFlag(1);
+                    }
+                    break;
+                }
+            }
+        }
+
+
+
+
         model.addAttribute("page", page);
         return "modules/signatureManagement/electronicSignature/ElectronicSignatureList";
     }

+ 18 - 0
src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/entity/DistrictDirectorApplication.java

@@ -29,6 +29,24 @@ public class DistrictDirectorApplication extends ActEntity<DistrictDirectorAppli
 
     private Date beginDate;   //申请开始时间
     private Date endDate;   //申请结束时间
+    private Integer notifyFlag; //代办判定条件
+    private String notifyId; //代办判定条件
+
+    public Integer getNotifyFlag() {
+        return notifyFlag;
+    }
+
+    public void setNotifyFlag(Integer notifyFlag) {
+        this.notifyFlag = notifyFlag;
+    }
+
+    public String getNotifyId() {
+        return notifyId;
+    }
+
+    public void setNotifyId(String notifyId) {
+        this.notifyId = notifyId;
+    }
 
     public String getTerritory() {
         return territory;

+ 18 - 0
src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/entity/ElectronicSignatureInfo.java

@@ -31,6 +31,24 @@ public class ElectronicSignatureInfo extends ActEntity<ElectronicSignatureInfo>
     private String useTypeStr;
     private Integer useTypeShow;
 
+    private Integer notifyFlag; //代办判定条件
+    private String notifyId; //代办判定条件
+
+    public Integer getNotifyFlag() {
+        return notifyFlag;
+    }
+
+    public void setNotifyFlag(Integer notifyFlag) {
+        this.notifyFlag = notifyFlag;
+    }
+
+    public String getNotifyId() {
+        return notifyId;
+    }
+
+    public void setNotifyId(String notifyId) {
+        this.notifyId = notifyId;
+    }
 
     private List<WorkClientAttachment> workAttachments = Lists.newArrayList();//附件信息
 

+ 19 - 0
src/main/resources/mappings/modules/signature/projectReport/ProjectReportSignatureDao.xml

@@ -218,6 +218,9 @@
 			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
 				AND ( a.company_id = #{currentUser.company.id} ${sqlMap.dsf} )
 			</if>
+			<if test="sqlMap.sztd !=null and sqlMap.sztd!=''">
+				AND ( a.company_id = #{currentUser.company.id} and a.create_by = #{currentUser.id} ${sqlMap.sztd} )
+			</if>
 			<if test="sqlMap.dutyPerson !=null and sqlMap.dutyPerson!=''">
 				AND ( a.create_by = #{sqlMap.dutyPerson} or rsr.duty_person = #{sqlMap.dutyPerson} or rsa.duty_person = #{sqlMap.dutyPerson})
 			</if>
@@ -291,6 +294,9 @@
 			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
 				AND ( a.company_id = #{currentUser.company.id} ${sqlMap.dsf} )
 			</if>
+			<if test="sqlMap.sztd !=null and sqlMap.sztd!=''">
+				AND ( a.company_id = #{currentUser.company.id} and a.create_by = #{currentUser.id}  ${sqlMap.sztd})
+			</if>
 			<if test="sqlMap.dutyPerson !=null and sqlMap.dutyPerson!=''">
 				AND ( a.create_by = #{sqlMap.dutyPerson} or rsr.duty_person = #{sqlMap.dutyPerson} or rsa.duty_person = #{sqlMap.dutyPerson})
 			</if>
@@ -891,4 +897,17 @@
 				a.del_flag = '0' and a.area_leader_id is not null and a.area_leader_id != ''
 	</select>
 
+	<select id="getSignatureTypeList" resultType="string">
+		SELECT
+			GROUP_CONCAT(DISTINCT sei.use_type) as signatureType
+		FROM
+			sys_area_staff_user_info a
+		LEFT JOIN
+			sys_area_staff sas ON a.area_staff_id = sas.id AND sas.del_flag = '0'
+		LEFT JOIN
+			signature_electronic_info sei ON sei.create_by = sas.area_leader_id AND sei.del_flag = '0' and sei.status = '5'
+		WHERE
+			(a.user_id = #{id} or sas.area_leader_id = #{id}) and a.del_flag = '0'
+	</select>
+
 </mapper>

+ 1 - 1
src/main/webapp/webpage/modules/areaStaff/areaStaffList.jsp

@@ -105,7 +105,7 @@
 							</td>
 							<td style="text-align: center">
 								<c:if test="${areaStaffInfo.hierarchy == 2}">
-									地区负责人
+									签章负责人
 								</c:if>
 								<c:if test="${areaStaffInfo.grade == 3}">
 									<c:if test="${areaStaffInfo.isTemplate=='0'}">临时</c:if>

+ 96 - 2
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkApprovalForm.jsp

@@ -71,6 +71,100 @@
         $(document).ready(function() {
             layui.use(['form', 'layer'], function () {
                 var form = layui.form;
+                var person = "";
+                var sigType=$("#signatureType").val();
+                form.on('select(signatureType)', function(data){
+                    sigType = data.value; // 获得被选中的值
+                    console.log('sigType',sigType)
+                    if (person != "" && sigType != ""){
+                        $.ajax({
+                            async:false,
+                            type:'post',
+                            url:'${ctx}/projectReport/projectReportSignature/checkPromiss',
+                            data:{
+                                "id":person,
+                            },
+                            success:function(data){
+                                //data  1:审定单  2:报告
+                                //sigType   1:报告  2:审定单
+                                console.log('data',data)
+                                if (data.length  == 1){
+                                    for (let i = 0; i < data.length; i++) {
+                                        console.log('info',data[i] )
+                                        if(sigType == "2"){
+                                            if (data[i] != "1" ){
+                                                top.layer.msg("该签章责任人没有审定单签章权限", {icon: 0});
+                                                $("#dutyPerson").val("")
+                                                form.render();
+                                                return;
+
+                                            }
+                                        }
+
+                                        if(sigType == "1"){
+                                            if (data[i] != "2"){
+                                                top.layer.msg("该签章责任人没有报告签章权限", {icon: 0});
+                                                $("#dutyPerson").val("")
+                                                form.render();
+                                                return;
+
+                                            }
+                                        }
+                                    }
+                                }
+
+
+                            }
+                        })
+                    }
+
+                });
+                // select 事件
+                form.on('select(dutyPerson)', function(data){
+                    person = data.value; // 获得被选中的值
+                    if (sigType != "" && person != ""){
+                        $.ajax({
+                            async:false,
+                            type:'post',
+                            url:'${ctx}/projectReport/projectReportSignature/checkPromiss',
+                            data:{
+                                "id":person,
+                            },
+                            success:function(data){
+                                //data  1:审定单  2:报告
+                                //sigType   1:报告  2:审定单
+                                console.log('data',data)
+                                if (data.length  == 1){
+                                    for (let i = 0; i < data.length; i++) {
+                                        console.log('info',data[i] )
+                                        if(sigType == "2"){
+                                            if (data[i] != "1" ){
+                                                top.layer.msg("该签章责任人没有审定单签章权限", {icon: 0});
+                                                $("#dutyPerson").val("");
+                                                form.render();
+                                                return;
+                                            }
+                                        }
+                                        if(sigType == "1"){
+                                            if (data[i] != "2"){
+                                                top.layer.msg("该签章责任人没有报告签章权限", {icon: 0});
+                                                $("#dutyPerson").val("");
+                                                form.render();
+                                                return;
+                                            }
+                                        }
+                                    }
+                                }
+
+
+                            }
+                        })
+                    }else {
+                        top.layer.msg("请选择签章类型", {icon: 0});
+                        return;
+                    }
+
+                });
             });
 
             $("#attachment_btn").click(function () {
@@ -490,7 +584,7 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>签章类型:</label>
                     <div class="layui-input-block readOnlyFFF">
-                        <form:select placeholder="请选择" path="signatureType" class="form-control judgment editable-select layui-input" disabled="true" value="${projectReportSignature.signatureType}">
+                        <form:select placeholder="请选择" path="signatureType" lay-filter="signatureType" class="form-control judgment editable-select layui-input" disabled="true" value="${projectReportSignature.signatureType}">
                             <form:option value=""/>
                             <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
                         </form:select>
@@ -512,7 +606,7 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>签章责任人:</label>
                     <div class="layui-input-block readOnlyFFF">
-                        <select class="form-control judgment layui-input" id="dutyPerson" name="dutyPerson">
+                        <select class="form-control judgment layui-input" id="dutyPerson" lay-filter="dutyPerson" name="dutyPerson">
                             <option value=""/>
                             <c:forEach items="${dutyPersonList}" var="user">
                                 <option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>

+ 110 - 7
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkForm.jsp

@@ -72,8 +72,105 @@
         $(document).ready(function() {
             layui.use(['form', 'layer'], function () {
                 var form = layui.form;
+                var layer = layui.layer;
+                var person = "";
+                var sigType="";
+                form.on('select(signatureType)', function(data){
+                    sigType = data.value; // 获得被选中的值
+                    console.log('sigType',sigType)
+                    if (person != "" && sigType != ""){
+                        $.ajax({
+                            async:false,
+                            type:'post',
+                            url:'${ctx}/projectReport/projectReportSignature/checkPromiss',
+                            data:{
+                                "id":person,
+                            },
+                            success:function(data){
+                                //data  1:审定单  2:报告
+                                //sigType   1:报告  2:审定单
+                                console.log('data',data)
+                                if (data.length  == 1){
+                                    for (let i = 0; i < data.length; i++) {
+                                        console.log('info',data[i] )
+                                        if(sigType == "2"){
+                                            if (data[i] != "1" ){
+                                                top.layer.msg("该签章责任人没有审定单签章权限", {icon: 0});
+                                                $("#dutyPerson").val("")
+                                                form.render();
+                                                return;
+
+                                            }
+                                        }
+
+                                        if(sigType == "1"){
+                                            if (data[i] != "2"){
+                                                top.layer.msg("该签章责任人没有报告签章权限", {icon: 0});
+                                                $("#dutyPerson").val("")
+                                                form.render();
+                                                return;
+
+                                            }
+                                        }
+                                    }
+                                }
+
+
+                            }
+                        })
+                    }
+
+                });
+                // select 事件
+                form.on('select(dutyPerson)', function(data){
+                    person = data.value; // 获得被选中的值
+                    if (sigType != "" && person != ""){
+                        $.ajax({
+                            async:false,
+                            type:'post',
+                            url:'${ctx}/projectReport/projectReportSignature/checkPromiss',
+                            data:{
+                                "id":person,
+                            },
+                            success:function(data){
+                                //data  1:审定单  2:报告
+                                //sigType   1:报告  2:审定单
+                                console.log('data',data)
+                                if (data.length  == 1){
+                                    for (let i = 0; i < data.length; i++) {
+                                        console.log('info',data[i] )
+                                        if(sigType == "2"){
+                                            if (data[i] != "1" ){
+                                                top.layer.msg("该签章责任人没有审定单签章权限", {icon: 0});
+                                                $("#dutyPerson").val("");
+                                                form.render();
+                                                return;
+                                            }
+                                        }
+                                        if(sigType == "1"){
+                                            if (data[i] != "2"){
+                                                top.layer.msg("该签章责任人没有报告签章权限", {icon: 0});
+                                                $("#dutyPerson").val("");
+                                                form.render();
+                                                return;
+                                            }
+                                        }
+                                    }
+                                }
+
+
+                            }
+                        })
+                    }else {
+                        top.layer.msg("请选择签章类型", {icon: 0});
+                        return;
+                    }
+
+                });
             });
 
+
+
             $("#attachment_btn").click(function () {
                 $("#attachment_file").click();
             });
@@ -94,6 +191,7 @@
                 }
             });
 
+
         });
 
         function insertTitle(tValue){
@@ -577,10 +675,16 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>签章类型:</label>
                     <div class="layui-input-block readOnlyFFF">
-                        <form:select placeholder="请选择" path="signatureType"  class="form-control required judgment editable-select layui-input" id="signatureType" value="${projectReportSignature.signatureType}">
-                            <form:option value=""/>
-                            <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
-                        </form:select>
+<%--                        <form:select placeholder="请选择" path="signatureType"  class="form-control required judgment editable-select layui-input" id="signatureType" value="${projectReportSignature.signatureType}">--%>
+<%--                            <form:option value=""/>--%>
+<%--                            <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>--%>
+<%--                        </form:select>--%>
+                        <select class="form-control judgment required layui-input" lay-filter="signatureType" id="signatureType" name="signatureType">
+                            <option value=""></option>
+                            <c:forEach items="${signatureTypeList}" var="type">
+                                <option value="${type.value}" <c:if test="${projectReportSignature.signatureType eq type.value }">selected</c:if>>${type.label}</option>
+                            </c:forEach>
+                        </select>
                     </div>
                 </div>
 
@@ -599,8 +703,8 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>签章责任人:</label>
                     <div class="layui-input-block readOnlyFFF">
-                        <select class="form-control judgment required layui-input" id="dutyPerson" name="dutyPerson">
-                            <option value=""/>
+                        <select class="form-control judgment required layui-input" id="dutyPerson" lay-filter="dutyPerson" name="dutyPerson">
+                            <option value=""></option>
                             <c:forEach items="${dutyPersonList}" var="user">
                                 <option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>
                             </c:forEach>
@@ -854,7 +958,6 @@
         });
 
     });
-
 </script>
 </body>
 </html>

+ 67 - 2
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkList.jsp

@@ -242,7 +242,14 @@
         function show(d) {
             ////对操作进行初始化
             var xml="<div class=\"layui-btn-group\">";
-
+            if(d.reportNotifyFlag != undefined && d.reportNotifyFlag !=null && "" != d.reportNotifyFlag && d.reportNotifyFlag == 1)
+            {
+                xml+="<a href=\"#\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' onclick=\"notifyDialogre('报告签章申请审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.reportNotifyId +"&home=projectReportSignature','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 审批</a>";
+            }
+            if(d.approvalNotifyFlag != undefined && d.approvalNotifyFlag !=null && "" != d.approvalNotifyFlag && d.approvalNotifyFlag == 4)
+            {
+                xml+="<a href=\"#\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' onclick=\"notifyDialogre('审定单签章申请审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.approvalNotifyId +"&home=projectReportSignature','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 审批</a>";
+            }
             if(d.approvalCancancel1 != undefined && d.approvalCancancel1 =="1")
             {
                 xml+="<a href=\"#\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' onclick=\"openDialogre('审定单签章申请', '${ctx}/projectReport/projectReportSignature/approvalForm?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 审定单签章</a>";
@@ -480,7 +487,7 @@
         table.on('tool(test)', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
             var data = obj.data //获得当前行数据
                 , layEvent = obj.event; //获得 lay-event 对应的值
-            if (layEvent === 'more' && (data.falg == 1 || data.reportStatus == 5 || data.approvalStatus == 5)) {
+            if (layEvent === 'more' ) {
                 //下拉菜单
                 dropdown.render({
                     elem: this //触发事件的 DOM 对象
@@ -591,6 +598,10 @@
                     ,"approvalProcInsId":"${projectReportSignature.approvalProcInsId}"
                     ,"signatureUrl":"${projectReportSignature.signatureUrl}"
                     ,"number":"${projectReportSignature.number}"
+                    ,"reportNotifyFlag":"${projectReportSignature.reportNotifyFlag}"
+                    ,"reportNotifyId":"${projectReportSignature.reportNotifyId}"
+                    ,"approvalNotifyFlag":"${projectReportSignature.approvalNotifyFlag}"
+                    ,"approvalNotifyId":"${projectReportSignature.approvalNotifyId}"
                     ,"signatureUrlFlag":"${projectReportSignature.signatureUrlFlag}"
                     ,"signatureContractId":"${projectReportSignature.signatureContractId}"
                     ,"reportSignatureUrl":"${projectReportSignature.reportSignatureUrl}"
@@ -646,6 +657,60 @@
     $(window).resize(function(){
         resizeListWindow2();
     });
+
+    function notifyDialogre(title,url,width,height,target){
+        if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+            width='auto';
+            height='auto';
+        }else{//如果是PC端,根据用户设置的width和height显示。
+
+        }
+        top.layer.open({
+            type: 2,
+            area: [width, height],
+            title: title,
+            skin:"three-btns",
+            maxmin: true, //开启最大化最小化按钮
+            content: url ,
+            btn: ['通过','驳回','关闭'],
+            btn1: function(index, layero){
+                var body = top.layer.getChildFrame('body', index);
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var inputForm = body.find('#inputForm');
+                var top_iframe;
+                if(target){
+                    top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                }else{
+                    top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                }
+                inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                if(iframeWin.contentWindow.doSubmit(1) ){
+                    top.layer.close(index);//关闭对话框。
+                    setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                }
+            },
+            btn2:function(index,layero){
+                var body = top.layer.getChildFrame('body', index);
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var inputForm = body.find('#inputForm');
+                var top_iframe;
+                if(target){
+                    top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                }else{
+                    top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                }
+                inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                if(iframeWin.contentWindow.doSubmit(2) ){
+                    top.layer.close(index);//关闭对话框。
+                    setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                }
+                return false;
+            },
+            btn3: function(index){
+            }
+        });
+
+    }
 </script>
 </body>
 </html>

+ 96 - 2
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkReportForm.jsp

@@ -72,6 +72,100 @@
         $(document).ready(function() {
             layui.use(['form', 'layer'], function () {
                 var form = layui.form;
+                var person = "";
+                var sigType=$("#signatureType").val();;
+                form.on('select(signatureType)', function(data){
+                    sigType = data.value; // 获得被选中的值
+                    console.log('sigType',sigType)
+                    if (person != "" && sigType != ""){
+                        $.ajax({
+                            async:false,
+                            type:'post',
+                            url:'${ctx}/projectReport/projectReportSignature/checkPromiss',
+                            data:{
+                                "id":person,
+                            },
+                            success:function(data){
+                                //data  1:审定单  2:报告
+                                //sigType   1:报告  2:审定单
+                                console.log('data',data)
+                                if (data.length  == 1){
+                                    for (let i = 0; i < data.length; i++) {
+                                        console.log('info',data[i] )
+                                        if(sigType == "2"){
+                                            if (data[i] != "1" ){
+                                                top.layer.msg("该签章责任人没有审定单签章权限", {icon: 0});
+                                                $("#dutyPerson").val("")
+                                                form.render();
+                                                return;
+
+                                            }
+                                        }
+
+                                        if(sigType == "1"){
+                                            if (data[i] != "2"){
+                                                top.layer.msg("该签章责任人没有报告签章权限", {icon: 0});
+                                                $("#dutyPerson").val("")
+                                                form.render();
+                                                return;
+
+                                            }
+                                        }
+                                    }
+                                }
+
+
+                            }
+                        })
+                    }
+
+                });
+                // select 事件
+                form.on('select(dutyPerson)', function(data){
+                    person = data.value; // 获得被选中的值
+                    if (sigType != "" && person != ""){
+                        $.ajax({
+                            async:false,
+                            type:'post',
+                            url:'${ctx}/projectReport/projectReportSignature/checkPromiss',
+                            data:{
+                                "id":person,
+                            },
+                            success:function(data){
+                                //data  1:审定单  2:报告
+                                //sigType   1:报告  2:审定单
+                                console.log('data',data)
+                                if (data.length  == 1){
+                                    for (let i = 0; i < data.length; i++) {
+                                        console.log('info',data[i] )
+                                        if(sigType == "2"){
+                                            if (data[i] != "1" ){
+                                                top.layer.msg("该签章责任人没有审定单签章权限", {icon: 0});
+                                                $("#dutyPerson").val("");
+                                                form.render();
+                                                return;
+                                            }
+                                        }
+                                        if(sigType == "1"){
+                                            if (data[i] != "2"){
+                                                top.layer.msg("该签章责任人没有报告签章权限", {icon: 0});
+                                                $("#dutyPerson").val("");
+                                                form.render();
+                                                return;
+                                            }
+                                        }
+                                    }
+                                }
+
+
+                            }
+                        })
+                    }else {
+                        top.layer.msg("请选择签章类型", {icon: 0});
+                        return;
+                    }
+
+                });
             });
 
             $("#attachment_btn").click(function () {
@@ -578,7 +672,7 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>签章类型:</label>
                     <div class="layui-input-block readOnlyFFF">
-                        <form:select placeholder="请选择" path="signatureType" class="form-control judgment editable-select layui-input" disabled="true" id="signatureType" value="${projectReportSignature.signatureType}">
+                        <form:select placeholder="请选择" path="signatureType" lay-filter="signatureType" class="form-control judgment editable-select layui-input" disabled="true" id="signatureType" value="${projectReportSignature.signatureType}">
                             <form:option value=""/>
                             <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
                         </form:select>
@@ -600,7 +694,7 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>签章责任人:</label>
                     <div class="layui-input-block readOnlyFFF">
-                        <select class="form-control judgment required layui-input" id="dutyPerson" name="dutyPerson">
+                        <select class="form-control judgment required layui-input" id="dutyPerson" lay-filter="dutyPerson" name="dutyPerson">
                             <option value=""/>
                             <c:forEach items="${dutyPersonList}" var="user">
                                 <option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>

+ 59 - 0
src/main/webapp/webpage/modules/signatureManagement/businessSignature/BusinessSignatureList.jsp

@@ -379,6 +379,10 @@
                 ,{field:'op',align:'center',title:"操作",width:240,templet:function(d){
                         ////对操作进行初始化
                         var xml="<div class=\"layui-btn-group\">";
+                        if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+                        {
+                            xml+="<a href=\"#\" onclick=\"notifyDialogre('业务印章申请审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=businessSignatureInfo','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 审批</a>";
+                        }
                         if(d.canedit1 != undefined && d.canedit1 =="1")
                         {
                             xml+="<a href=\"#\" onclick=\"openDialogre('修改申请', '${ctx}/businessSignature/businessSignature/form?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改</a>";
@@ -422,6 +426,8 @@
                     ,"useType":"${fns:getMainDictLabels(electronicSignatureInfo.useType,',','businessSignature', '')}"
                     ,"createDate":"<fmt:formatDate value="${electronicSignatureInfo.createDate}" pattern="yyyy-MM-dd"/>"
                     ,"status":"${electronicSignatureInfo.status}"
+                    ,"notifyFlag":"${electronicSignatureInfo.notifyFlag}"
+                    ,"notifyId":"${electronicSignatureInfo.notifyId}"
                     ,"createName":"<c:out value="${electronicSignatureInfo.createBy.name}" escapeXml="false"/>"
                     <c:choose><c:when test="${flag == '1' or fns:getUser().id == electronicSignatureInfo.createBy.id}">
                     <shiro:hasPermission name="businessSignature:businessSignature:del">,"candel":	<c:choose><c:when test="${(electronicSignatureInfo.status == 1 or electronicSignatureInfo.status == 3 or electronicSignatureInfo.status == 4) && fns:getUser().id == electronicSignatureInfo.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
@@ -456,6 +462,59 @@
     $(window).resize(function(){
         resizeListWindow2();
     });
+    function notifyDialogre(title,url,width,height,target){
+        if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+            width='auto';
+            height='auto';
+        }else{//如果是PC端,根据用户设置的width和height显示。
+
+        }
+        top.layer.open({
+            type: 2,
+            area: [width, height],
+            title: title,
+            skin:"three-btns",
+            maxmin: true, //开启最大化最小化按钮
+            content: url ,
+            btn: ['通过','驳回','关闭'],
+            btn1: function(index, layero){
+                var body = top.layer.getChildFrame('body', index);
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var inputForm = body.find('#inputForm');
+                var top_iframe;
+                if(target){
+                    top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                }else{
+                    top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                }
+                inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                if(iframeWin.contentWindow.doSubmit(1) ){
+                    top.layer.close(index);//关闭对话框。
+                    setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                }
+            },
+            btn2:function(index,layero){
+                var body = top.layer.getChildFrame('body', index);
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var inputForm = body.find('#inputForm');
+                var top_iframe;
+                if(target){
+                    top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                }else{
+                    top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                }
+                inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                if(iframeWin.contentWindow.doSubmit(2) ){
+                    top.layer.close(index);//关闭对话框。
+                    setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                }
+                return false;
+            },
+            btn3: function(index){
+            }
+        });
+
+    }
 </script>
 </body>
 </html>

+ 59 - 0
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/ElectronicSignatureList.jsp

@@ -444,6 +444,10 @@
                 ,{field:'op',align:'center',title:"操作",width:240,templet:function(d){
                         ////对操作进行初始化
                         var xml="<div class=\"layui-btn-group\">";
+                        if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+                        {
+                            xml+="<a href=\"#\" onclick=\"notifyDialogre('电子印章申请审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=electronicSignatureInfo','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 审批</a>";
+                        }
                         if(d.canedit1 != undefined && d.canedit1 =="1")
                         {
                             xml+="<a href=\"#\" onclick=\"openDialogre('修改申请', '${ctx}/electronicSignature/electronicSignature/form?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改</a>";
@@ -488,6 +492,8 @@
                     ,"useType":"${fns:getMainDictLabels(electronicSignatureInfo.useType,',','electronicSignature', '')}"
                     ,"createDate":"<fmt:formatDate value="${electronicSignatureInfo.createDate}" pattern="yyyy-MM-dd"/>"
                     ,"status":"${electronicSignatureInfo.status}"
+                    ,"notifyFlag":"${electronicSignatureInfo.notifyFlag}"
+                    ,"notifyId":"${electronicSignatureInfo.notifyId}"
                     ,"createName":"<c:out value="${electronicSignatureInfo.createBy.name}" escapeXml="false"/>"
                     <c:choose><c:when test="${flag == '1' or fns:getUser().id == electronicSignatureInfo.createBy.id}">
                     <shiro:hasPermission name="electronicSignature:electronicSignature:del">,"candel":	<c:choose><c:when test="${(electronicSignatureInfo.status == 1 or electronicSignatureInfo.status == 3 or electronicSignatureInfo.status == 4) && fns:getUser().id == electronicSignatureInfo.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
@@ -521,6 +527,59 @@
     $(window).resize(function(){
         resizeListWindow2();
     });
+    function notifyDialogre(title,url,width,height,target){
+        if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+            width='auto';
+            height='auto';
+        }else{//如果是PC端,根据用户设置的width和height显示。
+
+        }
+        top.layer.open({
+            type: 2,
+            area: [width, height],
+            title: title,
+            skin:"three-btns",
+            maxmin: true, //开启最大化最小化按钮
+            content: url ,
+            btn: ['通过','驳回','关闭'],
+            btn1: function(index, layero){
+                var body = top.layer.getChildFrame('body', index);
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var inputForm = body.find('#inputForm');
+                var top_iframe;
+                if(target){
+                    top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                }else{
+                    top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                }
+                inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                if(iframeWin.contentWindow.doSubmit(1) ){
+                    top.layer.close(index);//关闭对话框。
+                    setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                }
+            },
+            btn2:function(index,layero){
+                var body = top.layer.getChildFrame('body', index);
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var inputForm = body.find('#inputForm');
+                var top_iframe;
+                if(target){
+                    top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                }else{
+                    top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                }
+                inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                if(iframeWin.contentWindow.doSubmit(2) ){
+                    top.layer.close(index);//关闭对话框。
+                    setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                }
+                return false;
+            },
+            btn3: function(index){
+            }
+        });
+
+    }
 </script>
 </body>
 </html>

+ 59 - 0
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/districtDirectorApplicationList.jsp

@@ -429,6 +429,10 @@
                     }}
                 ,{field:'op',align:'center',title:"操作",minwidth:150,templet:function(d){
                         var xml="<div class=\"layui-btn-group\">";
+                        if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+                        {
+                            xml+="<a href=\"#\" onclick=\"notifyDialogre('签章责任人申请申请审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=districtDirectorApplication','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 审批</a>";
+                        }
                         if(d.canedit2 != undefined && d.canedit2 =="1")
                         {
                             xml+="<a href=\"#\" onclick=\"openDialogre('调整申请', '${ctx}/districtDirectorApplication/districtDirectorApplication/modify?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改</a>";
@@ -463,6 +467,8 @@
                     ,"status":"${districtDirectorApplication.status}"
                     ,"territory":"${districtDirectorApplication.territory}"
                     ,"areaDirector":"${districtDirectorApplication.areaDirector}"
+                    ,"notifyFlag":"${districtDirectorApplication.notifyFlag}"
+                    ,"notifyId":"${districtDirectorApplication.notifyId}"
                     ,"createName":"<c:out value="${districtDirectorApplication.createBy.name}" escapeXml="false"/>"
                     <c:choose><c:when test="${flag == '1' or fns:getUser().id == districtDirectorApplication.createBy.id}">
                     ,"candel":	<c:choose><c:when test="${('1' == flag && districtDirectorApplication.status == 5)}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
@@ -494,6 +500,59 @@
     $(window).resize(function(){
         resizeListWindow2();
     });
+    function notifyDialogre(title,url,width,height,target){
+        if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+            width='auto';
+            height='auto';
+        }else{//如果是PC端,根据用户设置的width和height显示。
+
+        }
+        top.layer.open({
+            type: 2,
+            area: [width, height],
+            title: title,
+            skin:"three-btns",
+            maxmin: true, //开启最大化最小化按钮
+            content: url ,
+            btn: ['通过','驳回','关闭'],
+            btn1: function(index, layero){
+                var body = top.layer.getChildFrame('body', index);
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var inputForm = body.find('#inputForm');
+                var top_iframe;
+                if(target){
+                    top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                }else{
+                    top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                }
+                inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                if(iframeWin.contentWindow.doSubmit(1) ){
+                    top.layer.close(index);//关闭对话框。
+                    setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                }
+            },
+            btn2:function(index,layero){
+                var body = top.layer.getChildFrame('body', index);
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var inputForm = body.find('#inputForm');
+                var top_iframe;
+                if(target){
+                    top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                }else{
+                    top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                }
+                inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                if(iframeWin.contentWindow.doSubmit(2) ){
+                    top.layer.close(index);//关闭对话框。
+                    setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                }
+                return false;
+            },
+            btn3: function(index){
+            }
+        });
+
+    }
 </script>
 </body>
 </html>