ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResult.java
@@ -1,140 +1,48 @@ package com.ycl.platform.domain.entity; import annotation.Excel; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.system.entity.BaseEntity; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * 合同考核结果对象 t_default_result * 考核结果对象 t_check_result * * @author ruoyi * @date 2024-04-01 */ public class ContractResult extends BaseEntity { @TableName("t_contract_result") @Data public class ContractResult { private static final long serialVersionUID = 1L; /** */ private Long id; /** 考核单位 */ @Excel(name = "考核单位") @Excel(name = "考核对象") private Long unitId; /** 考核发布 */ @Excel(name = "运维合同") private Long contractId; @Excel(name = "考核发布") private Long publishId; /** 考核分数 */ @Excel(name = "考核分数") private BigDecimal defaultScore; private BigDecimal score; /** 审核状态 */ @Excel(name = "审核状态") private Long auditState; /** 是否发布 */ @Excel(name = "是否发布") private Long publish; private Integer publish; /** 考核时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "考核时间", width = 30, dateFormat = "yyyy-MM-dd") private Date checkTime; /** 逻辑删除 */ @TableLogic private String deleted; public void setId(Long id) { this.id = id; } public Long getId() { return id; } public void setUnitId(Long unitId) { this.unitId = unitId; } public Long getUnitId() { return unitId; } public void setPublishId(Long publishId) { this.publishId = publishId; } public Long getPublishId() { return publishId; } public void setDefaultScore(BigDecimal defaultScore) { this.defaultScore = defaultScore; } public BigDecimal getDefaultScore() { return defaultScore; } public void setAuditState(Long auditState) { this.auditState = auditState; } public Long getAuditState() { return auditState; } public void setPublish(Long publish) { this.publish = publish; } public Long getPublish() { return publish; } public void setCheckTime(Date checkTime) { this.checkTime = checkTime; } public Date getCheckTime() { return checkTime; } public void setDeleted(String deleted) { this.deleted = deleted; } public String getDeleted() { return deleted; } @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) .append("unitId", getUnitId()) .append("publishId", getPublishId()) .append("defaultScore", getDefaultScore()) .append("auditState", getAuditState()) .append("publish", getPublish()) .append("checkTime", getCheckTime()) .append("updateTime", getUpdateTime()) .append("deleted", getDeleted()) .toString(); } private Date updateTime; } ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ContractResultVO.java
File was renamed from ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckResultVO.java @@ -4,8 +4,6 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.experimental.Accessors; import org.springframework.beans.BeanUtils; import org.springframework.lang.NonNull; import java.math.BigDecimal; import java.util.Date; @@ -15,7 +13,7 @@ */ @Data @Accessors(chain = true) public class CheckResultVO { public class ContractResultVO { private Long id; private Long unitId; @@ -50,13 +48,5 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date createEndTime; public static CheckResultVO getVoByEntity(@NonNull CheckResult entity, CheckResultVO vo) { if (vo == null) { vo = new CheckResultVO(); } BeanUtils.copyProperties(entity, vo); return vo; } } ycl-server/src/main/java/com/ycl/platform/controller/ContractResultController.java
@@ -2,6 +2,8 @@ import annotation.Log; import com.ycl.platform.domain.entity.ContractResult; import com.ycl.platform.domain.entity.ContractResultRecord; import com.ycl.platform.domain.vo.ContractResultVO; import com.ycl.platform.service.IContractResultService; import com.ycl.system.AjaxResult; import com.ycl.system.controller.BaseController; @@ -16,83 +18,95 @@ import java.util.List; /** * 合同考核结果Controller * 考核结果Controller * * @author ruoyi * @date 2024-04-01 */ @RestController @RequestMapping("/contract/result") public class ContractResultController extends BaseController { public class ContractResultController extends BaseController { @Autowired private IContractResultService defaultResultService; private IContractResultService checkResultService; /** * 查询合同考核结果列表 * 查询考核结果列表 */ @PreAuthorize("@ss.hasPermi('system:result:list')") @GetMapping("/list") public TableDataInfo list(ContractResult contractResult) { @PostMapping("/list") public TableDataInfo list(@RequestBody ContractResultVO contractResult) { startPage(); List<ContractResult> list = defaultResultService.selectDefaultResultList(contractResult); List<ContractResultVO> list = checkResultService.selectCheckResultList(contractResult); return getDataTable(list); } /** * 导出合同考核结果列表 * 查询考核结果列表 */ @PreAuthorize("@ss.hasPermi('system:result:export')") @Log(title = "合同考核结果", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ContractResult contractResult) { List<ContractResult> list = defaultResultService.selectDefaultResultList(contractResult); ExcelUtil<ContractResult> util = new ExcelUtil<ContractResult>(ContractResult.class); util.exportExcel(response, list, "合同考核结果数据"); @PreAuthorize("@ss.hasPermi('system:result:query')") @GetMapping("/record/list") public TableDataInfo recordList(Long resultId) { List<ContractResultRecord> list = checkResultService.selectCheckResultRecordList(resultId); return getDataTable(list); } /** * 获取合同考核结果详细信息 * 导出考核结果列表 */ @PreAuthorize("@ss.hasPermi('system:result:export')") @Log(title = "考核结果", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ContractResultVO contractResult) { List<ContractResultVO> list = checkResultService.selectCheckResultList(contractResult); ExcelUtil<ContractResultVO> util = new ExcelUtil<>(ContractResultVO.class); util.exportExcel(response, list, "考核结果数据"); } /** * 获取考核结果详细信息 */ @PreAuthorize("@ss.hasPermi('system:result:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(defaultResultService.selectDefaultResultById(id)); public AjaxResult getInfo(@PathVariable("id") Long id) { return success(checkResultService.selectCheckResultById(id)); } /** * 新增合同考核结果 * 新增考核结果 */ @PreAuthorize("@ss.hasPermi('system:result:add')") @Log(title = "合同考核结果", businessType = BusinessType.INSERT) @Log(title = "考核结果", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ContractResult contractResult) { return toAjax(defaultResultService.insertDefaultResult(contractResult)); public AjaxResult add(@RequestBody ContractResult contractResult) { return toAjax(checkResultService.insertCheckResult(contractResult)); } /** * 修改合同考核结果 * 修改考核结果 */ @PreAuthorize("@ss.hasPermi('system:result:edit')") @Log(title = "合同考核结果", businessType = BusinessType.UPDATE) @Log(title = "考核结果", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ContractResult contractResult) { return toAjax(defaultResultService.updateDefaultResult(contractResult)); public AjaxResult edit(@RequestBody ContractResult contractResult) { return toAjax(checkResultService.updateCheckResult(contractResult)); } /** * 删除合同考核结果 * 发布考核结果 */ @PreAuthorize("@ss.hasPermi('system:result:publish')") @PutMapping("/publish/{id}") public AjaxResult publish(@PathVariable("id") Long id) { return toAjax(checkResultService.publish(id)); } /** * 删除考核结果 */ @PreAuthorize("@ss.hasPermi('system:result:remove')") @Log(title = "合同考核结果", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(defaultResultService.deleteDefaultResultByIds(ids)); @Log(title = "考核结果", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(checkResultService.deleteCheckResultByIds(ids)); } } ycl-server/src/main/java/com/ycl/platform/mapper/ContractResultMapper.java
@@ -2,62 +2,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.platform.domain.entity.ContractResult; import com.ycl.platform.domain.vo.ContractResultVO; import java.util.List; /** * 合同考核结果Mapper接口 * 考核结果Mapper接口 * * @author ruoyi * @date 2024-04-01 */ public interface ContractResultMapper extends BaseMapper<ContractResult> { /** * 查询合同考核结果 * * @param id 合同考核结果主键 * @return 合同考核结果 */ public ContractResult selectDefaultResultById(Long id); /** * 查询合同考核结果列表 * * @param contractResult 合同考核结果 * @return 合同考核结果集合 */ public List<ContractResult> selectDefaultResultList(ContractResult contractResult); /** * 新增合同考核结果 * * @param contractResult 合同考核结果 * @return 结果 */ public int insertDefaultResult(ContractResult contractResult); /** * 修改合同考核结果 * * @param contractResult 合同考核结果 * @return 结果 */ public int updateDefaultResult(ContractResult contractResult); /** * 删除合同考核结果 * * @param id 合同考核结果主键 * @return 结果 */ public int deleteDefaultResultById(Long id); /** * 批量删除合同考核结果 * * @param ids 需要删除的数据主键集合 * @return 结果 */ public int deleteDefaultResultByIds(Long[] ids); public interface ContractResultMapper extends BaseMapper<ContractResult> { List<ContractResultVO> selectCheckResultList(ContractResultVO checkResult); } ycl-server/src/main/java/com/ycl/platform/service/IContractResultService.java
@@ -1,62 +1,80 @@ package com.ycl.platform.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.platform.domain.entity.ContractResult; import com.ycl.platform.domain.entity.ContractResultRecord; import com.ycl.platform.domain.vo.ContractResultVO; import java.util.List; /** * 合同考核结果Service接口 * * 考核结果Service接口 * * @author ruoyi * @date 2024-04-01 */ public interface IContractResultService public interface IContractResultService extends IService<ContractResult> { /** * 查询合同考核结果 * * @param id 合同考核结果主键 * @return 合同考核结果 * 查询考核结果 * * @param id 考核结果主键 * @return 考核结果 */ public ContractResult selectDefaultResultById(Long id); public ContractResult selectCheckResultById(Long id); /** * 查询合同考核结果列表 * * @param contractResult 合同考核结果 * @return 合同考核结果集合 * 查询考核结果列表 * * @param checkResult 考核结果 * @return 考核结果集合 */ public List<ContractResult> selectDefaultResultList(ContractResult contractResult); public List<ContractResultVO> selectCheckResultList(ContractResultVO checkResult); /** * 新增合同考核结果 * * @param contractResult 合同考核结果 * 新增考核结果 * * @param checkResult 考核结果 * @return 结果 */ public int insertDefaultResult(ContractResult contractResult); public int insertCheckResult(ContractResult checkResult); /** * 修改合同考核结果 * * @param contractResult 合同考核结果 * 修改考核结果 * * @param checkResult 考核结果 * @return 结果 */ public int updateDefaultResult(ContractResult contractResult); public int updateCheckResult(ContractResult checkResult); /** * 批量删除合同考核结果 * * @param ids 需要删除的合同考核结果主键集合 * 批量删除考核结果 * * @param ids 需要删除的考核结果主键集合 * @return 结果 */ public int deleteDefaultResultByIds(Long[] ids); public int deleteCheckResultByIds(Long[] ids); /** * 删除合同考核结果信息 * * @param id 合同考核结果主键 * 删除考核结果信息 * * @param id 考核结果主键 * @return 结果 */ public int deleteDefaultResultById(Long id); public int deleteCheckResultById(Long id); /** * 批量保存考核结果 * @param contractResultRecord 集合 */ void saveBatchRecord(List<ContractResultRecord> contractResultRecord); /** * 根据考核结果查询记录 * @param resultId 考核结果id * @return 考核结果记录 */ List<ContractResultRecord> selectCheckResultRecordList(Long resultId); Boolean publish(Long id); } ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java
@@ -1,97 +1,125 @@ package com.ycl.platform.service.impl; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.domain.entity.ContractResult; import com.ycl.platform.domain.entity.ContractResultRecord; import com.ycl.platform.domain.vo.ContractResultVO; import com.ycl.platform.mapper.ContractResultMapper; import com.ycl.platform.mapper.ContractResultRecordMapper; import com.ycl.platform.service.IContractResultService; import com.ycl.platform.service.ITContractService; import com.ycl.platform.service.YwUnitService; import com.ycl.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import utils.DateUtils; import java.util.Arrays; import java.util.List; /** * 合同考核结果Service业务层处理 * 考核结果Service业务层处理 * * @author ruoyi * @date 2024-04-01 */ @Service public class ContractResultServiceImpl extends ServiceImpl<ContractResultMapper, ContractResult> implements IContractResultService { public class ContractResultServiceImpl extends ServiceImpl<ContractResultMapper, ContractResult> implements IContractResultService { @Autowired private ContractResultMapper contractResultMapper; private ContractResultMapper checkResultMapper; @Autowired private ContractResultRecordMapper contractResultRecordMapper; /** * 查询合同考核结果 * 查询考核结果 * * @param id 合同考核结果主键 * @return 合同考核结果 * @param id 考核结果主键 * @return 考核结果 */ @Override public ContractResult selectDefaultResultById(Long id) { return contractResultMapper.selectDefaultResultById(id); public ContractResult selectCheckResultById(Long id) { return checkResultMapper.selectById(id); } /** * 查询合同考核结果列表 * 查询考核结果列表 * * @param contractResult 合同考核结果 * @return 合同考核结果 * @param contractResult 考核结果 * @return 考核结果 */ @Override public List<ContractResult> selectDefaultResultList(ContractResult contractResult) { return contractResultMapper.selectDefaultResultList(contractResult); public List<ContractResultVO> selectCheckResultList(ContractResultVO contractResult) { return checkResultMapper.selectCheckResultList(contractResult); } /** * 新增合同考核结果 * 新增考核结果 * * @param contractResult 合同考核结果 * @param contractResult 考核结果 * @return 结果 */ @Override public int insertDefaultResult(ContractResult contractResult) { return contractResultMapper.insertDefaultResult(contractResult); public int insertCheckResult(ContractResult contractResult) { return checkResultMapper.insert(contractResult); } /** * 修改合同考核结果 * 修改考核结果 * * @param contractResult 合同考核结果 * @param contractResult 考核结果 * @return 结果 */ @Override public int updateDefaultResult(ContractResult contractResult) { public int updateCheckResult(ContractResult contractResult) { contractResult.setUpdateTime(DateUtils.getNowDate()); return contractResultMapper.updateDefaultResult(contractResult); return checkResultMapper.updateById(contractResult); } /** * 批量删除合同考核结果 * 批量删除考核结果 * * @param ids 需要删除的合同考核结果主键 * @param ids 需要删除的考核结果主键 * @return 结果 */ @Override public int deleteDefaultResultByIds(Long[] ids) { return contractResultMapper.deleteDefaultResultByIds(ids); public int deleteCheckResultByIds(Long[] ids) { return checkResultMapper.deleteBatchIds(Arrays.asList(ids)); } /** * 删除合同考核结果信息 * 删除考核结果信息 * * @param id 合同考核结果主键 * @param id 考核结果主键 * @return 结果 */ @Override public int deleteDefaultResultById(Long id) { return contractResultMapper.deleteDefaultResultById(id); public int deleteCheckResultById(Long id) { return checkResultMapper.deleteById(id); } @Override public void saveBatchRecord(List<ContractResultRecord> contractResultRecord) { if (!contractResultRecord.isEmpty()) { contractResultRecordMapper.saveBatch(contractResultRecord); } } @Override public List<ContractResultRecord> selectCheckResultRecordList(Long resultId) { return new LambdaQueryChainWrapper<>(contractResultRecordMapper) .eq(ContractResultRecord::getResultId, resultId) .list(); } @Override public Boolean publish(Long id) { return new LambdaUpdateChainWrapper<>(checkResultMapper) .eq(ContractResult::getId, id) .set(ContractResult::getPublish, 1) .set(ContractResult::getPublishId, SecurityUtils.getLoginUser().getUserId()) .update(); } } ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
@@ -1,8 +1,10 @@ package com.ycl.task; import com.ycl.platform.domain.entity.ContractResult; import com.ycl.platform.domain.entity.ContractResultRecord; import com.ycl.platform.domain.entity.ContractScore; import com.ycl.platform.domain.entity.TContract; import com.ycl.platform.service.IContractResultService; import com.ycl.platform.service.IContractScoreService; import com.ycl.platform.service.ITContractService; import com.ycl.utils.DateUtils; @@ -28,7 +30,7 @@ private final ITContractService contractService; private final IContractScoreService contractScoreService; private final ICheckResultService checkResultService; private final IContractResultService checkResultService; private String startTime; private String endTime; @@ -47,10 +49,10 @@ // 上个月扣分记录 List<ContractScore> contractScore = contractScoreService.getDateRangeScoreByContractId(tContract.getId(), startTime, endTime); // 新增考核结果 CheckResult checkResult = getCheckResult(tContract, contractScore); checkResultService.save(checkResult); ContractResult contractResult = getCheckResult(tContract, contractScore); checkResultService.save(contractResult); // 新增考核结果记录 List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, checkResult); List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, contractResult); checkResultService.saveBatchRecord(contractResultRecord); } } @@ -58,16 +60,16 @@ /** * 保存考核记录 * * @param contractScore 扣分 * @param checkResult 考核结果 * @param contractScore 扣分 * @param contractResult 考核结果 * @return 考核记录 */ private List<ContractResultRecord> getContractResultRecord(List<ContractScore> contractScore, CheckResult checkResult) { private List<ContractResultRecord> getContractResultRecord(List<ContractScore> contractScore, ContractResult contractResult) { return contractScore.stream().map( item -> { ContractResultRecord record = new ContractResultRecord(); BeanUtils.copyProperties(item, record); record.setResultId(checkResult.getId()); record.setResultId(contractResult.getId()); record.setCreateTime(DateUtils.getNowDate()); return record; } @@ -81,15 +83,15 @@ * @param contractScore 扣分 * @return 考核结果 */ private CheckResult getCheckResult(TContract tContract, List<ContractScore> contractScore) { CheckResult checkResult = new CheckResult(); checkResult.setUnitId(tContract.getUnitId()); checkResult.setContractId(tContract.getId()); checkResult.setPublish(0); checkResult.setDeleted("0"); checkResult.setCheckTime(DateUtils.getNowDate()); checkResult.setScore(contractScore.isEmpty() ? new BigDecimal("100") : new BigDecimal("100").subtract(contractScore.stream().map(ContractScore::getScore).reduce(BigDecimal::add).get())); return checkResult; private ContractResult getCheckResult(TContract tContract, List<ContractScore> contractScore) { ContractResult contractResult = new ContractResult(); contractResult.setUnitId(tContract.getUnitId()); contractResult.setContractId(tContract.getId()); contractResult.setPublish(0); contractResult.setDeleted("0"); contractResult.setCheckTime(DateUtils.getNowDate()); contractResult.setScore(contractScore.isEmpty() ? new BigDecimal("100") : new BigDecimal("100").subtract(contractScore.stream().map(ContractScore::getScore).reduce(BigDecimal::add).get())); return contractResult; } ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml
@@ -1,88 +1,27 @@ <?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"> <?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.platform.mapper.ContractResultMapper"> <resultMap type="com.ycl.platform.domain.entity.ContractResult" id="DefaultResultResult"> <result property="id" column="id" /> <result property="unitId" column="unit_id" /> <result property="publishId" column="publish_id" /> <result property="contractScore" column="default_score" /> <result property="auditState" column="audit_state" /> <result property="publish" column="publish" /> <result property="checkTime" column="check_time" /> <result property="updateTime" column="update_time" /> <result property="deleted" column="deleted" /> </resultMap> <sql id="selectDefaultResultVo"> select id, unit_id, publish_id, default_score, audit_state, publish, check_time, update_time, deleted from t_contract_result </sql> <select id="selectDefaultResultList" resultMap="DefaultResultResult"> <include refid="selectDefaultResultVo"/> <where> <if test="unitId != null "> and unit_id = #{unitId}</if> <if test="publishId != null "> and publish_id = #{publishId}</if> <if test="auditState != null "> and audit_state = #{auditState}</if> <if test="publish != null "> and publish = #{publish}</if> <if test="checkTime != null "> and check_time = #{checkTime}</if> </where> <select id="selectCheckResultList" resultType="com.ycl.platform.domain.vo.ContractResultVO"> SELECT c.*, u.unit_name AS unitName, ct.name AS contractName FROM t_contract_result c LEFT JOIN t_yw_unit u ON c.unit_id = u.id and u.deleted = '0' LEFT JOIN t_contract ct ON c.contract_id = ct.id and ct.deleted = '0' where c.deleted = '0' <if test="unitId != null"> AND c.unit_id = #{unitId} </if> <if test="createStartTime != null"> AND c.check_time BETWEEN #{createStartTime} AND #{createEndTime} </if> <if test="publish != null"> AND c.publish = #{publish} </if> </select> <select id="selectDefaultResultById" resultMap="DefaultResultResult"> <include refid="selectDefaultResultVo"/> where id = #{id} </select> <insert id="insertDefaultResult" useGeneratedKeys="true" keyProperty="id"> insert into t_contract_result <trim prefix="(" suffix=")" suffixOverrides=","> <if test="unitId != null">unit_id,</if> <if test="publishId != null">publish_id,</if> <if test="contractScore != null">default_score,</if> <if test="auditState != null">audit_state,</if> <if test="publish != null">publish,</if> <if test="checkTime != null">check_time,</if> <if test="updateTime != null">update_time,</if> <if test="deleted != null">deleted,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="unitId != null">#{unitId},</if> <if test="publishId != null">#{publishId},</if> <if test="contractScore != null">#{contractScore},</if> <if test="auditState != null">#{auditState},</if> <if test="publish != null">#{publish},</if> <if test="checkTime != null">#{checkTime},</if> <if test="updateTime != null">#{updateTime},</if> <if test="deleted != null">#{deleted},</if> </trim> </insert> <update id="updateDefaultResult" > update t_contract_result <trim prefix="SET" suffixOverrides=","> <if test="unitId != null">unit_id = #{unitId},</if> <if test="publishId != null">publish_id = #{publishId},</if> <if test="contractScore != null">default_score = #{contractScore},</if> <if test="auditState != null">audit_state = #{auditState},</if> <if test="publish != null">publish = #{publish},</if> <if test="checkTime != null">check_time = #{checkTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if> <if test="deleted != null">deleted = #{deleted},</if> </trim> where id = #{id} </update> <delete id="deleteDefaultResultById"> delete from t_contract_result where id = #{id} </delete> <delete id="deleteDefaultResultByIds" > delete from t_contract_result where id in <foreach item="id" collection="array" open="(" separator="," close=")"> #{id} </foreach> </delete> </mapper>