Ver código fonte

选查项目模块变更

user5 4 anos atrás
pai
commit
76b09d2170
19 arquivos alterados com 1398 adições e 42 exclusões
  1. 26 10
      src/main/java/com/jeeplus/modules/act/web/ActTaskController.java
  2. 48 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralPeojectRecordChooseCheckDao.java
  3. 7 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralWorkProjectUserDao.java
  4. 27 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java
  5. 56 4
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralPeojectRecordChooseCheckService.java
  6. 17 1
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  7. 622 1
      src/main/resources/mappings/modules/ruralprojectrecords/RuralPeojectRecordChooseCheckDao.xml
  8. 2 1
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml
  9. 5 0
      src/main/resources/mappings/modules/workProjectUser/RuralWorkProjectUserDao.xml
  10. 17 2
      src/main/resources/mappings/modules/workclientinfo/WorkClientInfoDao.xml
  11. 9 11
      src/main/webapp/webpage/modules/ruralprojectrecords/check/all/ruralProjectRecordsAllForm.jsp
  12. 10 6
      src/main/webapp/webpage/modules/ruralprojectrecords/check/all/ruralProjectRecordsAllList.jsp
  13. 3 3
      src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsAudit.jsp
  14. 473 0
      src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsDownAudit.jsp
  15. 10 0
      src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsForm.jsp
  16. 7 3
      src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsList.jsp
  17. 10 0
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsView.jsp
  18. 41 0
      src/main/webapp/webpage/modules/sys/sysHome.jsp
  19. 8 0
      src/main/webapp/webpage/modules/workclientinfo/workClientInfoList.jsp

+ 26 - 10
src/main/java/com/jeeplus/modules/act/web/ActTaskController.java

@@ -10,6 +10,8 @@ import com.jeeplus.common.web.BaseController;
 import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.act.utils.ActUtils;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+import com.jeeplus.modules.ruralprojectrecords.service.RuralPeojectRecordChooseCheckService;
 import com.jeeplus.modules.sys.entity.Role;
 import com.jeeplus.modules.sys.entity.SysRoleActivity;
 import com.jeeplus.modules.sys.entity.User;
@@ -50,6 +52,8 @@ public class ActTaskController extends BaseController {
 	private WorkActivityProcessService workActivityProcessService;
 	@Autowired
 	private SystemService systemService;
+	@Autowired
+	private RuralPeojectRecordChooseCheckService ruralPeojectRecordChooseCheckService;
 
 	/**
 	 * 获取待办列表
@@ -238,19 +242,25 @@ public class ActTaskController extends BaseController {
 					}
 					histoicFlows.add(a);
 				}
+				RuralProjectRecords project = null;
+				Integer flag = 0;
 				for (int i =0;i<lists.size();i++){
 					WorkActivityProcess activityProcess = lists.get(i);
 					Act a = new Act();
 					if (activityProcess.getActivity() ==null) {
-						if (StringUtils.isNotBlank(userName)) {
-							a.setAssigneeName(userName);
-						} else {
-							a.setAssigneeName(UserUtils.get(lists.get(lists.size() - 1).getCreateBy().getId()).getName());
-						}
-						if("销假申请".equals(activityProcess.getRemarks())||"续假申请".equals(activityProcess.getRemarks())){
-							a.setTaskName("开始");
-						}else{
-							a.setTaskName("重申|撤销");
+						//根据processInstanceId查询是否为项目表中的信息,如果是则判定是否是”重申|撤销“展示,如果是则跳过
+						project = ruralPeojectRecordChooseCheckService.getProjectByCheckProcessInstanceId(activityProcess.getProcessInstanceId());
+						if(null == project){
+							if (StringUtils.isNotBlank(userName)) {
+								a.setAssigneeName(userName);
+							} else {
+								a.setAssigneeName(UserUtils.get(lists.get(lists.size() - 1).getCreateBy().getId()).getName());
+							}
+							if("销假申请".equals(activityProcess.getRemarks())||"续假申请".equals(activityProcess.getRemarks())){
+								a.setTaskName("开始");
+							}else{
+								a.setTaskName("重申|撤销");
+							}
 						}
 					}else if (activityProcess.getActivity().getUser()!=null && StringUtils.isNotBlank(activityProcess.getActivity().getUser().getId())){
 						String id = activityProcess.getActivity().getUser().getId();
@@ -261,6 +271,7 @@ public class ActTaskController extends BaseController {
 						}
 						a.setTaskName(activityProcess.getActivity().getName());
 					}else{
+						flag++;
 						SysRoleActivity role = activityProcess.getActivity().getRole();
 						String buffer = UserUtils.getRoleActivityEnname(UserUtils.getSelectCompany().getId(),UserUtils.getUser());
 						if (activityProcess.getProcessUserList()!=null && activityProcess.getProcessUserList().size()!=0){
@@ -290,7 +301,12 @@ public class ActTaskController extends BaseController {
 					if (i==0){
 						a.setBeginDate(endDate);
 					}
-					histoicFlows.add(a);
+					if(StringUtils.isNotBlank(a.getTaskName())){
+						if(flag == 1 && null != project) {
+							a.setBeginDate(endDate);
+						}
+						histoicFlows.add(a);
+					}
 				}
 			}
 			model.addAttribute("histoicFlowList", histoicFlows);

+ 48 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralPeojectRecordChooseCheckDao.java

@@ -4,6 +4,8 @@ import com.jeeplus.common.persistence.CrudDao;
 import com.jeeplus.common.persistence.annotation.MyBatisDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 
+import java.util.List;
+
 /**
  * @author: 大猫
  * @create: 2021-03-09 09:57
@@ -13,4 +15,50 @@ public interface RuralPeojectRecordChooseCheckDao extends CrudDao<RuralProjectRe
     void updateProcessIdAndStatus(RuralProjectRecords projectRecords);
 
     void updateSelectiveById(RuralProjectRecords projectRecords);
+
+    /**
+     * 根据checkProcessInstanceId查询项目信息
+     * @param checkProcessInstanceId
+     * @return
+     */
+    RuralProjectRecords getProjectByCheckProcessInstanceId(String checkProcessInstanceId);
+
+    /**
+     * 总工或总审主任展示数据
+     * @param projectRecords
+     * @return
+     */
+    Integer queryCountByZg(RuralProjectRecords projectRecords);
+    /**
+     * 总工或总审主任展示数据
+     * @param projectRecords
+     * @return
+     */
+    List<RuralProjectRecords> findListByZg(RuralProjectRecords projectRecords);
+
+    /**
+     * 线下归档员展示数据
+     * @param projectRecords
+     * @return
+     */
+    Integer queryCountByXxgdy(RuralProjectRecords projectRecords);
+    /**
+     * 线下归档员展示数据
+     * @param projectRecords
+     * @return
+     */
+    List<RuralProjectRecords> findListByXxgdy(RuralProjectRecords projectRecords);
+
+    /**
+     * 普通员工展示数据
+     * @param projectRecords
+     * @return
+     */
+    Integer queryCountByYg(RuralProjectRecords projectRecords);
+    /**
+     * 普通员工展示数据
+     * @param projectRecords
+     * @return
+     */
+    List<RuralProjectRecords> findListByYg(RuralProjectRecords projectRecords);
 }

+ 7 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralWorkProjectUserDao.java

@@ -33,4 +33,11 @@ public interface RuralWorkProjectUserDao {
      * @return
      */
     List<User> getProjectprincipalList(@Param("projectId") String projectId);
+
+    /**
+     * 获取项目负责人
+     * @param projectId
+     * @return
+     */
+    List<User> getProjectMasterUser(@Param("projectId") String projectId);
 }

+ 27 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java

@@ -146,6 +146,9 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	private Integer checkStatus;   //检查状态
 	private String bzshbUserId; //总审用户id
 	private String checkUserId; //检查发起人用户id
+	private String checkRemarks; //选查要求
+	private String fileNum; //选查案卷号
+	private String fileNumTow; //选查确认案卷号
 	private List<User> bzshbUserList;  //总审用户信息
 
 	//归档批次信息
@@ -1077,4 +1080,28 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	public void setFilingName(String filingName) {
 		this.filingName = filingName;
 	}
+
+	public String getCheckRemarks() {
+		return checkRemarks;
+	}
+
+	public void setCheckRemarks(String checkRemarks) {
+		this.checkRemarks = checkRemarks;
+	}
+
+	public String getFileNum() {
+		return fileNum;
+	}
+
+	public void setFileNum(String fileNum) {
+		this.fileNum = fileNum;
+	}
+
+	public String getFileNumTow() {
+		return fileNumTow;
+	}
+
+	public void setFileNumTow(String fileNumTow) {
+		this.fileNumTow = fileNumTow;
+	}
 }

+ 56 - 4
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralPeojectRecordChooseCheckService.java

@@ -13,6 +13,7 @@ import com.jeeplus.modules.ruralprojectrecords.dao.RuralWorkProjectUserDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
 import com.jeeplus.modules.sys.entity.Office;
+import com.jeeplus.modules.sys.entity.Role;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.service.OfficeService;
 import com.jeeplus.modules.sys.utils.DictUtils;
@@ -94,7 +95,7 @@ public class RuralPeojectRecordChooseCheckService extends CrudService<RuralPeoje
 
     public Page<RuralProjectRecords> findPage(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
         //设置数据权限
-        if(!UserUtils.getUser().isAdmin()) {
+        /*if(!UserUtils.getUser().isAdmin()) {
             String dataScopeSql = dataScopeFilterOR(projectRecords.getCurrentUser(), "o", "u", "s", MenuStatusEnum.OVERALL_WORK_RECORDS.getValue());
             //判断查询为工程咨询信息
             if(StringUtils.isBlank(dataScopeSql)){
@@ -102,12 +103,37 @@ public class RuralPeojectRecordChooseCheckService extends CrudService<RuralPeoje
             }
             projectRecords.getSqlMap().put("dsf", dataScopeSql);
             projectRecords.getSqlMap().put("delFlag", "AND a.del_flag = 0");
+        }*/
+        int count = 0;
+        List<RuralProjectRecords> recordsList = Lists.newArrayList();
+        //获取当前登陆人信息
+        User user = UserUtils.getUser();
+        //获取当前登陆人角色信息
+        Role role = user.getRoleList().get(0);
+        switch (role.getEnname()){
+            //总工或总审主任展示数据
+            case "zg":
+            case "zszr":
+                projectRecords.setBzshbUserId(user.getId());
+                count = dao.queryCountByZg(projectRecords);
+                recordsList = dao.findListByZg(projectRecords);
+                break;
+            //线下归档员展示数据
+            case "xxgdgly":
+                count = dao.queryCountByXxgdy(projectRecords);
+                recordsList = dao.findListByXxgdy(projectRecords);
+                break;
+            //普通员工展示数据
+            default :
+                projectRecords.setCreateBy(user);
+                count = dao.queryCountByYg(projectRecords);
+                recordsList = dao.findListByYg(projectRecords);
+                break;
         }
-        int count = dao.queryCount(projectRecords);
+
         page.setCount(count);
         page.setCountFlag(false);
         projectRecords.setPage(page);
-        List<RuralProjectRecords> recordsList = findList(projectRecords);
         //查询负责人信息
         for (RuralProjectRecords records : recordsList) {
             this.queryContractInfos(records);
@@ -300,6 +326,11 @@ public class RuralPeojectRecordChooseCheckService extends CrudService<RuralPeoje
     @Transactional(readOnly = false)
     public String auditSave(RuralProjectRecords projectRecords, List<User> auditUsers) throws Exception {
         String taskDefKey = projectRecords.getAct().getTaskDefKey();
+        if ("master".equals(taskDefKey)) {
+            if ("".equals(projectRecords.getAct().getFlag())) {
+                projectRecords.getAct().setFlag("yes");
+            }
+        }
         RuralProjectRecords records = this.get(projectRecords.getId());
         //设置当前审核中总审人员流程信息
         if (StringUtils.isBlank(records.getBzshbUserId()) && !"no1".equals(projectRecords.getAct().getFlag()) && !"modifyApply".equals(taskDefKey)) {
@@ -420,6 +451,7 @@ public class RuralPeojectRecordChooseCheckService extends CrudService<RuralPeoje
                 if ("master".equals(taskDefKey) && "1".equals(count)) {
                     taskCount = count;
                     if ("yes".equals(projectRecords.getAct().getFlag())) {
+                        projectRecords.setCheckStatus(ProjectStatusEnum.IN_APRL.getValue());
                         notifyRole = "总工审批";
                         workActivityProcess.setIsApproval("1");
                         enname = "bzshb";
@@ -439,6 +471,7 @@ public class RuralPeojectRecordChooseCheckService extends CrudService<RuralPeoje
                 if ("bzshb".equals(taskDefKey) && "2".equals(count)) {
                     taskCount = count;
                     if ("yes".equals(projectRecords.getAct().getFlag())) {
+                        projectRecords.setCheckStatus(ProjectStatusEnum.IN_APRL.getValue());
                         notifyRole = "项目归档员审批";
                         workActivityProcess.setIsApproval("1");
                         enname = "bggdgly";
@@ -589,10 +622,16 @@ public class RuralPeojectRecordChooseCheckService extends CrudService<RuralPeoje
                     notify.setNotifyId(projectRecords.getId());
                     userList = workProjectNotifyService.readByNotifyId(notify);
                     users.add(user);
+                    //查询项目负责人
+                    List<User> projectMasterUser = workProjectUserDao.getProjectMasterUser(projectRecords.getId());
+                    User masterUser = null;
+                    if(projectMasterUser.size()>0){
+                        masterUser = projectMasterUser.get(0);
+                    }
                     User informUser = UserUtils.get(records.getCheckUserId());
                     WorkProjectNotify workProjectNotify = UtilNotify
                             .saveNotify(projectRecords.getId(),
-                                    informUser,
+                                    masterUser,
                                     projectRecords.getCompany().getId(),
                                     titleStr,
                                     str,
@@ -713,4 +752,17 @@ public class RuralPeojectRecordChooseCheckService extends CrudService<RuralPeoje
         }
     }
 
+    /**
+     * 根据checkProcessInstanceId查询项目信息
+     * @param checkProcessInstanceId
+     * @return
+     */
+    public RuralProjectRecords getProjectByCheckProcessInstanceId(String checkProcessInstanceId){
+        RuralProjectRecords projectRecords = new RuralProjectRecords();
+        if(StringUtils.isNotBlank(checkProcessInstanceId)){
+            projectRecords = dao.getProjectByCheckProcessInstanceId(checkProcessInstanceId);
+        }
+        return projectRecords;
+    }
+
 }

+ 17 - 1
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -1386,13 +1386,29 @@ public class WorkProjectNotifyController extends BaseController {
 							break;
 						}
 					}
+					Act act = getByAct(ruralProjectRecords.getCheckProcessInstanceId());
+					String type = "";
+					if ("master".equals(act.getTaskDefKey())) {
+						type = "1";
+					} else if ("bzshb".equals(act.getTaskDefKey())) {
+						type = "2";
+					} else if ("bggdgly".equals(act.getTaskDefKey())) {
+						type = "3";
+					}
 					//查询总审人员信息
 					List<User> auditUserList = userService.getAuditUserList();
 					ruralProjectRecords.setBzshbUserList(auditUserList);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
 						return "modules/ruralprojectrecords/ruralProjectRecordsView";
 					}else if (workProjectNotify.getRemarks().contains("待审批") && !"1".equals(workProjectNotify.getStatus())) {
-						return "modules/ruralprojectrecords/check/ruralProjectRecordsAudit";
+						switch (type){
+							case "1":
+								return "modules/ruralprojectrecords/check/ruralProjectRecordsAudit";
+							case "2":
+								return "modules/ruralprojectrecords/check/ruralProjectRecordsAudit";
+							case "3":
+								return "modules/ruralprojectrecords/check/ruralProjectRecordsDownAudit";
+						}
 					} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
 						return "modules/ruralprojectrecords/check/ruralProjectRecordsModify";
 					} else {

+ 622 - 1
src/main/resources/mappings/modules/ruralprojectrecords/RuralPeojectRecordChooseCheckDao.xml

@@ -50,7 +50,10 @@
 		a.project_type as "projectType",
 		a.over_due_status as "overDueStatus",
 		a.attachment_project_sort as "attachmentProjectSort",
-		a.bzshb_user_id as "bzshbUserId"
+		a.bzshb_user_id as "bzshbUserId",
+		a.check_remarks as "check_Remarks",
+		a.file_num as "fileNum",
+		a.file_num_tow as "fileNumTow"
 	</sql>
 
     <sql id="projectRecordsJoins">
@@ -280,6 +283,15 @@
           check_process_instance_id = #{checkProcessInstanceId},
           check_status = #{checkStatus},
           check_user_id = #{checkUserId}
+        <if test="checkRemarks!=null and checkRemarks!=''">
+            ,check_remarks = #{checkRemarks}
+        </if>
+        <if test="fileNum!=null and fileNum!=''">
+            ,file_num = #{fileNum}
+        </if>
+        <if test="fileNumTow!=null and fileNumTow!=''">
+            ,file_num_tow = #{fileNumTow}
+        </if>
         WHERE id = #{id}
     </update>
 
@@ -288,6 +300,15 @@
 		UPDATE rural_project_records SET
 			check_status = #{checkStatus},
 			check_process_instance_id = #{checkProcessInstanceId}
+            <if test="checkRemarks!=null and checkRemarks!=''">
+                ,check_remarks = #{checkRemarks}
+            </if>
+            <if test="fileNum!=null and fileNum!=''">
+                ,file_num = #{fileNum}
+            </if>
+            <if test="fileNumTow!=null and fileNumTow!=''">
+                ,file_num_tow = #{fileNumTow}
+            </if>
 		WHERE id = #{id}
 	</update>
 
@@ -349,6 +370,15 @@
             <if test="updateDate!=null">
                 update_date = #{updateDate}
             </if>
+            <if test="checkRemarks!=null and checkRemarks!=''">
+                ,check_remarks = #{checkRemarks}
+            </if>
+            <if test="fileNum!=null and fileNum!=''">
+                ,file_num = #{fileNum}
+            </if>
+            <if test="fileNumTow!=null and fileNumTow!=''">
+                ,file_num_tow = #{fileNumTow}
+            </if>
         </set>
         WHERE id = #{id}
     </update>
@@ -363,4 +393,595 @@
             id = #{id}
     </update>
 
+    <select id="getProjectByCheckProcessInstanceId" resultType="RuralProjectRecords" >
+        SELECT
+        <include refid="projectRecordsColumns"/>
+        ,a.check_user_id as "checkUserId"
+        ,ifnull(a.check_status ,0) as "checkStatus"
+        ,a.check_process_instance_id AS "checkProcessInstanceId"
+        ,su.name AS "createBy.name"
+        ,o.top_company AS "office.name"
+        FROM rural_project_records a
+        <include refid="projectRecordsJoins"/>
+        LEFT JOIN sys_user su ON su.id = a.create_by
+        LEFT JOIN sys_office o ON o.id = a.office_id
+        WHERE a.check_process_instance_id = #{checkProcessInstanceId}
+    </select>
+
+
+    <select id="findListByZg" resultType="RuralProjectRecords" >
+        SELECT
+        <include refid="projectRecordsColumns"/>
+        ,a.check_user_id as "checkUserId"
+        ,ifnull(a.check_status ,0) as "checkStatus"
+        ,a.check_process_instance_id AS "checkProcessInstanceId"
+        ,wci.name AS "workContractInfo.name",
+        wct.id AS "workContractInfo.client.id",
+        wct.name AS "workContractInfo.client.name",
+        o.top_company AS "office.name"
+        FROM rural_project_records a
+        <include refid="projectRecordsJoins"/>
+
+        <if test="leaderNameStr !=null and leaderNameStr !=''">
+            LEFT JOIN work_project_user w on a.id = w.project_id
+            LEFT JOIN sys_user su on w.user_id = su.id
+        </if>
+        LEFT JOIN work_project_user w1 on a.id = w1.project_id
+        LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+        LEFT JOIN work_client_info wct on wci.client_id = wct.id
+        LEFT JOIN sys_office o ON o.id = a.office_id
+        <where>
+            a.del_flag = 0
+            and a.status = 5
+            <if test="projectId != null and projectId != ''">
+                AND a.project_id like concat('%',#{projectId},'%')
+            </if>
+            <if test="projectName != null and projectName != ''">
+                AND a.project_name like concat(concat('%',#{projectName}),'%')
+            </if>
+            <if test="scaleType != null and scaleType != ''">
+                AND a.scale_type = #{scaleType}
+            </if>
+            <if test="scaleUnit != null and scaleUnit != ''">
+                AND a.scale_unit = #{scaleUnit}
+            </if>
+            <if test="scaleQuantity != null and scaleQuantity != ''">
+                AND a.scale_quantity = #{scaleQuantity}
+            </if>
+            <if test="projectSite != null and projectSite != ''">
+                AND a.project_site LIKE concat('%',#{projectSite},'%')
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND a.remarks LIKE concat('%',#{remarks},'%')
+            </if>
+            <if test="projectDesc != null and projectDesc != ''">
+                AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+            </if>
+            <if test="area != null and area.id != null and area.id != ''">
+                AND a.area_id = #{area.id}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+                AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+                AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+                AND wci.contract_price = #{workContractInfo.contractPrice}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+                AND wci.contract_type = #{workContractInfo.contractType}
+            </if>
+            <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+                AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+            </if>
+            <if test="leaderNameStr !=null and leaderNameStr !=''">
+                AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+            </if>
+            <if test="checkStatus !=null">
+                <choose>
+                    <when test="checkStatus == 0">
+                        AND a.check_status is null
+                    </when>
+                    <otherwise>
+                        AND a.check_status = #{checkStatus}
+                    </otherwise>
+                </choose>
+            </if>
+            <if test="beginDate !=null">
+                AND a.create_date >= #{beginDate}
+            </if>
+            <if test="endDate !=null">
+                AND a.create_date &lt; #{endDate}
+            </if>
+            <if test="typeList !=null and typeList !=''">
+                and project_type in
+                <foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            and a.bzshb_user_id = #{bzshbUserId}
+        </where>
+        GROUP BY a.id
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+            <otherwise>
+                order by a.check_status,a.update_date desc
+            </otherwise>
+        </choose>
+    </select>
+
+    <select id="queryCountByZg" resultType="java.lang.Integer" >
+        SELECT count(DISTINCT a.id)
+        FROM rural_project_records a
+        <if test="leaderNameStr !=null and leaderNameStr !=''">
+            LEFT JOIN work_project_user w on a.id = w.project_id
+            LEFT JOIN sys_user su on w.user_id = su.id
+        </if>
+        LEFT JOIN work_project_user w1 on a.id = w1.project_id
+        <if test="workContractInfo !=null">
+            LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+        </if>
+        <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+            LEFT JOIN work_client_info wct on wci.client_id = wct.id
+        </if>
+        <where>
+            a.del_flag = 0
+            and a.status = 5
+            <if test="projectId != null and projectId != ''">
+                AND a.project_id like concat('%',#{projectId},'%')
+            </if>
+            <if test="projectName != null and projectName != ''">
+                AND a.project_name like concat(concat('%',#{projectName}),'%')
+            </if>
+            <if test="scaleType != null and scaleType != ''">
+                AND a.scale_type = #{scaleType}
+            </if>
+            <if test="scaleUnit != null and scaleUnit != ''">
+                AND a.scale_unit = #{scaleUnit}
+            </if>
+            <if test="scaleQuantity != null and scaleQuantity != ''">
+                AND a.scale_quantity = #{scaleQuantity}
+            </if>
+            <if test="projectSite != null and projectSite != ''">
+                AND a.project_site LIKE concat('%',#{projectSite},'%')
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND a.remarks LIKE concat('%',#{remarks},'%')
+            </if>
+            <if test="projectDesc != null and projectDesc != ''">
+                AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+            </if>
+            <if test="area != null and area.id != null and area.id != ''">
+                AND a.area_id = #{area.id}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+                AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+                AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+                AND wci.contract_price = #{workContractInfo.contractPrice}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+                AND wci.contract_type = #{workContractInfo.contractType}
+            </if>
+            <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+                AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+            </if>
+            <if test="leaderNameStr !=null and leaderNameStr !=''">
+                AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+            </if>
+            <if test="checkStatus !=null">
+                <choose>
+                    <when test="checkStatus == 0">
+                        AND a.check_status is null
+                    </when>
+                    <otherwise>
+                        AND a.check_status = #{checkStatus}
+                    </otherwise>
+                </choose>
+            </if>
+            <if test="beginDate !=null">
+                AND a.create_date >= #{beginDate}
+            </if>
+            <if test="endDate !=null">
+                AND a.create_date &lt; #{endDate}
+            </if>
+            <if test="typeList !=null and typeList !=''">
+                and project_type in
+                <foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            and a.bzshb_user_id = #{bzshbUserId}
+        </where>
+    </select>
+
+
+
+    <select id="findListByXxgdy" resultType="RuralProjectRecords" >
+        SELECT
+        <include refid="projectRecordsColumns"/>
+        ,a.check_user_id as "checkUserId"
+        ,ifnull(a.check_status ,0) as "checkStatus"
+        ,a.check_process_instance_id AS "checkProcessInstanceId"
+        ,wci.name AS "workContractInfo.name",
+        wct.id AS "workContractInfo.client.id",
+        wct.name AS "workContractInfo.client.name",
+        o.top_company AS "office.name"
+        FROM rural_project_records a
+        <include refid="projectRecordsJoins"/>
+
+        <if test="leaderNameStr !=null and leaderNameStr !=''">
+            LEFT JOIN work_project_user w on a.id = w.project_id
+            LEFT JOIN sys_user su on w.user_id = su.id
+        </if>
+        LEFT JOIN work_project_user w1 on a.id = w1.project_id
+        LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+        LEFT JOIN work_client_info wct on wci.client_id = wct.id
+        LEFT JOIN sys_office o ON o.id = a.office_id
+        <where>
+            a.del_flag = 0
+            and a.status = 5
+            <if test="projectId != null and projectId != ''">
+                AND a.project_id like concat('%',#{projectId},'%')
+            </if>
+            <if test="projectName != null and projectName != ''">
+                AND a.project_name like concat(concat('%',#{projectName}),'%')
+            </if>
+            <if test="scaleType != null and scaleType != ''">
+                AND a.scale_type = #{scaleType}
+            </if>
+            <if test="scaleUnit != null and scaleUnit != ''">
+                AND a.scale_unit = #{scaleUnit}
+            </if>
+            <if test="scaleQuantity != null and scaleQuantity != ''">
+                AND a.scale_quantity = #{scaleQuantity}
+            </if>
+            <if test="projectSite != null and projectSite != ''">
+                AND a.project_site LIKE concat('%',#{projectSite},'%')
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND a.remarks LIKE concat('%',#{remarks},'%')
+            </if>
+            <if test="projectDesc != null and projectDesc != ''">
+                AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+            </if>
+            <if test="area != null and area.id != null and area.id != ''">
+                AND a.area_id = #{area.id}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+                AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+                AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+                AND wci.contract_price = #{workContractInfo.contractPrice}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+                AND wci.contract_type = #{workContractInfo.contractType}
+            </if>
+            <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+                AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+            </if>
+            <if test="leaderNameStr !=null and leaderNameStr !=''">
+                AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+            </if>
+            <if test="checkStatus !=null">
+                <choose>
+                    <when test="checkStatus == 0">
+                        AND a.check_status is null
+                    </when>
+                    <otherwise>
+                        AND a.check_status = #{checkStatus}
+                    </otherwise>
+                </choose>
+            </if>
+            <if test="beginDate !=null">
+                AND a.create_date >= #{beginDate}
+            </if>
+            <if test="endDate !=null">
+                AND a.create_date &lt; #{endDate}
+            </if>
+            <if test="typeList !=null and typeList !=''">
+                and project_type in
+                <foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            and (a.check_status is not null)
+        </where>
+        GROUP BY a.id
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+            <otherwise>
+                order by a.check_status,a.update_date desc
+            </otherwise>
+        </choose>
+    </select>
+
+    <select id="queryCountByXxgdy" resultType="java.lang.Integer" >
+        SELECT count(DISTINCT a.id)
+        FROM rural_project_records a
+        <if test="leaderNameStr !=null and leaderNameStr !=''">
+            LEFT JOIN work_project_user w on a.id = w.project_id
+            LEFT JOIN sys_user su on w.user_id = su.id
+        </if>
+        LEFT JOIN work_project_user w1 on a.id = w1.project_id
+        <if test="workContractInfo !=null">
+            LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+        </if>
+        <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+            LEFT JOIN work_client_info wct on wci.client_id = wct.id
+        </if>
+        <where>
+            a.del_flag = 0
+            and a.status = 5
+            <if test="projectId != null and projectId != ''">
+                AND a.project_id like concat('%',#{projectId},'%')
+            </if>
+            <if test="projectName != null and projectName != ''">
+                AND a.project_name like concat(concat('%',#{projectName}),'%')
+            </if>
+            <if test="scaleType != null and scaleType != ''">
+                AND a.scale_type = #{scaleType}
+            </if>
+            <if test="scaleUnit != null and scaleUnit != ''">
+                AND a.scale_unit = #{scaleUnit}
+            </if>
+            <if test="scaleQuantity != null and scaleQuantity != ''">
+                AND a.scale_quantity = #{scaleQuantity}
+            </if>
+            <if test="projectSite != null and projectSite != ''">
+                AND a.project_site LIKE concat('%',#{projectSite},'%')
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND a.remarks LIKE concat('%',#{remarks},'%')
+            </if>
+            <if test="projectDesc != null and projectDesc != ''">
+                AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+            </if>
+            <if test="area != null and area.id != null and area.id != ''">
+                AND a.area_id = #{area.id}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+                AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+                AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+                AND wci.contract_price = #{workContractInfo.contractPrice}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+                AND wci.contract_type = #{workContractInfo.contractType}
+            </if>
+            <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+                AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+            </if>
+            <if test="leaderNameStr !=null and leaderNameStr !=''">
+                AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+            </if>
+            <if test="checkStatus !=null">
+                <choose>
+                    <when test="checkStatus == 0">
+                        AND a.check_status is null
+                    </when>
+                    <otherwise>
+                        AND a.check_status = #{checkStatus}
+                    </otherwise>
+                </choose>
+            </if>
+            <if test="beginDate !=null">
+                AND a.create_date >= #{beginDate}
+            </if>
+            <if test="endDate !=null">
+                AND a.create_date &lt; #{endDate}
+            </if>
+            <if test="typeList !=null and typeList !=''">
+                and project_type in
+                <foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            and (a.check_status is not null)
+        </where>
+    </select>
+
+
+
+    <select id="findListByYg" resultType="RuralProjectRecords" >
+        SELECT
+        <include refid="projectRecordsColumns"/>
+        ,a.check_user_id as "checkUserId"
+        ,ifnull(a.check_status ,0) as "checkStatus"
+        ,a.check_process_instance_id AS "checkProcessInstanceId"
+        ,wci.name AS "workContractInfo.name",
+        wct.id AS "workContractInfo.client.id",
+        wct.name AS "workContractInfo.client.name",
+        o.top_company AS "office.name"
+        FROM rural_project_records a
+        <include refid="projectRecordsJoins"/>
+
+        LEFT JOIN work_project_user w on a.id = w.project_id and w.is_master=1
+        LEFT JOIN sys_user su on w.user_id = su.id
+        LEFT JOIN work_project_user w1 on a.id = w1.project_id
+        LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+        LEFT JOIN work_client_info wct on wci.client_id = wct.id
+        LEFT JOIN sys_office o ON o.id = a.office_id
+        <where>
+            a.del_flag = 0
+            and a.status = 5
+            <if test="projectId != null and projectId != ''">
+                AND a.project_id like concat('%',#{projectId},'%')
+            </if>
+            <if test="projectName != null and projectName != ''">
+                AND a.project_name like concat(concat('%',#{projectName}),'%')
+            </if>
+            <if test="scaleType != null and scaleType != ''">
+                AND a.scale_type = #{scaleType}
+            </if>
+            <if test="scaleUnit != null and scaleUnit != ''">
+                AND a.scale_unit = #{scaleUnit}
+            </if>
+            <if test="scaleQuantity != null and scaleQuantity != ''">
+                AND a.scale_quantity = #{scaleQuantity}
+            </if>
+            <if test="projectSite != null and projectSite != ''">
+                AND a.project_site LIKE concat('%',#{projectSite},'%')
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND a.remarks LIKE concat('%',#{remarks},'%')
+            </if>
+            <if test="projectDesc != null and projectDesc != ''">
+                AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+            </if>
+            <if test="area != null and area.id != null and area.id != ''">
+                AND a.area_id = #{area.id}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+                AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+                AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+                AND wci.contract_price = #{workContractInfo.contractPrice}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+                AND wci.contract_type = #{workContractInfo.contractType}
+            </if>
+            <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+                AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+            </if>
+            <if test="leaderNameStr !=null and leaderNameStr !=''">
+                AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+            </if>
+            <if test="checkStatus !=null">
+                <choose>
+                    <when test="checkStatus == 0">
+                        AND a.check_status is null
+                    </when>
+                    <otherwise>
+                        AND a.check_status = #{checkStatus}
+                    </otherwise>
+                </choose>
+            </if>
+            <if test="beginDate !=null">
+                AND a.create_date >= #{beginDate}
+            </if>
+            <if test="endDate !=null">
+                AND a.create_date &lt; #{endDate}
+            </if>
+            <if test="typeList !=null and typeList !=''">
+                and project_type in
+                <foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            and a.check_status is not null and w.user_id = #{createBy.id}
+        </where>
+        GROUP BY a.id
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+            <otherwise>
+                order by a.check_status,a.update_date desc
+            </otherwise>
+        </choose>
+    </select>
+
+    <select id="queryCountByYg" resultType="java.lang.Integer" >
+        SELECT count(DISTINCT a.id)
+        FROM rural_project_records a
+        LEFT JOIN work_project_user w on a.id = w.project_id and w.is_master=1
+        LEFT JOIN sys_user su on w.user_id = su.id
+        LEFT JOIN work_project_user w1 on a.id = w1.project_id
+        <if test="workContractInfo !=null">
+            LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+        </if>
+        <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+            LEFT JOIN work_client_info wct on wci.client_id = wct.id
+        </if>
+        <where>
+            a.del_flag = 0
+            and a.status = 5
+            <if test="projectId != null and projectId != ''">
+                AND a.project_id like concat('%',#{projectId},'%')
+            </if>
+            <if test="projectName != null and projectName != ''">
+                AND a.project_name like concat(concat('%',#{projectName}),'%')
+            </if>
+            <if test="scaleType != null and scaleType != ''">
+                AND a.scale_type = #{scaleType}
+            </if>
+            <if test="scaleUnit != null and scaleUnit != ''">
+                AND a.scale_unit = #{scaleUnit}
+            </if>
+            <if test="scaleQuantity != null and scaleQuantity != ''">
+                AND a.scale_quantity = #{scaleQuantity}
+            </if>
+            <if test="projectSite != null and projectSite != ''">
+                AND a.project_site LIKE concat('%',#{projectSite},'%')
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND a.remarks LIKE concat('%',#{remarks},'%')
+            </if>
+            <if test="projectDesc != null and projectDesc != ''">
+                AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+            </if>
+            <if test="area != null and area.id != null and area.id != ''">
+                AND a.area_id = #{area.id}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+                AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+                AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+                AND wci.contract_price = #{workContractInfo.contractPrice}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+                AND wci.contract_type = #{workContractInfo.contractType}
+            </if>
+            <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+                AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+            </if>
+            <if test="leaderNameStr !=null and leaderNameStr !=''">
+                AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+            </if>
+            <if test="checkStatus !=null">
+                <choose>
+                    <when test="checkStatus == 0">
+                        AND a.check_status is null
+                    </when>
+                    <otherwise>
+                        AND a.check_status = #{checkStatus}
+                    </otherwise>
+                </choose>
+            </if>
+            <if test="beginDate !=null">
+                AND a.create_date >= #{beginDate}
+            </if>
+            <if test="endDate !=null">
+                AND a.create_date &lt; #{endDate}
+            </if>
+            <if test="typeList !=null and typeList !=''">
+                and project_type in
+                <foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            and a.check_status is not null and w.user_id = #{createBy.id}
+        </where>
+    </select>
 </mapper>

+ 2 - 1
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml

@@ -49,7 +49,8 @@
 		a.construction_linkman as "constructionLinkman",
 		a.project_type as "projectType",
 		a.over_due_status as "overDueStatus",
-		a.attachment_project_sort as "attachmentProjectSort"
+		a.attachment_project_sort as "attachmentProjectSort",
+		a.check_remarks as "check_Remarks"
 	</sql>
 	
 	<sql id="projectRecordsJoins">

+ 5 - 0
src/main/resources/mappings/modules/workProjectUser/RuralWorkProjectUserDao.xml

@@ -83,4 +83,9 @@
         set del_flag = #{delFlag}
         where project_id = #{id} and user_id = #{userId}
     </update>
+
+    <select id="getProjectMasterUser" resultType="com.jeeplus.modules.sys.entity.User">
+        SELECT u.id,u.name,u.photo from work_project_user a, sys_user u
+        WHERE a.user_id = u.id and a.project_id = #{projectId} and a.del_flag=0 and a.is_master = 1
+    </select>
 </mapper>

+ 17 - 2
src/main/resources/mappings/modules/workclientinfo/WorkClientInfoDao.xml

@@ -167,7 +167,15 @@
 				AND (a.create_by = #{createId} or su.name = #{createNameStr})
 			</if>
             AND a.company_id = #{currentUser.company.id}
-			and   c.job_type_id = '1'
+
+			<choose>
+				<when test="jobTypeShow !=null and jobTypeShow !=''">
+					AND c.job_type_id = #{jobTypeShow}
+				</when>
+				<otherwise>
+					AND c.job_type_id = "1"
+				</otherwise>
+			</choose>
 		</where>
 		<choose>
 			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
@@ -233,7 +241,14 @@
 				AND (a.create_by = #{createId} or su.name = #{createNameStr})
 			</if>
             AND a.company_id = #{currentUser.company.id}
-			AND c.job_type_id = "1"
+            <choose>
+				<when test="jobTypeShow !=null and jobTypeShow !=''">
+					AND c.job_type_id = #{jobTypeShow}
+				</when>
+				<otherwise>
+					AND c.job_type_id = "1"
+				</otherwise>
+			</choose>
         </where>
     </select>
 	

+ 9 - 11
src/main/webapp/webpage/modules/ruralprojectrecords/check/all/ruralProjectRecordsAllForm.jsp

@@ -203,20 +203,18 @@
 						<form:input path="constructionUnit" htmlEscape="false" id="installPercent" class="form-control layui-input" readonly="true"/>
 					</div>
 				</div>
-				<%--<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label double-line">施工方联系方式:</label>
-					<div class="layui-input-block">
-						<form:input path="constructionLinkman" htmlEscape="false" id="installPercent" class="form-control layui-input" readonly="true"/>
-					</div>
-				</div>
 				<div class="layui-item layui-col-sm6 lw6 with-textarea">
-					<label class="layui-form-label">工程概况:</label>
+					<label class="layui-form-label">备注:</label>
 					<div class="layui-input-block">
-						<textarea htmlEscape="false" rows="4" readonly="true" maxlength="1000" class="form-control" >${projectRecords.projectDesc}</textarea>
+						<textarea htmlEscape="false" rows="4" readonly="true" maxlength="1000" class="form-control" >${projectRecords.remarks}</textarea>
 					</div>
-				</div>--%>
-				<div class="layui-item layui-col-sm6 lw6 with-textarea">
-					<label class="layui-form-label">备注:</label>
+				</div>
+			</div>
+
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>选查要求</h2></div>
+				<div class="layui-item layui-col-sm12 lw6 with-textarea">
+					<label class="layui-form-label">选查要求:</label>
 					<div class="layui-input-block">
 						<textarea htmlEscape="false" rows="4" readonly="true" maxlength="1000" class="form-control" >${projectRecords.remarks}</textarea>
 					</div>

+ 10 - 6
src/main/webapp/webpage/modules/ruralprojectrecords/check/all/ruralProjectRecordsAllList.jsp

@@ -270,6 +270,9 @@
                 ,{field:'contract', align:'center',title: '合同名称',minWidth:200,templet:function(d){
                     	return "<span title='"+ d.contract +"'>" + d.contract + "</span>";
 					}}
+				,{field:'fileNum', align:'center',title: '案卷号',minWidth:200,templet:function(d){
+						return "<span title='"+ d.fileNum +"'>" + d.fileNum + "</span>";
+					}}
                 ,{field:'projMaster', align:'center',title: '负责人', width:65,templet:function(d){
                         return "<span title=\"" + d.projMaster + "\">" + d.projMaster + "</span>";
                     }}
@@ -290,20 +293,20 @@
                         var xml="";
                         if(d.canAdd != undefined && d.canAdd =="1")
                         {
-							xml+="<a href=\"#\" onclick=\"openDialogre('修改项目', '${ctx}/project/recordChooseCheckAll/form?id=" + d.id +"','95%', '95%','','送审,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 检查</a>";
+							xml+="<a href=\"#\" onclick=\"openDialogre('选查项目', '${ctx}/project/recordChooseCheckAll/form?id=" + d.id +"','95%', '95%','','选查,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 检查</a>";
                         }
-                        if(d.canedit1 != undefined && d.canedit1 =="1")
+                        /*if(d.canedit1 != undefined && d.canedit1 =="1")
                         {
-                            xml+="<a href=\"#\" onclick=\"openDialogre('修改项目', '${ctx}/project/recordChooseCheckAll/form?id=" + d.id +"','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+                            xml+="<a href=\"#\" onclick=\"openDialogre('选查项目', '${ctx}/project/recordChooseCheckAll/form?id=" + d.id +"','95%', '95%','','选查,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
                         }
                         if(d.canedit2 != undefined && d.canedit2 =="1")
                         {
-                            xml+="<a href=\"#\" onclick=\"openDialogre('调整项目', '${ctx}/project/recordChooseCheckAll/modify?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+                            xml+="<a href=\"#\" onclick=\"openDialogre('选查项目', '${ctx}/project/recordChooseCheckAll/modify?id=" + d.id + "','95%', '95%','','选查,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
                         }
                         if(d.canrecall != undefined && d.canrecall =="1")
                         {
-                            xml+="<a href=\"#\" onclick=\"openDialogre('调整项目', '${ctx}/project/recordChooseCheckAll/form?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
-                        }
+                            xml+="<a href=\"#\" onclick=\"openDialogre('选查项目', '${ctx}/project/recordChooseCheckAll/form?id=" + d.id + "','95%', '95%','','选查,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+                        }*/
                         if(d.candel != undefined && d.candel =="1")
                         {
                             xml+="<a href=\"${ctx}/project/recordChooseCheckAll/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该选查项目流程吗?', this.href)\" class=\"op-btn op-btn-invalid\"><i class=\"fa fa-trash-o\"></i> 删除</a>";
@@ -334,6 +337,7 @@
                     ,"procId":"${projectRecords.checkProcessInstanceId}"
 					,"flagAdmin":"${projectRecords.flagAdmin}"
 					,"checkStatus":"${projectRecords.checkStatus}"
+					,"fileNum":"${projectRecords.fileNum}"
 					<shiro:hasPermission name="project:recordChooseCheckAll:add">
 					,"canAdd":	<c:choose><c:when test="${projectRecords.checkStatus == 0}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 					</shiro:hasPermission>

+ 3 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsAudit.jsp

@@ -238,7 +238,7 @@
 						<div class="layui-item layui-col-sm6 lw7">
 							<label class="layui-form-label double-line"><span class="require-item">*</span>项目审核人员:</label>
 							<div class="layui-input-block">
-								<select class="form-control editable-select layui-input" id="bzshbUserId" disabled="disabled" name="bzshbUserId">
+								<select class="form-control editable-select layui-input" id="bzshbUserId" disabled="disabled" name="bzshbUserId" style="background-color: #f1f1f1">
 									<option value=""/>
 									<c:forEach items="${projectRecords.bzshbUserList}" var="user" varStatus="status">
 										<option value="${user.id}" <c:if test="${projectRecords.bzshbUserId eq user.id }">selected</c:if>>${user.name}</option>
@@ -404,9 +404,9 @@
 			</div>
 
 			<div class="form-group layui-row">
-				<div class="form-group-label"><h2>审批意见</h2></div>
+				<div class="form-group-label"><h2>提交说明</h2></div>
 				<div class="layui-item layui-col-sm12 lw6 with-textarea">
-					<label class="layui-form-label">审批意见:</label>
+					<label class="layui-form-label">提交说明:</label>
 					<div class="layui-input-block">
 						<form:textarea path="act.comment" class="form-control" rows="4" maxlength="127" />
 						<input type="file" name="upload_files" style="display: none;">

+ 473 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsDownAudit.jsp

@@ -0,0 +1,473 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目审批管理</title>
+	<meta name="decorator" content="default"/>
+	<script src="${ctxStatic}/layer-v2.3/laydate/laydate.js"></script>
+	<script type="text/javascript">
+		var validateForm;
+		function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+            if(validateForm.form()){
+				var fileNum =  $("#fileNum").val();
+				var fileNumTow =  $("#fileNumTow").val();
+                if(obj == 1) {
+                    $("#flag").val("yes");
+                    var bzshbUserId = $("#bzshbUserId").val();
+                    if(undefined == bzshbUserId || null == bzshbUserId || '' == bzshbUserId){
+						parent.layer.msg("请选择项目审核人员!", {icon: 5});
+						return false;
+					}
+					if(fileNum == ''|| fileNum == undefined){
+						top.layer.msg('填写案卷号!', {icon: 0});
+						return;
+					}
+					if(fileNumTow == ''|| fileNumTow == undefined){
+						top.layer.msg('请再次填写案卷号!', {icon: 0});
+						return;
+					}
+					if(fileNum != fileNumTow){
+						top.layer.msg('两次案卷号填写不同,请重新输入!', {icon: 0});
+						return;
+					}
+                }else {
+                    if(obj == 2){
+                        $("#flag").val("no1");
+					}else {
+                        $("#flag").val("no2");
+					}
+                }
+                $("#inputForm").submit();
+                return true;
+            }
+	
+		  return false;
+		}
+		$(document).ready(function() {
+
+			var tt = $("#contractNum").val();
+			if (tt == null || tt === "") {
+				$("#divv").hide();
+				$("#divv2").show();
+				$("#divv3").hide();
+				setTimeout(function () {
+					var tt = $("#workClientLinkmanList").find("tr").eq(0).find("td").eq(1).text().trim();
+					$("#clientName").val(tt);
+				},100);
+			}else{
+				$("#divv2").hide();
+			}
+
+			validateForm = $("#inputForm").validate({
+				submitHandler: function(form){
+					loading('正在提交,请稍等...');
+					form.submit();
+				},
+				errorContainer: "#messageBox",
+				errorPlacement: function(error, element) {
+					$("#messageBox").text("输入有误,请先更正。");
+					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+						error.appendTo(element.parent().parent());
+					} else {
+						error.insertAfter(element);
+					}
+				}
+			});
+
+			var contractNum = $("#contractNum").val();
+			if (contractNum == null || contractNum === "") {
+				$("#div1").hide();
+				$("#div3").hide();
+				setTimeout(function () {
+					var tt = $("#workClientLinkmanList").find("tr").eq(0).find("td").eq(1).text().trim();
+					$("#clientName").val(tt);
+				},100);
+			}
+		});
+
+        function insertTitle(tValue){
+            var files = $("#attachment_file")[0].files;            for(var i = 0;i<files.length;i++) {                var file = files[i];
+            var attachmentId = $("#id").val();
+            var attachmentFlag = "82";
+            console.log(file);
+            var timestamp=new Date().getTime();
+
+				var storeAs = "projectRecods";
+            var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
+            var divId = "_attachment";
+            $("#addFile"+divId).show();
+            multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,0);}
+        }
+
+        function addFile() {
+            $("#attachment_file").click();
+        }
+
+        function addRow(list, idx, tpl, row){
+            // var idx1 = $("#workClientLinkmanList tr").length;
+            bornTemplete(list, idx, tpl, row, idx);
+        }
+
+        function bornTemplete(list, idx, tpl, row, idx1){
+            $(list).append(Mustache.render(tpl, {
+                idx: idx, delBtn: true, row: row,
+                order:idx1 + 1
+            }));
+            $(list+idx).find("select").each(function(){
+                $(this).val($(this).attr("data-value"));
+            });
+            $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+                var ss = $(this).attr("data-value").split(',');
+                for (var i=0; i<ss.length; i++){
+                    if($(this).val() == ss[i]){
+                        $(this).attr("checked","checked");
+                    }
+                }
+            });
+        }
+	</script>
+</head>
+<body >
+<div class="single-form">
+	<div class="container">
+		<form:form id="inputForm" modelAttribute="projectRecords" enctype="multipart/form-data" action="${ctx}/project/recordChooseCheck/saveAudit" method="post" class="form-horizontal">
+		<form:hidden path="id"/>
+		<form:hidden path="home"/>
+		<form:hidden path="workContractInfo.client.id" id="contractClientId" value="${projectRecords.workContractInfo.client.id}"/>
+		<form:hidden path="act.taskId"/>
+		<form:hidden path="act.taskName"/>
+		<form:hidden id="taskDefKey" path="act.taskDefKey"/>
+		<form:hidden path="act.procInsId"/>
+		<form:hidden path="act.procDefId"/>
+		<form:hidden id="flag" path="act.flag"/>
+		<c:set var="status" value="${projectRecords.act.status}" />
+
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>项目合同信息</h2></div>
+				<div id="div1">
+					<div class="layui-item layui-col-sm12 lw6">
+						<label class="layui-form-label">合同编号:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false" id="contractNum"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.contractNum}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label">合同名称:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.name}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label double-line">合同金额(元):</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="<fmt:formatNumber value="${projectRecords.workContractInfo.contractPrice}" pattern="#,##0.00#"/>"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label">委托方:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false" id="clientName" readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.client.name}"/>
+						</div>
+					</div>
+				</div>
+				<div id="divv2">
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label">无合同</label>
+					</div>
+				</div>
+				<div id="div3">
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label">工程分类:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.constructionProjectTypeStr}"/>
+						</div>
+					</div>
+				</div>
+			</div>
+
+
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>项目基础信息</h2></div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <label class="layui-form-label">项目名称:</label>
+                    <div class="layui-input-block">
+                        <input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.projectName}"/>
+                    </div>
+                </div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">项目编号:</label>
+					<div class="layui-input-block">
+                        <div class="input-group">
+                            <form:input path="projectId" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
+                            <span class="input-group-btn">
+                                <label class="form-status"><c:choose><c:when test="${not empty projectRecords.projectStatus}">${fns:getDictLabel(projectRecords.projectStatus, 'rural_project_audit_state', '')}</c:when><c:otherwise>新添</c:otherwise></c:choose></label>
+                             </span>
+                        </div>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">项目所在地:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.area.name}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">所在省份:</label>
+					<div class="layui-input-block">
+						<form:input path="province" htmlEscape="false" id="province" class="form-control layui-input" readonly="true"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">所在地级市:</label>
+					<div class="layui-input-block">
+						<form:input path="city" htmlEscape="false" id="city" class="form-control layui-input" readonly="true"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">所在区县:</label>
+					<div class="layui-input-block">
+						<form:input path="county" htmlEscape="false" id="areaName1" class="form-control layui-input" readonly="true"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">建设地点:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.projectSite}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">创建人:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.createBy.name}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">项目负责人:</label>
+                    <div class="layui-input-block">
+						<input htmlEscape="false" readonly="true" id="leaderName" class="form-control layui-input" value="${projectRecords.leaderNameStr}"/>
+					</div>
+				</div>
+				<c:choose>
+					<c:when test="${not empty projectRecords.bzshbUserId}">
+						<div class="layui-item layui-col-sm6 lw7">
+							<label class="layui-form-label double-line"><span class="require-item">*</span>项目审核人员:</label>
+							<div class="layui-input-block">
+								<select class="form-control editable-select layui-input" id="bzshbUserId" disabled="disabled" name="bzshbUserId" style="background-color: #f1f1f1">
+									<option value=""/>
+									<c:forEach items="${projectRecords.bzshbUserList}" var="user" varStatus="status">
+										<option value="${user.id}" <c:if test="${projectRecords.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 double-line"><span class="require-item">*</span>项目审核人员:</label>
+							<div class="layui-input-block">
+								<select class="form-control editable-select layui-input" id="bzshbUserId"  name="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 lw7">
+					<label class="layui-form-label"><span class="require-item">*</span>案卷号:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" id="fileNum" name="fileNum"  class="form-control layui-input" value="${projectRecords.fileNum}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw7">
+					<label class="layui-form-label"><span class="require-item">*</span>确认案卷号:</label>
+					<div class="layui-input-block">
+						<input id="fileNumTow" name="fileNumTow" type="text"  class="layui-input form-control" equalTo="#fileNum" value="${projectRecords.fileNumTow}"/>
+					</div>
+				</div>
+
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">所属部门:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" readonly="true" id="officeName" class="form-control layui-input" value="${projectRecords.officeName}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label double-line">工作开始日期:</label>
+					<div class="layui-input-block">
+						<input class=" form-control layui-input " readonly="true" id="startDate" name="startDate" value="<fmt:formatDate value="${projectRecords.startDate}" pattern="yyyy-MM-dd"/>">
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label double-line">工作结束日期:</label>
+					<div class="layui-input-block">
+						<input class=" form-control layui-input " readonly="true" id="endingDate" name="endingDate" value="<fmt:formatDate value="${projectRecords.endingDate}" pattern="yyyy-MM-dd"/>">
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">创建日期:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw7">
+					<label class="layui-form-label">项目类别:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" readonly="true" class="form-control layui-input" value="${projectRecords.attachmentProjectSort}"/>
+					</div>
+				</div>
+				<%--<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label double-line">施工单位:</label>
+					<div class="layui-input-block">
+						<form:input path="constructionUnit" htmlEscape="false" id="installPercent" class="form-control layui-input" readonly="true"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label double-line">施工方联系方式:</label>
+					<div class="layui-input-block">
+						<form:input path="constructionLinkman" htmlEscape="false" id="installPercent" class="form-control layui-input" readonly="true"/>
+					</div>
+				</div>--%>
+				<div class="layui-item layui-col-sm6 lw6 with-textarea">
+					<label class="layui-form-label">工程概况:</label>
+					<div class="layui-input-block">
+						<textarea htmlEscape="false" rows="4" readonly="true" maxlength="1000" class="form-control" >${projectRecords.projectDesc}</textarea>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6 with-textarea">
+					<label class="layui-form-label">特殊要求:</label>
+					<div class="layui-input-block">
+						<textarea htmlEscape="false" rows="4" readonly="true" maxlength="1000" class="form-control" >${projectRecords.remarks}</textarea>
+					</div>
+				</div>
+			</div>
+
+
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>委托方联系人信息</h2></div>
+				<div class="layui-item layui-col-xs12 form-table-container" >
+					<table id="contentTable" class="table table-bordered table-condensed no-bottom-margin details">
+						<thead>
+						<tr>
+							<th class="hide"></th>
+							<th width="25%">委托方</th>
+							<th width="25%">联系人姓名</th>
+							<th width="25%">联系方式1</th>
+							<th width="25%">联系方式2</th>
+						</tr>
+						</thead>
+						<tbody id="workClientLinkmanList">
+						</tbody>
+					</table>
+				</div>
+			</div>
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>施工方信息</h2></div>
+				<div class="layui-item layui-col-xs12 form-table-container" >
+					<table id="contentTable1" class="table table-bordered table-condensed no-bottom-margin details">
+						<thead>
+						<tr>
+							<th class="hide"></th>
+							<th width="25%">施工方单位名称</th>
+							<th width="25%">联系人姓名</th>
+							<th width="25%">联系方式1</th>
+							<th width="25%">联系方式2</th>
+						</tr>
+						</thead>
+						<tbody id="workConstructionLinkmanList">
+						</tbody>
+					</table>
+				</div>
+			</div>
+
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>项目计划附件信息</h2></div>
+				<div class="layui-item layui-col-xs12 form-table-container" >
+					<table id="listAttachment" class="table table-bordered table-condensed no-bottom-margin details">
+						<thead>
+						<tr>
+							<th width="25%">文件预览</th>
+							<th width="25%">上传人</th>
+							<th width="25%">上传时间</th>
+							<th width="25%">操作</th>
+						</tr>
+						</thead>
+						<tbody id="file_attachment">
+						<c:forEach items="${projectRecords.workAttachments}" var="workClientAttachment" varStatus="status">
+							<tr>
+									<%--<td>${status.index + 1}</td>--%>
+								<c:choose>
+									<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+															   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+															   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+															   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+															   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+										<td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+									</c:when>
+									<c:otherwise>
+										<c:choose>
+											<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+												<td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','95%','95%','1')">${workClientAttachment.attachmentName}</a></td>
+											</c:when>
+											<c:otherwise>
+												<td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','95%','95%')">${workClientAttachment.attachmentName}</a></td>
+											</c:otherwise>
+										</c:choose>
+									</c:otherwise>
+								</c:choose>
+								<td>${workClientAttachment.createBy.name}</td>
+								<td><fmt:formatDate value="${workClientAttachment.createDate}" pattern="yyyy-MM-dd"/></td>
+								<td  class="op-td">
+									<a href="javascript:location.href=encodeURI('${ctx}/workcontractinfo/workContractInfo/downLoadAttach?file=${workClientAttachment.url}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+								</td>
+							</tr>
+						</c:forEach>
+						</tbody>
+					</table>
+				</div>
+			</div>
+
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>提交说明</h2></div>
+				<div class="layui-item layui-col-sm12 lw6 with-textarea">
+					<label class="layui-form-label">提交说明:</label>
+					<div class="layui-input-block">
+						<form:textarea path="act.comment" class="form-control" rows="4" maxlength="127" />
+						<input type="file" name="upload_files" style="display: none;">
+					</div>
+				</div>
+			</div>
+
+			<script>
+                var workClientLinkmanRowIdx = 0, workClientLinkmanTpl = $("#workClientLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+                var workConstructionLinkmanRowIdx = 0, workConstructionLinkmanTpl = $("#workConstructionLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+                $(document).ready(function() {
+                    var data = ${fns:toJson(projectRecords.workClientLinkmanList)};
+                    for (var i=0; i<data.length; i++){
+                        addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
+                        workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+                    }
+                    var dataBank = ${fns:toJson(projectRecords.workConstructionLinkmanList)};
+                    for (var i=0; i<dataBank.length; i++){
+                        addRow('#workConstructionLinkmanList', workConstructionLinkmanRowIdx, workConstructionLinkmanTpl, dataBank[i]);
+                        workConstructionLinkmanRowIdx = workConstructionLinkmanRowIdx + 1;
+                    }
+                });
+
+			</script>
+
+	</form:form>
+
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>审批流程</h2></div>
+				<div class="layui-item layui-col-xs12 form-table-container" >
+					<act:flowChart procInsId="${processInstanceId}"/>
+					<act:histoicFlow procInsId="${processInstanceId}"/>
+				</div>
+			</div>
+	</div>
+</div>
+</body>
+</html>

+ 10 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsForm.jsp

@@ -223,6 +223,16 @@
 				</div>
 			</div>
 
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>选查要求</h2></div>
+				<div class="layui-item layui-col-sm12 lw6 with-textarea">
+					<label class="layui-form-label">选查要求:</label>
+					<div class="layui-input-block">
+						<form:textarea path="checkRemarks" htmlEscape="false" rows="4" maxlength="255" class="form-control"/>
+					</div>
+				</div>
+			</div>
+
 			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>委托方联系人信息</h2></div>
 				<div class="layui-item layui-col-xs12 form-table-container" >

+ 7 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsList.jsp

@@ -263,13 +263,16 @@
             ,page: false
             ,cols: [[
                 {field:'index',align:'center', title: '序号',width:40}
+				,{field:'projId',align:'center', title: '项目编号',  width:150}
                 ,{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>";
                     }}
-				,{field:'projId',align:'center', title: '项目编号',  width:150}
                 ,{field:'contract', align:'center',title: '合同名称',minWidth:200,templet:function(d){
                     	return "<span title='"+ d.contract +"'>" + d.contract + "</span>";
 					}}
+                ,{field:'fileNum', align:'center',title: '案卷号',minWidth:200,templet:function(d){
+                    	return "<span title='"+ d.fileNum +"'>" + d.fileNum + "</span>";
+					}}
                 ,{field:'projMaster', align:'center',title: '负责人', width:65,templet:function(d){
                         return "<span title=\"" + d.projMaster + "\">" + d.projMaster + "</span>";
                     }}
@@ -288,7 +291,7 @@
                 ,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
                         ////对操作进行初始化
                         var xml="";
-                        if(d.canAdd != undefined && d.canAdd =="1")
+                        /*if(d.canAdd != undefined && d.canAdd =="1")
                         {
 							xml+="<a href=\"#\" onclick=\"openDialogre('修改项目', '${ctx}/project/recordChooseCheck/form?id=" + d.id +"','95%', '95%','','送审,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 检查</a>";
                         }
@@ -311,7 +314,7 @@
                         if(d.cancancel != undefined && d.cancancel =="1")
                         {
                             xml+="<a href=\"${ctx}/project/recordChooseCheck/revoke?id=" + d.id + "&processInstanceId=" + d.procId + "&checkStatus="+d.checkStatus+"\" onclick=\"return confirmx('确认要撤回该项目审批吗?', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
-                        }
+                        }*/
                         return xml;
 
                     }}
@@ -334,6 +337,7 @@
                     ,"procId":"${projectRecords.checkProcessInstanceId}"
 					,"flagAdmin":"${projectRecords.flagAdmin}"
 					,"checkStatus":"${projectRecords.checkStatus}"
+					,"fileNum":"${projectRecords.fileNum}"
 
 					<shiro:hasPermission name="project:recordChooseCheck:del">,"candel":	<c:choose><c:when test="${(projectRecords.checkStatus == 1 or projectRecords.checkStatus == 3 or projectRecords.checkStatus == 4)}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
 					<shiro:hasPermission name="project:recordChooseCheck:edit">

+ 10 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsView.jsp

@@ -351,6 +351,16 @@
 				</div>
 			</div>
 
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>选查要求</h2></div>
+				<div class="layui-item layui-col-sm12 lw6 with-textarea">
+					<label class="layui-form-label">选查要求:</label>
+					<div class="layui-input-block">
+						<textarea htmlEscape="false" rows="4" readonly="true" class="form-control" >${projectRecords.checkRemarks}</textarea>
+					</div>
+				</div>
+			</div>
+
 			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>委托方联系人信息</h2></div>
 				<div class="layui-item layui-col-xs12 form-table-container" >

+ 41 - 0
src/main/webapp/webpage/modules/sys/sysHome.jsp

@@ -176,6 +176,44 @@
             });
         }
 
+
+        function masterCheck(title,url,width,height,target){
+            parent.index = "";
+            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,
+                maxmin: true, //开启最大化最小化按钮
+                content: url ,
+                skin: 'three-btns',
+                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,index) ){
+                        top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },cancel: function(index){
+                }
+            });
+
+        }
+
         function deleteDialogres(title,url,deleteUrl,width,height,target) {
             parent.index = "";
             if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
@@ -984,6 +1022,9 @@
                 <c:when test="${workProjectNotify.type == 40 && workProjectNotify.notifyRole eq '主管会计审核'}">
                      xml = "<a  href=\"javascript:void(0)\" onclick=\"openDialogPass('待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%','','通过,关闭')\">";
                 </c:when>
+                <c:when test="${workProjectNotify.type == 140 && workProjectNotify.notifyRole eq '项目负责人审批'}">
+                    xml = "<a  href=\"javascript:void(0)\" onclick=\"masterCheck('提交线下归档', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%')\">";
+                </c:when>
                 <c:when test="${workProjectNotify.type == 76 && workProjectNotify.notifyRole eq '案例审核人审批'}">
                   xml = "<a  href=\"javascript:void(0)\" onclick=\"openDialogreExample('待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%')\">";
                 </c:when>

+ 8 - 0
src/main/webapp/webpage/modules/workclientinfo/workClientInfoList.jsp

@@ -194,6 +194,14 @@
 													  title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
 							</div>
 						</div>
+						<div class="layui-item query athird">
+							<label class="layui-form-label">代表单位:</label>
+							<div class="layui-input-block">
+								<form:select path="jobTypeShow" class="form-control layui-input">
+									<form:options items="${fns:getMainDictList('job_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+								</form:select>
+							</div>
+						</div>
 					</div>
 				</form:form>
 			</div>