Pārlūkot izejas kodu

新安全责任书

luojun 1 gadu atpakaļ
vecāks
revīzija
01f456008a

+ 85 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetybook/controller/CoreSafetyBookNewController.java

@@ -0,0 +1,85 @@
+package com.xunmei.core.safetybook.controller;
+
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.xunmei.common.log.annotation.Log;
+import com.xunmei.common.log.enums.BusinessType;
+import com.xunmei.common.security.annotation.RequiresPermissions;
+import com.xunmei.core.safetybook.domain.CoreSafetyBookNew;
+import com.xunmei.core.safetybook.service.ICoreSafetyBookNewService;
+import com.xunmei.common.core.web.controller.BaseController;
+import com.xunmei.common.core.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.web.page.TableDataInfo;
+
+/**
+ * 【请填写功能名称】Controller
+ *
+ * @author xunmei
+ * @date 2023-12-06
+ */
+@Api(tags = {"CoreSafetyBookNew"})
+@RestController
+@RequestMapping("/safetyBooknew")
+public class CoreSafetyBookNewController extends BaseController {
+    @Autowired
+    private ICoreSafetyBookNewService coreSafetyBookNewService;
+
+    /**
+     * 查询【请填写功能名称】列表
+     */
+    @ApiOperation(value = "查询CoreSafetyBookNew列表")
+    @RequiresPermissions("core:safetyBooknew:list")
+    @PostMapping("/list")
+    public TableDataInfo<CoreSafetyBookNew> list(@RequestBody CoreSafetyBookNew coreSafetyBookNew) {
+
+        return coreSafetyBookNewService.selectPage(coreSafetyBookNew);
+    }
+
+
+    /**
+     * 获取【请填写功能名称】详细信息
+     */
+    @ApiOperation(value = "获取CoreSafetyBookNew详细信息")
+    @RequiresPermissions("core:safetyBooknew:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(coreSafetyBookNewService.selectCoreSafetyBookNewById(id));
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     */
+    @ApiOperation(value = "新增CoreSafetyBookNew")
+    @RequiresPermissions("core:safetyBooknew:add")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
+    @PostMapping("/editOrAdd")
+    public AjaxResult editOrAdd(@RequestBody CoreSafetyBookNew coreSafetyBookNew) {
+        return toAjax(coreSafetyBookNewService.insertCoreSafetyBookNew(coreSafetyBookNew));
+    }
+
+
+    /**
+     * 删除【请填写功能名称】
+     */
+    @ApiOperation(value = "删除CoreSafetyBookNew")
+    @RequiresPermissions("core:safetyBooknew:remove")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(coreSafetyBookNewService.deleteCoreSafetyBookNewByIds(ids));
+    }
+}

+ 149 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetybook/domain/CoreSafetyBookNew.java

@@ -0,0 +1,149 @@
+package com.xunmei.core.safetybook.domain;
+
+import java.util.Date;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.xunmei.common.core.web.domain.BaseEntity;
+
+/**
+ * 【请填写功能名称】对象 core_safety_book_new
+ *
+ * @author xunmei
+ * @date 2023-12-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("core_safety_book_new")
+@ApiModel(value = "CoreSafetyBookNew对象", description = "【请填写功能名称】")
+public class CoreSafetyBookNew extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 所属年份
+     */
+    @ApiModelProperty(value = "所属年份")
+    private Long year;
+
+    /**
+     * 是否删除
+     */
+    @ApiModelProperty(value = "是否删除")
+    private Long deleted;
+
+    /**
+     * 签署责任书类型
+     */
+    @ApiModelProperty(value = "签署责任书类型")
+    private Long type;
+
+    /**
+     * 签署时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "签署时间")
+    private Date time;
+
+    /**
+     * 签署文件
+     */
+    @ApiModelProperty(value = "签署文件")
+    @TableField(exist = false)
+    private List<CoreSafetyBookBookFilesVo> files;
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Integer signLevel;
+
+    /**
+     * 甲方
+     */
+    @ApiModelProperty(value = "甲方")
+    private String partyA;
+
+    /**
+     * 乙方
+     */
+    @ApiModelProperty(value = "乙方")
+    private String partyB;
+
+    /**
+     * 甲方机构
+     */
+    @ApiModelProperty(value = "甲方机构")
+    private String partyAOrg;
+
+    /**
+     * 乙方机构
+     */
+    @ApiModelProperty(value = "乙方机构")
+    private Long partyBOrg;
+    @TableField(exist = false)
+    private String partyBOrgName;
+    @TableField(exist = false)
+    private String selectOrgPath;
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+
+
+                .append("id", getId())
+
+
+                .append("year", getYear())
+
+
+                .append("createBy", getCreateBy())
+
+
+                .append("createTime", getCreateTime())
+
+
+                .append("updateBy", getUpdateBy())
+
+
+                .append("updateTime", getUpdateTime())
+
+
+                .append("deleted", getDeleted())
+
+
+                .append("type", getType())
+
+
+                .append("time", getTime())
+
+
+                .append("files", getFiles())
+
+
+                .append("partyA", getPartyA())
+
+
+                .append("partyB", getPartyB())
+
+
+                .append("partyAOrg", getPartyAOrg())
+
+
+                .append("partyBOrg", getPartyBOrg())
+                .toString();
+    }
+}

+ 68 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetybook/mapper/CoreSafetyBookNewMapper.java

@@ -0,0 +1,68 @@
+package com.xunmei.core.safetybook.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.core.safetybook.domain.CoreSafetyBookNew;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ *
+ * @author xunmei
+ * @date 2023-12-06
+ */
+public interface CoreSafetyBookNewMapper extends BaseMapper<CoreSafetyBookNew> {
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    CoreSafetyBookNew selectCoreSafetyBookNewById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param coreSafetyBookNew 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    List<CoreSafetyBookNew> selectCoreSafetyBookNewList(CoreSafetyBookNew coreSafetyBookNew);
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param coreSafetyBookNew 【请填写功能名称】
+     * @return 结果
+     */
+    int insertCoreSafetyBookNew(CoreSafetyBookNew coreSafetyBookNew);
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param coreSafetyBookNew 【请填写功能名称】
+     * @return 结果
+     */
+    int updateCoreSafetyBookNew(CoreSafetyBookNew coreSafetyBookNew);
+
+    /**
+     * 删除【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    int deleteCoreSafetyBookNewById(Long id);
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteCoreSafetyBookNewByIds(Long[] ids);
+
+    Page<CoreSafetyBookNew> selectSafetyBookNewPage(Page<CoreSafetyBookNew> page, @Param("info") CoreSafetyBookNew coreSafetyBookNew);
+
+    CoreSafetyBookNew selectSafetyBookById(Long id);
+}

+ 72 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetybook/service/ICoreSafetyBookNewService.java

@@ -0,0 +1,72 @@
+package com.xunmei.core.safetybook.service;
+
+import java.util.List;
+
+import com.xunmei.core.safetybook.domain.CoreSafetyBookNew;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.web.page.TableDataInfo;
+
+/**
+ * 【请填写功能名称】Service接口
+ *
+ * @author xunmei
+ * @date 2023-12-06
+ */
+public interface ICoreSafetyBookNewService extends IService<CoreSafetyBookNew> {
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    CoreSafetyBookNew selectCoreSafetyBookNewById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param coreSafetyBookNew 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    List<CoreSafetyBookNew> selectCoreSafetyBookNewList(CoreSafetyBookNew coreSafetyBookNew);
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param coreSafetyBookNew 【请填写功能名称】
+     * @return 结果
+     */
+    int insertCoreSafetyBookNew(CoreSafetyBookNew coreSafetyBookNew);
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param coreSafetyBookNew 【请填写功能名称】
+     * @return 结果
+     */
+    int updateCoreSafetyBookNew(CoreSafetyBookNew coreSafetyBookNew);
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的【请填写功能名称】主键集合
+     * @return 结果
+     */
+    int deleteCoreSafetyBookNewByIds(Long[] ids);
+
+    /**
+     * 删除【请填写功能名称】信息
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    int deleteCoreSafetyBookNewById(Long id);
+
+    /**
+     * 查询【请填写功能名称】分页数据
+     *
+     * @param coreSafetyBookNew 查询条件对象
+     * @return Page
+     */
+    TableDataInfo<CoreSafetyBookNew> selectPage(CoreSafetyBookNew coreSafetyBookNew);
+}

+ 169 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetybook/service/impl/CoreSafetyBookNewServiceImpl.java

@@ -0,0 +1,169 @@
+package com.xunmei.core.safetybook.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.utils.DateUtils;
+import com.xunmei.common.security.utils.SecurityUtils;
+import com.xunmei.core.safetybook.domain.*;
+import com.xunmei.core.safetybook.mapper.CoreSafetyBookBookFilesMapper;
+import com.xunmei.system.api.RemoteOrgService;
+import com.xunmei.system.api.domain.SysOrg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.core.safetybook.mapper.CoreSafetyBookNewMapper;
+import com.xunmei.core.safetybook.service.ICoreSafetyBookNewService;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author xunmei
+ * @date 2023-12-06
+ */
+@Service
+public class CoreSafetyBookNewServiceImpl extends ServiceImpl<CoreSafetyBookNewMapper, CoreSafetyBookNew> implements ICoreSafetyBookNewService {
+    @Autowired
+    private CoreSafetyBookNewMapper coreSafetyBookNewMapper;
+    @Autowired
+    private CoreSafetyBookBookFilesMapper coreSafetyBookBookFilesMapper;
+    @Autowired
+    private RemoteOrgService orgService;
+    @Override
+    public TableDataInfo<CoreSafetyBookNew> selectPage(CoreSafetyBookNew coreSafetyBookNew) {
+        //未删除
+        coreSafetyBookNew.setDeleted(0L);
+        Page<CoreSafetyBookNew> page;
+        //分页
+        if (coreSafetyBookNew.getPageNum() != null && coreSafetyBookNew.getPageSize() != null) {
+            page = new Page<>(coreSafetyBookNew.getPageNum(), coreSafetyBookNew.getPageSize());
+        } else {
+            page = new Page<>();
+        }
+        //查询条件
+        QueryWrapper<CoreSafetyBookNew> query = new QueryWrapper<>(coreSafetyBookNew);
+        //下穿
+//        if (coreSafetyBookNew.getCheckSub()) {
+//            List<Long> ids = orgService.selectCheckSubOrgIdList(coreSafetyBookNew.getOrgId());
+//            //清空前端传递的org_id
+//            coreSafetyBookNew.setOrgId(null);
+//            //添加in条件
+//            query.in("org_id", ids);
+//        }
+//        //时间范围查询
+//        if (coreSafetyBookNew.getParams().get("beginTime") != null && coreSafetyBookNew.getParams().get("endTime") != null) {
+//            query.between("create_time", coreSafetyBookNew.getParams().get("beginTime"), coreSafetyBookNew.getParams().get("endTime"));
+//        }
+        SysOrg org = orgService.selectOrgById(coreSafetyBookNew.getPartyBOrg() != null ? coreSafetyBookNew.getPartyBOrg() : SecurityUtils.getLoginUser().getOrgId(), SecurityConstants.INNER);
+        if (org != null) {
+            coreSafetyBookNew.setSelectOrgPath(org.getPath());
+        }
+        //获取数据
+        page = coreSafetyBookNewMapper.selectSafetyBookNewPage(page, coreSafetyBookNew);
+        page.getRecords().forEach(e -> e.setFiles(coreSafetyBookBookFilesMapper.selecVotList(e.getId())));
+
+        //抓换为TableDataInfo适配前端
+        return TableDataInfo.build(page);
+
+
+    }
+
+
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public CoreSafetyBookNew selectCoreSafetyBookNewById(Long id) {
+        CoreSafetyBookNew coreSafetyBookNew = coreSafetyBookNewMapper.selectSafetyBookById(id);
+        coreSafetyBookNew.setFiles(coreSafetyBookBookFilesMapper.selecVotList(id));
+        return coreSafetyBookNew;
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param coreSafetyBookNew 【请填写功能名称】
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public List<CoreSafetyBookNew> selectCoreSafetyBookNewList(CoreSafetyBookNew coreSafetyBookNew) {
+        return coreSafetyBookNewMapper.selectList(new QueryWrapper<>(coreSafetyBookNew));
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param coreSafetyBookNew 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int insertCoreSafetyBookNew(CoreSafetyBookNew coreSafetyBookNew) {
+        //编辑
+        if (coreSafetyBookNew.getId() != null) {
+            coreSafetyBookNew.setUpdateTime(new Date());
+            coreSafetyBookNew.setUpdateBy(SecurityUtils.getUserId().toString());
+            baseMapper.updateById(coreSafetyBookNew);
+        } else {
+//            Long count = baseMapper.selectCount(new LambdaQueryWrapper<CoreSafetyBook>().eq(CoreSafetyBook::getOrgId, coreSafetyBookNew.getOrgId()).eq(CoreSafetyBook::getType, coreSafetyBook.getType()).eq(CoreSafetyBook::getYear, coreSafetyBook.getYear()));
+//            if (count > 0) {
+//                throw new RuntimeException("指定机构已存在当前年度相同类型责任书!");
+//            }
+            //新增
+            coreSafetyBookNew.setCreateTime(new Date());
+            coreSafetyBookNew.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
+            baseMapper.insert(coreSafetyBookNew);
+        }
+        coreSafetyBookBookFilesMapper.delete(new LambdaQueryWrapper<CoreSafetyBookBookFiles>().eq(CoreSafetyBookBookFiles::getBookUserId, coreSafetyBookNew.getId()));
+        for (CoreSafetyBookBookFilesVo file :
+                coreSafetyBookNew.getFiles()) {
+            coreSafetyBookBookFilesMapper.insert(new CoreSafetyBookBookFiles(coreSafetyBookNew.getId(), file.getName(), file.getUrl()));
+
+        }
+        return 1;
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param coreSafetyBookNew 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int updateCoreSafetyBookNew(CoreSafetyBookNew coreSafetyBookNew) {
+        coreSafetyBookNew.setUpdateTime(DateUtils.getNowDate());
+        return coreSafetyBookNewMapper.updateById(coreSafetyBookNew);
+    }
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的【请填写功能名称】主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCoreSafetyBookNewByIds(Long[] ids) {
+        return coreSafetyBookNewMapper.deleteBatchIds(Arrays.asList((ids)));
+    }
+
+    /**
+     * 删除【请填写功能名称】信息
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCoreSafetyBookNewById(Long id) {
+        return coreSafetyBookNewMapper.deleteById(id);
+    }
+}

+ 250 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/safetybook/CoreSafetyBookNewMapper.xml

@@ -0,0 +1,250 @@
+<?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.xunmei.core.safetybook.mapper.CoreSafetyBookNewMapper">
+
+    <resultMap type="com.xunmei.core.safetybook.domain.CoreSafetyBookNew" id="CoreSafetyBookNewResult">
+        <result property="id" column="id"/>
+        <result property="year" column="year"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="deleted" column="deleted"/>
+        <result property="type" column="type"/>
+        <result property="time" column="time"/>
+        <result property="partyA" column="party_a"/>
+        <result property="partyB" column="party_b"/>
+        <result property="partyAOrg" column="party_a_org"/>
+        <result property="partyBOrg" column="party_b_org"/>
+    </resultMap>
+
+    <sql id="selectCoreSafetyBookNewVo">
+        select id,
+               year,
+               create_by,
+               create_time,
+               update_by,
+               update_time,
+               deleted,
+               type,
+               time,
+               party_a,
+               party_b,
+               party_a_org,
+               party_b_org
+        from core_safety_book_new
+    </sql>
+
+    <select id="selectCoreSafetyBookNewList" parameterType="com.xunmei.core.safetybook.domain.CoreSafetyBookNew"
+            resultMap="CoreSafetyBookNewResult">
+        <include refid="selectCoreSafetyBookNewVo"/>
+        <where>
+            <if test="year != null ">
+                and year = #{year}
+            </if>
+            <if test="deleted != null ">
+                and deleted = #{deleted}
+            </if>
+            <if test="type != null ">
+                and type = #{type}
+            </if>
+            <if test="time != null ">
+                and time = #{time}
+            </if>
+            <if test="partyA != null  and partyA != ''">
+                and party_a = #{partyA}
+            </if>
+            <if test="partyB != null  and partyB != ''">
+                and party_b = #{partyB}
+            </if>
+            <if test="partyAOrg != null  and partyAOrg != ''">
+                and party_a_org = #{partyAOrg}
+            </if>
+            <if test="partyBOrg != null  and partyBOrg != ''">
+                and party_b_org = #{partyBOrg}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectCoreSafetyBookNewById" parameterType="Long"
+            resultMap="CoreSafetyBookNewResult">
+        <include refid="selectCoreSafetyBookNewVo"/>
+        where id = #{id}
+    </select>
+    <select id="selectSafetyBookNewPage" resultType="com.xunmei.core.safetybook.domain.CoreSafetyBookNew">
+        select b.id,
+        b.year,
+        b.create_by,
+        b.create_time,
+        b.update_by,
+        b.sign_level,
+        b.time,
+        b.update_time,
+        b.deleted,
+        b.type,
+        b.party_b_org,
+        b.party_b,
+        b.party_a_org,b.party_a,
+        u.name as user_name,
+        o.short_name as partyBOrgName
+        from core_safety_book_new b
+        left join sys_user u on b.create_by=u.id
+        left join sys_org o on o.id=b.party_b_org
+        where b.deleted = 0
+        <if test="info.year != null">
+            and b.year=#{info.year}
+        </if>
+        <if test="info.type != null">
+            and b.type=#{info.type}
+        </if>
+        <if test="info.type != null">
+            and b.type=#{info.type}
+        </if>
+        <if test="info.checkSub ==true">
+            and o.path like concat(#{info.selectOrgPath},'%')
+        </if>
+        <if test="info.checkSub ==false">
+            and o.path = #{info.selectOrgPath}
+        </if>
+    </select>
+    <select id="selectSafetyBookById" resultType="com.xunmei.core.safetybook.domain.CoreSafetyBookNew">
+        select b.id,
+               b.year,
+               b.create_by,
+               b.create_time,
+               b.update_by,
+               b.update_time,
+               b.deleted,
+               b.sign_level,
+               b.time,
+               b.type,
+               b.party_b_org,
+               b.party_b,
+               b.party_a_org,
+               b.party_a,
+               u.name       as user_name,
+               o.short_name as partyBOrgName
+        from core_safety_book_new b
+                 left join sys_user u on b.create_by = u.id
+                 left join sys_org o on o.id = b.party_b_org
+        where b.deleted = 0
+          and b.id = #{id}
+
+
+    </select>
+
+    <insert id="insertCoreSafetyBookNew" parameterType="com.xunmei.core.safetybook.domain.CoreSafetyBookNew"
+            useGeneratedKeys="true" keyProperty="id">
+        insert into core_safety_book_new
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="year != null">year,
+            </if>
+            <if test="createBy != null">create_by,
+            </if>
+            <if test="createTime != null">create_time,
+            </if>
+            <if test="updateBy != null">update_by,
+            </if>
+            <if test="updateTime != null">update_time,
+            </if>
+            <if test="deleted != null">deleted,
+            </if>
+            <if test="type != null">type,
+            </if>
+            <if test="time != null">time,
+            </if>
+            <if test="partyA != null">party_a,
+            </if>
+            <if test="partyB != null">party_b,
+            </if>
+            <if test="partyAOrg != null">party_a_org,
+            </if>
+            <if test="partyBOrg != null">party_b_org,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="year != null">#{year},
+            </if>
+            <if test="createBy != null">#{createBy},
+            </if>
+            <if test="createTime != null">#{createTime},
+            </if>
+            <if test="updateBy != null">#{updateBy},
+            </if>
+            <if test="updateTime != null">#{updateTime},
+            </if>
+            <if test="deleted != null">#{deleted},
+            </if>
+            <if test="type != null">#{type},
+            </if>
+            <if test="time != null">#{time},
+            </if>
+            <if test="partyA != null">#{partyA},
+            </if>
+            <if test="partyB != null">#{partyB},
+            </if>
+            <if test="partyAOrg != null">#{partyAOrg},
+            </if>
+            <if test="partyBOrg != null">#{partyBOrg},
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateCoreSafetyBookNew" parameterType="com.xunmei.core.safetybook.domain.CoreSafetyBookNew">
+        update core_safety_book_new
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="year != null">year =
+                #{year},
+            </if>
+            <if test="createBy != null">create_by =
+                #{createBy},
+            </if>
+            <if test="createTime != null">create_time =
+                #{createTime},
+            </if>
+            <if test="updateBy != null">update_by =
+                #{updateBy},
+            </if>
+            <if test="updateTime != null">update_time =
+                #{updateTime},
+            </if>
+            <if test="deleted != null">deleted =
+                #{deleted},
+            </if>
+            <if test="type != null">type =
+                #{type},
+            </if>
+            <if test="time != null">time =
+                #{time},
+            </if>
+            <if test="partyA != null">party_a =
+                #{partyA},
+            </if>
+            <if test="partyB != null">party_b =
+                #{partyB},
+            </if>
+            <if test="partyAOrg != null">party_a_org =
+                #{partyAOrg},
+            </if>
+            <if test="partyBOrg != null">party_b_org =
+                #{partyBOrg},
+            </if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteCoreSafetyBookNewById" parameterType="Long">
+        delete
+        from core_safety_book_new
+        where id = #{id}
+    </delete>
+
+    <delete id="deleteCoreSafetyBookNewByIds" parameterType="String">
+        delete from core_safety_book_new where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>