Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

xs 5 lat temu
rodzic
commit
1e96404315

+ 2 - 2
src/main/java/com/jeeplus/modules/sg/managementcenter/materialinfo/entity/MaterialInfo.java

@@ -25,7 +25,7 @@ public class MaterialInfo extends DataEntity<MaterialInfo> {
         this.state = state;
     }
 
-    @ExcelField(title="储备项目名称", align=2, sort=1)
+//    @ExcelField(title="储备项目名称", align=2, sort=1)
     public String getProjectName() {
         return projectName;
     }
@@ -70,7 +70,7 @@ public class MaterialInfo extends DataEntity<MaterialInfo> {
         this.unit = unit;
     }
 
-    @ExcelField(title="总", align=2, sort=6)
+    @ExcelField(title="总", align=2, sort=6)
     public Double getTotalCount() {
         return totalCount;
     }

+ 15 - 7
src/main/java/com/jeeplus/modules/sg/managementcenter/materialinfo/service/MaterialInfoService.java

@@ -82,13 +82,21 @@ public class MaterialInfoService extends CrudService<MaterialInfoMapper, Materia
 		ImportExcel mo = new ImportExcel(file,1,"模块表");
 		ImportExcel importExcel = new ImportExcel(file,1,"领料清单");
 		Row row = mo.getRow(0);
-		String projectName = (String) mo.getCellValue(row, 1);
+		String projectNam1 = (String) mo.getCellValue(row, 1);
+		String projectName = projectNam1.trim();
+		MaterialProject materialProject1 = new MaterialProject();
+		materialProject1.setReserveProjectName(projectName);
+		List<MaterialProject> materialProjects = materialProjectService.findList(materialProject1);
+		if(materialProjects != null && materialProjects.size() > 0){
+			materialProjectService.delete(materialProjects.get(0));
+			materialInfoMapper.deleteByPro(projectName);
+		}
 		List<MaterialInfo> materialInfos = getData(importExcel,projectName);   //sheet页数据
-		List<MaterialInfo> list = replaceDate(materialInfos);          //对比替换数据
-		List<MaterialInfo> list1 = getNewData(list);      //合并后数据
-		List<MaterialInfo> standardList = materialInfoMapper.findSat(batch);     //标准库数据
-		List<MaterialInfo> newList = compareData(list1,standardList);    //比对之后的数据
-		saveList(newList);
+//		List<MaterialInfo> list = replaceDate(materialInfos);          //对比替换数据
+		List<MaterialInfo> list = getNewData(materialInfos);      //合并后数据
+//		List<MaterialInfo> standardList = materialInfoMapper.findSat(batch);     //标准库数据
+//		List<MaterialInfo> newList = compareData(list1,standardList);    //比对之后的数据
+		saveList(list);
 		MaterialProject materialProject = new MaterialProject();
 		materialProject.setReserveProjectName(projectName);
 		materialProject.setSuppliesBatch(batch);
@@ -115,7 +123,7 @@ public class MaterialInfoService extends CrudService<MaterialInfoMapper, Materia
 		int lastRow = importExcel.getLastDataRowNum();
 		List<MaterialInfo> list = new ArrayList<>();
 		MaterialInfo maintainData = null;
-		for(int i=1; i<lastRow;i++){
+		for(int i=2; i<lastRow;i++){
 			maintainData = new MaterialInfo();
 			Row row = importExcel.getRow(i);
 			String materialCode = (String) importExcel.getCellValue(row,1);

+ 19 - 5
src/main/java/com/jeeplus/modules/sg/managementcenter/materialinfo/web/MaterialInfoController.java

@@ -168,21 +168,35 @@ public class MaterialInfoController extends BaseController {
 	 */
 	@RequestMapping(value = "importExcel")
 	public String importExcel(Model model) {
-		List<MaterialProject> list = materialProjectService.findBatch();
-		model.addAttribute("batch",list);
+//		List<MaterialProject> list = materialProjectService.findBatch();
+//		model.addAttribute("batch",list);
 		return "modules/sg/managementcenter/materialinfo/importexcel";
 	}
 
 	@ResponseBody
 	@RequestMapping(value = "importValidation")
-	public AjaxJson importValidation(Model model) {
+	public AjaxJson importValidation(@RequestParam("file")MultipartFile file,String batch) throws IOException, InvalidFormatException {
 		AjaxJson j = new AjaxJson();
-		List<MaterialInfo> list = materialInfoService.findProjectName();
+//		try {
+		ImportExcel mo = new ImportExcel(file,1,"模块表");
+		Row row = mo.getRow(0);
+		String projectName1 = (String) mo.getCellValue(row, 1);
+		String projectName = projectName1.trim();
+		MaterialProject materialProject = new MaterialProject();
+		materialProject.setReserveProjectName(projectName);
+		List<MaterialProject> list = materialProjectService.findList(materialProject);
 		if(list != null && list.size()>0){
 			j.setSuccess(true);
 		}else {
-			j.setSuccess(false);
+			materialInfoService.export(file,batch);
+			j.setSuccess(true);
+			j.setErrorCode("0");
+			j.setMsg("导入成功");
 		}
+//		} catch (Exception e) {
+//			j.setSuccess(false);
+//			j.setMsg("导入失败!失败信息:"+e.getMessage());
+//		}
 		return j;
 	}
 

+ 67 - 15
src/main/webapp/webpage/modules/sg/managementcenter/materialinfo/importexcel.jsp

@@ -8,9 +8,70 @@
         function importExcel(url, fn) {
             var importForm =$("#importForm")[0];
             jp.loading('  正在导入,请稍等...');
-            jp.uploadFile(importForm, url,function (data) {
-               fn(data);
-            })
+            // jp.uploadFile(importForm, url,function (data) {
+            //    fn(data);
+            // })
+                var data = new FormData(importForm);
+                // data.append("CustomField", "This is some extra data, testing");//如果要添加参数
+                $.ajax({
+                    type: "POST",
+                    enctype: 'multipart/form-data',
+                    url: url,
+                    data: data,
+                    processData: false, //prevent jQuery from automatically transforming the data into a query string
+                    contentType: false,
+                    cache: false,
+                    timeout: 600000,
+                    success: function (result) {
+                        if(result.success && result.errorCode === '-1'){
+                            jp.confirm('该项目已存在,确定覆盖嘛?', function(){
+                                $.ajax({
+                                    type: "POST",
+                                    enctype: 'multipart/form-data',
+                                    url: '${ctx}/managementcenter/materialinfo/import',
+                                    data: data,
+                                    processData: false, //prevent jQuery from automatically transforming the data into a query string
+                                    contentType: false,
+                                    cache: false,
+                                    timeout: 600000,
+                                    success: function (result) {
+                                        fn(result);
+                                    }
+                                })
+                            });
+                        }else if((result.success && result.errorCode === '0')){
+                                   fn(result)
+                        }
+                        // fn(result);
+                    },
+                    error:function(xhr, textStatus){
+                        if(xhr.status == 0){
+                            jp.info("连接失败,请检查网络!")
+                        }else if(xhr.status == 404){
+                            var errDetail ="<font color='red'>404,请求地址不存在!</font>";
+                            top.layer.alert(errDetail , {
+                                icon: 2,
+                                area:['auto','auto'],
+                                title:"请求出错"
+                            })
+                        }else if(xhr.status && xhr.responseText){
+                            var errDetail ="<font color='red'>"+ xhr.responseText.replace(/[\r\n]/g,"<br>").replace(/[\r]/g,"<br>").replace(/[\n]/g,"<br>")+"</font>";
+                            top.layer.alert(errDetail , {
+                                icon: 2,
+                                area:['80%','70%'],
+                                title:xhr.status+"错误"
+                            })
+                        }else{
+                            var errDetail =xhr.responseText=="<font color='red'>未知错误!</font>";
+                            top.layer.alert(errDetail , {
+                                icon: 2,
+                                area:['auto','auto'],
+                                title:"真悲剧,后台抛出异常了"
+                            })
+                        }
+
+                    }
+                })
         }
     </script>
 </head>
@@ -19,19 +80,10 @@
         <div id="importBox" >
             <form id="importForm" action="${url}" method="post" enctype="multipart/form-data"
                   style="padding-left:20px;text-align:center;" onsubmit="loading('正在导入,请稍等...');">
-             <div>
-                 <label class="label-item single-overflow pull-left" title="选择文件:">选择文件:</label>
                 <input id="uploadFile" name="file" type="file" class="form-control" style="width:300px"/>
-             </div>
-                <div>
-                    <label class="label-item single-overflow pull-left" title="选择物料库:">选择物料库:</label>
-                    <select name="batch"  class="form-control   simple-select" style="width:300px">
-                        <option value="" label=""/>
-                        <c:forEach var="item" items="${batch}">
-                            <option value="${item.suppliesBatch}" label="${item.suppliesBatch}"/>
-                        </c:forEach>
-                    </select>
-                </div> 
+                <br/>
+                导入文件不能超过5M,仅允许导入“xls”或“xlsx”格式文件!  
+
             </form>
         </div>
     </div>

+ 14 - 13
src/main/webapp/webpage/modules/sg/managementcenter/materialinfo/materialInfoList.js

@@ -144,21 +144,22 @@ $(document).ready(function() {
                        area: [500, 200],
                        auto: true,
                        title:"导入数据",
+                       // content: "${ctx}/managementcenter/materialinfo/importExcel" ,
                        content: "${ctx}/managementcenter/materialinfo/importExcel" ,
                        btn: ['确定', '关闭'],
-              btn1: function(index, layero){
-                     var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
-                     iframeWin.contentWindow.importExcel('${ctx}/managementcenter/materialinfo/import', function (data) {
-                     if(data.success){
-                         jp.success(data.msg);
-                           refresh();
-                     }else{
-                        jp.error(data.msg);
-                      }
-                    jp.close(index);
-                    });//调用保存事件
-                   return false;
-                    },
+                       btn1: function(index, layero){
+                             var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                             iframeWin.contentWindow.importExcel('${ctx}/managementcenter/materialinfo/importValidation', function (data) {
+                             if(data.success){
+                                jp.success(data.msg);
+                                 refresh();
+                             }else{
+                                jp.error(data.msg);
+                             }
+                            jp.close(index);
+                      });//调用保存事件
+                       return false;
+                     },
 
               btn2: function(index){
                         jp.close(index);

+ 5 - 5
src/main/webapp/webpage/modules/sg/managementcenter/materialinfo/materialInfoList.jsp

@@ -83,11 +83,11 @@
 		<shiro:hasPermission name="managementcenter:materialinfo:import">
 			<button id="btnImport" class="btn btn-info"><i class="fa fa-folder-open-o"></i> 导入</button>
 		</shiro:hasPermission>
-			<shiro:hasPermission name="managementcenter:materialinfo:export">
-	        		<button id="export" class="btn btn-warning">
-					<i class="fa fa-file-excel-o"></i> 导出
-				</button>
-			 </shiro:hasPermission>
+			<%--<shiro:hasPermission name="managementcenter:materialinfo:export">--%>
+	        		<%--<button id="export" class="btn btn-warning">--%>
+					<%--<i class="fa fa-file-excel-o"></i> 导出--%>
+				<%--</button>--%>
+			 <%--</shiro:hasPermission>--%>
 	                 <%--<shiro:hasPermission name="managementcenter:materialinfo:view">--%>
 				<%--<button id="view" class="btn btn-default" disabled onclick="view()">--%>
 					<%--<i class="fa fa-search-plus"></i> 查看--%>

+ 12 - 12
src/main/webapp/webpage/modules/sg/managementcenter/materialproject/materialProjectForm.jsp

@@ -44,7 +44,7 @@
 				<tr>
 					<td class="width-15 active"><label class="pull-right">储备项目暂定名称:</label></td>
 					<td class="width-35">
-						<form:input path="reserveProjectName" htmlEscape="false"    class="form-control required"/>
+						<form:input path="reserveProjectName" htmlEscape="false"    class="form-control required" readonly="true"/>
 					</td>
 					<td class="width-15 active"><label class="pull-right">项目名称:</label></td>
 					<td class="width-35">
@@ -74,18 +74,18 @@
 				<tr>
 					<td class="width-15 active"><label class="pull-right">项目批次:</label></td>
 					<td class="width-35">
-						<form:input path="projectBatch" htmlEscape="false"    class="form-control "/>
-					</td>
-					<td class="width-15 active"><label class="pull-right">物料批次:</label></td>
-					<td class="width-35">
-						<%--<form:input path="suppliesBatch" htmlEscape="false"    class="form-control required"/>--%>
-						<form:select path="suppliesBatch"  class="form-control   simple-select">
-							<form:option value="" label=""/>
-							<c:forEach var="item" items="${batch}">
-								<form:option value="${item.suppliesBatch}" label="${item.suppliesBatch}"/>
-							</c:forEach>
-						</form:select>
+						<form:input path="projectBatch" htmlEscape="false"    class="form-control required"/>
 					</td>
+					<%--<td class="width-15 active"><label class="pull-right">物料批次:</label></td>--%>
+					<%--<td class="width-35">--%>
+						<%--&lt;%&ndash;<form:input path="suppliesBatch" htmlEscape="false"    class="form-control required"/>&ndash;%&gt;--%>
+						<%--<form:select path="suppliesBatch"  class="form-control   simple-select">--%>
+							<%--<form:option value="" label=""/>--%>
+							<%--<c:forEach var="item" items="${batch}">--%>
+								<%--<form:option value="${item.suppliesBatch}" label="${item.suppliesBatch}"/>--%>
+							<%--</c:forEach>--%>
+						<%--</form:select>--%>
+					<%--</td>--%>
 				</tr>
 		 	</tbody>
 		</table>

+ 4 - 4
src/main/webapp/webpage/modules/sg/managementcenter/materialproject/materialProjectList.js

@@ -127,10 +127,10 @@ $(document).ready(function() {
 					   field: 'projectBatch',
 					   title: '项目批次'
                }
-              ,{
-                       field: 'suppliesBatch',
-                       title: '物资批次'
-                   }
+              // ,{
+              //          field: 'suppliesBatch',
+              //          title: '物资批次'
+              //      }
 		     ]
 		
 		});

+ 5 - 5
src/main/webapp/webpage/modules/sg/managementcenter/materialproject/materialProjectList.jsp

@@ -65,11 +65,11 @@
 	
 	<!-- 工具栏 -->
 	<div id="toolbar">
-			<shiro:hasPermission name="managementcenter:materialproject:add">
-				<button id="add" class="btn btn-primary" onclick="add()">
-					<i class="glyphicon glyphicon-plus"></i> 新建
-				</button>
-			</shiro:hasPermission>
+			<%--<shiro:hasPermission name="managementcenter:materialproject:add">--%>
+				<%--<button id="add" class="btn btn-primary" onclick="add()">--%>
+					<%--<i class="glyphicon glyphicon-plus"></i> 新建--%>
+				<%--</button>--%>
+			<%--</shiro:hasPermission>--%>
 			<shiro:hasPermission name="managementcenter:materialproject:edit">
 			    <button id="edit" class="btn btn-success" disabled onclick="edit()">
 	            	<i class="glyphicon glyphicon-edit"></i> 修改