فهرست منبع

用户管理功能调整,项目添加工程审价(上海)项目类型等

user5 2 سال پیش
والد
کامیت
7d61346e26
16فایلهای تغییر یافته به همراه305 افزوده شده و 20 حذف شده
  1. 6 1
      src/main/java/com/jeeplus/modules/centerservice/utils/ConvertServiceUtil.java
  2. 1 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java
  3. 11 4
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java
  4. 3 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java
  5. 10 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageAllController.java
  6. 1 0
      src/main/java/com/jeeplus/modules/sys/dao/OfficeDao.java
  7. 6 0
      src/main/java/com/jeeplus/modules/sys/service/OfficeService.java
  8. 15 1
      src/main/java/com/jeeplus/modules/sys/web/OfficeController.java
  9. 18 0
      src/main/java/com/jeeplus/modules/workstaff/entity/WorkStaffBasicInfo.java
  10. 8 0
      src/main/resources/mappings/modules/sys/OfficeDao.xml
  11. 4 1
      src/main/resources/mappings/modules/workinvoice/WorkInvoiceDao.xml
  12. 14 1
      src/main/resources/mappings/modules/workstaff/WorkStaffBasicInfoDao.xml
  13. 1 1
      src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectReportSignatureInfoForm.jsp
  14. 188 0
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/downloadPaperRecordForm.jsp
  15. 8 10
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/ruralProjectMessageAllList.jsp
  16. 11 0
      src/main/webapp/webpage/modules/workstaff/qualificationList.jsp

+ 6 - 1
src/main/java/com/jeeplus/modules/centerservice/utils/ConvertServiceUtil.java

@@ -239,7 +239,12 @@ public class ConvertServiceUtil {
             });
             });
             // 将数据分页
             // 将数据分页
             page.setCount(list.size());
             page.setCount(list.size());
-            int startIndex = (int) ((page.getPageNo() - 1) * page.getPageSize());
+            int startIndex = 0;
+            if(page.getPageNo() > 0){
+                startIndex = (int) ((page.getPageNo() - 1) * page.getPageSize());
+            }else{
+                startIndex = 0;
+            }
             if (startIndex > list.size()) {
             if (startIndex > list.size()) {
                 startIndex = 0;
                 startIndex = 0;
                 page.setPageNo(1);
                 page.setPageNo(1);

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

@@ -96,6 +96,7 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	public static final String ECONOMIC_EVALUATION="101";//经济评价模板key
 	public static final String ECONOMIC_EVALUATION="101";//经济评价模板key
 	public static final String SERIAL_COST_BIZCODE ="1004";
 	public static final String SERIAL_COST_BIZCODE ="1004";
 	public static final String COORDINATE_BIZCODE ="1008";	//配合模板key
 	public static final String COORDINATE_BIZCODE ="1008";	//配合模板key
+	public static final String SHANGHAI_COORDINATE_BIZCODE ="1010";	//工程审价(上海)项目类型模板
 	private static final long serialVersionUID = 1L;
 	private static final long serialVersionUID = 1L;
 	@NotNull(message = "合同信息不能为空")
 	@NotNull(message = "合同信息不能为空")
 	private WorkContractInfo workContractInfo;		// 合同id
 	private WorkContractInfo workContractInfo;		// 合同id

+ 11 - 4
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java

@@ -162,10 +162,17 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
             projectRecords.setEndingCount(endingCount);
             projectRecords.setEndingCount(endingCount);
         }
         }
         if(null!= projectRecords.getOffice() && StringUtils.isNotBlank(projectRecords.getOffice().getId())){
         if(null!= projectRecords.getOffice() && StringUtils.isNotBlank(projectRecords.getOffice().getId())){
-            //查询该选择节点下所有的部门Id
-            List<String> officeIdList = officeService.getChildrenOffice(projectRecords.getOffice().getId());
-            officeIdList.add(projectRecords.getOffice().getId());
-            projectRecords.setOfficeIdList(officeIdList);
+            if("一部本部".equals(projectRecords.getOffice().getId())){
+                List<String> officeIdList = Lists.newArrayList();
+                Office office = officeService.getByName("工程一部");
+                officeIdList.add(office.getId());
+                projectRecords.setOfficeIdList(officeIdList);
+            }else{
+                //查询该选择节点下所有的部门Id
+                List<String> officeIdList = officeService.getChildrenOffice(projectRecords.getOffice().getId());
+                officeIdList.add(projectRecords.getOffice().getId());
+                projectRecords.setOfficeIdList(officeIdList);
+            }
         }
         }
         //根据当前登录人查询登陆人权限
         //根据当前登录人查询登陆人权限
         List<Office> officeListByUserId = ruralProjectMessageAllConfigService.getOfficeListByUserId(UserUtils.getUser().getId());
         List<Office> officeListByUserId = ruralProjectMessageAllConfigService.getOfficeListByUserId(UserUtils.getUser().getId());

+ 3 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java

@@ -605,7 +605,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 					}
 					}
 				} else if ("2".equals(projectRecords.getProjectType())) {	//造价审核
 				} else if ("2".equals(projectRecords.getProjectType())) {	//造价审核
 					//预算审核、结算审核、分包审核 需要纸质归档
 					//预算审核、结算审核、分包审核 需要纸质归档
-					if ("2".equals(projectRecords.getAttachmentProjectSort()) || "4".equals(projectRecords.getAttachmentProjectSort()) || "7".equals(projectRecords.getAttachmentProjectSort())) {
+					if ("2".equals(projectRecords.getAttachmentProjectSort()) || "4".equals(projectRecords.getAttachmentProjectSort()) || "7".equals(projectRecords.getAttachmentProjectSort()) || "9".equals(projectRecords.getAttachmentProjectSort())) {
 						assert createBy != null;
 						assert createBy != null;
 						projectRecords.setPaperFilingStatus("");
 						projectRecords.setPaperFilingStatus("");
 						projectRecords.setProjectId(serialNumTplService.genSerialNum(createBy.getCompany(), RuralProjectRecords.SERIAL_COST_BIZCODE));
 						projectRecords.setProjectId(serialNumTplService.genSerialNum(createBy.getCompany(), RuralProjectRecords.SERIAL_COST_BIZCODE));
@@ -3034,6 +3034,8 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 						projectReportData.setConditionType("1005");
 						projectReportData.setConditionType("1005");
 					}else if("8".equals(projectRecords.getAttachmentProjectSort())){
 					}else if("8".equals(projectRecords.getAttachmentProjectSort())){
 						projectReportData.setConditionType("1007");
 						projectReportData.setConditionType("1007");
+					}else if("9".equals(projectRecords.getAttachmentProjectSort())){
+						projectReportData.setConditionType(RuralProjectRecords.SHANGHAI_COORDINATE_BIZCODE);
 					}
 					}
 					else{
 					else{
 						projectReportData.setConditionType("1003");
 						projectReportData.setConditionType("1003");

+ 10 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageAllController.java

@@ -534,6 +534,16 @@ public class RuralProjectMessageAllController extends BaseController {
         return "modules/ruralprojectrecords/ruralporjectmessage/all/downloadRecordForm";
         return "modules/ruralprojectrecords/ruralporjectmessage/all/downloadRecordForm";
     }
     }
 
 
+
+    /**
+     * 跳转归档信息导出信息页(纸质归档)
+     */
+    @RequestMapping(value = "skipDownloadPaperRecordForm")
+    public String skipDownloadPaperRecordForm(RuralProjectRecords projectRecords,Model model) {
+        model.addAttribute("projectRecords",projectRecords);
+        return "modules/ruralprojectrecords/ruralporjectmessage/all/downloadPaperRecordForm";
+    }
+
     /**
     /**
      * 查询归档
      * 查询归档
      * @return
      * @return

+ 1 - 0
src/main/java/com/jeeplus/modules/sys/dao/OfficeDao.java

@@ -19,6 +19,7 @@ import java.util.List;
 public interface OfficeDao extends TreeDao<Office> {
 public interface OfficeDao extends TreeDao<Office> {
 
 
 	public Office getByCode(String code);
 	public Office getByCode(String code);
+	public Office getByName(String name);
 	public void saveBranchOffice(Office office);
 	public void saveBranchOffice(Office office);
 	public void updateUseable(Office office);
 	public void updateUseable(Office office);
 
 

+ 6 - 0
src/main/java/com/jeeplus/modules/sys/service/OfficeService.java

@@ -198,6 +198,12 @@ public class OfficeService extends TreeService<OfficeDao, Office> {
     }
     }
 
 
 
 
+    @Transactional(readOnly = true)
+    public Office getByName(String name){
+        return dao.getByName(name);
+    }
+
+
 	@Transactional(readOnly = false)
 	@Transactional(readOnly = false)
 	public void save(Office office) {
 	public void save(Office office) {
 		super.save(office);
 		super.save(office);

+ 15 - 1
src/main/java/com/jeeplus/modules/sys/web/OfficeController.java

@@ -531,6 +531,20 @@ public class OfficeController extends BaseController {
         HashSet<Map<String, Object>> mapSet = new HashSet<>();
         HashSet<Map<String, Object>> mapSet = new HashSet<>();
         //查询所有有关部门
         //查询所有有关部门
         List<Office> list = officeService.findByParentIdsLike(office);
         List<Office> list = officeService.findByParentIdsLike(office);
+        if("6".equals(type)){
+            Office info = new Office();
+            info.setId("一部本部");
+            info.setName("一部本部");
+            info.setTopCompany("一部本部");
+            info.setIsSon("0");
+            info.setState("0");
+            info.setUseable("1");
+            info.setGrade("2");
+            info.setType("2");
+            info.setParent(officeService.getByName("工程一部"));
+            info.setParentIds("0,ffe5af5b557e46f28b000c94716e228a,7f776d072d7b4c839cef4e63ce6dbfa5,");
+            list.add(info);
+        }
         for (int i = 0; i < list.size(); i++) {
         for (int i = 0; i < list.size(); i++) {
             Office e = list.get(i);
             Office e = list.get(i);
             if ((StringUtils.isBlank(extId) || (extId != null && !extId.equals(e.getId()) && e.getParentIds().indexOf("," + extId + ",") == -1))
             if ((StringUtils.isBlank(extId) || (extId != null && !extId.equals(e.getId()) && e.getParentIds().indexOf("," + extId + ",") == -1))
@@ -567,7 +581,7 @@ public class OfficeController extends BaseController {
             List<Map<String,Object>> mapList1=new ArrayList<>(mapSet);
             List<Map<String,Object>> mapList1=new ArrayList<>(mapSet);
             return mapList1;
             return mapList1;
         }
         }
-        if(!"2".equals(type)){
+        if(!"2".equals(type) && !"6".equals(type)){
             List<User> userList= new ArrayList<>();
             List<User> userList= new ArrayList<>();
             //判定参数必须存在
             //判定参数必须存在
             if (StringUtils.isNotBlank(selectName)){
             if (StringUtils.isNotBlank(selectName)){

+ 18 - 0
src/main/java/com/jeeplus/modules/workstaff/entity/WorkStaffBasicInfo.java

@@ -113,6 +113,8 @@ public class WorkStaffBasicInfo extends DataEntity<WorkStaffBasicInfo> {
 	private String userLoginFlag;	//用户登录状态
 	private String userLoginFlag;	//用户登录状态
 	private String otherServiceFlag;	//是否获取其他服务待办
 	private String otherServiceFlag;	//是否获取其他服务待办
 	private String isHandSignature;	//是否有手签章
 	private String isHandSignature;	//是否有手签章
+	private String certificateType; //执业资格证书类型
+	private String certificateName; //执业资格证书名称
 
 
 	//劳动关系临时属性
 	//劳动关系临时属性
 	private String relationshipStatus;
 	private String relationshipStatus;
@@ -862,4 +864,20 @@ public class WorkStaffBasicInfo extends DataEntity<WorkStaffBasicInfo> {
 	public void setIsHandSignature(String isHandSignature) {
 	public void setIsHandSignature(String isHandSignature) {
 		this.isHandSignature = isHandSignature;
 		this.isHandSignature = isHandSignature;
 	}
 	}
+
+	public String getCertificateType() {
+		return certificateType;
+	}
+
+	public void setCertificateType(String certificateType) {
+		this.certificateType = certificateType;
+	}
+
+	public String getCertificateName() {
+		return certificateName;
+	}
+
+	public void setCertificateName(String certificateName) {
+		this.certificateName = certificateName;
+	}
 }
 }

+ 8 - 0
src/main/resources/mappings/modules/sys/OfficeDao.xml

@@ -145,6 +145,14 @@
 		<include refid="officeJoins"/>
 		<include refid="officeJoins"/>
 		WHERE a.code = #{code}
 		WHERE a.code = #{code}
 	</select>
 	</select>
+
+	<select id="getByName" resultType="Office">
+		SELECT
+			<include refid="officeColumns"/>
+		FROM sys_office a
+		<include refid="officeJoins"/>
+		WHERE a.name = #{name}
+	</select>
 	<select id="findList" resultType="Office">
 	<select id="findList" resultType="Office">
 		SELECT
 		SELECT
 			<include refid="officeColumns"/>
 			<include refid="officeColumns"/>

+ 4 - 1
src/main/resources/mappings/modules/workinvoice/WorkInvoiceDao.xml

@@ -1192,7 +1192,10 @@
 		<where>
 		<where>
 			a.del_flag = #{DEL_FLAG_NORMAL}
 			a.del_flag = #{DEL_FLAG_NORMAL}
 			<if test="number != null and number != ''">
 			<if test="number != null and number != ''">
-				AND a.number = #{number}
+				AND a.number LIKE
+				<if test="dbName == 'oracle'">'%'||#{number}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{number}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{number},'%')</if>
 			</if>
 			</if>
 			<if test="invoiceState != null and invoiceState != ''">
 			<if test="invoiceState != null and invoiceState != ''">
 				AND a.invoice_state = #{invoiceState}
 				AND a.invoice_state = #{invoiceState}

+ 14 - 1
src/main/resources/mappings/modules/workstaff/WorkStaffBasicInfoDao.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.jeeplus.modules.workstaff.dao.WorkStaffBasicInfoDao">
 <mapper namespace="com.jeeplus.modules.workstaff.dao.WorkStaffBasicInfoDao">
 
 
 	<sql id="workStaffBasicInfoColumns">
 	<sql id="workStaffBasicInfoColumns">
-		a.id AS "id",
+		DISTINCT a.id AS "id",
 		a.create_by AS "createBy.id",
 		a.create_by AS "createBy.id",
 		a.create_date AS "createDate",
 		a.create_date AS "createDate",
 		a.update_by AS "updateBy.id",
 		a.update_by AS "updateBy.id",
@@ -169,12 +169,25 @@
 			<include refid="workStaffBasicInfoColumns"/>
 			<include refid="workStaffBasicInfoColumns"/>
 		,su.name as "auditUserName"
 		,su.name as "auditUserName"
 		,suc.login_flag as "userLoginFlag"
 		,suc.login_flag as "userLoginFlag"
+		,(SELECT
+		GROUP_CONCAT(mdd.detail_name)
+		FROM
+		work_staff_certificate wsc
+		left join main_dict_detail mdd on mdd.detail_key = wsc.name
+		left join main_dict md on md.id = mdd.type_id and md.type_name = 'certificate_type'
+		WHERE
+		wsc.del_flag = '0'
+		AND wsc.staff_id = a.achive_id) as "certificateName"
 		FROM work_staff_basic_info a
 		FROM work_staff_basic_info a
 		<include refid="workStaffBasicInfoJoins"/>
 		<include refid="workStaffBasicInfoJoins"/>
 		LEFT JOIN sys_user su ON su.id = a.audit_user_id
 		LEFT JOIN sys_user su ON su.id = a.audit_user_id
 		LEFT JOIN sys_user suc ON suc.id = a.user_id
 		LEFT JOIN sys_user suc ON suc.id = a.user_id
+		LEFT JOIN work_staff_certificate wsc ON wsc.staff_id = a.achive_id and wsc.del_flag = 0
 		<where>
 		<where>
 			a.del_flag = #{DEL_FLAG_NORMAL}
 			a.del_flag = #{DEL_FLAG_NORMAL}
+			<if test="certificateType != null and certificateType != ''">
+				and wsc.name = #{certificateType}
+			</if>
 			<if test="company != null and company.id != null and company.id != ''">
 			<if test="company != null and company.id != null and company.id != ''">
 				AND a.company_id = #{company.id}
 				AND a.company_id = #{company.id}
 			</if>
 			</if>

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

@@ -880,7 +880,7 @@
                     <label class="layui-form-label">咨询员:</label>
                     <label class="layui-form-label">咨询员:</label>
                     <div class="layui-input-block  with-icon">
                     <div class="layui-input-block  with-icon">
                         <sys:treeselectZXY id="consultant" name="consultant" value="${consultant}" labelName="consultantName" labelValue="${consultantName}"
                         <sys:treeselectZXY id="consultant" name="consultant" value="${consultant}" labelName="consultantName" labelValue="${consultantName}"
-                                                       cssStyle="background-color: #fff" title="用户" url="/sys/office/treeDataAll?type=5" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true" />
+                                                       cssStyle="background-color: #fff" title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true" />
                     </div>
                     </div>
                 </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
                 <div class="layui-item layui-col-sm6 lw6">

+ 188 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/downloadPaperRecordForm.jsp

@@ -0,0 +1,188 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>选择下载模板类型</title>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>
+	<link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
+	<script src="${ctxStatic}/layer-v2.3/layui/xmSelect.js" charset="utf-8"></script>
+	<script type="text/javascript">
+
+		function doSubmit(){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+			var beginDateTime = $("#beginDate").val();
+			var endDateTime = $("#endDate").val();
+			if(beginDateTime != null && beginDateTime != undefined && beginDateTime != ''
+					&&endDateTime != null && endDateTime != undefined && endDateTime != ''){
+				var startDate = new Date(beginDateTime.replace(/-/g, "/"));
+				var endDate = new Date(endDateTime.replace(/-/g, "/"));
+				var time = endDate.getTime() - startDate.getTime();
+				var days = parseInt(time / (1000 * 60 * 60 * 24));
+				if(days<0){
+					parent.layer.msg("项目创建结束时间需大于开始时间!", {icon: 5});
+					$("#endDate").val('');
+					return;
+				}
+			}
+			if((beginDateTime != null && beginDateTime != undefined && beginDateTime != '')
+					&&(endDateTime == null || endDateTime == undefined || endDateTime == '')){
+				parent.layer.msg("请选择创建结束时间!", {icon: 5});
+				return;
+			}
+			if((endDateTime != null && endDateTime != undefined && endDateTime != '')
+					&&(beginDateTime == null || beginDateTime == undefined || beginDateTime == '')){
+				parent.layer.msg("请选择创建开始时间!", {icon: 5});
+				return;
+			}
+
+		   var recordTypeStr=$("#recordTypeStr").val();
+		   if(recordTypeStr==null||recordTypeStr==""){
+               top.layer.msg('请选择归档状态!', {icon: 0});
+               return false;
+		   }
+		   $("#inputForm").submit();
+		  return true;
+		}
+        var validateForm;
+		$(document).ready(function() {
+			contentDetailTypeShow();
+			validateForm = $("#inputFormAdd").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);
+					}
+				}
+			});
+			laydate.render({
+				elem: '#beginDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+				event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+				type : 'date'
+				, trigger: 'click'
+			});
+			laydate.render({
+				elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+				event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+				type : 'date'
+				, trigger: 'click'
+			});
+			laydate.render({
+				elem: '#paperRecordBeginDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+				event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+				type : 'date'
+				, trigger: 'click'
+			});
+			laydate.render({
+				elem: '#paperRecordEndDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+				event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+				type : 'date'
+				, trigger: 'click'
+			});
+		});
+	</script>
+</head>
+<body>
+<div class="single-form-small">
+	<div class="container view-form">
+		<form:form id="inputForm" modelAttribute="projectRecords" action="${ctx}/ruralProject/ruralProjectMessageAll/recordDownload" method="post" class="form-horizontal">
+			<input type="hidden" id="recordTypeStr" name="recordTypeStr" value="">
+			<div class="form-group layui-row first">
+				<div class="layui-item layui-col-sm8 ">
+					<label class="layui-form-label double-line">归档发起时间:</label>
+					<div class="layui-input-block">
+						<input id="beginDate" name="beginDate" placeholder="开始时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+							   value="<fmt:formatDate value="${projectRecords.beginDate}" pattern="yyyy-MM-dd"/>"/>
+						</input>
+						<span class="group-sep">-</span>
+						<input id="endDate" name="endDate" placeholder="结束时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+							   value="<fmt:formatDate value="${projectRecords.endDate}" pattern="yyyy-MM-dd"/>"/>
+						</input>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm8 ">
+					<label class="layui-form-label double-line">归档通过时间:</label>
+					<div class="layui-input-block">
+						<input id="paperRecordBeginDate" name="paperRecordBeginDate" placeholder="归档通过开始时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+							   value="<fmt:formatDate value="${projectRecords.paperRecordBeginDate}" pattern="yyyy-MM-dd"/>"/>
+						</input>
+						<span class="group-sep">-</span>
+						<input id="paperRecordEndDate" name="paperRecordEndDate" placeholder="归档通过结束时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+							   value="<fmt:formatDate value="${projectRecords.paperRecordEndDate}" pattern="yyyy-MM-dd"/>"/>
+						</input>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm8">
+					<label class="layui-form-label double-line"><span class="require-item">*</span>纸质归档状态:</label>
+					<div class="layui-input-block">
+						<div id="recordType" class="xm-select-demo" tabindex="0" contenteditable="true"></div>
+					</div>
+				</div>
+			</div>
+		</form:form>
+	</div>
+</div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+	function contentDetailTypeShow() {
+		$.ajax({
+			type:'post',
+			url:'${ctx}/ruralProject/ruralProjectMessageAll/getRecordType',
+			data:{
+				"type":'archive_paper_state'
+			},
+			success:function(data){
+				if(data.success) {
+					var data = data.body.list;
+					$("#recordType").val(data);
+					xmSelect.render({
+						el: '#recordType',
+						language: 'zn',
+						toolbar:{
+							show: true,
+						},
+						autoRow: true,
+						on: function(data){
+							//arr:  当前多选已选中的数据
+							var arr = data.arr;
+							console.log(arr)
+							//change, 此次选择变化的数据,数组
+							var change = data.change;
+							//isAdd, 此次操作是新增还是删除
+							var isAdd = data.isAdd;
+
+							console.log('已有: '+arr.length+' 变化: '+change.length+', 状态: ' + isAdd)
+
+							var list = [];
+							//遍历当前选择的数据
+							for (var i in arr){
+								list.push(arr[i].value);
+							}
+							$("#recordTypeStr").val(list);
+						},
+						data:data
+					})
+				}
+			}
+		})
+	}
+
+	var recordType = xmSelect.render({
+		el: '#recordType',
+		toolbar:{
+			show: true,
+		},
+		autoRow: true,
+		language: 'zn',
+		data: [
+		]
+	})
+</script>
+</body>
+</html>

+ 8 - 10
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/ruralProjectMessageAllList.jsp

@@ -827,7 +827,7 @@
 							<label class="layui-form-label">部门:</label>
 							<label class="layui-form-label">部门:</label>
 							<div class="layui-input-block with-icon">
 							<div class="layui-input-block with-icon">
 								<sys:treeselect id="office" name="office.id" value="${ruralProjectRecords.office.id}" labelName="office.name" labelValue="${ruralProjectRecords.office.name}"
 								<sys:treeselect id="office" name="office.id" value="${ruralProjectRecords.office.id}" labelName="office.name" labelValue="${ruralProjectRecords.office.name}"
-												cssStyle="background-color:#fff" title="部门" url="/sys/office/treeDataAll?type=2" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="false" />
+												cssStyle="background-color:#fff" title="部门" url="/sys/office/treeDataAll?type=6" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="false" />
 							</div>
 							</div>
 						</div>
 						</div>
 						<div class="layui-item query athird">
 						<div class="layui-item query athird">
@@ -913,12 +913,7 @@
 							<div class="layui-input-block readOnlyFFF">
 							<div class="layui-input-block readOnlyFFF">
 								<form:select path="downProjectReportRecordStatus" class=" form-control  simple-select">
 								<form:select path="downProjectReportRecordStatus" class=" form-control  simple-select">
 									<form:option value="" label=""/>
 									<form:option value="" label=""/>
-									<form:option value="0" label="未归档"/>
-									<form:option value="2" label="归档中"/>
-									<form:option value="5" label="已归档"/>
-									<form:option value="6" label="超期未归档"/>
-									<form:option value="7" label="超期归档"/>
-									<form:option value="10" label="无需归档"/>
+									<form:options items="${fns:getDictList('archive_paper_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
 									<%--									<form:options items="${fns:getDictList('rural_report_audit_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>--%>
 									<%--									<form:options items="${fns:getDictList('rural_report_audit_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>--%>
 								</form:select>
 								</form:select>
 							</div>
 							</div>
@@ -1057,10 +1052,13 @@
 							<table:exportExcel url="${ctx}/ruralProject/ruralProjectMessageAll/export"></table:exportExcel><!-- 导出按钮 -->
 							<table:exportExcel url="${ctx}/ruralProject/ruralProjectMessageAll/export"></table:exportExcel><!-- 导出按钮 -->
 						</shiro:hasPermission>
 						</shiro:hasPermission>
 						<shiro:hasPermission name="ruralProject:ruralProjectMessageAll:recordDownload">
 						<shiro:hasPermission name="ruralProject:ruralProjectMessageAll:recordDownload">
-							<a href="javascript:void(0)" style='background-color: #FFB800' onclick="downloadDialogre('归档信息导出', '${ctx}/ruralProject/ruralProjectMessageAll/skipDownloadRecordForm','40%', '70%','','下载,关闭')" class="layui-btn layui-btn-sm layui-bg-blue" > 归档信息导出</a>
+							<a href="javascript:void(0)" style='background-color: #FFB800' onclick="downloadDialogre('归档信息导出', '${ctx}/ruralProject/ruralProjectMessageAll/skipDownloadRecordForm','40%', '50%','','下载,关闭')" class="layui-btn layui-btn-sm layui-bg-blue" > 归档信息导出</a>
 						</shiro:hasPermission>
 						</shiro:hasPermission>
+						<%--<shiro:hasPermission name="ruralProject:ruralProjectMessageAll:paperRecordDownload">
+							<a href="javascript:void(0)" style='background-color: #FFB800' onclick="downloadDialogre('纸质归档信息导出', '${ctx}/ruralProject/ruralProjectMessageAll/skipDownloadPaperRecordForm','40%', '50%','','下载,关闭')" class="layui-btn layui-btn-sm layui-bg-blue" > 纸质归档信息导出</a>
+						</shiro:hasPermission>--%>
 						<shiro:hasPermission name="ruralProject:ruralProjectMessageAll:reportedDownload">
 						<shiro:hasPermission name="ruralProject:ruralProjectMessageAll:reportedDownload">
-							<a href="javascript:void(0)" style='background-color: #FFB800' onclick="downloadDialogre('上报信息导出', '${ctx}/ruralProject/ruralProjectMessageAll/skipDownloadReportedForm','40%', '70%','','下载,关闭')" class="layui-btn layui-btn-sm layui-bg-blue" > 上报信息导出</a>
+							<a href="javascript:void(0)" style='background-color: #FFB800' onclick="downloadDialogre('上报信息导出', '${ctx}/ruralProject/ruralProjectMessageAll/skipDownloadReportedForm','40%', '50%','','下载,关闭')" class="layui-btn layui-btn-sm layui-bg-blue" > 上报信息导出</a>
 						</shiro:hasPermission>
 						</shiro:hasPermission>
 
 
 
 
@@ -1218,7 +1216,7 @@
 							if (d.submitMoney=="1"){
 							if (d.submitMoney=="1"){
 								var xml = "<span title='纸质归档时间:"+ d.filingBatchAuditPassDate +"'  onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.prrdProcessInstanceId + "','95%','95%')\" class=\"new-status-label new-status-label-" + st.label + "\" >" + st.status + "</span>";
 								var xml = "<span title='纸质归档时间:"+ d.filingBatchAuditPassDate +"'  onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.prrdProcessInstanceId + "','95%','95%')\" class=\"new-status-label new-status-label-" + st.label + "\" >" + st.status + "</span>";
 							}else if (d.submitMoney=="2"){
 							}else if (d.submitMoney=="2"){
-								var xml = "<span title='纸质归档时间:"+ d.paperFilingAuditPassDate +"'  onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.ppfProcessInstanceId + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								var xml = "<span title='纸质归档时间:"+ d.paperFilingAuditPassDate +"'  onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.ppfProcessInstanceId + "','95%','95%')\" class=\"new-status-label new-status-label-" + st.label + "\" >" + st.status + "</span>";
 							}
 							}
 						}else{
 						}else{
 							var xml = "<span style=\"cursor:default;\" class=\"new-status-label new-status-label-" + st.label + "\" >" + st.status + "</span>";
 							var xml = "<span style=\"cursor:default;\" class=\"new-status-label new-status-label-" + st.label + "\" >" + st.status + "</span>";

+ 11 - 0
src/main/webapp/webpage/modules/workstaff/qualificationList.jsp

@@ -174,6 +174,15 @@
                             </input>
                             </input>
                         </div>
                         </div>
                     </div>
                     </div>
+                    <div class="layui-item query athird">
+                        <label class="layui-form-label">证书类型:</label>
+                        <div class="layui-input-block">
+                            <form:select path="certificateType" class="form-control simple-select required">
+                                <form:option value="" label=""/>
+                                <form:options items="${fns:getMainDictList('certificate_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+                            </form:select>
+                        </div>
+                    </div>
                 </div>
                 </div>
             </form:form>
             </form:form>
 	        </div>
 	        </div>
@@ -233,6 +242,7 @@
                         "<span title=" + d.name + ">" + d.name + "</span></a>";
                         "<span title=" + d.name + ">" + d.name + "</span></a>";
                     return xml;
                     return xml;
                 }}
                 }}
+                ,{field:'certificateName',align:'center', title: '证书',minWidth:150}
                 ,{field:'idCard',align:'center', title: '身份证号码',minWidth:150}
                 ,{field:'idCard',align:'center', title: '身份证号码',minWidth:150}
                 ,{field:'mobile',align:'center', title: '移动电话', minWidth:100}
                 ,{field:'mobile',align:'center', title: '移动电话', minWidth:100}
                 ,{field:'office',align:'center', title: '部门', minWidth:100}
                 ,{field:'office',align:'center', title: '部门', minWidth:100}
@@ -273,6 +283,7 @@
                     ,"id":"${workStaffBasicInfo.id}"
                     ,"id":"${workStaffBasicInfo.id}"
                     ,"auditUserId":"${workStaffBasicInfo.auditUserId}"
                     ,"auditUserId":"${workStaffBasicInfo.auditUserId}"
                     ,"auditUserName":"${workStaffBasicInfo.auditUserName}"
                     ,"auditUserName":"${workStaffBasicInfo.auditUserName}"
+                    ,"certificateName":"${workStaffBasicInfo.certificateName}"
                     ,"role":"${workStaffBasicInfo.roleName}"
                     ,"role":"${workStaffBasicInfo.roleName}"
                     ,"no":"<c:out value="${workStaffBasicInfo.no}" escapeXml="true"/>"
                     ,"no":"<c:out value="${workStaffBasicInfo.no}" escapeXml="true"/>"
                     ,"name":"<c:out value="${workStaffBasicInfo.name}" escapeXml="false"/>"
                     ,"name":"<c:out value="${workStaffBasicInfo.name}" escapeXml="false"/>"