19 changed files with 1573 additions and 1 deletions
@ -0,0 +1,35 @@ |
|||
package com.elink.esua.epdc.dto.epdc.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author wanggongfeng |
|||
* @Date 2020/06/15 16:30 |
|||
*/ |
|||
@Data |
|||
public class ExportTemplateInfoFormDTO implements Serializable { |
|||
|
|||
/** |
|||
* 权限 |
|||
*/ |
|||
private List<Long> deptIdList; |
|||
|
|||
/** |
|||
* 年月 |
|||
*/ |
|||
private String monthYear; |
|||
|
|||
/** |
|||
* 部门ID |
|||
*/ |
|||
private String deptId; |
|||
|
|||
/** |
|||
* 部门类型 |
|||
*/ |
|||
private String deptTypeKey; |
|||
} |
|||
@ -0,0 +1,127 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.dto.epdc.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
|
|||
/** |
|||
* 获取导出模板 |
|||
* |
|||
* @author wanggongfeng |
|||
* @since v1.0.0 2020-06-15 |
|||
*/ |
|||
@Data |
|||
public class ExportTemplateInfoResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 主键 |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 部门id |
|||
*/ |
|||
private String deptId; |
|||
|
|||
/** |
|||
* 部门名称 |
|||
*/ |
|||
private String deptName; |
|||
|
|||
/** |
|||
* 部门类别 |
|||
*/ |
|||
private String deptTypeKey; |
|||
|
|||
/** |
|||
* 年月 |
|||
*/ |
|||
private String monthYear; |
|||
|
|||
/** |
|||
* 民主协商机制 |
|||
*/ |
|||
private String democraticConsultationMechanism; |
|||
|
|||
/** |
|||
* 居民公约制度 |
|||
*/ |
|||
private String residentConventionSystem; |
|||
|
|||
/** |
|||
* 网格协商案例 |
|||
*/ |
|||
private String gridNegotiationCase; |
|||
|
|||
/** |
|||
* 上级部门id |
|||
*/ |
|||
private String parentDeptIds; |
|||
|
|||
/** |
|||
* 上级部门名称 |
|||
*/ |
|||
private String parentDeptNames; |
|||
|
|||
/** |
|||
* 所有部门id |
|||
*/ |
|||
private String allDeptIds; |
|||
|
|||
/** |
|||
* 所有部门名称 |
|||
*/ |
|||
private String allDeptNames; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
/** |
|||
* 逻辑删除标识 |
|||
*/ |
|||
private String delFlag; |
|||
|
|||
} |
|||
@ -0,0 +1,127 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.dto; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
|
|||
/** |
|||
* 网格建设打分表 |
|||
* |
|||
* @author elink elink@elink-cn.com |
|||
* @since v1.0.0 2020-06-15 |
|||
*/ |
|||
@Data |
|||
public class KpiCommunityBuildingDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 主键 |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 部门id |
|||
*/ |
|||
private String deptId; |
|||
|
|||
/** |
|||
* 部门名称 |
|||
*/ |
|||
private String deptName; |
|||
|
|||
/** |
|||
* 部门类别 |
|||
*/ |
|||
private String deptTypeKey; |
|||
|
|||
/** |
|||
* 年月 |
|||
*/ |
|||
private String monthYear; |
|||
|
|||
/** |
|||
* 民主协商机制 |
|||
*/ |
|||
private String democraticConsultationMechanism; |
|||
|
|||
/** |
|||
* 居民公约制度 |
|||
*/ |
|||
private String residentConventionSystem; |
|||
|
|||
/** |
|||
* 网格协商案例 |
|||
*/ |
|||
private String gridNegotiationCase; |
|||
|
|||
/** |
|||
* 上级部门id |
|||
*/ |
|||
private String parentDeptIds; |
|||
|
|||
/** |
|||
* 上级部门名称 |
|||
*/ |
|||
private String parentDeptNames; |
|||
|
|||
/** |
|||
* 所有部门id |
|||
*/ |
|||
private String allDeptIds; |
|||
|
|||
/** |
|||
* 所有部门名称 |
|||
*/ |
|||
private String allDeptNames; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
/** |
|||
* 逻辑删除标识 |
|||
*/ |
|||
private String delFlag; |
|||
|
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
package com.elink.esua.epdc.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Description 查询某月份某部门是否已打分 |
|||
* @Author wanggongfeng |
|||
* @Date 2020/06/16 9:29 |
|||
*/ |
|||
@Data |
|||
public class CheckIsScoredFormDTO implements Serializable { |
|||
private static final long serialVersionUID = -8214790072156444793L; |
|||
|
|||
/** |
|||
* 主键集合 |
|||
*/ |
|||
private List<String> checkList; |
|||
|
|||
/** |
|||
* 年月 |
|||
*/ |
|||
private String monthYear; |
|||
} |
|||
@ -0,0 +1,118 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.controller; |
|||
|
|||
import com.elink.esua.epdc.commons.tools.page.PageData; |
|||
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.commons.tools.validator.AssertUtils; |
|||
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; |
|||
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; |
|||
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; |
|||
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; |
|||
import com.elink.esua.epdc.dto.KpiCommunityBuildingDTO; |
|||
import com.elink.esua.epdc.excel.KpiCommunityBuildingExcel; |
|||
import com.elink.esua.epdc.service.KpiCommunityBuildingService; |
|||
import com.elink.esua.epdc.service.ManualScoreService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 网格建设打分表 |
|||
* |
|||
* @author elink elink@elink-cn.com |
|||
* @since v1.0.0 2020-06-15 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("kpicommunitybuilding") |
|||
public class KpiCommunityBuildingController { |
|||
|
|||
@Autowired |
|||
private KpiCommunityBuildingService kpiCommunityBuildingService; |
|||
|
|||
@Autowired |
|||
private ManualScoreService manualScoreService; |
|||
|
|||
@GetMapping("page") |
|||
public Result<PageData<KpiCommunityBuildingDTO>> page(@RequestParam Map<String, Object> params){ |
|||
//PageData<KpiCommunityBuildingDTO> page = kpiCommunityBuildingService.page(params);
|
|||
PageData<KpiCommunityBuildingDTO> page = kpiCommunityBuildingService.getInfoPage(params); |
|||
return new Result<PageData<KpiCommunityBuildingDTO>>().ok(page); |
|||
} |
|||
|
|||
@GetMapping("{id}") |
|||
public Result<KpiCommunityBuildingDTO> get(@PathVariable("id") String id){ |
|||
KpiCommunityBuildingDTO data = kpiCommunityBuildingService.get(id); |
|||
return new Result<KpiCommunityBuildingDTO>().ok(data); |
|||
} |
|||
|
|||
@PostMapping |
|||
public Result save(@RequestBody KpiCommunityBuildingDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
kpiCommunityBuildingService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PutMapping |
|||
public Result update(@RequestBody KpiCommunityBuildingDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
kpiCommunityBuildingService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@DeleteMapping |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
kpiCommunityBuildingService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
@GetMapping("export") |
|||
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<KpiCommunityBuildingDTO> list = kpiCommunityBuildingService.list(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, KpiCommunityBuildingExcel.class); |
|||
} |
|||
|
|||
@GetMapping("exportTemplate") |
|||
public void exportTemplate(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<KpiCommunityBuildingDTO> list = kpiCommunityBuildingService.exportTemplate(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, KpiCommunityBuildingExcel.class); |
|||
} |
|||
|
|||
/** |
|||
* @Description: 导入治理排行管理-手动打分记录 |
|||
* @Param: [file] |
|||
* @return: Result |
|||
* @Author: wanggongfeng |
|||
* @Date: 2020-06-15 |
|||
*/ |
|||
@PostMapping("importManualScoreExcel") |
|||
public Result importManualScoreExcel(@RequestParam("file") MultipartFile file) { |
|||
return kpiCommunityBuildingService.importManualScoreExcel(file); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,58 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.dao; |
|||
|
|||
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; |
|||
import com.elink.esua.epdc.dto.KpiCommunityBuildingDTO; |
|||
import com.elink.esua.epdc.dto.form.CheckIsScoredFormDTO; |
|||
import com.elink.esua.epdc.entity.KpiCommunityBuildingEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 网格建设打分表 |
|||
* |
|||
* @author elink elink@elink-cn.com |
|||
* @since v1.0.0 2020-06-15 |
|||
*/ |
|||
@Mapper |
|||
public interface KpiCommunityBuildingDao extends BaseDao<KpiCommunityBuildingEntity> { |
|||
|
|||
/** |
|||
* 条件查询 |
|||
* @param params |
|||
* @return |
|||
*/ |
|||
List<KpiCommunityBuildingDTO> getInfoPage(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 条件查询 |
|||
* @param checkIsScoredFormDTO |
|||
* @return |
|||
*/ |
|||
List<KpiCommunityBuildingDTO> getDuplicateData(CheckIsScoredFormDTO checkIsScoredFormDTO); |
|||
|
|||
/** |
|||
* 批量插入导入数据 |
|||
* @param kpiCommunityBuildingEntities |
|||
*/ |
|||
void insertEntityList(@Param("kpiCommunityBuildingEntities")KpiCommunityBuildingEntity[] kpiCommunityBuildingEntities); |
|||
} |
|||
@ -0,0 +1,93 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
/** |
|||
* 网格建设打分表 |
|||
* |
|||
* @author elink elink@elink-cn.com |
|||
* @since v1.0.0 2020-06-15 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("epdc_kpi_community_building") |
|||
public class KpiCommunityBuildingEntity extends BaseEpdcEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 部门id |
|||
*/ |
|||
private String deptId; |
|||
|
|||
/** |
|||
* 部门名称 |
|||
*/ |
|||
private String deptName; |
|||
|
|||
/** |
|||
* 部门类别 |
|||
*/ |
|||
private String deptTypeKey; |
|||
|
|||
/** |
|||
* 年月 |
|||
*/ |
|||
private String monthYear; |
|||
|
|||
/** |
|||
* 民主协商机制 |
|||
*/ |
|||
private String democraticConsultationMechanism; |
|||
|
|||
/** |
|||
* 居民公约制度 |
|||
*/ |
|||
private String residentConventionSystem; |
|||
|
|||
/** |
|||
* 网格协商案例 |
|||
*/ |
|||
private String gridNegotiationCase; |
|||
|
|||
/** |
|||
* 上级部门id |
|||
*/ |
|||
private String parentDeptIds; |
|||
|
|||
/** |
|||
* 上级部门名称 |
|||
*/ |
|||
private String parentDeptNames; |
|||
|
|||
/** |
|||
* 所有部门id |
|||
*/ |
|||
private String allDeptIds; |
|||
|
|||
/** |
|||
* 所有部门名称 |
|||
*/ |
|||
private String allDeptNames; |
|||
|
|||
} |
|||
@ -0,0 +1,87 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.excel; |
|||
|
|||
import cn.afterturn.easypoi.excel.annotation.Excel; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 网格建设打分表 |
|||
* |
|||
* @author elink elink@elink-cn.com |
|||
* @since v1.0.0 2020-06-15 |
|||
*/ |
|||
@Data |
|||
public class KpiCommunityBuildingExcel { |
|||
|
|||
// @Excel(name = "主键")
|
|||
// private String id;
|
|||
|
|||
@Excel(name = "部门id") |
|||
private String deptId; |
|||
|
|||
@Excel(name = "部门名称") |
|||
private String deptName; |
|||
|
|||
@Excel(name = "部门类别") |
|||
private String deptTypeKey; |
|||
|
|||
@Excel(name = "年月") |
|||
private String monthYear; |
|||
|
|||
@Excel(name = "民主协商机制得分") |
|||
private String democraticConsultationMechanism; |
|||
|
|||
@Excel(name = "居民公约制度得分") |
|||
private String residentConventionSystem; |
|||
|
|||
@Excel(name = "网格协商案例得分") |
|||
private String gridNegotiationCase; |
|||
|
|||
// @Excel(name = "上级部门id")
|
|||
// private String parentDeptIds;
|
|||
//
|
|||
// @Excel(name = "上级部门名称")
|
|||
// private String parentDeptNames;
|
|||
//
|
|||
// @Excel(name = "所有部门id")
|
|||
// private String allDeptIds;
|
|||
//
|
|||
// @Excel(name = "所有部门名称")
|
|||
// private String allDeptNames;
|
|||
//
|
|||
// @Excel(name = "乐观锁")
|
|||
// private Integer revision;
|
|||
//
|
|||
// @Excel(name = "创建人")
|
|||
// private String createdBy;
|
|||
//
|
|||
// @Excel(name = "创建时间")
|
|||
// private Date createdTime;
|
|||
//
|
|||
// @Excel(name = "更新人")
|
|||
// private String updatedBy;
|
|||
//
|
|||
// @Excel(name = "更新时间")
|
|||
// private Date updatedTime;
|
|||
//
|
|||
// @Excel(name = "逻辑删除标识")
|
|||
// private String delFlag;
|
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,47 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.redis; |
|||
|
|||
import com.elink.esua.epdc.commons.tools.redis.RedisUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 网格建设打分表 |
|||
* |
|||
* @author elink elink@elink-cn.com |
|||
* @since v1.0.0 2020-06-15 |
|||
*/ |
|||
@Component |
|||
public class KpiCommunityBuildingRedis { |
|||
@Autowired |
|||
private RedisUtils redisUtils; |
|||
|
|||
public void delete(Object[] ids) { |
|||
|
|||
} |
|||
|
|||
public void set(){ |
|||
|
|||
} |
|||
|
|||
public String get(String id){ |
|||
return null; |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,124 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.service; |
|||
|
|||
import com.elink.esua.epdc.commons.mybatis.service.BaseService; |
|||
import com.elink.esua.epdc.commons.tools.page.PageData; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.dto.KpiCommunityBuildingDTO; |
|||
import com.elink.esua.epdc.entity.KpiCommunityBuildingEntity; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 网格建设打分表 |
|||
* |
|||
* @author elink elink@elink-cn.com |
|||
* @since v1.0.0 2020-06-15 |
|||
*/ |
|||
public interface KpiCommunityBuildingService extends BaseService<KpiCommunityBuildingEntity> { |
|||
|
|||
/** |
|||
* 默认分页 |
|||
* |
|||
* @param params |
|||
* @return PageData<KpiCommunityBuildingDTO> |
|||
* @author generator |
|||
* @date 2020-06-15 |
|||
*/ |
|||
PageData<KpiCommunityBuildingDTO> page(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 分页条件查询 |
|||
* @param params |
|||
* @return |
|||
*/ |
|||
PageData<KpiCommunityBuildingDTO> getInfoPage(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 默认查询 |
|||
* |
|||
* @param params |
|||
* @return java.util.List<KpiCommunityBuildingDTO> |
|||
* @author generator |
|||
* @date 2020-06-15 |
|||
*/ |
|||
List<KpiCommunityBuildingDTO> list(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 单条查询 |
|||
* |
|||
* @param id |
|||
* @return KpiCommunityBuildingDTO |
|||
* @author generator |
|||
* @date 2020-06-15 |
|||
*/ |
|||
KpiCommunityBuildingDTO get(String id); |
|||
|
|||
/** |
|||
* 默认保存 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2020-06-15 |
|||
*/ |
|||
void save(KpiCommunityBuildingDTO dto); |
|||
|
|||
/** |
|||
* 默认更新 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2020-06-15 |
|||
*/ |
|||
void update(KpiCommunityBuildingDTO dto); |
|||
|
|||
/** |
|||
* 批量删除 |
|||
* |
|||
* @param ids |
|||
* @return void |
|||
* @author generator |
|||
* @date 2020-06-15 |
|||
*/ |
|||
void delete(String[] ids); |
|||
|
|||
/** |
|||
* 导出模板 |
|||
* |
|||
* @param params |
|||
* @return java.util.List<KpiCommunityBuildingDTO> |
|||
* @author wanggongfeng |
|||
* @date 2020-06-15 |
|||
*/ |
|||
List<KpiCommunityBuildingDTO> exportTemplate(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 网格建设打分导入 |
|||
* |
|||
* @param file |
|||
* @return Result |
|||
* @author wanggongfeng |
|||
* @date 2020-06-15 |
|||
*/ |
|||
Result importManualScoreExcel(MultipartFile file); |
|||
} |
|||
@ -0,0 +1,481 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.service.impl; |
|||
|
|||
import cn.afterturn.easypoi.excel.ExcelImportUtil; |
|||
import cn.afterturn.easypoi.excel.entity.ImportParams; |
|||
import cn.hutool.core.collection.CollUtil; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; |
|||
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; |
|||
import com.elink.esua.epdc.commons.tools.constant.StrConstant; |
|||
import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; |
|||
import com.elink.esua.epdc.commons.tools.exception.RenException; |
|||
import com.elink.esua.epdc.commons.tools.page.PageData; |
|||
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; |
|||
import com.elink.esua.epdc.commons.tools.security.user.UserDetail; |
|||
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.dao.KpiCommunityBuildingDao; |
|||
import com.elink.esua.epdc.dto.DeptLevelAndLeaderDTO; |
|||
import com.elink.esua.epdc.dto.KpiCommunityBuildingDTO; |
|||
import com.elink.esua.epdc.dto.SysDeptDTO; |
|||
import com.elink.esua.epdc.dto.epdc.form.ExportTemplateInfoFormDTO; |
|||
import com.elink.esua.epdc.dto.epdc.result.ExportTemplateInfoResultDTO; |
|||
import com.elink.esua.epdc.dto.form.CheckIsScoredFormDTO; |
|||
import com.elink.esua.epdc.entity.KpiCommunityBuildingEntity; |
|||
import com.elink.esua.epdc.excel.KpiCommunityBuildingExcel; |
|||
import com.elink.esua.epdc.feign.AdminFeignClient; |
|||
import com.elink.esua.epdc.redis.KpiCommunityBuildingRedis; |
|||
import com.elink.esua.epdc.service.KpiCommunityBuildingService; |
|||
import com.elink.esua.epdc.utils.DeptUtils; |
|||
import com.elink.esua.epdc.utils.StreamUtils; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import java.io.File; |
|||
import java.text.SimpleDateFormat; |
|||
import java.util.*; |
|||
import java.util.regex.Matcher; |
|||
import java.util.regex.Pattern; |
|||
|
|||
/** |
|||
* 网格建设打分表 |
|||
* |
|||
* @author elink elink@elink-cn.com |
|||
* @since v1.0.0 2020-06-15 |
|||
*/ |
|||
@Service |
|||
public class KpiCommunityBuildingServiceImpl extends BaseServiceImpl<KpiCommunityBuildingDao, KpiCommunityBuildingEntity> implements KpiCommunityBuildingService { |
|||
|
|||
@Autowired |
|||
private KpiCommunityBuildingRedis kpiCommunityBuildingRedis; |
|||
|
|||
@Autowired |
|||
private AdminFeignClient adminFeignClient; |
|||
|
|||
@Autowired |
|||
private DeptUtils deptUtils; |
|||
|
|||
public static int Guid=100;//id自增值
|
|||
|
|||
@Override |
|||
public PageData<KpiCommunityBuildingDTO> page(Map<String, Object> params) { |
|||
IPage<KpiCommunityBuildingEntity> page = baseDao.selectPage( |
|||
getPage(params, FieldConstant.CREATED_TIME, false), |
|||
getWrapper(params) |
|||
); |
|||
return getPageData(page, KpiCommunityBuildingDTO.class); |
|||
} |
|||
|
|||
/** |
|||
* 条件查询 |
|||
* @param params |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public PageData<KpiCommunityBuildingDTO> getInfoPage(Map<String, Object> params) { |
|||
IPage<KpiCommunityBuildingDTO> page = getPage(params); |
|||
List<KpiCommunityBuildingDTO> list = baseDao.getInfoPage(params); |
|||
return new PageData<>(list, page.getTotal()); |
|||
} |
|||
|
|||
@Override |
|||
public List<KpiCommunityBuildingDTO> list(Map<String, Object> params) { |
|||
List<KpiCommunityBuildingEntity> entityList = baseDao.selectList(getWrapper(params)); |
|||
|
|||
return ConvertUtils.sourceToTarget(entityList, KpiCommunityBuildingDTO.class); |
|||
} |
|||
|
|||
private QueryWrapper<KpiCommunityBuildingEntity> getWrapper(Map<String, Object> params){ |
|||
String id = (String)params.get(FieldConstant.ID_HUMP); |
|||
|
|||
QueryWrapper<KpiCommunityBuildingEntity> wrapper = new QueryWrapper<>(); |
|||
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|||
|
|||
return wrapper; |
|||
} |
|||
|
|||
@Override |
|||
public KpiCommunityBuildingDTO get(String id) { |
|||
KpiCommunityBuildingEntity entity = baseDao.selectById(id); |
|||
return ConvertUtils.sourceToTarget(entity, KpiCommunityBuildingDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void save(KpiCommunityBuildingDTO dto) { |
|||
String deptId = dto.getDeptId(); |
|||
List<String> checkList = new ArrayList<String>(); |
|||
checkList.add(deptId); |
|||
// 判断录入月份是否为当前月或者前一个月
|
|||
if(!dto.getMonthYear().equals(getLastMonth()) && !dto.getMonthYear().equals(getCurrentMonth())){ |
|||
throw new RenException("只能对当前月份或者上个月份进行打分,请维护后重试!"); |
|||
} |
|||
// 检测excel中是否存在已打分部门
|
|||
StringBuffer deptErrorInfo = this.getDuplicateData(checkList,dto.getMonthYear()); |
|||
if (deptErrorInfo.length() > 0) { |
|||
throw new RenException(deptErrorInfo + " 已打分, 不可重复打分!"); |
|||
} |
|||
// 查询机构类型键值
|
|||
Result<SysDeptDTO> result = adminFeignClient.get(Long.valueOf(deptId)); |
|||
SysDeptDTO sysDeptDTO = result.getData(); |
|||
// 设置部门类别
|
|||
dto.setDeptTypeKey(sysDeptDTO.getTypeKey()); |
|||
KpiCommunityBuildingEntity entity = ConvertUtils.sourceToTarget(dto, KpiCommunityBuildingEntity.class); |
|||
insert(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void update(KpiCommunityBuildingDTO dto) { |
|||
KpiCommunityBuildingEntity entity = ConvertUtils.sourceToTarget(dto, KpiCommunityBuildingEntity.class); |
|||
updateById(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void delete(String[] ids) { |
|||
// 逻辑删除(@TableLogic 注解)
|
|||
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|||
} |
|||
|
|||
/** |
|||
* 获取导出模板 |
|||
* |
|||
* @param params |
|||
* @return java.util.List<KpiCommunityBuildingDTO> |
|||
* @author wanggongfeng |
|||
* @date 2020-06-15 |
|||
*/ |
|||
@Override |
|||
public List<KpiCommunityBuildingDTO> exportTemplate(Map<String, Object> params) { |
|||
List<Long> deptIdList = SecurityUser.getUser().getDeptIdList(); //获取用户权限
|
|||
ExportTemplateInfoFormDTO exportTemplateInfoFormDTO = new ExportTemplateInfoFormDTO(); |
|||
exportTemplateInfoFormDTO.setDeptIdList(deptIdList); |
|||
exportTemplateInfoFormDTO.setDeptId(params.get("deptId") == null ? "" : params.get("deptId").toString()); |
|||
exportTemplateInfoFormDTO.setDeptTypeKey(params.get("deptTypeKey") == null ? "" : params.get("deptTypeKey").toString()); |
|||
exportTemplateInfoFormDTO.setMonthYear(params.get("monthYear") == null ? "" : params.get("monthYear").toString()); |
|||
Result<List<ExportTemplateInfoResultDTO>> result = adminFeignClient.getExportTemplateInfo(exportTemplateInfoFormDTO); |
|||
List<ExportTemplateInfoResultDTO> resultList = result.getData(); |
|||
return ConvertUtils.sourceToTarget(resultList, KpiCommunityBuildingDTO.class); |
|||
} |
|||
|
|||
/** |
|||
* @Description: 导入治理排行管理-手动打分记录 |
|||
* @Param: [file] |
|||
* @return: Result |
|||
* @Author: wanggongfeng |
|||
* @Date: 2020-06-15 |
|||
*/ |
|||
@Override |
|||
public Result importManualScoreExcel(MultipartFile file) { |
|||
File f = StreamUtils.conversionFile(file); |
|||
try { |
|||
//判断上传文件类型
|
|||
String originalFilename = file.getOriginalFilename(); |
|||
if (!originalFilename.endsWith(StrConstant.EXCEL_SUFFIX_2003) && !originalFilename.endsWith(StrConstant.EXCEL_SUFFIX_2007)) { |
|||
return new Result().error("请选择.xls或者.xlsx格式文件"); |
|||
} |
|||
List<KpiCommunityBuildingExcel> recordList = ExcelImportUtil.importExcel(f, KpiCommunityBuildingExcel.class, new ImportParams()); |
|||
if (CollUtil.isEmpty(recordList)) { |
|||
return new Result().error("导入内容不能为空"); |
|||
} |
|||
// 存储检测excel是否存在重复ID使用
|
|||
List<String> checkList = new ArrayList<String>(); |
|||
StringBuffer checkInfo = new StringBuffer(); |
|||
String monthYear = ""; |
|||
for(int i = 0 ; i < recordList.size() ; i++){ |
|||
KpiCommunityBuildingExcel kpiCommunityBuildingExcel = recordList.get(i); |
|||
|
|||
// 校验是否存在空单元格
|
|||
if(checkNullCell(kpiCommunityBuildingExcel)){ |
|||
return new Result().error("导入文件中存在空单元格,请完善后重试!"); |
|||
} |
|||
|
|||
// 校验是否存在分数范围不正确的打分
|
|||
if(checkScoreCell(kpiCommunityBuildingExcel)){ |
|||
return new Result().error("存在不符合分值范围的分数!"); |
|||
} |
|||
|
|||
// 校验月份是否不一致
|
|||
if(i == 0){ |
|||
monthYear = kpiCommunityBuildingExcel.getMonthYear(); |
|||
}else{ |
|||
if(!monthYear.equals(kpiCommunityBuildingExcel.getMonthYear())){ |
|||
return new Result().error("导入文件中月份不一致,请修改一致后重试!"); |
|||
} |
|||
monthYear = kpiCommunityBuildingExcel.getMonthYear(); |
|||
} |
|||
|
|||
// 校验ID是否存在重复
|
|||
if(checkList.contains(kpiCommunityBuildingExcel.getDeptId())){ |
|||
return new Result().error(kpiCommunityBuildingExcel.getDeptName() + "ID重复,请维护唯一ID后重试!"); |
|||
} |
|||
checkList.add(kpiCommunityBuildingExcel.getDeptId()); |
|||
|
|||
// 拼接部门ID不在当前用户权限内的部门名称
|
|||
checkInfo.append(splicingErrorDeptName(i,kpiCommunityBuildingExcel,recordList)); |
|||
} |
|||
// 判断导入月份是否为当前月或者前一个月
|
|||
if(!monthYear.equals(getLastMonth()) && !monthYear.equals(getCurrentMonth())){ |
|||
return new Result().error("只能对当前月份或者上个月份进行打分,请维护后重试!"); |
|||
} |
|||
// 校验部门ID是否存在当前用户权限内
|
|||
if (checkInfo.length() > 0) { |
|||
return new Result().error(checkInfo.append("部门ID错误,请维护后重试!").toString()); |
|||
} |
|||
// 检测excel中是否存在已打分部门
|
|||
StringBuffer deptErrorInfo = this.getDuplicateData(checkList,monthYear); |
|||
if (deptErrorInfo.length() > 0) { |
|||
return new Result().error(deptErrorInfo + " 已打分, 不可重复打分!"); |
|||
} |
|||
|
|||
// 循环插入网格建设打分数据(必要时可改为批量插入)
|
|||
/*KpiCommunityBuildingEntity[] kpiCommunityBuildingEntities = new KpiCommunityBuildingEntity[recordList.size()]; |
|||
for(int i = 0 ; i < recordList.size() ; i++){ |
|||
KpiCommunityBuildingExcel kpiCommunityBuildingExcel = recordList.get(i); |
|||
KpiCommunityBuildingEntity entity = splicingEntity(kpiCommunityBuildingExcel); |
|||
kpiCommunityBuildingEntities[i] = entity; |
|||
} |
|||
baseDao.insertEntityList(kpiCommunityBuildingEntities);*/ |
|||
for (KpiCommunityBuildingExcel kpiCommunityBuildingExcel : recordList) { |
|||
KpiCommunityBuildingEntity entity = splicingEntity(kpiCommunityBuildingExcel); |
|||
insert(entity); |
|||
} |
|||
} catch (Exception e) { |
|||
return new Result().error("数据异常,解析excel文件失败"); |
|||
} finally { |
|||
// 删除文件
|
|||
this.deleteAllFilesOfDir(f); |
|||
} |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* 拼接部门ID不在当前用户权限内的部门名称 |
|||
* @param index |
|||
* @param kpiCommunityBuildingExcel |
|||
* @param recordList |
|||
* @return |
|||
*/ |
|||
private String splicingErrorDeptName(int index,KpiCommunityBuildingExcel kpiCommunityBuildingExcel,List<KpiCommunityBuildingExcel> recordList){ |
|||
UserDetail user = SecurityUser.getUser(); |
|||
List<Long> deptIdList = user.getDeptIdList(); |
|||
if(!deptIdList.contains(Long.valueOf(kpiCommunityBuildingExcel.getDeptId()))){ |
|||
if(index == (recordList.size()-1)){ |
|||
return kpiCommunityBuildingExcel.getDeptName(); |
|||
}else{ |
|||
return kpiCommunityBuildingExcel.getDeptName() + "、"; |
|||
} |
|||
} |
|||
return ""; |
|||
} |
|||
|
|||
/** |
|||
* 校验是否存在空单元格 |
|||
* @param kpiCommunityBuildingExcel |
|||
* @return |
|||
*/ |
|||
private Boolean checkNullCell(KpiCommunityBuildingExcel kpiCommunityBuildingExcel){ |
|||
if(StringUtils.isBlank(kpiCommunityBuildingExcel.getDeptId()) || StringUtils.isBlank(kpiCommunityBuildingExcel.getDeptName()) || StringUtils.isBlank(kpiCommunityBuildingExcel.getMonthYear()) |
|||
|| StringUtils.isBlank(kpiCommunityBuildingExcel.getDemocraticConsultationMechanism()) || StringUtils.isBlank(kpiCommunityBuildingExcel.getDeptTypeKey()) |
|||
|| StringUtils.isBlank(kpiCommunityBuildingExcel.getGridNegotiationCase()) || StringUtils.isBlank(kpiCommunityBuildingExcel.getResidentConventionSystem())){ |
|||
return true; |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
/** |
|||
* 校验分数是否规范 |
|||
* @param kpiCommunityBuildingExcel |
|||
* @return |
|||
*/ |
|||
private Boolean checkScoreCell(KpiCommunityBuildingExcel kpiCommunityBuildingExcel){ |
|||
// 民主协商机制分数(3分)
|
|||
String democraticConsultationMechanism = kpiCommunityBuildingExcel.getDemocraticConsultationMechanism(); |
|||
if(checkNumber(democraticConsultationMechanism)){ |
|||
return true; |
|||
} |
|||
Double democraticConsultationMechanismInt = Double.parseDouble(democraticConsultationMechanism); |
|||
// 网格协商案例分数(4分)
|
|||
String gridNegotiationCase = kpiCommunityBuildingExcel.getGridNegotiationCase(); |
|||
if(checkNumber(gridNegotiationCase)){ |
|||
return true; |
|||
} |
|||
Double gridNegotiationCaseInt = Double.parseDouble(gridNegotiationCase); |
|||
// 居民公约制度分数(3分)
|
|||
String residentConventionSystem = kpiCommunityBuildingExcel.getResidentConventionSystem(); |
|||
if(checkNumber(residentConventionSystem)){ |
|||
return true; |
|||
} |
|||
Double residentConventionSystemInt = Double.parseDouble(residentConventionSystem); |
|||
if(democraticConsultationMechanismInt < 0 || democraticConsultationMechanismInt > 3 |
|||
|| gridNegotiationCaseInt < 0 || gridNegotiationCaseInt > 4 |
|||
|| residentConventionSystemInt < 0 || residentConventionSystemInt > 3){ |
|||
return true; |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
/** |
|||
* 校验是否为数字字符串 |
|||
* @param numStr |
|||
* @return |
|||
*/ |
|||
private Boolean checkNumber(String numStr){ |
|||
Pattern pattern = Pattern.compile("([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])"); |
|||
Matcher isNum = pattern.matcher(numStr); |
|||
if( !isNum.matches() ){ |
|||
return true; |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
/** |
|||
* 获取上一个月字符串yyyy-MM |
|||
* @return |
|||
*/ |
|||
public String getLastMonth() { |
|||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); |
|||
Date date = new Date(); |
|||
Calendar calendar = Calendar.getInstance(); |
|||
calendar.setTime(date); // 设置为当前时间
|
|||
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); // 设置为上一个月
|
|||
date = calendar.getTime(); |
|||
String accDate = format.format(date); |
|||
return accDate; |
|||
} |
|||
|
|||
/** |
|||
* 获取当前月字符串yyyy-MM |
|||
* @return |
|||
*/ |
|||
public String getCurrentMonth() { |
|||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); |
|||
Date date = new Date(); |
|||
String currentDate = format.format(date); |
|||
return currentDate; |
|||
} |
|||
|
|||
/** |
|||
* 拼接已打分部门提示信息 |
|||
* @param checkList |
|||
* @return |
|||
*/ |
|||
private StringBuffer getDuplicateData(List<String> checkList ,String monthYear){ |
|||
CheckIsScoredFormDTO checkIsScoredFormDTO = new CheckIsScoredFormDTO(); |
|||
checkIsScoredFormDTO.setCheckList(checkList); |
|||
checkIsScoredFormDTO.setMonthYear(monthYear); |
|||
StringBuffer deptErrorInfo = new StringBuffer(); |
|||
List<KpiCommunityBuildingDTO> list = baseDao.getDuplicateData(checkIsScoredFormDTO); |
|||
for(int i = 0 ; i < list.size() ; i++){ |
|||
KpiCommunityBuildingDTO kpiCommunityBuildingDTO = list.get(i); |
|||
if(i == (list.size()-1)){ |
|||
deptErrorInfo.append(kpiCommunityBuildingDTO.getDeptName()); |
|||
}else{ |
|||
deptErrorInfo.append(kpiCommunityBuildingDTO.getDeptName()).append("、"); |
|||
} |
|||
} |
|||
return deptErrorInfo; |
|||
} |
|||
|
|||
/** |
|||
* 拼接网格建设打分实体 |
|||
* @param kpiCommunityBuildingExcel |
|||
* @return |
|||
*/ |
|||
private KpiCommunityBuildingEntity splicingEntity(KpiCommunityBuildingExcel kpiCommunityBuildingExcel){ |
|||
//String userId = SecurityUser.getUserId() == null ? "" : SecurityUser.getUserId().toString();
|
|||
KpiCommunityBuildingEntity entity = ConvertUtils.sourceToTarget(kpiCommunityBuildingExcel, KpiCommunityBuildingEntity.class); |
|||
// 查询设置部门类别和部门名称
|
|||
String deptId = entity.getDeptId(); |
|||
Result<SysDeptDTO> result = adminFeignClient.get(Long.valueOf(deptId)); |
|||
SysDeptDTO sysDeptDTO = result.getData(); |
|||
entity.setDeptTypeKey(sysDeptDTO.getTypeKey()); |
|||
entity.setDeptName(sysDeptDTO.getName()); |
|||
// 查询设置上级部门信息
|
|||
DeptLevelAndLeaderDTO deptLevelInfo = deptUtils.getDeptLevelInfo(Long.valueOf(deptId), YesOrNoEnum.YES); |
|||
entity.setAllDeptIds(deptLevelInfo.getAllDeptIds()); |
|||
entity.setAllDeptNames(deptLevelInfo.getAllDeptNames()); |
|||
entity.setParentDeptIds(deptLevelInfo.getParentDeptIds()); |
|||
entity.setParentDeptNames(deptLevelInfo.getParentDeptNames()); |
|||
// 设置其他字段
|
|||
/*entity.setRevision(0); |
|||
entity.setId(getLongRandom()); |
|||
entity.setCreatedBy(userId); |
|||
entity.setUpdatedBy(userId); |
|||
entity.setCreatedTime(new Date()); |
|||
entity.setUpdatedTime(new Date()); |
|||
entity.setDelFlag("0");*/ |
|||
return entity; |
|||
} |
|||
|
|||
/** |
|||
* 获取19位随机数 |
|||
* @return |
|||
*/ |
|||
/*public String getLongRandom(){ |
|||
Guid+=1; |
|||
long now = System.currentTimeMillis(); |
|||
SimpleDateFormat dateFormat=new SimpleDateFormat("MMdd"); |
|||
String time=dateFormat.format(now); |
|||
String currentTimeMillis=now+""; |
|||
int ran=0; |
|||
if(Guid>999){ |
|||
Guid=100; |
|||
} |
|||
ran=Guid; |
|||
String str = time+currentTimeMillis.substring(1, currentTimeMillis.length())+ran; |
|||
return str; |
|||
}*/ |
|||
|
|||
|
|||
/** |
|||
* 删除文件夹(强制删除) |
|||
* |
|||
* @param path |
|||
*/ |
|||
private void deleteAllFilesOfDir(File path) { |
|||
if (null != path) { |
|||
if (!path.exists()) { |
|||
return; |
|||
} |
|||
if (path.isFile()) { |
|||
boolean result = path.delete(); |
|||
int tryCount = 0; |
|||
while (!result && tryCount++ < 10) { |
|||
System.gc(); // 回收资源
|
|||
result = path.delete(); |
|||
} |
|||
} |
|||
File[] files = path.listFiles(); |
|||
if (null != files) { |
|||
for (int i = 0; i < files.length; i++) { |
|||
deleteAllFilesOfDir(files[i]); |
|||
} |
|||
} |
|||
path.delete(); |
|||
} |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,139 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
|
|||
<mapper namespace="com.elink.esua.epdc.dao.KpiCommunityBuildingDao"> |
|||
|
|||
<resultMap type="com.elink.esua.epdc.entity.KpiCommunityBuildingEntity" id="kpiCommunityBuildingMap"> |
|||
<result property="id" column="ID"/> |
|||
<result property="deptId" column="DEPT_ID"/> |
|||
<result property="deptName" column="DEPT_NAME"/> |
|||
<result property="deptTypeKey" column="DEPT_TYPE_KEY"/> |
|||
<result property="monthYear" column="MONTH_YEAR"/> |
|||
<result property="democraticConsultationMechanism" column="DEMOCRATIC_CONSULTATION_MECHANISM"/> |
|||
<result property="residentConventionSystem" column="RESIDENT_CONVENTION_SYSTEM"/> |
|||
<result property="gridNegotiationCase" column="GRID_NEGOTIATION_CASE"/> |
|||
<result property="parentDeptIds" column="PARENT_DEPT_IDS"/> |
|||
<result property="parentDeptNames" column="PARENT_DEPT_NAMES"/> |
|||
<result property="allDeptIds" column="ALL_DEPT_IDS"/> |
|||
<result property="allDeptNames" column="ALL_DEPT_NAMES"/> |
|||
<result property="revision" column="REVISION"/> |
|||
<result property="createdBy" column="CREATED_BY"/> |
|||
<result property="createdTime" column="CREATED_TIME"/> |
|||
<result property="updatedBy" column="UPDATED_BY"/> |
|||
<result property="updatedTime" column="UPDATED_TIME"/> |
|||
<result property="delFlag" column="DEL_FLAG"/> |
|||
</resultMap> |
|||
|
|||
<select id="getInfoPage" resultType="com.elink.esua.epdc.dto.KpiCommunityBuildingDTO"> |
|||
select |
|||
ID, |
|||
DEPT_ID, |
|||
DEPT_NAME, |
|||
DEPT_TYPE_KEY, |
|||
MONTH_YEAR, |
|||
DEMOCRATIC_CONSULTATION_MECHANISM, |
|||
RESIDENT_CONVENTION_SYSTEM, |
|||
GRID_NEGOTIATION_CASE, |
|||
PARENT_DEPT_IDS, |
|||
PARENT_DEPT_NAMES, |
|||
ALL_DEPT_IDS, |
|||
ALL_DEPT_NAMES, |
|||
REVISION, |
|||
CREATED_BY, |
|||
CREATED_TIME, |
|||
UPDATED_BY, |
|||
UPDATED_TIME, |
|||
DEL_FLAG |
|||
from epdc_kpi_community_building |
|||
where DEL_FLAG = '0' |
|||
<if test="deptId != null and deptId != ''"> |
|||
and DEPT_ID = #{deptId} |
|||
</if> |
|||
<if test="monthYear != null and monthYear != ''"> |
|||
and MONTH_YEAR = #{monthYear} |
|||
</if> |
|||
<if test="deptTypeKey != null and deptTypeKey != ''"> |
|||
and DEPT_TYPE_KEY = #{deptTypeKey} |
|||
</if> |
|||
order by UPDATED_TIME desc |
|||
</select> |
|||
|
|||
<select id="getDuplicateData" resultType="com.elink.esua.epdc.dto.KpiCommunityBuildingDTO" parameterType="com.elink.esua.epdc.dto.form.CheckIsScoredFormDTO"> |
|||
select |
|||
ID, |
|||
DEPT_ID, |
|||
DEPT_NAME, |
|||
DEPT_TYPE_KEY, |
|||
MONTH_YEAR, |
|||
DEMOCRATIC_CONSULTATION_MECHANISM, |
|||
RESIDENT_CONVENTION_SYSTEM, |
|||
GRID_NEGOTIATION_CASE, |
|||
PARENT_DEPT_IDS, |
|||
PARENT_DEPT_NAMES, |
|||
ALL_DEPT_IDS, |
|||
ALL_DEPT_NAMES, |
|||
REVISION, |
|||
CREATED_BY, |
|||
CREATED_TIME, |
|||
UPDATED_BY, |
|||
UPDATED_TIME, |
|||
DEL_FLAG |
|||
from epdc_kpi_community_building |
|||
where DEL_FLAG = '0' |
|||
<if test="checkList != null and checkList.size() > 0"> |
|||
AND DEPT_ID IN |
|||
<foreach collection="checkList" item="deptId" index="index" open="(" close=")" separator=","> |
|||
#{deptId} |
|||
</foreach> |
|||
</if> |
|||
<if test="monthYear != null and monthYear != ''"> |
|||
and MONTH_YEAR = #{monthYear} |
|||
</if> |
|||
</select> |
|||
|
|||
<insert id="insertEntityList"> |
|||
insert into epdc_kpi_community_building |
|||
(ID, |
|||
DEPT_ID, |
|||
DEPT_NAME, |
|||
DEPT_TYPE_KEY, |
|||
MONTH_YEAR, |
|||
DEMOCRATIC_CONSULTATION_MECHANISM, |
|||
RESIDENT_CONVENTION_SYSTEM, |
|||
GRID_NEGOTIATION_CASE, |
|||
PARENT_DEPT_IDS, |
|||
PARENT_DEPT_NAMES, |
|||
ALL_DEPT_IDS, |
|||
ALL_DEPT_NAMES, |
|||
REVISION, |
|||
CREATED_BY, |
|||
CREATED_TIME, |
|||
UPDATED_BY, |
|||
UPDATED_TIME, |
|||
DEL_FLAG |
|||
) |
|||
values |
|||
<foreach collection="categorys" item="item" index="index" separator="," > |
|||
(#{item.id}, |
|||
#{item.deptId}, |
|||
#{item.deptName}, |
|||
#{item.deptTypeKey}, |
|||
#{item.monthYear}, |
|||
#{item.democraticConsultationMechanism}, |
|||
#{item.residentConventionSystem}, |
|||
#{item.gridNegotiationCase}, |
|||
#{item.parentDeptIds}, |
|||
#{item.parentDeptNames}, |
|||
#{item.allDeptIds}, |
|||
#{item.allDeptNames}, |
|||
#{item.revision}, |
|||
#{item.createdBy}, |
|||
#{item.createdTime}, |
|||
#{item.updatedBy}, |
|||
#{item.updatedTime}, |
|||
#{item.delFlag}) |
|||
</foreach> |
|||
</insert> |
|||
|
|||
|
|||
</mapper> |
|||
Loading…
Reference in new issue