钟日健
2022-02-19 6964aa2c152d7faa8c67c65b601b573da917f572
1. 跨区域项目备案新增字段
2. 保安服务法人变更新增
3 files modified
8 files added
932 ■■■■■ changed files
src/main/java/org/springblade/modules/recordLegalperson/controller/RecordLegalpersonController.java 283 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordLegalperson/dto/RecordLegalpersonDTO.java 107 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordLegalperson/entity/RecordLegalperson.java 203 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordLegalperson/mapper/RecordLegalpersonMapper.java 38 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordLegalperson/mapper/RecordLegalpersonMapper.xml 104 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordLegalperson/service/IRecordLegalpersonService.java 52 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordLegalperson/service/impl/RecordLegalpersonServiceImpl.java 79 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordLegalperson/vo/RecordLegalpersonVO.java 36 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordk/entity/Recordk.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recordLegalperson/controller/RecordLegalpersonController.java
New file
@@ -0,0 +1,283 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.recordLegalperson.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.common.cache.DictCache;
import org.springblade.common.cache.ParamCache;
import org.springblade.common.config.FtpConfig;
import org.springblade.common.enums.DictEnum;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.information.entity.Information;
import org.springblade.modules.information.service.IInformationService;
import org.springblade.modules.recordLegalperson.dto.RecordLegalpersonDTO;
import org.springblade.modules.recordLegalperson.entity.RecordLegalperson;
import org.springblade.modules.recordLegalperson.service.IRecordLegalpersonService;
import org.springblade.modules.recordLegalperson.vo.RecordLegalpersonVO;
import org.springblade.modules.resource.service.IAttachService;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import static org.springblade.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD;
import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
/**
 * 控制器
 *
 * @author BladeX
 * @since 2021-07-12
 */
@RestController
@AllArgsConstructor
@RequestMapping("/recordlegalperson")
@Api(value = "", tags = "接口")
public class RecordLegalpersonController extends BladeController {
    private final IRecordLegalpersonService recordService;
    private final IDeptService iDeptService;
    private final IInformationService informationService;
    private final IUserService userService;
    private final IAttachService attachService;
    /**
     * 详情
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入record")
    public R<RecordLegalperson> detail(RecordLegalperson record) {
        RecordLegalperson detail = recordService.getOne(Condition.getQueryWrapper(record));
        return R.data(detail);
    }
    /**
     * 分页
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入record")
    public R<IPage<RecordLegalperson>> list(RecordLegalperson record, Query query) {
        record.setStorage("1");
        IPage<RecordLegalperson> pages = recordService.page(Condition.getPage(query), Condition.getQueryWrapper(record));
        return R.data(pages);
    }
    /**
     * 自定义分页
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入record")
    public R<IPage<RecordLegalpersonVO>> page(RecordLegalpersonVO record, Query query) {
        IPage<RecordLegalpersonVO> pages;
        pages = recordService.selectRecordPage(Condition.getPage(query), record, record.getJurisdiction());
        return R.data(pages);
    }
    /**
     * 新增
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入record")
    public R save(@Valid @RequestBody RecordLegalperson record) {
        String cardid = record.getCardid();
        String type = record.getPtype();
        Map map = recordService.selectIn(cardid, type);
        if (map != null) {
            String id = map.get("id").toString();
            recordService.removeByIds(Func.toLongList(id));
            String s1 = "delete from sys_record where id = " + "'" + id + "'";
            FtpUtil.sqlFileUpload(s1);
        }
        record.setStorage("1");
        record.setType("2");
        record.setPermitime(new Date());
        recordService.save(record);
        return R.success("成功");
    }
    /**
     * 暂存
     */
    @PostMapping("/rocordsave")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入record")
    public R rocordsave(@Valid @RequestBody RecordLegalperson record) {
        String cardid = record.getCardid();
        String type = record.getPtype();
        Map map = recordService.selectIn(cardid, type);
        if (map != null) {
            record.setStorage("0");
            record.setPermitime(new Date());
            recordService.updateById(record);
        } else {
            record.setStorage("0");
            record.setType("2");
            record.setPermitime(new Date());
            recordService.save(record);
        }
        return R.success("暂存成功");
    }
    /**
     * 修改
     */
    @PostMapping("/update")
    public R update(@Valid @RequestBody RecordLegalperson record) {
        //审核通过
        if (record.getType().equals("0")) {
            //新增组织机构和单位信息
            Information information = new Information();
            information.setCreditcode(record.getCreditcode());
            information.setEnterprisename(record.getEnterprisename());
            information.setRepresentative(record.getRepresentative());
            information.setEstablishtime(record.getEstablishtime());
            information.setRegisteredcapital(record.getRegisteredcapital());
            information.setOrganizationcode(record.getOrganizationcode());
            information.setRegistrationnumber(record.getRegistrationnumber());
            information.setEnterprises(record.getEnterprises());
            information.setAddress(record.getAddress());
            information.setBusiness(record.getBusiness());
            information.setRegion(record.getRegion());
            information.setRegistration(record.getRegistration());
            information.setIndustry(record.getIndustry());
            information.setRepresentativecell(record.getRepresentativecell());
            information.setContacts(record.getContacts());
            information.setContactscell(record.getContactscell());
            Dept dept = new Dept();
            //本市公司
            if (record.getPtype().equals("2")) {
                Long i = 1425366663452196865L;
                dept.setParentId(i);
                dept.setAncestors("0,1425366663452196865");
            }
            //培训公司
            else {
                Long i = 1420222768149966850L;
                dept.setParentId(i);
                dept.setAncestors("0,1420222768149966850");
            }
            dept.setTenantId("000000");
            dept.setDeptName(information.getEnterprisename());
            dept.setDeptCategory(1);
            if (iDeptService.submit(dept)) {
                CacheUtil.clear(SYS_CACHE);
                // 返回懒加载树更新节点所需字段
                Kv kv = Kv.create().set("id", String.valueOf(dept.getId())).set("tenantId", dept.getTenantId())
                    .set("deptCategoryName", DictCache.getValue(DictEnum.ORG_CATEGORY, dept.getDeptCategory()));
                String id = kv.get("id").toString();
                information.setDepartmentid(id);
            }
            informationService.save(information);
            Integer isDeleted = 0;
            //注册用户
            User user = new User();
            user.setDeptId(information.getDepartmentid());
            user.setTenantId("000000");
            user.setAccount(record.getEnterprisename());
            String initPassword = ParamCache.getValue(DEFAULT_PARAM_PASSWORD);
            user.setPassword(DigestUtil.encrypt(initPassword));
            //user.setPassword(initPassword);
            user.setCreateTime(new Date());
            user.setUpdateTime(new Date());
            user.setRoleId("1414575196264300546");
            user.setStatus(1);
            user.setIsDeleted(0);
            userService.save(user);
            String rtime;
            String paperTime;
            if (user.getRtime() == null) {
                rtime = null;
            } else {
                rtime = new SimpleDateFormat("yyyy-MM-dd").format(user.getRtime());
            }
            //发证日期处理
            if (user.getPaperTime() == null) {
                paperTime = "";
            } else {
                paperTime = new SimpleDateFormat("yyyy-MM-dd").format(user.getPaperTime());
            }
            //把附件添加单位id
            attachService.updat(information.getDepartmentid(), record.getCardid());
        }
        return R.status(recordService.saveOrUpdate(record));
    }
    /**
     * 新增或修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入record")
    public R submit(@Valid @RequestBody RecordLegalperson record) {
        return R.status(recordService.saveOrUpdate(record));
    }
    /**
     * 删除
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 8)
    @ApiOperation(value = "删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(recordService.removeByIds(Func.toLongList(ids)));
    }
    @PostMapping("/selectIn")
    public R selectIn(String cardid, String type) {
        Map map = recordService.selectIn(cardid, type);
        return R.data(map);
    }
    /**
     * 保安公司法人变更详情(基本信息和附件列表信息)
     * @param record
     * @return
     */
    @GetMapping("/details")
    public R details(RecordLegalpersonDTO record) {
        RecordLegalpersonDTO detail = recordService.getDetails(record);
        return R.data(detail);
    }
}
src/main/java/org/springblade/modules/recordLegalperson/dto/RecordLegalpersonDTO.java
New file
@@ -0,0 +1,107 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.recordLegalperson.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springblade.modules.licetuser.entity.Licetuser;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * 数据传输对象实体类
 *
 * @author BladeX
 * @since 2021-07-12
 */
@Data
public class RecordLegalpersonDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private Integer id;
    private String ptype;
    /**
     * 审核状态
     */
    private String type;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date permitime;
    private String cardid;
    private String representativecell;
    private String contacts;
    private String contactscell;
    private String jurisdiction;
    /**
     * 登记机关
     */
    private String registration;
    /**
     * 所属行业
     */
    private String industry;
    /**
     * 统一社会信用代码
     */
    private String creditcode;
    /**
     * 企业名称
     */
    private String enterprisename;
    /**
     * 法定代表人
     */
    private String representative;
    /**
     * 注册地址
     */
    private String address;
    /**
     * 最后审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date overtime;
    //更变后法人
    private String changecontacts;
    //更变后法人电话
    private String changecontactscell;
    /**
     * 材料集合信息
     */
    private List<Licetuser> licetusers;
}
src/main/java/org/springblade/modules/recordLegalperson/entity/RecordLegalperson.java
New file
@@ -0,0 +1,203 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.recordLegalperson.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 实体类
 *
 * @author BladeX
 * @since 2021-07-12
 */
@Data
@TableName("sys_record_legalperson")
@ApiModel(value = "Record对象", description = "Record对象")
public class RecordLegalperson implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 统一社会信用代码
     */
    @ApiModelProperty(value = "统一社会信用代码")
    @TableField("creditCode")
    private String creditcode;
    /**
     * 企业名称
     */
    @ApiModelProperty(value = "企业名称")
    @TableField("enterpriseName")
    private String enterprisename;
    /**
     * 法定代表人
     */
    @ApiModelProperty(value = "法定代表人")
    private String representative;
    /**
     * 成立日期
     */
    @ApiModelProperty(value = "注册时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date establishtime;
    /**
     * 注册资本
     */
    @ApiModelProperty(value = "注册资本")
    @TableField("registeredCapital")
    private String registeredcapital;
    /**
     * 组织机构代码
     */
    @ApiModelProperty(value = "组织机构代码")
    @TableField("organizationCode")
    private String organizationcode;
    /**
     * 工商注册号
     */
    @ApiModelProperty(value = "工商注册号")
    @TableField("registrationNumber")
    private String registrationnumber;
    /**
     * 纳税人识别号
     */
    @ApiModelProperty(value = "纳税人识别号")
    @TableField("identificationNumber")
    private String identificationnumber;
    /**
     * 企业类型
     */
    @ApiModelProperty(value = "企业类型")
    private String enterprises;
    /**
     * 注册地址
     */
    @ApiModelProperty(value = "注册地址")
    private String address;
    /**
     * 经营范围
     */
    @ApiModelProperty(value = "经营范围")
    private String business;
    /**
     * 所属地区
     */
    @ApiModelProperty(value = "所属地区")
    private String region;
    /**
     * 登记机关
     */
    @ApiModelProperty(value = "登记机关")
    private String registration;
    /**
     * 所属行业
     */
    @ApiModelProperty(value = "所属行业")
    private String industry;
    /**
     * 状态 0:审核通过 1:审核不通过 2: 审核中
     */
    @ApiModelProperty(value = "状态 0:审核通过 1:审核不通过 2: 审核中")
    private String type;
    /**
     * 保安服务单位许可编号
     */
    @ApiModelProperty(value = "保安服务单位许可编号")
    private String perid;
    /**
     * 许可发证机关
     */
    @ApiModelProperty(value = "许可发证机关")
    private String offices;
    /**
     * 发证时间
     */
    @ApiModelProperty(value = "发证时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date officetime;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    private String deptid;
    private String ptype;
    @ApiModelProperty(value = "提交时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date permitime;
    private String approve;
    private String cardid;
    private String representativecell;
    private String contacts;
    private String contactscell;
    private String storage;
    private String jurisdiction;
    //派出所审批
    private String papprove;
    //县审批
    private String xapprove;
    //市审批
    private String sapprove;
    //派出意见
    private String popinion;
    //县意见
    private String xopinion;
    //市意见
    private String sopinion;
    @ApiModelProperty(value = "审批时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date overtime;
    @ApiModelProperty(value = "派出所审批时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ptime;
    @ApiModelProperty(value = "县审批时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date stime;
    @ApiModelProperty(value = "市审批时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date xtime;
    //更变后法人
    private String changecontacts;
    //更变后法人电话
    private String changecontactscell;
}
src/main/java/org/springblade/modules/recordLegalperson/mapper/RecordLegalpersonMapper.java
New file
@@ -0,0 +1,38 @@
package org.springblade.modules.recordLegalperson.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.recordLegalperson.dto.RecordLegalpersonDTO;
import org.springblade.modules.recordLegalperson.entity.RecordLegalperson;
import org.springblade.modules.recordLegalperson.vo.RecordLegalpersonVO;
import java.util.List;
import java.util.Map;
/**
 *  Mapper 接口
 *
 * @author BladeX
 * @since 2021-07-12
 */
public interface RecordLegalpersonMapper extends BaseMapper<RecordLegalperson> {
    /**
     * 自定义分页
     *
     * @param page
     * @param record
     * @return
     */
    List<RecordLegalpersonVO> selectRecordPage(IPage page, @Param("record") RecordLegalpersonVO record, String jurisdiction);
    Map selectIn(String cardid,String type);
    /**
     * 查询公司详情信息
     * @param record
     * @return
     */
    RecordLegalpersonDTO selectRecordDetail(@Param("record") RecordLegalpersonDTO record);
}
src/main/java/org/springblade/modules/recordLegalperson/mapper/RecordLegalpersonMapper.xml
New file
@@ -0,0 +1,104 @@
<?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="org.springblade.modules.recordLegalperson.mapper.RecordLegalpersonMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="RecordLegalpersonMapper" type="org.springblade.modules.recordLegalperson.entity.RecordLegalperson">
        <id column="id" property="id"/>
        <result column="creditCode" property="creditcode"/>
        <result column="enterpriseName" property="enterprisename"/>
        <result column="representative" property="representative"/>
        <result column="establishtime" property="establishtime"/>
        <result column="registeredCapital" property="registeredcapital"/>
        <result column="organizationCode" property="organizationcode"/>
        <result column="registrationNumber" property="registrationnumber"/>
        <result column="identificationNumber" property="identificationnumber"/>
        <result column="enterprises" property="enterprises"/>
        <result column="address" property="address"/>
        <result column="business" property="business"/>
        <result column="region" property="region"/>
        <result column="registration" property="registration"/>
        <result column="industry" property="industry"/>
        <result column="type" property="type"/>
        <result column="perid" property="perid"/>
        <result column="offices" property="offices"/>
        <result column="officetime" property="officetime"/>
        <result column="deptid" property="deptid"/>
        <result column="permitime" property="permitime"/>
        <result column="ptype" property="ptype"/>
        <result column="cardid" property="cardid"/>
        <result column="representativecell" property="representativecell"/>
        <result column="contacts" property="contacts"/>
        <result column="contactscell" property="contactscell"/>
        <result column="storage" property="storage"/>
        <result column="jurisdiction" property="jurisdiction"/>
        <result column="papprove" property="papprove"/>
        <result column="xapprove" property="xapprove"/>
        <result column="sapprove" property="sapprove"/>
        <result column="popinion" property="popinion"/>
        <result column="xopinion" property="xopinion"/>
        <result column="sopinion" property="sopinion"/>
        <result column="overtime" property="overtime"/>
        <result column="ptime" property="ptime"/>
        <result column="stime" property="stime"/>
        <result column="xtime" property="xtime"/>
        <result column="changecontacts" property="changecontacts"/>
        <result column="changecontactscell" property="changecontactscell"/>
    </resultMap>
    <select id="selectRecordPage" resultMap="RecordLegalpersonMapper">
        select * from sys_record_legalperson si left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction where 1=1
        <if test="record.ptype!=null and record.ptype!=''">
            and ptype=#{record.ptype}
        </if>
        <if test="record.jurisdiction!=null and record.jurisdiction != '' and record.jurisdiction!='1372091709474910209'">
            and (sj.id = #{record.jurisdiction} or sj.parent_id = #{record.jurisdiction})
        </if>
        <if test="record.papprove!=null and record.papprove!=''">
            and papprove=#{record.papprove}
        </if>
        <if test="record.xapprove!=null and record.xapprove!=''">
            and xapprove=#{record.xapprove}
        </if>
        <if test="record.sapprove!=null and record.sapprove!=''">
            and sapprove=#{record.sapprove}
        </if>
    </select>
    <select id="selectIn" resultType="java.util.HashMap">
        select *
        from sys_record_legalperson
        where cardid = #{cardid}
          and ptype = #{type}
    </select>
    <select id="selectRecordDetail" resultType="org.springblade.modules.recordLegalperson.dto.RecordLegalpersonDTO">
        select
        id,
        ptype,
        type,
        permitime,
        cardid,
        representativecell,
        contacts,
        contactscell,
        jurisdiction,
        industry,
        registration,
        creditcode,
        enterprisename,
        representative,
        address,
        overtime,
        changecontacts,
        changecontactscell
        from sys_record_legalperson
        where cardid = #{record.cardid}
        and ptype = #{record.ptype}
    </select>
</mapper>
src/main/java/org/springblade/modules/recordLegalperson/service/IRecordLegalpersonService.java
New file
@@ -0,0 +1,52 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.recordLegalperson.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.recordLegalperson.dto.RecordLegalpersonDTO;
import org.springblade.modules.recordLegalperson.entity.RecordLegalperson;
import org.springblade.modules.recordLegalperson.vo.RecordLegalpersonVO;
import java.util.Map;
/**
 *  服务类
 *
 * @author BladeX
 * @since 2021-07-12
 */
public interface IRecordLegalpersonService extends IService<RecordLegalperson> {
    /**
     * 自定义分页
     *
     * @param page
     * @param record
     * @return
     */
    IPage<RecordLegalpersonVO> selectRecordPage(IPage<RecordLegalpersonVO> page, @Param("record") RecordLegalpersonVO record, String jurisdiction);
    Map selectIn(String cardid,String type);
    /**
     * 保安公司法人变更详情(基本信息和附件列表信息)
     * @param record
     * @return
     */
    RecordLegalpersonDTO getDetails(RecordLegalpersonDTO record);
}
src/main/java/org/springblade/modules/recordLegalperson/service/impl/RecordLegalpersonServiceImpl.java
New file
@@ -0,0 +1,79 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.recordLegalperson.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.modules.licetuser.entity.Licetuser;
import org.springblade.modules.licetuser.service.ILicetuserService;
import org.springblade.modules.recordLegalperson.dto.RecordLegalpersonDTO;
import org.springblade.modules.recordLegalperson.entity.RecordLegalperson;
import org.springblade.modules.recordLegalperson.mapper.RecordLegalpersonMapper;
import org.springblade.modules.recordLegalperson.service.IRecordLegalpersonService;
import org.springblade.modules.recordLegalperson.vo.RecordLegalpersonVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
 *  服务实现类
 *
 * @author BladeX
 * @since 2021-07-12
 */
@Service
public class RecordLegalpersonServiceImpl extends ServiceImpl<RecordLegalpersonMapper, RecordLegalperson> implements IRecordLegalpersonService {
    @Autowired
    private ILicetuserService licetuserService;
    @Override
    public IPage<RecordLegalpersonVO> selectRecordPage(IPage<RecordLegalpersonVO> page, RecordLegalpersonVO record, String jurisdiction) {
        return page.setRecords(baseMapper.selectRecordPage(page, record,jurisdiction));
    }
    @Override
    public Map selectIn(String cardid,String type) {
        return baseMapper.selectIn(cardid,type);
    }
    /**
     * 保安公司法人变更详情(基本信息和附件列表信息)
     * @param record
     * @return
     */
    @Override
    public RecordLegalpersonDTO getDetails(RecordLegalpersonDTO record) {
        //查询公司信息
        RecordLegalpersonDTO recordLegalpersonDTO = baseMapper.selectRecordDetail(record);
        if (null!= recordLegalpersonDTO) {
            //查询材料信息
            Licetuser licetuser = new Licetuser();
            licetuser.setUserid(record.getCardid());
            licetuser.setPtype(record.getPtype());
            List<Licetuser> licetusers = licetuserService.list(Condition.getQueryWrapper(licetuser));
            //数据封装
            recordLegalpersonDTO.setLicetusers(licetusers);
            //返回数据
            return recordLegalpersonDTO;
        }
        return null;
    }
}
src/main/java/org/springblade/modules/recordLegalperson/vo/RecordLegalpersonVO.java
New file
@@ -0,0 +1,36 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.recordLegalperson.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.modules.recordLegalperson.entity.RecordLegalperson;
/**
 * 视图实体类
 *
 * @author BladeX
 * @since 2021-07-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "RecordVO对象", description = "RecordVO对象")
public class RecordLegalpersonVO extends RecordLegalperson {
    private static final long serialVersionUID = 1L;
   private  String usetype;
}
src/main/java/org/springblade/modules/recordk/entity/Recordk.java
@@ -153,4 +153,25 @@
    private String approve;
    private String jurisdiction;
    @ApiModelProperty(value = "审批时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date overtime;
    @ApiModelProperty(value = "保安人数")
    private Integer ksecuritys;
    @ApiModelProperty(value = "拟跨区域经营的保安服务项目")
    private String kproject;
    @ApiModelProperty(value = "邮编")
    private String kzipcode;
    @ApiModelProperty(value = "跨区域经营服务时间(备案有效期)")
    private String kservicetime;
    @ApiModelProperty(value = "地址")
    private String kaddress;
}
src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.xml
@@ -29,6 +29,11 @@
        <result column="contactscell" property="contactscell"/>
        <result column="approve" property="approve"/>
        <result column="jurisdiction" property="jurisdiction"/>
        <result column="ksecuritys" property="ksecuritys"/>
        <result column="kproject" property="kproject"/>
        <result column="kzipcode" property="kzipcode"/>
        <result column="kservicetime" property="kservicetime"/>
        <result column="kaddress" property="kaddress"/>
    </resultMap>
src/main/resources/application-test.yml
@@ -18,12 +18,12 @@
    # MySql
    url: jdbc:mysql://223.82.109.183:2083/zhba-test?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
    username: root
    password: zhba0728
    password: ZHba@0112
#ftp 设置
ftp:
  sqlConnect: jdbc:mysql://223.82.109.183:2083/zhba-test?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
  ftpHost: 192.168.0.199
  ftpHost: 192.168.0.198
  ftpPort: 21
  ftpUserName: arsn
  ftpPassword: 123456