Просмотр исходного кода

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	sql/20200415.sql
wangjiang988 5 лет назад
Родитель
Сommit
f8461d4b35

+ 3 - 1
sql/20200415.sql

@@ -6,4 +6,6 @@
 ALTER TABLE `service_platform`.`ac_activity_detail`
 ADD COLUMN `is_qrcode_show` varchar(2) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '1' COMMENT '是否显示二维码(1是,0否),默认显示' AFTER `is_review`,
 DROP PRIMARY KEY,
-ADD PRIMARY KEY (`id`) USING BTREE;
+ADD PRIMARY KEY (`id`) USING BTREE;
+
+ALTER TABLE project_application ADD pass varchar(20)  COLLATE utf8_bin COMMENT '通过状态 用于统计首页数量';

+ 2 - 0
src/main/java/platform/common/Constant.java

@@ -901,6 +901,8 @@ public final class Constant {
         public static String REGISTER_REMIND = "SMS_171113209";
         //街道注册提醒
         public static String S_REGISTER_REMIND = "SMS_171118215";
+        //产业供地提醒
+        public static String INDUSTRIAL_LAND_SUPPLY = "SMS_187951073";
     }
 
     /**

+ 1 - 0
src/main/java/platform/modules/company/service/ProjectApplicationService.java

@@ -744,6 +744,7 @@ public class ProjectApplicationService extends BaseService<ProjectApplication> {
         Example example = new Example(ProjectApplication.class);
         Example.Criteria criteria = example.createCriteria();
         criteria.andEqualTo("del_flag", false);
+        criteria.andNotEqualTo("apply_status", "0");
         criteria.andIsNotNull("pass");
         List<ProjectApplication> list = projectApplicationService.selectByExample(example);
         if (list != null && list.size() > 0) {

+ 1 - 0
src/main/java/platform/modules/government/dto/ApplicationDto.java

@@ -37,4 +37,5 @@ public class ApplicationDto {
     private Object[] year_array;
     private Map<String, Object> polyline_data;
 
+    private String pass;
 }

+ 40 - 14
src/main/java/platform/modules/government/service/ProjectDeclarationService.java

@@ -2331,7 +2331,7 @@ public class ProjectDeclarationService extends BaseService<ProjectDeclaration> {
         return new PageInfo<>(contents);
     }
 
-    public void importData(InputStream inputStream, Workbook wb) throws Exception {
+    public List<ProjectApplicationImportDto> importData(InputStream inputStream, Workbook wb) throws Exception {
 
         Row row = null;
         Cell cell = null;
@@ -2379,7 +2379,8 @@ public class ProjectDeclarationService extends BaseService<ProjectDeclaration> {
             projectApplicationImportDto.setProjectName(projectName_);
             projectApplicationImportDtoList.add(projectApplicationImportDto);
         }
-        updateApplication(projectApplicationImportDtoList);
+        List<ProjectApplicationImportDto> errorList = updateApplication(projectApplicationImportDtoList);
+        return errorList;
     }
 
     /**
@@ -2398,7 +2399,7 @@ public class ProjectDeclarationService extends BaseService<ProjectDeclaration> {
         //throw new Exception("第"+(index+1)+"行"+thead+"不能为空");
     }
 
-    private void updateApplication(List<ProjectApplicationImportDto> projectApplicationImportDtoList) {
+    private List<ProjectApplicationImportDto> updateApplication(List<ProjectApplicationImportDto> projectApplicationImportDtoList) {
 
 //        Example example = new Example(ProjectApplication.class);
 //        Example.Criteria criteria = example.createCriteria();
@@ -2407,21 +2408,46 @@ public class ProjectDeclarationService extends BaseService<ProjectDeclaration> {
 //        List<ProjectApplication> applys = projectApplicationService.selectByExample(example);
 
         List<ProjectApplicationImportDto> projectApplicationList = projectApplicationService.importList();
-        for (ProjectApplicationImportDto projectApplication : projectApplicationList) {
-            for (ProjectApplicationImportDto projectApplicationImportDto : projectApplicationImportDtoList) {
+        List<ProjectApplicationImportDto> errorList = new ArrayList<>();
+        for (ProjectApplicationImportDto projectApplicationImportDto : projectApplicationImportDtoList) {
+            boolean flag = true;
+            for (ProjectApplicationImportDto projectApplication : projectApplicationList) {
                 if (
-                        Objects.equals(projectApplicationImportDto.getProjectYear(), projectApplication.getProjectYear())
-                                && Objects.equals(projectApplicationImportDto.getCompanyName(), projectApplication.getCompanyName())
-                                && projectApplicationImportDto.getSuperTypeName().contains(projectApplication.getSuperTypeName())
-                                && projectApplicationImportDto.getTypeName().contains(projectApplication.getTypeName())
+                        projectApplication.getProjectYear() != null
+                                && projectApplication.getCompanyName() != null
+                                && projectApplication.getSuperTypeName() != null
+                                && projectApplication.getTypeName() != null
+                                && projectApplication.getProjectName() != null
+                                && projectApplicationImportDto.getProjectYear() != null
+                                && projectApplicationImportDto.getCompanyName() != null
+                                && projectApplicationImportDto.getSuperTypeName() != null
+                                && projectApplicationImportDto.getTypeName() != null
+                                && projectApplicationImportDto.getProjectName() != null
                 ) {
-                    ProjectApplication projectApp = new ProjectApplication();
-                    projectApp.setId(Integer.valueOf(projectApplication.getId()));
-                    projectApp.setPass("通过");
-                    projectApplicationService.updateSelective(projectApp);
-                    break;
+                    if (
+                            Objects.equals(StringUtils.trim(projectApplicationImportDto.getProjectYear()), StringUtils.trim(projectApplication.getProjectYear()))
+                                    && Objects.equals(StringUtils.trim(projectApplicationImportDto.getCompanyName()), StringUtils.trim(projectApplication.getCompanyName()))
+                                    && projectApplicationImportDto.getSuperTypeName().contains(projectApplication.getSuperTypeName())
+                                    &&
+                                    (
+                                            projectApplicationImportDto.getTypeName().contains(projectApplication.getTypeName())
+                                                    || projectApplicationImportDto.getProjectName().contains(projectApplication.getProjectName())
+                                    )
+
+                    ) {
+                        ProjectApplication projectApp = new ProjectApplication();
+                        projectApp.setId(Integer.valueOf(projectApplication.getId()));
+                        projectApp.setPass("通过");
+                        projectApplicationService.updateSelective(projectApp);
+                        flag = false;
+                        break;
+                    }
                 }
             }
+            if (flag) {
+                errorList.add(projectApplicationImportDto);
+            }
         }
+        return errorList;
     }
 }

+ 9 - 5
src/main/java/platform/modules/government/web/ProjectDeclarationController.java

@@ -8,6 +8,7 @@ import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import platform.common.Constant;
@@ -651,7 +652,7 @@ public class ProjectDeclarationController extends BaseController {
                     return ResponseMessage.success("操作成功");
             } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.NOTAPPROVED)) {
                 //不通过
-                if(projectDeclarationService.reject(approval.getApply_id(), approval.getApproval_comment()))
+                if (projectDeclarationService.reject(approval.getApply_id(), approval.getApproval_comment()))
                     return ResponseMessage.success("操作成功");
             } else if (approval.getStatus().equals(Constant.ApproveButtonStatus.REJECT)) {
                 //退回修改
@@ -947,12 +948,12 @@ public class ProjectDeclarationController extends BaseController {
     /**
      * 导入excel
      */
-    @OperationLog(value="导入项目申报信息")
+    @OperationLog(value = "导入项目申报信息")
     @ResponseBody
     @PostMapping(value = "/importProject")
     public ResponseMessage importCompanyInfo(HttpServletRequest request, HttpServletResponse response,
                                              @RequestParam("file") MultipartFile file) throws Exception {
-        if(IsTooFrequently()) {
+        if (IsTooFrequently()) {
             return ResponseMessage.success("操作过于频繁,请稍后再试!");
         }
         InputStream inputStream = null;
@@ -960,8 +961,11 @@ public class ProjectDeclarationController extends BaseController {
             inputStream = file.getInputStream();
             String originalFilename = file.getOriginalFilename();
             Workbook openWorkbook = openWorkbook(inputStream, originalFilename);
-            projectDeclarationService.importData(inputStream, openWorkbook);
-            return ResponseMessage.success("批量导入成功");
+            List<ProjectApplicationImportDto> errorList = projectDeclarationService.importData(inputStream, openWorkbook);
+            if (CollectionUtils.isEmpty(errorList)) {
+                return ResponseMessage.success("批量导入成功");
+            }
+            return ResponseMessage.success("批量导入成功", errorList);
         } catch (BaseException b) {
             return ResponseMessage.error(b.getMessage());
         } catch (Exception e) {

+ 7 - 2
src/main/resources/mapper/government/ProjectApplicationDao.xml

@@ -12,7 +12,8 @@
         project.project_name project_name,
         project.project_type project_type,
         application.apply_date apply_date,
-        application.approve_status approve_status
+        application.approve_status approve_status,
+        application.pass pass
         FROM
         project_application application
         LEFT JOIN z_approval approval ON approval.APPLY_ID = application.id
@@ -526,6 +527,10 @@
             LEFT JOIN y_company company ON app.company_id = company.id
             LEFT JOIN s_street street ON app.street_id = street.id
             LEFT JOIN project_type pt ON app.project_type = pt.id
-            LEFT JOIN project p ON pt.id = p.project_type
+            LEFT JOIN project p ON app.project_id = p.id
+        WHERE
+	        app.apply_status != "0"
+	    ORDER BY
+	        app.id DESC
     </select>
 </mapper>

+ 19 - 8
src/main/resources/templates/admin/government/project/approve_list.html

@@ -110,6 +110,7 @@
                 <th>申报项目</th>
                 <th>申请日期</th>
                 <th>单据状态</th>
+                <th th:if="${type} == 4">导入通过状态</th>
                 <th>操作</th>
             </tr>
             </thead>
@@ -125,6 +126,8 @@
                     th:title="*{project_name}"></td>
                 <td th:text="*{apply_date}" style="width:90px;" class="text-overflow" th:title="*{apply_date}"></td>
                 <td th:text="*{statedesc}" style="width:180px;" class="text-overflow" th:title="*{statedesc}"></td>
+                <td th:if="${type} == 4" th:text="*{pass}" style="width:180px;" class="text-overflow"
+                    th:title="*{pass}"></td>
                 <td class="td-manage" style="width:90px;">
                     <a th:if="${type=='2'||type=='4'}" title="查看"
                        th:onclick="'javascript:open_dialog(\'查看\',\'/projectDeclaration/check/'+*{id}+'\',\'800\',\'400\');'"
@@ -241,8 +244,7 @@
     $(function () {
         /*导入excel*/
         layui.use('upload', function () {
-            var $ = layui.jquery
-                , upload = layui.upload;
+            var $ = layui.jquery, upload = layui.upload,loading_index;
             //批量导入
             upload.render({
                 elem: '#import'
@@ -257,18 +259,29 @@
                 , exts: 'xlsx'//允许上传文件的后缀
                 //,size: 50 //最大允许上传的文件大小
                 , before: function (obj) { //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
-                    layer.load(); //上传loading
-                    //$(".fixedLoading").show();
+                    loading_index = layer.load(); //上传loading
                 },
                 done: function (res, index, upload) {
+                    layer.close(loading_index);
                     if (res.success) {
                         succeedMessage(res.message);
-                        setTime();
+                        if (res.obj) {
+
+                            var arr = res.obj, str = "以下企业状态更新失败:" + "<br/>";
+                            for (var i = 0; i < arr.length; i++) {
+                                str += "年度:" + arr[i].projectYear + ",企业名称:" + arr[i].companyName + "<br/>";
+                            }
+                            layer.alert(
+                                str,
+                                {area: ['800px', '500px']}
+                            )
+                        } else {
+                            setTime();
+                        }
                     } else {
                         errorMessage(res.message);
                         setTime();
                     }
-                    //$(".fixedLoading").hide();
                 }
                 , error: function (res, index, upload) {
                     //请求异常回调
@@ -276,8 +289,6 @@
                 }
             });
         });
-
-        //getDownloadUrl();
     });
 
 </script>

+ 39 - 0
src/test/java/com/Message.java

@@ -0,0 +1,39 @@
+package com;
+
+import com.alibaba.fastjson.JSONObject;
+import com.aliyuncs.exceptions.ClientException;
+import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
+import org.apache.poi.xwpf.usermodel.*;
+import org.apache.xmlbeans.impl.xb.xmlschema.SpaceAttribute;
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
+import platform.common.Constant;
+import platform.common.util.AlibabaSMSUtil;
+
+import java.io.*;
+import java.math.BigInteger;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Author :huZhiHao
+ * @Date :Created in 2020/4/7 16:46
+ * @Description: TODO
+ * @Modified By:
+ * @Version: v0.0.1
+ */
+public class Message {
+
+    //    POI方案为word添加页眉
+    public static void main(String[] args) throws IOException {
+        Map<String, String> params = new HashMap<>();
+        params.put("project_no", "111");
+        params.put("apply_name", Constant.ProjectType.PROJECT_INTELLIGENT);
+        try {
+            AlibabaSMSUtil.sendSMSMessage(
+                    "18501509366", "SMS_187951073", Constant.SINGNAMW, JSONObject.toJSONString(params)
+            );
+        } catch (ClientException e) {
+            e.printStackTrace();
+        }
+    }
+}