Explorar o código

材料库清单上传文件行数超过256报错调整

徐滕 hai 1 mes
pai
achega
5a533cb234

+ 3 - 1
src/main/java/com/jeeplus/common/web/BaseController.java

@@ -108,7 +108,8 @@ public abstract class BaseController {
 		}
 		return failureMsg.toString();
 	}
-	
+
+
 	/**
 	 * 服务端参数有效性验证
 	 * @param object 验证的实体对象
@@ -212,6 +213,7 @@ public abstract class BaseController {
 	 */
 	@InitBinder
 	protected void initBinder(WebDataBinder binder) {
+		binder.setAutoGrowCollectionLimit(Integer.MAX_VALUE);
 		// String类型转换,将所有传递进来的String进行HTML编码,防止XSS攻击
 		binder.registerCustomEditor(String.class, new PropertyEditorSupport() {
 			@Override

+ 28 - 9
src/main/java/com/jeeplus/modules/projectmaterialstorage/entity/ProjectMaterialStorage.java

@@ -6,6 +6,7 @@ import com.jeeplus.common.persistence.DataEntity;
 import com.jeeplus.common.utils.excel.annotation.ExcelField;
 import com.jeeplus.modules.project.entity.Project;
 import com.jeeplus.modules.sys.entity.Area;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
 import java.util.List;
@@ -31,7 +32,7 @@ public class ProjectMaterialStorage extends DataEntity<ProjectMaterialStorage> {
     private String explain; //产品说明
     private String supplier; //供应商
     private String remarks; //备注
-    private Date quotedPriceDate; //报价时间
+    private String quotedPriceDate; //报价时间
 
     private Date beginDate;  //开始时间
 
@@ -71,11 +72,13 @@ public class ProjectMaterialStorage extends DataEntity<ProjectMaterialStorage> {
     private Date beginQuotedPriceDate; //开始报价时间
     private Date endQuotedPriceDate; //结束报价时间
     private String storageFlag;	//材料库判定参数
+    private String reportNumber;
+    private String areaId;
 
     //材料信息数据表集合
     private List<ProjectMaterialStorageImport> projectMaterialStorageList = Lists.newArrayList();
 
-
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     public Date getBeginDate() {
         return beginDate;
     }
@@ -83,7 +86,7 @@ public class ProjectMaterialStorage extends DataEntity<ProjectMaterialStorage> {
     public void setBeginDate(Date beginDate) {
         this.beginDate = beginDate;
     }
-
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     public Date getEndDate() {
         return endDate;
     }
@@ -273,13 +276,13 @@ public class ProjectMaterialStorage extends DataEntity<ProjectMaterialStorage> {
         this.remarks = remarks;
     }
 
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @ExcelField(title="报价时间", align=2, sort=14)
-    public Date getQuotedPriceDate() {
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @ExcelField(title="报价时间", align=2, sort=14, format="yyyy-MM-dd")  // 添加Excel格式
+    public String getQuotedPriceDate() {
         return quotedPriceDate;
     }
 
-    public void setQuotedPriceDate(Date quotedPriceDate) {
+    public void setQuotedPriceDate(String quotedPriceDate) {
         this.quotedPriceDate = quotedPriceDate;
     }
 
@@ -330,7 +333,7 @@ public class ProjectMaterialStorage extends DataEntity<ProjectMaterialStorage> {
     public void setEndTaxRate(String endTaxRate) {
         this.endTaxRate = endTaxRate;
     }
-
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     public Date getBeginQuotedPriceDate() {
         return beginQuotedPriceDate;
     }
@@ -338,7 +341,7 @@ public class ProjectMaterialStorage extends DataEntity<ProjectMaterialStorage> {
     public void setBeginQuotedPriceDate(Date beginQuotedPriceDate) {
         this.beginQuotedPriceDate = beginQuotedPriceDate;
     }
-
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     public Date getEndQuotedPriceDate() {
         return endQuotedPriceDate;
     }
@@ -446,4 +449,20 @@ public class ProjectMaterialStorage extends DataEntity<ProjectMaterialStorage> {
     public void setEndMarketPriceExcludingTax(String endMarketPriceExcludingTax) {
         this.endMarketPriceExcludingTax = endMarketPriceExcludingTax;
     }
+
+    public String getReportNumber() {
+        return reportNumber;
+    }
+
+    public void setReportNumber(String reportNumber) {
+        this.reportNumber = reportNumber;
+    }
+
+    public String getAreaId() {
+        return areaId;
+    }
+
+    public void setAreaId(String areaId) {
+        this.areaId = areaId;
+    }
 }

+ 38 - 0
src/main/java/com/jeeplus/modules/projectmaterialstorage/entity/ProjectMaterialStorageImport.java

@@ -2,6 +2,7 @@ package com.jeeplus.modules.projectmaterialstorage.entity;
 
 import com.jeeplus.common.persistence.DataEntity;
 import com.jeeplus.modules.project.entity.Project;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
 
@@ -40,6 +41,10 @@ public class ProjectMaterialStorageImport extends DataEntity<ProjectMaterialStor
     private String errorMessage ; //错误原因
     private Integer quotedPriceYear ; //报价时间-年份
     private Integer quotedPriceMonth ; //报价时间-月份
+    private String reportNumber;
+    private String projectName;
+    private String areaId;
+    private String areaName;
 
     public String getProjectNumber() {
         return projectNumber;
@@ -147,6 +152,7 @@ public class ProjectMaterialStorageImport extends DataEntity<ProjectMaterialStor
         this.remarks = remarks;
     }
 
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     public Date getQuotedPriceDate() {
         return quotedPriceDate;
     }
@@ -226,4 +232,36 @@ public class ProjectMaterialStorageImport extends DataEntity<ProjectMaterialStor
     public void setMarketPriceExcludingTax(Double marketPriceExcludingTax) {
         this.marketPriceExcludingTax = marketPriceExcludingTax;
     }
+
+    public String getReportNumber() {
+        return reportNumber;
+    }
+
+    public void setReportNumber(String reportNumber) {
+        this.reportNumber = reportNumber;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getAreaId() {
+        return areaId;
+    }
+
+    public void setAreaId(String areaId) {
+        this.areaId = areaId;
+    }
+
+    public String getAreaName() {
+        return areaName;
+    }
+
+    public void setAreaName(String areaName) {
+        this.areaName = areaName;
+    }
 }

+ 1 - 0
src/main/java/com/jeeplus/modules/projectmaterialstorage/service/ProjectMaterialStorageService.java

@@ -151,6 +151,7 @@ public class ProjectMaterialStorageService extends CrudService<ProjectMaterialSt
             }
         }
 
+
         // 第二步:获取历史数据并处理其distinctStr
         List<ProjectMaterialStorageImport> historyInfoList = dao.getByProjectId(projectId);
         for (ProjectMaterialStorageImport info : historyInfoList) {

+ 24 - 4
src/main/java/com/jeeplus/modules/projectmaterialstorage/web/ProjectMaterialStorageController.java

@@ -23,6 +23,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
+import org.springframework.web.bind.WebDataBinder;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@@ -165,6 +166,11 @@ public class ProjectMaterialStorageController extends BaseController {
         return "redirect:"+Global.getAdminPath()+"/project/projectMaterialStorage/?repage";
     }
 
+    @InitBinder
+    public void initBinder(WebDataBinder binder) {
+        // 设置集合自动增长的上限为 100
+        binder.setAutoGrowCollectionLimit(512);
+    }
 
     /**
      * 材料库新增保存功能
@@ -176,7 +182,7 @@ public class ProjectMaterialStorageController extends BaseController {
      */
     @RequestMapping(value = "storageSave")
     @ResponseBody
-    public Map<String, Object> storageSave(ProjectMaterialStorage projectMaterialStorage, Model model) throws Exception {
+    public Map<String, Object> storageSave(@ModelAttribute ProjectMaterialStorage projectMaterialStorage, Model model) throws Exception {
         // 初始化返回结果Map
         Map<String, Object> result = new HashMap<>(4);
 
@@ -243,6 +249,8 @@ public class ProjectMaterialStorageController extends BaseController {
             info.setErrorMessage("重复数据");
         }
 
+        //获取项目报告号
+        RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.get(projectMaterialStorage.getProjectId());
         //对有效数据进行处理
         for (ProjectMaterialStorageImport info : uniqueList) {
             //如果税率不为空
@@ -275,7 +283,11 @@ public class ProjectMaterialStorageController extends BaseController {
                 info.setQuotedPriceYear(year);
                 info.setQuotedPriceMonth(month);
             }
-
+            info.setProjectName(ruralProjectRecords.getProjectName());
+            info.setReportNumber(ruralProjectRecords.getProjectReportNumber());
+            if(null != ruralProjectRecords.getArea() && StringUtils.isNotBlank(ruralProjectRecords.getArea().getId())){
+                info.setAreaId(ruralProjectRecords.getArea().getId());
+            }
         }
 
         Iterator<ProjectMaterialStorageImport> uniqueIterator = uniqueList.iterator();
@@ -332,7 +344,6 @@ public class ProjectMaterialStorageController extends BaseController {
         }
 
         if(StringUtils.isNotBlank(projectMaterialStorage.getProjectId())){
-            RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.get(projectMaterialStorage.getProjectId());
             //修改2代表已处理
             ruralProjectRecords.setprojectMaterialStorageStatus("2");
             projectMaterialStorageService.modifyProjectMaterialStorageStatus(ruralProjectRecords);
@@ -665,7 +676,16 @@ public class ProjectMaterialStorageController extends BaseController {
             addMessage(redirectAttributes, "项目名称、材料名称等获取失败,请重试");
             return "redirect:"+Global.getAdminPath()+"/project/projectMaterialStorage";
         }
+        //根据项目id查询报告号并重新赋值
+        RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.get(projectMaterialStorage.getProjectNumber());
 
+        if(null != ruralProjectRecords){
+            projectMaterialStorage.setProjectName(ruralProjectRecords.getProjectName());
+            projectMaterialStorage.setReportNumber(ruralProjectRecords.getProjectReportNumber());
+            if(null != ruralProjectRecords.getArea() && StringUtils.isNotBlank(ruralProjectRecords.getArea().getId())){
+                projectMaterialStorage.setAreaId(ruralProjectRecords.getArea().getId());
+            }
+        }
 
         Map<String, Object> returnMap = projectMaterialStorageService.saveInfo(projectMaterialStorage);
         Boolean success = (Boolean) returnMap.get("success");
@@ -674,8 +694,8 @@ public class ProjectMaterialStorageController extends BaseController {
             return "redirect:"+Global.getAdminPath()+"/project/projectMaterialStorage/?repage";
         }
         if(StringUtils.isNotBlank(projectMaterialStorage.getProjectNumber())){
-            RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.get(projectMaterialStorage.getProjectNumber());
 //           修改2代表已处理
+            assert ruralProjectRecords != null;
             ruralProjectRecords.setprojectMaterialStorageStatus("2");
 
             projectMaterialStorageService.modifyProjectMaterialStorageStatus(ruralProjectRecords);

+ 114 - 27
src/main/resources/mappings/modules/projectMaterialStorage/ProjectMaterialStorageDao.xml

@@ -29,7 +29,9 @@
 		a.monomer_project_description AS "monomerProjectDescription",
 		a.quoted_price_year AS "quotedPriceYear",
 		a.quoted_price_month AS "quotedPriceMonth",
-		r.project_name as "projectName"
+		a.project_name AS "projectName",
+		a.report_number AS "reportNumber",
+		a.area_id AS "areaId"
 	</sql>
 
 	<sql id="projectJoins">
@@ -49,8 +51,6 @@
 		SELECT
 			<include refid="projectMaterialStorageColumns"/>
 		FROM project_material_storage a
-		left join rural_project_records r on a.project_number = r.id
-<!--		<include refid="projectJoins"/>-->
 		WHERE a.id = #{id}
 	</select>
 
@@ -66,12 +66,9 @@
 	<select id="findList" resultType="com.jeeplus.modules.projectmaterialstorage.entity.ProjectMaterialStorage" >
 		SELECT
 		<include refid="projectMaterialStorageColumns"/>
-		,prd.number as 'projectId'
-		,sys_area.name as 'areaName'
+		,sa.name as 'areaName'
 		FROM project_material_storage a
-		left join rural_project_records as r on a.project_number = r.id
-		left join project_report_data as prd on a.project_number = prd.project_id
-		LEFT JOIN sys_area on sys_area.id = r.area_id
+		LEFT JOIN sys_area sa on a.area_id = sa.id
 		<where>
 			a.del_flag = #{DEL_FLAG_NORMAL}
 			<if test="projectNumber != null and projectNumber != ''">
@@ -80,8 +77,14 @@
 				<if test="dbName == 'mssql'">'%'+#{projectNumber}+'%'</if>
 				<if test="dbName == 'mysql'">concat('%',#{projectNumber},'%')</if>
 			</if>
+			<if test="reportNumber != null and reportNumber != ''">
+				AND a.report_number LIKE
+				<if test="dbName == 'oracle'">'%'||#{reportNumber}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{reportNumber}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{reportNumber},'%')</if>
+			</if>
 			<if test="projectName != null and projectName != ''">
-				AND r.project_name like concat(concat('%',#{projectName}),'%')
+				AND a.project_name like concat(concat('%',#{projectName}),'%')
 			</if>
 			<if test="projectId != null and projectId != ''">
 				AND prd.number like concat(concat('%',#{projectId}),'%')
@@ -166,7 +169,7 @@
 				ORDER BY ${page.orderBy}
 			</when>
 			<otherwise>
-				ORDER BY a.create_date DESC,r.create_date DESC
+				ORDER BY a.create_date DESC
 			</otherwise>
 		</choose>
 	</select>
@@ -215,7 +218,10 @@
 			price_source,
 			monomer_project_description,
 			quoted_price_year,
-			quoted_price_month
+			quoted_price_month,
+			project_name,
+			report_number,
+			area_id
 		) VALUES (
 		 #{id},
 		 #{createBy.id},
@@ -241,7 +247,10 @@
 		 #{priceSource},
 		 #{monomerProjectDescription},
 		 #{quotedPriceYear},
-		 #{quotedPriceMonth}
+		 #{quotedPriceMonth},
+		 #{projectName},
+		 #{reportNumber},
+		 #{areaId}
 		)
 	</insert>
 
@@ -271,7 +280,10 @@
 			price_source,
 			monomer_project_description,
 			quoted_price_year,
-			quoted_price_month
+			quoted_price_month,
+			project_name,
+			report_number,
+			area_id
 		) VALUES (
 			#{id},
 			#{createBy.id},
@@ -297,7 +309,10 @@
 			#{priceSource},
 			#{monomerProjectDescription},
 			#{quotedPriceYear},
-			#{quotedPriceMonth}
+			#{quotedPriceMonth},
+		 	#{projectName},
+			#{reportNumber},
+			#{areaId}
 		)
 	</insert>
 
@@ -324,7 +339,10 @@
 			price_source = #{priceSource},
 			monomer_project_description = #{monomerProjectDescription},
 			quoted_price_year = #{quotedPriceYear},
-			quoted_price_month = #{quotedPriceMonth}
+			quoted_price_month = #{quotedPriceMonth},
+			project_name = #{projectName},
+			report_number = #{reportNumber},
+			area_id = #{areaId}
 		WHERE id = #{id}
 	</update>
 
@@ -416,7 +434,10 @@
 		price_source,
 		monomer_project_description,
 		quoted_price_year,
-		quoted_price_month
+		quoted_price_month,
+		project_name,
+		report_number,
+		area_id
 		)
 		values
 		<foreach collection="projectMaterialStorageImportList" item="data" separator=",">
@@ -444,7 +465,10 @@
 		#{data.priceSource},
 		#{data.monomerProjectDescription},
 		#{data.quotedPriceYear},
-		#{data.quotedPriceMonth}
+		#{data.quotedPriceMonth},
+		#{data.projectName},
+		#{data.reportNumber},
+		#{data.areaId}
 		)
 		</foreach>
 	</insert>
@@ -452,13 +476,9 @@
 	<select id="queryCount" resultType="int">
 
 		SELECT
-				count(1)
-				FROM project_material_storage a
-		left join rural_project_records as r
-		on a.project_number = r.id
-		LEFT JOIN sys_area
-		on sys_area.id = r.area_id
-		left join project_report_data as prd on a.project_number = prd.project_id
+			count(1)
+		FROM project_material_storage a
+		LEFT JOIN sys_area sa on a.area_id = sa.id
 		<where>
 			a.del_flag = #{DEL_FLAG_NORMAL}
 			<if test="projectNumber != null and projectNumber != ''">
@@ -467,8 +487,14 @@
 				<if test="dbName == 'mssql'">'%'+#{projectNumber}+'%'</if>
 				<if test="dbName == 'mysql'">concat('%',#{projectNumber},'%')</if>
 			</if>
+			<if test="reportNumber != null and reportNumber != ''">
+				AND a.report_number LIKE
+				<if test="dbName == 'oracle'">'%'||#{reportNumber}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{reportNumber}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{reportNumber},'%')</if>
+			</if>
 			<if test="projectName != null and projectName != ''">
-				AND r.project_name like concat(concat('%',#{projectName}),'%')
+				AND a.project_name like concat(concat('%',#{projectName}),'%')
 			</if>
 			<if test="projectId != null and projectId != ''">
 				AND prd.number like concat(concat('%',#{projectId}),'%')
@@ -476,9 +502,70 @@
 			<if test="materialName != null and materialName != ''">
 				AND a.material_name like concat(concat('%',#{materialName}),'%')
 			</if>
-			<if test="areaName != null and areaName != ''">
-				AND r.area_name like concat(concat('%',#{areaName}),'%')
+			<if test="brand != null and brand != ''">
+				AND a.brand like concat(concat('%',#{brand}),'%')
+			</if>
+			<if test="specifications != null and specifications != ''">
+				AND a.specifications like concat(concat('%',#{specifications}),'%')
+			</if>
+			<if test="unit != null and unit != ''">
+				AND a.unit like concat(concat('%',#{unit}),'%')
+			</if>
+			<if test="explain != null and explain != ''">
+				AND a.explain like concat(concat('%',#{explain}),'%')
+			</if>
+			<if test="supplier != null and supplier != ''">
+				AND a.supplier like concat(concat('%',#{supplier}),'%')
+			</if>
+			<if test="monomerProjectDescription != null and monomerProjectDescription != ''">
+				AND a.monomer_project_description like concat(concat('%',#{monomerProjectDescription}),'%')
 			</if>
+			<if test="priceSource != null and priceSource != ''">
+				AND a.price_source = #{priceSource}
+			</if>
+
+			<if test="beginProjectPriceIncludingTax !=null and beginProjectPriceIncludingTax != ''">
+				AND a.project_price_including_tax >= #{beginProjectPriceIncludingTax}
+			</if>
+			<if test="endProjectPriceIncludingTax !=null and endProjectPriceIncludingTax != ''">
+				AND a.project_price_including_tax &lt;= #{endProjectPriceIncludingTax}
+			</if>
+
+			<if test="beginMarketPriceIncludingTax !=null and beginMarketPriceIncludingTax != ''">
+				AND a.market_price_including_tax >= #{beginMarketPriceIncludingTax}
+			</if>
+			<if test="endMarketPriceIncludingTax !=null and endMarketPriceIncludingTax != ''">
+				AND a.market_price_including_tax &lt;= #{endMarketPriceIncludingTax}
+			</if>
+
+			<if test="beginProjectPriceExcludingTax !=null and beginProjectPriceExcludingTax != ''">
+				AND a.project_price_excluding_tax >= #{beginProjectPriceExcludingTax}
+			</if>
+			<if test="endProjectPriceExcludingTax !=null and endProjectPriceExcludingTax != ''">
+				AND a.project_price_excluding_tax &lt;= #{endProjectPriceExcludingTax}
+			</if>
+
+			<if test="beginMarketPriceExcludingTax !=null and beginMarketPriceExcludingTax != ''">
+				AND a.market_price_excluding_tax >= #{beginMarketPriceExcludingTax}
+			</if>
+			<if test="endMarketPriceExcludingTax !=null and endMarketPriceExcludingTax != ''">
+				AND a.market_price_excluding_tax &lt;= #{endMarketPriceExcludingTax}
+			</if>
+
+			<if test="beginTaxRate !=null and beginTaxRate != ''">
+				AND a.tax_rate >= #{beginTaxRate}
+			</if>
+			<if test="endTaxRate !=null and endTaxRate != ''">
+				AND a.tax_rate &lt;= #{endTaxRate}
+			</if>
+
+			<if test="beginQuotedPriceDate !=null">
+				AND a.quoted_price_date >= #{beginQuotedPriceDate}
+			</if>
+			<if test="endQuotedPriceDate !=null">
+				AND a.quoted_price_date &lt; #{endQuotedPriceDate}
+			</if>
+
 			<if test="beginDate !=null">
 				AND a.create_date >= #{beginDate}
 			</if>

+ 1 - 1
src/main/webapp/webpage/include/head.jsp

@@ -36,7 +36,7 @@
 
 <!-- jeeplus -->
 <link href="${ctxStatic}/common/jeeplus.css" type="text/css" rel="stylesheet" />
-<script src="${ctxStatic}/common/jeeplus.js?24" type="text/javascript"></script>
+<script src="${ctxStatic}/common/jeeplus.js?25" type="text/javascript"></script>
 <script type="text/javascript" src="${ctxStatic}/common/openShow.js"></script>
 
 <!-- jquery ui -->

+ 4 - 4
src/main/webapp/webpage/modules/projectMaterialStorage/projectMaterialStorageList.jsp

@@ -512,7 +512,7 @@
 						<div class="layui-item query athird" style="width: 25%">
 							<label class="layui-form-label">报告号:</label>
 							<div class="layui-input-block with-icon">
-								<form:input path="projectId" htmlEscape="false" placeholder="请输入报告号"  maxlength="64"  class=" form-control  layui-input"/>
+								<form:input path="reportNumber" htmlEscape="false" placeholder="请输入报告号"  maxlength="64"  class=" form-control  layui-input"/>
 							</div>
 						</div>
 						<div class="layui-item query athird" style="width: 25%">
@@ -710,7 +710,7 @@
 						</shiro:hasPermission>
 						return xml;
 											}}
-				,{field:'projectId',align:'center', title: '报告号',  width:180}
+				,{field:'reportNumber',align:'center', title: '报告号',  width:180}
 				,{field:'materialName',align:'center', title: '材料名称',  width:260,templet:function(d){
 						return "<a class=\"attention-info\" title=\"" + d.materialName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看详情', '${ctx}/project/projectMaterialStorage/view?id=" + d.id +"','95%', '95%')\">" + d.materialName + "</a>";
 					}}
@@ -750,13 +750,13 @@
                     "index":"${index.index+1}"
                     ,"id":"${projectMaterialStorage.id}"
 					,"projectNumber":"${projectMaterialStorage.projectNumber}"
-					,"projectId":"${projectMaterialStorage.projectId}"
+					,"reportNumber":"${projectMaterialStorage.reportNumber}"
 					,"materialName":"${projectMaterialStorage.materialName}"
 					,"price":"${projectMaterialStorage.price}"
                     ,"projectName":"<c:out value="${projectMaterialStorage.projectName}" escapeXml="true"/>"
 					,"areaName":"${projectMaterialStorage.areaName}"
 					,"createDate":"<fmt:formatDate value="${projectMaterialStorage.createDate}" pattern="yyyy-MM-dd"/>"
-					,"quotedPriceDate":"<fmt:formatDate value="${projectMaterialStorage.quotedPriceDate}" pattern="yyyy年MM月"/>"
+					,"quotedPriceDate":"${fn:replace(fn:substring(projectMaterialStorage.quotedPriceDate, 0, 7), '-', '年')}月"
 					,"brand":"${projectMaterialStorage.brand}"
 					,"specifications":"${projectMaterialStorage.specifications}"
 					,"projectPriceIncludingTax":"${projectMaterialStorage.projectPriceIncludingTax}"

+ 3 - 3
src/main/webapp/webpage/modules/projectMaterialStorage/projectMaterialStorageTwoForm.jsp

@@ -67,7 +67,7 @@
 			});
 			laydate.render({
 				elem: '#quotedPriceDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
-				type : 'month'
+				type : 'date'
 				, trigger: 'click'
 			});
         });
@@ -133,7 +133,7 @@
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label"><span class="require-item invoicetype">*</span>项目名称</label>
 					<div class="layui-input-block">
-						<sys:gridselectprojectmaterial url="${ctx}/project/projectMaterialStorage/selectproject" id="project" name="projectName"  value="${projectMaterialStorage.projectName}"  title="选择所属项目" labelName="projectName" cssStyle="background-color: #fff"
+						<sys:gridselectprojectmaterial url="${ctx}/project/projectMaterialStorage/selectproject" id="project" name="projectNames"  value="${projectMaterialStorage.projectName}"  title="选择所属项目" labelName="projectName" cssStyle="background-color: #fff"
 													  labelValue="${projectMaterialStorage.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"  ></sys:gridselectprojectmaterial>
 					</div>
 				</div>
@@ -215,7 +215,7 @@
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label">报价时间</label>
 					<div class="layui-input-block">
-						<input class="form-control layui-input"  style="background-color: #FFFFFF" readonly id="quotedPriceDate" name="quotedPriceDate" value="<fmt:formatDate value="${projectMaterialStorage.quotedPriceDate}" pattern="yyyy-MM"/>">
+						<input class="form-control layui-input"  style="background-color: #FFFFFF" readonly id="quotedPriceDate" name="quotedPriceDate" value="${projectMaterialStorage.quotedPriceDate}">
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm12 with-textarea">

+ 1 - 1
src/main/webapp/webpage/modules/projectMaterialStorage/projectMaterialStorageView.jsp

@@ -206,7 +206,7 @@
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label">报价时间</label>
 					<div class="layui-input-block">
-						<input class="form-control layui-input"   readonly id="quotedPriceDate" name="quotedPriceDate" value="<fmt:formatDate value="${projectMaterialStorage.quotedPriceDate}" pattern="yyyy-MM"/>">
+						<input class="form-control layui-input"   readonly id="quotedPriceDate" name="quotedPriceDate" value="${projectMaterialStorage.quotedPriceDate}">
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm12 with-textarea">

+ 1 - 1
src/main/webapp/webpage/modules/sys/sysLogin.jsp

@@ -18,7 +18,7 @@
 	<link href="${ctxStatic}/awesome/4.4/css/font-awesome.min.css" rel="stylesheet" />
 	<!-- jeeplus -->
 	<link href="${ctxStatic}/common/jeeplus.css" type="text/css" rel="stylesheet" />
-	<script src="${ctxStatic}/common/jeeplus.js?24" type="text/javascript"></script>
+	<script src="${ctxStatic}/common/jeeplus.js?25" type="text/javascript"></script>
 	<link rel="shortcut icon" href="images/favicon.png" type="image/png">
 	<!-- text fonts -->
 	<link rel="stylesheet" href="${ctxStatic }/common/login/ace-fonts.css" />

+ 1 - 1
src/main/webapp/webpage/modules/sys/sysLogin2.jsp

@@ -16,7 +16,7 @@
 		<link href="${ctxStatic}/awesome/4.4/css/font-awesome.min.css" rel="stylesheet" />
 		<!-- jeeplus -->
 		<link href="${ctxStatic}/common/jeeplus.css" type="text/css" rel="stylesheet" />
-		<script src="${ctxStatic}/common/jeeplus.js?24" type="text/javascript"></script>
+		<script src="${ctxStatic}/common/jeeplus.js?25" type="text/javascript"></script>
 		<link rel="shortcut icon" href="images/favicon.png" type="image/png">
 		<!-- text fonts -->
 		<link rel="stylesheet" href="${ctxStatic }/common/login/ace-fonts.css" />

+ 10 - 10
src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailModify.jsp

@@ -1044,11 +1044,11 @@
                                     </td>
                                     <td class="text-center op-td">
                                         <a class="op-btn op-btn-add" title="修改" onclick="this_upload_file_button('educationList${varStatus.index}_eduPhotoFile')"><i class="fa fa-plus"></i>&nbsp;修改</a><span id="educationList${varStatus.index}_eduPhotoFileName1"><c:if test="${not empty education.eduPhotoThumbnailStr}"><img src="${education.eduPhotoThumbnailStr}" width="24" height="24" onclick="clickPicture('${education.eduPhotoStr}')" alt=""></c:if></span>
-                                        <input id="educationList${varStatus.index}_eduPhotoFile" name="educationList[${varStatus.index}].eduPhotoFile" class="judgment" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                                        <input id="educationList${varStatus.index}_eduPhotoFile" name="educationList[${varStatus.index}].eduPhotoFile" class="judgment" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                                     </td>
                                     <td class="text-center op-td">
                                         <a class="op-btn op-btn-add" title="修改" onclick="this_upload_file_button('educationList${varStatus.index}_degreePhotoFile')"><i class="fa fa-plus"></i>&nbsp;修改</a><span id="educationList${varStatus.index}_degreePhotoFileName1"><c:if test="${not empty education.degreePhotoThumbnailStr}"><img src="${education.degreePhotoThumbnailStr}" width="24" height="24" onclick="clickPicture('${education.degreePhotoStr}')" alt=""></c:if></span>
-                                        <input id="educationList${varStatus.index}_degreePhotoFile" name="educationList[${varStatus.index}].degreePhotoFile" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                                        <input id="educationList${varStatus.index}_degreePhotoFile" name="educationList[${varStatus.index}].degreePhotoFile" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                                     </td>
                                     <td class="text-center op-td">
                                         <a href=javascript:void(0); onclick="delRow(this, '#educationList${varStatus.index}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 删除</a>
@@ -1109,11 +1109,11 @@
                     </td>
                     <td class="text-center op-td">
                         <a class="op-btn op-btn-add" title="上传" onclick="this_upload_file_button('educationList{{idx}}_eduPhotoFile')"><i class="fa fa-plus"></i>&nbsp;上传</a><span id="educationList{{idx}}_eduPhotoFileName1"></span>
-                        <input id="educationList{{idx}}_eduPhotoFile" name="educationList[{{idx}}].eduPhotoFile" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                        <input id="educationList{{idx}}_eduPhotoFile" name="educationList[{{idx}}].eduPhotoFile" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                     </td>
                     <td class="text-center op-td">
                         <a class="op-btn op-btn-add" title="上传" onclick="this_upload_file_button('educationList{{idx}}_degreePhotoFile')"><i class="fa fa-plus"></i>&nbsp;上传</a><span id="educationList{{idx}}_degreePhotoFileName1"></span>
-                        <input id="educationList{{idx}}_degreePhotoFile" name="educationList[{{idx}}].degreePhotoFile" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                        <input id="educationList{{idx}}_degreePhotoFile" name="educationList[{{idx}}].degreePhotoFile" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                     </td>
                     <td class="text-center op-td">
                         <a href=javascript:void(0); onclick="delRow(this, '#educationList{{idx}}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 删除</a>
@@ -1198,7 +1198,7 @@
                                     </td>
                                     <td class="text-left op-td">
                                         <a class="op-btn op-btn-add" title="修改" onclick="this_upload_file_button('languageList${varStatus.index}_file')"><i class="fa fa-plus"></i>&nbsp;修改</a><span id="languageList${varStatus.index}_fileName1"><c:if test="${not empty language.filePathThumbnailStr}"><img src="${language.filePathThumbnailStr}" width="24" height="24" onclick="clickPicture('${language.filePathStr}')" alt="${language.fileName}"></c:if></span>
-                                        <input id="languageList${varStatus.index}_file" name="languageList[${varStatus.index}].file" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                                        <input id="languageList${varStatus.index}_file" name="languageList[${varStatus.index}].file" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                                     </td>
                                     <td class="text-center op-td">
                                         <a href=javascript:void(0); onclick="delRow(this, '#languageList${varStatus.index}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 删除</a>
@@ -1236,7 +1236,7 @@
                     </td>
                     <td class="text-left op-td">
                         <a class="op-btn op-btn-add" title="上传" onclick="this_upload_file_button('languageList{{idx}}_file')"><i class="fa fa-plus"></i>&nbsp;上传</a><span id="languageList{{idx}}_fileName1"></span>
-                        <input id="languageList{{idx}}_file" name="languageList[{{idx}}].file" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                        <input id="languageList{{idx}}_file" name="languageList[{{idx}}].file" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                     </td>
                     <td class="text-center op-td">
                         <a href=javascript:void(0); onclick="delRow(this, '#languageList{{idx}}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 取消</a>
@@ -1924,7 +1924,7 @@
                                     </td>
                                     <td class="text-left op-td">
                                         <a class="op-btn op-btn-add" title="修改" onclick="this_upload_file_button('trainingList${varStatus.index}_file')"><i class="fa fa-plus"></i>&nbsp;修改</a><span id="trainingList${varStatus.index}_fileName1"><c:if test="${not empty training.filePathThumbnailStr}"><img src="${training.filePathThumbnailStr}" width="24" height="24" onclick="clickPicture('${training.filePathStr}')" alt=""></c:if></span>
-                                        <input id="trainingList${varStatus.index}_file" name="trainingList[${varStatus.index}].file" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                                        <input id="trainingList${varStatus.index}_file" name="trainingList[${varStatus.index}].file" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                                     </td>
                                     <td>
                                         <input id="trainingList${varStatus.index}_remarks" name="trainingList[${varStatus.index}].remarks" class="form-control" value="${training.remarks}"/>
@@ -1977,7 +1977,7 @@
                                 </td>
                                 <td class="text-left op-td">
                                     <a class="op-btn op-btn-add" title="上传" onclick="this_upload_file_button('trainingList{{idx}}_file')"><i class="fa fa-plus"></i>&nbsp;上传</a><span id="trainingList{{idx}}_fileName1"></span>
-                                    <input id="trainingList{{idx}}_file" name="trainingList[{{idx}}].file" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                                    <input id="trainingList{{idx}}_file" name="trainingList[{{idx}}].file" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                                 </td>
                                 <td>
                                     <input id="trainingList{{idx}}_remarks" name="trainingList[{{idx}}].remarks" class="form-control" value="{{row.remarks}}"/>
@@ -2453,7 +2453,7 @@
                                     </td>
                                     <td class="text-left op-td">
                                         <a class="op-btn op-btn-add" title="修改" onclick="this_upload_file_button('recordList${varStatus.index}_file')"><i class="fa fa-plus"></i>&nbsp;修改</a><span id="recordList${varStatus.index}_fileName1"><c:if test="${not empty record.filePath}"><img src="${record.filePath}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${record.filePath}','90%','90%')" alt=""></c:if></span>
-                                        <input id="recordList${varStatus.index}_file" name="recordList[${varStatus.index}].file" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                                        <input id="recordList${varStatus.index}_file" name="recordList[${varStatus.index}].file" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                                     </td>
                                     <td>
                                         <input id="recordList${varStatus.index}_status" name="recordList[${varStatus.index}].status" class="form-control" readonly value="${record.status}"/>
@@ -2486,7 +2486,7 @@
                             </td>
                             <td class="text-left op-td">
                                 <a class="op-btn op-btn-add" title="上传" onclick="this_upload_file_button('recordList{{idx}}_file')"><i class="fa fa-plus"></i>&nbsp;上传</a><span id="recordList{{idx}}_fileName1"></span>
-                                <input id="recordList{{idx}}_file" name="recordList[{{idx}}].file" style="display:none" type="file" onchange="changeTsFileName(this,1)"/>
+                                <input id="recordList{{idx}}_file" name="recordList[{{idx}}].file" style="display:none" type="file" onchange="changelaborContractFileName(this,1)"/>
                             </td>
                             <td>
                                 <input id="recordList{{idx}}_status" name="recordList[{{idx}}].status" class="form-control" readonly value="不验证"/>