From f12cbc3122950bcff273a9697e5159c0387520e5 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期一, 31 十月 2022 18:14:04 +0800
Subject: [PATCH] 案卷详情和 队伍建设

---
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java                            |    2 
 ycl-platform/src/main/java/com/ycl/service/cockpitManage/ITeamConstructionService.java                 |   16 ++
 ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml                                  |   29 ++++
 ycl-platform/src/main/java/com/ycl/controller/cockpit/teamConstruction/TeamConstructionController.java |  146 ++++++++++++++++++++++++
 ycl-generator/src/main/java/com/ycl/controller/cockpitManage/TeamConstructionController.java           |   21 +++
 ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java                      |   18 ++
 ycl-generator/src/main/resources/mapper/cockpitManage/TeamConstructionMapper.xml                       |   30 +++++
 ycl-platform/src/main/java/com/ycl/service/cockpitManage/impl/TeamConstructionServiceImpl.java         |   20 +++
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java                   |    5 
 ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java                              |    4 
 ycl-platform/src/main/java/com/ycl/mapper/cockpitManage/TeamConstructionMapper.java                    |   16 ++
 ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java                           |    3 
 12 files changed, 304 insertions(+), 6 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
index d313121..53c1bc8 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
@@ -182,7 +182,7 @@
             token = jwtTokenUtil.generateToken(userDetails.getUserId(), userDetails.getUsername());
             redisService.set(RedisKey.PLATFORM_TOKEN_KEY.concat(username), token, LiveTimeMillisecond.s7200.time);
 //            updateLoginTimeByUsername(username);
-            insertLoginLog(username);
+            //insertLoginLog(username);
         } catch (AuthenticationException e) {
             LOGGER.warn("鐧诲綍寮傚父:{}", e.getMessage());
         }
diff --git a/ycl-generator/src/main/java/com/ycl/controller/cockpitManage/TeamConstructionController.java b/ycl-generator/src/main/java/com/ycl/controller/cockpitManage/TeamConstructionController.java
new file mode 100644
index 0000000..402a4b5
--- /dev/null
+++ b/ycl-generator/src/main/java/com/ycl/controller/cockpitManage/TeamConstructionController.java
@@ -0,0 +1,21 @@
+package com.ycl.controller.cockpitManage;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+import com.ycl.base.BaseController;
+
+/**
+ * <p>
+ * 闃熶紞寤鸿琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhanghua
+ * @since 2022-10-31
+ */
+@RestController
+@RequestMapping("/team-construction")
+public class TeamConstructionController extends BaseController {
+
+}
diff --git a/ycl-generator/src/main/resources/mapper/cockpitManage/TeamConstructionMapper.xml b/ycl-generator/src/main/resources/mapper/cockpitManage/TeamConstructionMapper.xml
new file mode 100644
index 0000000..3a08903
--- /dev/null
+++ b/ycl-generator/src/main/resources/mapper/cockpitManage/TeamConstructionMapper.xml
@@ -0,0 +1,30 @@
+<?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.ycl.mapper.cockpitManage.TeamConstructionMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.cockpitManage.TeamConstruction">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="people_number" property="peopleNumber" />
+        <result column="up_undergraduate_people_number" property="upUndergraduatePeopleNumber" />
+        <result column="under_forty_five_people_number" property="underFortyFivePeopleNumber" />
+        <result column="legal_professional_qualification_certificate_people_number" property="legalProfessionalQualificationCertificatePeopleNumber" />
+        <result column="report_number" property="reportNumber" />
+        <result column="disciplinary_offence_number" property="disciplinaryOffenceNumber" />
+        <result column="criminal_offense_number" property="criminalOffenseNumber" />
+        <result column="month_case_number" property="monthCaseNumber" />
+        <result column="no_timeout_case_number" property="noTimeoutCaseNumber" />
+        <result column="review_or_lawsuit_number" property="reviewOrLawsuitNumber" />
+        <result column="status" property="status" />
+        <result column="is_delete" property="isDelete" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id, name, people_number, up_undergraduate_people_number, under_forty_five_people_number, legal_professional_qualification_certificate_people_number, report_number, disciplinary_offence_number, criminal_offense_number, month_case_number, no_timeout_case_number, review_or_lawsuit_number, status, is_delete, create_time, update_time
+    </sql>
+
+</mapper>
diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
index 5ee1b2c..4d16ee5 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -1,9 +1,8 @@
 package com.ycl.controller.caseHandler;
 
-
-import com.alibaba.druid.util.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ycl.annotation.LogSave;
 import com.ycl.api.CommonResult;
@@ -181,6 +180,7 @@
         baseCase.setCode(utilNumber.createCaseCode());
         baseCase.setState(BaseCaseStatus.PENDING);
         baseCase.setAlarmTime(LocalDateTime.parse(violationParam.getAlarmTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        baseCase.setCreateTime(LocalDateTime.now());
         baseCaseService.save(baseCase);
         return CommonResult.success(baseCaseService.saveViolationCase(violationParam, baseCase.getId()));
     }
@@ -203,6 +203,7 @@
         baseCase.setCode(utilNumber.createCaseCode());
         baseCase.setState(BaseCaseStatus.PENDING);
         baseCase.setAlarmTime(LocalDateTime.parse(illegalBuildingParam.getAlarmTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        baseCase.setCreateTime(LocalDateTime.now());
         baseCaseService.save(baseCase);
         return CommonResult.success(baseCaseService.saveIllegalBuildingCase(illegalBuildingParam, baseCase.getId()));
     }
@@ -269,5 +270,16 @@
         return CommonResult.success("end case success~!");
     }
 
-
+    @ApiOperation(value = "鏌ヨ妗堝嵎")
+    @GetMapping("/query_case")
+    public CommonResult queryCase(@RequestParam Integer pageSize,
+                                  @RequestParam Integer current,
+                                  @RequestParam(required = false) String number,
+                                  @RequestParam(required = false) Integer communityId,
+                                  @RequestParam(required = false) Integer categories,
+                                  @RequestParam(required = false) String startTime,
+                                  @RequestParam(required = false) String endTime,
+                                  @RequestParam(required = false) String site) {
+        return CommonResult.success(baseCaseService.selectPage(new Page<BaseCase>().setCurrent(current).setSize(pageSize), number, communityId, categories, startTime, endTime, site));
+    }
 }
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/controller/cockpit/teamConstruction/TeamConstructionController.java b/ycl-platform/src/main/java/com/ycl/controller/cockpit/teamConstruction/TeamConstructionController.java
new file mode 100644
index 0000000..2806951
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/teamConstruction/TeamConstructionController.java
@@ -0,0 +1,146 @@
+package com.ycl.controller.cockpit.teamConstruction;
+
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ycl.annotation.LogSave;
+import com.ycl.api.CommonResult;
+import com.ycl.controller.BaseController;
+import com.ycl.entity.cockpitManage.TeamConstruction;
+import com.ycl.service.cockpitManage.ITeamConstructionService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.SneakyThrows;
+import org.springframework.beans.BeanUtils;
+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.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * <p>
+ * 闃熶紞寤鸿琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhanghua
+ * @since 2022-10-31
+ */
+@RestController
+@RequestMapping("/team_construction")
+@Api(tags = "闃熶紞寤鸿")
+public class TeamConstructionController extends BaseController {
+
+    @Autowired
+    ITeamConstructionService iTeamConstructionService;
+
+    @GetMapping("/query")
+    @ApiOperation("鏌ヨ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "size", required = true, value = "椤甸潰鏁伴噺"),
+            @ApiImplicitParam(name = "current", required = true, value = "椤电爜"),
+            @ApiImplicitParam(name = "departName", value = "閮ㄩ棬鍚嶇О"),
+            @ApiImplicitParam(name = "status", value = "鐘舵��")}
+    )
+    public CommonResult search(@RequestParam(name = "size") Integer size,
+                               @RequestParam(name = "current") Integer current,
+                               @RequestParam(name = "departName", required = false) String departName,
+                               @RequestParam(name = "status", required = false) Integer status) {
+        Integer isDelete = 0;
+        return CommonResult.success(iTeamConstructionService
+                .page(new Page<TeamConstruction>().setSize(size).setCurrent(current), new LambdaQueryWrapper<TeamConstruction>()
+                        .like(StringUtils.isNotBlank(departName), TeamConstruction::getName, departName)
+                        .eq( status != null, TeamConstruction::getStatus, status)
+                        .eq(TeamConstruction::getIsDelete, isDelete)));
+    }
+
+    @PostMapping("/addition")
+    @ApiOperation("娣诲姞")
+    @LogSave(operationType = "闃熶紞寤鸿绠$悊",contain = "娣诲姞")
+    public CommonResult add(@RequestBody TeamConstruction teamConstruction) {
+        return CommonResult.success(iTeamConstructionService.save(teamConstruction));
+    }
+
+    @PutMapping("/modification")
+    @ApiOperation("淇敼")
+    @LogSave(operationType = "闃熶紞寤鸿绠$悊",contain = "淇敼")
+    public CommonResult modify(@RequestBody TeamConstruction teamConstruction) {
+        return CommonResult.success(iTeamConstructionService.updateById(teamConstruction));
+    }
+
+    @DeleteMapping("/deletion")
+    @ApiOperation("鍒犻櫎")
+    @LogSave(operationType = "闃熶紞寤鸿绠$悊",contain = "鍒犻櫎")
+    public CommonResult delete(@RequestParam Long id) {
+        Integer isDelete = 1;
+        TeamConstruction teamConstruction = new TeamConstruction();
+        teamConstruction.setIsDelete(isDelete);
+        teamConstruction.setId(id);
+        return CommonResult.success(iTeamConstructionService.updateById(teamConstruction));
+    }
+
+    @PostMapping("/export")
+    @ApiOperation("瀵煎嚭")
+    @LogSave(operationType = "闃熶紞寤鸿绠$悊",contain = "瀵煎嚭")
+    @ApiImplicitParams(
+            {
+                    @ApiImplicitParam(name = "size", required = true, value = "椤甸潰鏁伴噺"),
+                    @ApiImplicitParam(name = "current", required = true, value = "椤电爜"),
+                    @ApiImplicitParam(name = "departName", value = "閮ㄩ棬鍚嶇О"),
+                    @ApiImplicitParam(name = "status", value = "鐘舵��")}
+    )
+    @SneakyThrows
+    public void export(@RequestParam() Integer size,
+                       @RequestParam() Integer current,
+                       @RequestParam(name = "departName", required = false) String departName,
+                       @RequestParam(name = "status", required = false) Integer status,
+                       HttpServletResponse response) {
+        Integer isDelete = 0;
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        response.setHeader("Content-disposition", "attachment;filename=" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + ".xlsx");
+        EasyExcel
+                .write(response.getOutputStream(), TeamConstruction.class)
+                .sheet("鏁版嵁")
+                .doWrite(iTeamConstructionService
+                        .page(new Page<TeamConstruction>().setSize(size).setCurrent(current), new LambdaQueryWrapper<TeamConstruction>()
+                                .like(StringUtils.isNotBlank(departName), TeamConstruction::getName, departName)
+                                .eq(status != null, TeamConstruction::getStatus, status)
+                                .eq(TeamConstruction::getIsDelete, isDelete))
+                        .getRecords());
+
+    }
+
+
+    @PostMapping("/import")
+    @ApiOperation("瀵煎叆")
+    @SneakyThrows
+    @LogSave(operationType = "闃熶紞寤鸿绠$悊",contain = "瀵煎叆")
+    public CommonResult export(MultipartFile multipartFile) {
+        EasyExcel.read(multipartFile.getInputStream(), TeamConstruction.class, new ReadListener() {
+            @Override
+            public void invoke(Object o, AnalysisContext analysisContext) {
+                if (o != null) {
+                    TeamConstruction teamConstruction = new TeamConstruction();
+                    BeanUtils.copyProperties(o, teamConstruction);
+                    teamConstruction.setCreateTime(LocalDateTime.now());
+                    iTeamConstructionService.save(teamConstruction);
+                }
+            }
+
+            @Override
+            public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+
+            }
+        }).doReadAll();
+        return CommonResult.success("import ok");
+    }
+}
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java
index f490917..84f3cac 100644
--- a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java
+++ b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java
@@ -7,7 +7,9 @@
 import com.ycl.entity.caseHandler.BaseCase;
 import com.ycl.vo.casePool.CasePoolIllegalBuildingVO;
 import com.ycl.vo.casePool.CasePoolViolationVO;
+import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -24,4 +26,6 @@
     Page<CasePoolIllegalBuildingVO> listIllegalBuildingsPage(Page page, Integer state, Integer type, Integer resource);
 
     BaseCase selectCondMap(Map map);
+
+    List<BaseCase> selectBaseCasePage(Page<BaseCase> page, @Param("code") String number,@Param("communityId") Integer communityId, @Param("categories") Integer categories, @Param("startTime") String startTime,@Param("endTime") String endTime,@Param("site") String site);
 }
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/cockpitManage/TeamConstructionMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/cockpitManage/TeamConstructionMapper.java
new file mode 100644
index 0000000..16adec8
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/cockpitManage/TeamConstructionMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.cockpitManage;
+
+import com.ycl.entity.cockpitManage.TeamConstruction;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 闃熶紞寤鸿琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhanghua
+ * @since 2022-10-31
+ */
+public interface TeamConstructionMapper extends BaseMapper<TeamConstruction> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
index 891a089..2eb9937 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
@@ -8,6 +8,7 @@
 import com.ycl.entity.caseHandler.BaseCaseDetail;
 
 import java.util.ArrayList;
+import java.util.List;
 
 /**
  * <p>
@@ -50,4 +51,6 @@
     ArrayList<String> listCaseImages(Integer id, Integer type);
 
     void endCase(Long caseId, String result,String opinion);
+
+    List<BaseCase> selectPage(Page<BaseCase> setSize, String number, Integer communityId, Integer categories, String startTime, String endTime, String site);
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
index e2845f3..081416e 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -374,4 +374,9 @@
         disposeRecord.setHandlerId(user.getUserId());
         disposeRecordMapper.update(disposeRecord, updateWrapper);
     }
+
+    @Override
+    public List<BaseCase> selectPage(Page<BaseCase> page, String number, Integer communityId, Integer categories, String startTime, String endTime, String site) {
+        return baseCaseMapper.selectBaseCasePage(page,number,communityId,categories,startTime,endTime,site);
+    }
 }
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/service/cockpitManage/ITeamConstructionService.java b/ycl-platform/src/main/java/com/ycl/service/cockpitManage/ITeamConstructionService.java
new file mode 100644
index 0000000..e6b671c
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/cockpitManage/ITeamConstructionService.java
@@ -0,0 +1,16 @@
+package com.ycl.service.cockpitManage;
+
+import com.ycl.entity.cockpitManage.TeamConstruction;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 闃熶紞寤鸿琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhanghua
+ * @since 2022-10-31
+ */
+public interface ITeamConstructionService extends IService<TeamConstruction> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/cockpitManage/impl/TeamConstructionServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/cockpitManage/impl/TeamConstructionServiceImpl.java
new file mode 100644
index 0000000..b940f3c
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/cockpitManage/impl/TeamConstructionServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.cockpitManage.impl;
+
+import com.ycl.entity.cockpitManage.TeamConstruction;
+import com.ycl.mapper.cockpitManage.TeamConstructionMapper;
+import com.ycl.service.cockpitManage.ITeamConstructionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 闃熶紞寤鸿琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhanghua
+ * @since 2022-10-31
+ */
+@Service
+public class TeamConstructionServiceImpl extends ServiceImpl<TeamConstructionMapper, TeamConstruction> implements ITeamConstructionService {
+
+}
diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
index 80657f5..3ce4be9 100644
--- a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -83,7 +83,7 @@
         ubc.event_source,
         t1.name as category,
         ubc.site,
-        t2.region_name  as community,
+        t2.region_name as community,
         uib.building_high,
         uib.building_width,
         uib.building_length,
@@ -123,4 +123,29 @@
         WHERE ubc.`code` = #{code}
     </select>
 
-</mapper>
+    <select id="selectBaseCasePage" resultType="com.ycl.entity.caseHandler.BaseCase">
+        select t1.*,
+        t2.name category_text,
+        t3.region_name community_text
+        from ums_base_case t1
+        left join ums_data_dictionary t2 on t1.category = t2.id
+        left join ums_sccg_region t3 on t1.community_id=t3.id
+        <where>
+            <if test="category != null">
+                category = #{categories}
+            </if>>
+            <if test="community_id != null">
+                and community_id = #{communityId}
+            </if>
+            <if test="code != null and code !=''">
+                and code like contact('%',#{code},'%')
+            </if>
+            <if test="site != null and site!=''">
+                and site like contact('%',#{site},'%')
+            </if>
+            <if test="startTime !='' and endTime !=''">
+                and create_time between #{startTime} and #{endTime}
+            </if>
+        </where>
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0