heweichun 2 месяцев назад
Родитель
Сommit
6e2470b4a0

+ 10 - 0
src/main/java/com/zhongzheng/bo/SysCertificateBo.java

@@ -62,6 +62,10 @@ public class SysCertificateBo
     @ApiModelProperty("结束时间")
     private Long endTime;
 
+    @ApiModelProperty("预警状态")
+    private Integer warningState;
+
+
     @ApiModelProperty("管理员ID")
     private Long userId;
 
@@ -74,6 +78,12 @@ public class SysCertificateBo
     @ApiModelProperty("姓名")
     private String personName;
 
+    @ApiModelProperty("电话")
+    private String phone;
+
+    @ApiModelProperty("身份证")
+    private String idCard;
+
     @ApiModelProperty("分页大小")
     private Integer pageSize;
     /** 当前页数 */

+ 37 - 2
src/main/java/com/zhongzheng/controller/SysCompanyController.java

@@ -167,15 +167,37 @@ public class SysCompanyController extends BaseController
         return toAjax(personService.deletePersonById(entity.getPersonId(),userId));
     }
 
-    @ApiOperation("证书列表")
+    @ApiOperation("员工证书列表")
     @GetMapping("/cert/list")
     public TableDataInfo<SysCertificate>  cert_list(SysCertificateBo model) {
 
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         model.setUserId(loginUser.getUser().getUserId());
+        //model.setUserId(1L);
         return certService.selectList(model);
     }
 
+    @ApiOperation("企业安全生产许可证书列表")
+    @GetMapping("/cert/safetyList")
+    public TableDataInfo<SysCertificate>  cert_safety_license_list(SysCertificateBo model) {
+
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
+        model.setCertificateTypeId(1);
+        //model.setUserId(1L);
+        return certService.selectEnterpriseCerList(model);
+    }
+    @ApiOperation("企业资质证书列表")
+    @GetMapping("/cert/qualificationList")
+    public TableDataInfo<SysCertificate>  cert_qualification_list(SysCertificateBo model) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
+        model.setCertificateTypeId(3);
+        //model.setUserId(1L);
+        return certService.selectEnterpriseCerList(model);
+    }
+
+
     @ApiOperation("添加证书")
     @PostMapping("/cert/add")
     public AjaxResult cert_add(@Validated @RequestBody SysCertificateBo model) {
@@ -203,7 +225,7 @@ public class SysCompanyController extends BaseController
     @GetMapping("/cert/certificate_type_list")
     public TableDataInfo<SysCertificateType>  certificate_type_list(Integer parentId) {
 
-        return typeService.selectCertificateTypeList(parentId);
+        return typeService.selectCertificateTypeListByCode(parentId);
     }
 
 
@@ -217,6 +239,19 @@ public TableDataInfo<CertificateMajor>  cert_major_list(Integer certificateTypeI
 
 
 
+    @ApiOperation("证书预警列表")
+    @GetMapping("/cert/warningList")
+    public TableDataInfo<SysCertificate>  cert_warning_list(SysCertificateBo model) {
+
+        //LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        //model.setUserId(loginUser.getUser().getUserId());
+        model.setUserId(1L);
+        model.setWarningState(1);
+        return certService.selectList(model);
+    }
+
+
+
 
 
 

+ 9 - 0
src/main/java/com/zhongzheng/domian/SysCertificate.java

@@ -173,6 +173,15 @@ public class SysCertificate implements Serializable
      */
     @TableField(exist = false)
     private String personName;
+    @TableField(exist = false)
+    @ApiModelProperty("电话")
+    private String phone;
+    @TableField(exist = false)
+    @ApiModelProperty("身份证")
+    private String idCard;
+    @TableField(exist = false)
+    @ApiModelProperty("企业名称")
+    private String companyName;
 
         /**
          * 分页大小

+ 23 - 1
src/main/java/com/zhongzheng/domian/SysCertificateType.java

@@ -11,6 +11,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -29,7 +30,7 @@ public class SysCertificateType implements Serializable
 
     /** 用户ID */
     @TableId(value = "certificate_type_id",type = IdType.AUTO)
-    private Long certificateTypeId;
+    private Integer certificateTypeId;
 
 
         /**
@@ -47,12 +48,33 @@ public class SysCertificateType implements Serializable
          */
         private Integer parentId;
 
+
+
+    /**
+     * 代码,多层关联关系
+     */
+    private String code;
+
+
     /**
      * 专业类型  0无专业,1有专业
      */
     private Integer majorType;
 
 
+    /**
+     * 预警时间按天计算
+     */
+    private Integer warningTime;
+
+
+    /**
+     * 子节点
+     */
+    @TableField(exist = false)
+    private List<SysCertificateType> children;
+
+
         /**
          * 分页大小
          */

+ 12 - 0
src/main/java/com/zhongzheng/mapper/SysCertificateMapper.java

@@ -18,7 +18,19 @@ import org.apache.ibatis.annotations.Param;
 @Mapper
 public interface SysCertificateMapper extends BaseMapper<SysCertificate> {
 
+    /**
+     * 员工证书列表
+     * @param page
+     * @param cet
+     * @return
+     */
+
     IPage<SysCertificate> selectCerListByCertBo(Page page, @Param("cet") SysCertificateBo cet);
 
+    /**
+    *企业证书列表
+     */
+    IPage<SysCertificate> selectEnterpriseCerList(Page page, @Param("cet") SysCertificateBo cet);
+
 }
 

+ 9 - 0
src/main/java/com/zhongzheng/service/ISysCertificateService.java

@@ -25,6 +25,15 @@ public interface ISysCertificateService extends IService<SysCertificate> {
     public TableDataInfo<SysCertificate> selectCertificateList(SysCertificateBo entity);
 
 
+    /**
+     * 企业证书列表
+     * @param entity
+     * @return
+     */
+    public TableDataInfo<SysCertificate> selectEnterpriseCerList(SysCertificateBo entity);
+
+
+
     public  SysCertificate selectCertificateById(Integer id);
 
 

+ 1 - 0
src/main/java/com/zhongzheng/service/ISysCertificateTypeService.java

@@ -23,6 +23,7 @@ public interface ISysCertificateTypeService extends IService<SysCertificateType>
      */
     public TableDataInfo<SysCertificateType>selectCertificateTypeList(int parentId);
 
+    public TableDataInfo<SysCertificateType>selectCertificateTypeListByCode(int parentId);
 
     public  SysCertificateType selectCertificateById(Integer id);
 

+ 46 - 0
src/main/java/com/zhongzheng/service/impl/SysCertificateServiceImpl.java

@@ -180,6 +180,52 @@ public class SysCertificateServiceImpl extends ServiceImpl<SysCertificateMapper,
         return info;
     }
 
+    /**
+     * 企业证书列表
+     * @param entity
+     * @return
+     */
+    @Override
+    public TableDataInfo<SysCertificate> selectEnterpriseCerList(SysCertificateBo entity) {
+        if (ObjectUtil.isEmpty(entity.getPageSize()) || entity.getPageSize() < 1) {
+            entity.setPageSize(-1);
+            entity.setPageNum(1);
+        }
+        if(StringUtils.isNotBlank(entity.getCompanyName())){
+            SysCompany company = sysCompanyService.selectCompanyByName(entity.getCompanyName(),entity.getUserId());
+            if(ObjectUtil.isEmpty(company)){
+                return new TableDataInfo<>();
+            }
+            entity.setCompanyId(entity.getCompanyId());
+        }
+
+        IPage<SysCertificate> pageinfo = certMapper.selectEnterpriseCerList(new Page<>(entity.getPageNum(), entity.getPageSize()), entity);
+        TableDataInfo<SysCertificate> info = new TableDataInfo();
+
+        if(pageinfo.getRecords().size()>0) {
+            List<Long> cetList = pageinfo.getRecords().stream().map(SysCertificate::getCertificateId).collect(Collectors.toList());
+            List<SysCertificateAddition> cetAddList= certadditionService.selectCertificateAdditionByCertIds(cetList);
+
+            for (SysCertificate element : pageinfo.getRecords()) {
+                List<SysCertificateAddition> arraylist=cetAddList.stream().filter(cet->cet.getCertificateId().equals(element.getCertificateId())).collect(Collectors.toList());
+                MajorVo[] majorVos=new MajorVo[arraylist.size()];
+                int i=0;
+                for (SysCertificateAddition m : arraylist) {
+                    majorVos[i]=new MajorVo();
+                    majorVos[i].setMajorId(m.getMajorId());
+                    majorVos[i].setMajorName(m.getMajorName());
+                    majorVos[i].setCertificateAdditionId(m.getCertificateAdditionId());
+                    majorVos[i].setExpiryDate(m.getExpiryDate());
+                }
+                element.setMajorVoList(majorVos);
+            }
+        }
+        info.setTotal(pageinfo.getTotal());
+        info.setRows(pageinfo.getRecords());
+
+        return info;
+    }
+
     @Override
     public SysCertificate selectCertificateById(Integer id) {
         return null;

+ 27 - 0
src/main/java/com/zhongzheng/service/impl/SysCertificateTypeServiceImpl.java

@@ -64,6 +64,33 @@ public class SysCertificateTypeServiceImpl extends ServiceImpl<SysCertificateTyp
 
     }
 
+    @Override
+    public TableDataInfo<SysCertificateType> selectCertificateTypeListByCode(int parentId) {
+        TableDataInfo<SysCertificateType> info = new TableDataInfo();
+
+        LambdaQueryWrapper<SysCertificateType> queryWrapper=new LambdaQueryWrapper<SysCertificateType>()  ;
+        queryWrapper.eq(SysCertificateType::getStatus,1)
+                .likeRight(SysCertificateType::getCode,parentId+",");
+
+        Page<SysCertificateType> page = page(new Page<>(1, 10000), queryWrapper);
+
+
+        List<SysCertificateType> first_list=page.getRecords().stream().filter(s->s.getParentId()==parentId).collect(Collectors.toList());
+
+        first_list.forEach(s->{
+            List<SysCertificateType> children=page.getRecords().stream().filter(s2->s2.getParentId().equals(s.getCertificateTypeId())).collect(Collectors.toList());
+            s.setChildren(children);
+        });
+
+        info.setRows(first_list);
+        info.setTotal(first_list.size());
+        info.setCode(HttpStatus.HTTP_OK);
+        info.setMsg("查询成功");
+        return info;
+
+    }
+
+
     @Override
     public SysCertificateType selectCertificateById(Integer id) {
         return  getById(id);

+ 67 - 3
src/main/resources/mapper/SysCertificateMapper.xml

@@ -8,18 +8,43 @@
     <select id="selectCerListByCertBo" parameterType="com.zhongzheng.bo.SysCertificateBo" resultType="com.zhongzheng.domian.SysCertificate">
         select  distinct
         a.*
+        ,p.person_name,p.id_card,p.phone
+        ,c.company_name
         from sys_certificate a
         inner JOIN sys_certificate_addition  b on   a.certificate_id = b.certificate_id
+        inner join sys_person p on p.person_id=a.person_id
+        inner join sys_company c on c.company_id=a.company_id
         where  a.Status=1
         <if test="cet.userId != null and cet.userId  != ''">
-            AND user_id =#{cet.userId}
+            AND a.user_id =#{cet.userId}
         </if>
         <if test="cet.companyId != null and cet.companyId  != ''">
-            AND company_id =#{cet.companyType}
+            AND a.company_id =#{cet.companyType}
         </if>
         <if test="cet.personId != null and cet.personId != ''">
-            AND person_id =#{cet.personId}
+            AND a.person_id =#{cet.personId}
         </if>
+        <if test="cet.certificateType != null and cet.certificateType != ''">
+            AND certificateType =#{cet.certificateType}
+        </if>
+        <if test="cet.certificateTypeId != null and cet.certificateTypeId != ''">
+            AND certificateTypeId =#{cet.certificateTypeId}
+        </if>
+        <if test="cet.certificateTypeId2 != null and cet.certificateTypeId2 != ''">
+            AND certificateTypeId2 =#{cet.certificateTypeId2}
+        </if>
+        <if test="cet.beginTime != null and cet.beginTime != ''">
+            AND b.expiry_date >=#{cet.beginTime}
+        </if>
+
+        <if test="cet.endTime != null and cet.endTime != null">
+            <![CDATA[ AND b.expiry_date <= #{cet.endTime} ]]>
+        </if>
+
+        <if test="cet.warningState != null and cet.warningState != ''">
+            AND b.warning_state >=#{cet.warningState}
+        </if>
+
         <if test="cet.personIds != null and cet.personIds.size()>0">
             AND company_id in
             <foreach item="id" collection="cet.personIds" open="(" separator="," close=")">
@@ -31,4 +56,43 @@
 
     </select>
 
+    <select id="selectEnterpriseCerList" parameterType="com.zhongzheng.bo.SysCertificateBo" resultType="com.zhongzheng.domian.SysCertificate">
+        select  distinct
+        a.*
+        ,c.company_name
+        from sys_certificate a
+        inner JOIN sys_certificate_addition  b on   a.certificate_id = b.certificate_id
+        inner join sys_company c on c.company_id=a.company_id
+        where  a.Status=1
+        <if test="cet.userId != null and cet.userId  != ''">
+            AND a.user_id =#{cet.userId}
+        </if>
+        <if test="cet.companyId != null and cet.companyId  != ''">
+            AND a.company_id =#{cet.companyType}
+        </if>
+
+        <if test="cet.certificateType != null and cet.certificateType != ''">
+            AND certificateType =#{cet.certificateType}
+        </if>
+        <if test="cet.certificateTypeId != null and cet.certificateTypeId != ''">
+            AND certificateTypeId =#{cet.certificateTypeId}
+        </if>
+        <if test="cet.certificateTypeId2 != null and cet.certificateTypeId2 != ''">
+            AND certificateTypeId2 =#{cet.certificateTypeId2}
+        </if>
+        <if test="cet.beginTime != null and cet.beginTime != ''">
+            AND b.expiry_date >=#{cet.beginTime}
+        </if>
+
+        <if test="cet.endTime != null and cet.endTime != null">
+            <![CDATA[ AND b.expiry_date <= #{cet.endTime} ]]>
+        </if>
+
+        <if test="cet.warningState != null and cet.warningState != ''">
+            AND b.warning_state >=#{cet.warningState}
+        </if>
+
+
+    </select>
+
 </mapper>