蔡德晨 5 rokov pred
rodič
commit
6ea714c72f

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

@@ -80,7 +80,7 @@ public class MaterialInfoService extends CrudService<MaterialInfoMapper, Materia
 
 
     @Transactional(readOnly = false)
-	public void export(MultipartFile file,String batch) throws IOException, InvalidFormatException {
+	public void export(MultipartFile file,String batch,String itemBatch) throws IOException, InvalidFormatException {
 		ImportExcel mo = new ImportExcel(file,1,"模块表");
 		ImportExcel importExcel = new ImportExcel(file,1,"领料清单");
 		Row row = mo.getRow(0);
@@ -102,7 +102,7 @@ public class MaterialInfoService extends CrudService<MaterialInfoMapper, Materia
 		MaterialProject materialProject = new MaterialProject();
 		materialProject.setReserveProjectName(projectName);
 		materialProject.setSuppliesBatch(batch);
-		materialProject.setProjectBatch("2");
+		materialProject.setProjectBatch(itemBatch);
         materialProjectService.save(materialProject);
 	}
 

+ 74 - 6
src/main/java/com/jeeplus/modules/sg/managementcenter/materialinfo/web/MaterialInfoController.java

@@ -149,9 +149,10 @@ public class MaterialInfoController extends BaseController {
     @RequestMapping(value = "import")
    	public AjaxJson importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
 		String batch = request.getParameter("batch");
+		String itemBatch = request.getParameter("itemBatch");
 		AjaxJson j = new AjaxJson();
 		try {
-			materialInfoService.export(file,batch);
+			materialInfoService.export(file,batch,itemBatch);
 			j.setMsg("导入成功");
 		} catch (Exception e) {
 			j.setSuccess(false);
@@ -161,15 +162,37 @@ public class MaterialInfoController extends BaseController {
     }
 
 
+    /**
+     * 多文件导入
+     */
+    @ResponseBody
+    @RequiresPermissions("managementcenter:materialinfo:import")
+    @RequestMapping(value = "imports")
+    public AjaxJson importFile(@RequestParam("file")MultipartFile[] file, HttpServletResponse response, HttpServletRequest request) {
+        String batch = request.getParameter("batch");
+        String itemBatch = request.getParameter("itemBatch");
+        AjaxJson j = new AjaxJson();
+        try {
+            for(int i=0;i<file.length;i++) {
+                materialInfoService.export(file[i], batch,itemBatch);
+            }
+            j.setMsg("导入成功");
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入失败!失败信息:"+e.getMessage());
+        }
+        return j;
+    }
 
-	/**
+
+    /**
 	 * 导入文件页面
 	 * @return
 	 */
 	@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";
 	}
 
@@ -179,10 +202,15 @@ public class MaterialInfoController extends BaseController {
 	 */
 	@RequestMapping(value = "/importMore/Form")
 	public String importMoreForm(Model model){
+		List<MaterialProject> list = materialProjectService.findBatch();
+		model.addAttribute("batch",list);
 		return "modules/sg/managementcenter/materialinfo/importmore";
 	}
 
 
+
+
+
 	/**
 	 * 项目验证
 	 * @param file
@@ -194,7 +222,7 @@ public class MaterialInfoController extends BaseController {
 
 	@ResponseBody
 	@RequestMapping(value = "importValidation")
-	public AjaxJson importValidation(@RequestParam("file")MultipartFile file,String batch) throws IOException, InvalidFormatException {
+	public AjaxJson importValidation(@RequestParam("file")MultipartFile file,String batch,String itemBatch){
 		AjaxJson j = new AjaxJson();
 		try {
 		ImportExcel mo = new ImportExcel(file,1,"模块表");
@@ -207,7 +235,7 @@ public class MaterialInfoController extends BaseController {
 		if(list != null && list.size()>0){
 			j.setSuccess(true);
 		}else {
-			materialInfoService.export(file,batch);
+			materialInfoService.export(file,batch,itemBatch);
 			j.setSuccess(true);
 			j.setErrorCode("0");
 			j.setMsg("导入成功");
@@ -220,6 +248,46 @@ public class MaterialInfoController extends BaseController {
 	}
 
 
+    /**
+     * 多文件验证
+     */
+    @ResponseBody
+    @RequestMapping(value = "importValidations")
+    public AjaxJson importValidations(@RequestParam("file")MultipartFile[] file,String batch,String itemBatch){
+        AjaxJson j = new AjaxJson();
+        List<MaterialProject> materialProjects = new ArrayList<>();
+        try {
+            for(int i = 0;i<file.length;i++) {
+                ImportExcel mo = new ImportExcel(file[i], 1, "模块表");
+                Row row = mo.getRow(0);
+                String projectName1 = (String) mo.getCellValue(row, 1);
+                String projectName = projectName1.trim();
+                MaterialProject materialProject = new MaterialProject();
+                materialProject.setReserveProjectName(projectName);
+                materialProjects.add(materialProject);
+            }
+            List<MaterialProject> list = materialProjectService.findByList(materialProjects);
+            if(list != null && list.size()>0){
+            	StringBuilder stringBuilder = new StringBuilder();
+            	for(MaterialProject materialProject : list){
+            		stringBuilder.append(materialProject.getReserveProjectName()+",");
+				}
+            	j.setMsg(stringBuilder.toString());
+                j.setSuccess(true);
+            }else {
+                for(int k=0;k<file.length;k++) {
+                    materialInfoService.export(file[k], batch,itemBatch);
+                }
+                j.setSuccess(true);
+                j.setErrorCode("0");
+                j.setMsg("导入成功");
+            }
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入失败!失败信息:"+e.getMessage());
+        }
+        return j;
+    }
 
 
 

+ 1 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/materialproject/mapper/MaterialProjectMapper.java

@@ -14,5 +14,6 @@ import java.util.List;
 @MyBatisMapper
 public interface MaterialProjectMapper extends BaseMapper<MaterialProject> {
     List<MaterialProject> findBatch();
+    List<MaterialProject> findByList(@Param("list") List<MaterialProject> list);
 
 }

+ 12 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/materialproject/mapper/xml/MaterialProjectMapper.xml

@@ -70,6 +70,18 @@
 			</otherwise>
 		</choose>
 	</select>
+
+	<select id="findByList" resultType="MaterialProject">
+		SELECT
+		<include refid="infoColumns"/>
+		FROM xm_material_project a
+		<where>
+			a.reserve_project_name in
+			<foreach collection="list" item="item" open="(" close=")" separator=",">
+				#{item.reserveProjectName}
+			</foreach>
+		</where>
+	</select>
 	
 	<select id="findAllList" resultType="MaterialProject" >
 		SELECT 

+ 4 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/materialproject/service/MaterialProjectService.java

@@ -34,6 +34,10 @@ public class MaterialProjectService extends CrudService<MaterialProjectMapper, M
 	public List<MaterialProject> findBatch(){
 		return materialProjectMapper.findBatch();
 	}
+
+	public List<MaterialProject> findByList(List<MaterialProject> list){
+		return materialProjectMapper.findByList(list);
+	}
 	
 	public Page<MaterialProject> findPage(Page<MaterialProject> page, MaterialProject materialProject) {
 		return super.findPage(page, materialProject);

+ 31 - 2
src/main/webapp/webpage/modules/sg/managementcenter/materialinfo/importexcel.jsp

@@ -7,6 +7,21 @@
     <script>
         function importExcel(url, fn) {
             var importForm =$("#importForm")[0];
+            var file = $("#uploadFile").val();
+            var itemBatch = $("#itemBatch").val();
+            var suppliesBatch = $("#suppliesBatch").val();
+            if(file.length === 0){
+                layer.msg("请选择文件",{icon: 3,offset:['40%','40%']});
+                return false;
+            }
+            if(itemBatch == null || itemBatch === ''){
+                layer.msg("请输入项目批次",{icon: 3,offset:['40%','40%']});
+                return false;
+            }
+            if(suppliesBatch == null || suppliesBatch === ''){
+                layer.msg("请选择物料批次",{icon: 3,offset:['40%','40%']});
+                return false;
+            }
             jp.loading('  正在导入,请稍等...');
             // jp.uploadFile(importForm, url,function (data) {
             //    fn(data);
@@ -25,6 +40,7 @@
                     success: function (result) {
                         if(result.success && result.errorCode === '-1'){
                             jp.confirm('该项目已存在,确定覆盖嘛?', function(){
+                                jp.loading('  正在导入,请稍等...');
                                 $.ajax({
                                     type: "POST",
                                     enctype: 'multipart/form-data',
@@ -80,9 +96,22 @@
         <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"/>
-                <br/>
-                导入文件不能超过5M,仅允许导入“xls”或“xlsx”格式文件!  
+                </div>
+                <div style="margin-top: 4px;">
+                    <label class="label-item single-overflow pull-left" title="项目批次:">项目批次:</label>
+                    <input id="itemBatch" name="itemBatch" type="text" class="form-control" style="width:300px"/>
+                </div>
+                <div style="margin-top: 4px;">
+                    <label class="label-item single-overflow pull-left" title="物料批次:">物料批次:</label>
+                <select name="batch"  class="form-control   simple-select" id="suppliesBatch" style="width:300px"/>
+                    <c:forEach var="item" items="${batch}">
+                        <option value="${item.suppliesBatch}" label="${item.suppliesBatch}"></option>
+                    </c:forEach>
+                </select>
+                </div> 
 
             </form>
         </div>

+ 30 - 1
src/main/webapp/webpage/modules/sg/managementcenter/materialinfo/materialInfoList.js

@@ -141,7 +141,7 @@ $(document).ready(function() {
     $("#btnImport").click(function(){
              jp.open({
                        type: 2,
-                       area: [500, 200],
+                       area: [500, 300],
                        auto: true,
                        title:"导入数据",
                        // content: "${ctx}/managementcenter/materialinfo/importExcel" ,
@@ -166,6 +166,35 @@ $(document).ready(function() {
                       }
                    });
              });
+
+
+    $("#moreImport").click(function(){
+         jp.open({
+                      type: 2,
+                      area: [800, 400],
+                      auto: true,
+                      title:"导入数据",
+                       content: "${ctx}/managementcenter/materialinfo/importMore/Form" ,
+                       btn: ['确定', '关闭'],
+                      btn1: function(index, layero){
+                      var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                      iframeWin.contentWindow.importExcel('${ctx}/managementcenter/materialinfo/importValidations', 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);
+                      }
+                  });
+               });
 		
 		
 	 $("#export").click(function(){//导出Excel文件

+ 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:import">
+	        		<button id="moreImport" 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> 查看--%>

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

@@ -76,16 +76,16 @@
 					<td class="width-35">
 						<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>--%>
+					<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>
+					</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: '物资批次'
+                   }
 		     ]
 		
 		});

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

@@ -50,7 +50,7 @@
 					<form:input path="projectBatch" htmlEscape="false" maxlength="64"  class=" form-control" id="bat"/>
 				</div>
 				<div class="col-xs-12 col-sm-6 col-md-4">
-					<label class="label-item single-overflow pull-left" title="项目批次:">物料批次:</label>
+					<label class="label-item single-overflow pull-left" title="物料批次:">物料批次:</label>
 					<form:input path="suppliesBatch" htmlEscape="false" maxlength="64"  class=" form-control"/>
 				</div>
 		 <div class="col-xs-12 col-sm-6 col-md-4">