标前管理-风险信息,人员任命

This commit is contained in:
xiaozhou
2025-12-09 14:33:49 +08:00
parent 387a7488ab
commit 833ea7af7d
22 changed files with 1390 additions and 1 deletions

View File

@ -0,0 +1,66 @@
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 项目风险评估-风险信息对象 xzd_fxxxb
*
* @author Lion Li
* @date 2025-12-09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_fxxxb")
public class XzdFxxxb extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 主表id
*/
private Long masterId;
/**
* 风险名称
*/
private String riskName;
/**
* 风险等级
*/
private String riskLevel;
/**
* 风险详细描述
*/
private String riskDesc;
/**
* 影响程度
*/
private String impactDegree;
/**
* 发生概率
*/
private String occurProbability;
/**
* 风险应对措施
*/
private String responseMeasures;
}

View File

@ -0,0 +1,67 @@
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdFxxxb;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 项目风险评估-风险信息业务对象 xzd_fxxxb
*
* @author Lion Li
* @date 2025-12-09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdFxxxb.class, reverseConvertGenerate = false)
public class XzdFxxxbBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 主表id
*/
private Long masterId;
/**
* 风险名称
*/
@NotBlank(message = "风险名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String riskName;
/**
* 风险等级
*/
@NotBlank(message = "风险等级不能为空", groups = { AddGroup.class, EditGroup.class })
private String riskLevel;
/**
* 风险详细描述
*/
private String riskDesc;
/**
* 影响程度
*/
private String impactDegree;
/**
* 发生概率
*/
private String occurProbability;
/**
* 风险应对措施
*/
private String responseMeasures;
}

View File

@ -7,8 +7,11 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdFxxxb;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment; import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment;
import java.util.List;
/** /**
* 项目风险评估签审意见业务对象 xzd_project_risk_assessment * 项目风险评估签审意见业务对象 xzd_project_risk_assessment
* *
@ -119,4 +122,10 @@ public class XzdProjectRiskAssessmentBo extends BaseEntity {
private String auditStatus; private String auditStatus;
/**
* 风险信息对象
*/
private List<XzdFxxxb> fxxxbList;
} }

View File

@ -0,0 +1,80 @@
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdFxxxb;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 项目风险评估-风险信息视图对象 xzd_fxxxb
*
* @author Lion Li
* @date 2025-12-09
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdFxxxb.class)
public class XzdFxxxbVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 主表id
*/
@ExcelProperty(value = "主表id")
private Long masterId;
/**
* 风险名称
*/
@ExcelProperty(value = "风险名称")
private String riskName;
/**
* 风险等级
*/
@ExcelProperty(value = "风险等级")
private String riskLevel;
/**
* 风险详细描述
*/
@ExcelProperty(value = "风险详细描述")
private String riskDesc;
/**
* 影响程度
*/
@ExcelProperty(value = "影响程度")
private String impactDegree;
/**
* 发生概率
*/
@ExcelProperty(value = "发生概率")
private String occurProbability;
/**
* 风险应对措施
*/
@ExcelProperty(value = "风险应对措施")
private String responseMeasures;
}

View File

@ -8,11 +8,13 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant; import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdFxxxb;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment; import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
@ -169,4 +171,10 @@ public class XzdProjectRiskAssessmentVo implements Serializable {
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy") @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy")
private String createByName; private String createByName;
/**
* 风险信息对象
*/
private List<XzdFxxxb> fxxxbList;
} }

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdFxxxb;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdFxxxbVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 项目风险评估-风险信息Mapper接口
*
* @author Lion Li
* @date 2025-12-09
*/
public interface XzdFxxxbMapper extends BaseMapperPlus<XzdFxxxb, XzdFxxxbVo> {
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdFxxxbVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdFxxxbBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdFxxxb;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 项目风险评估-风险信息Service接口
*
* @author Lion Li
* @date 2025-12-09
*/
public interface IXzdFxxxbService extends IService<XzdFxxxb>{
/**
* 查询项目风险评估-风险信息
*
* @param id 主键
* @return 项目风险评估-风险信息
*/
XzdFxxxbVo queryById(Long id);
/**
* 分页查询项目风险评估-风险信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 项目风险评估-风险信息分页列表
*/
TableDataInfo<XzdFxxxbVo> queryPageList(XzdFxxxbBo bo, PageQuery pageQuery);
/**
* 查询符合条件的项目风险评估-风险信息列表
*
* @param bo 查询条件
* @return 项目风险评估-风险信息列表
*/
List<XzdFxxxbVo> queryList(XzdFxxxbBo bo);
/**
* 新增项目风险评估-风险信息
*
* @param bo 项目风险评估-风险信息
* @return 是否新增成功
*/
Boolean insertByBo(XzdFxxxbBo bo);
/**
* 修改项目风险评估-风险信息
*
* @param bo 项目风险评估-风险信息
* @return 是否修改成功
*/
Boolean updateByBo(XzdFxxxbBo bo);
/**
* 校验并批量删除项目风险评估-风险信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,136 @@
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdFxxxbBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdFxxxbVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdFxxxb;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdFxxxbMapper;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdFxxxbService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 项目风险评估-风险信息Service业务层处理
*
* @author Lion Li
* @date 2025-12-09
*/
@RequiredArgsConstructor
@Service
public class XzdFxxxbServiceImpl extends ServiceImpl<XzdFxxxbMapper, XzdFxxxb> implements IXzdFxxxbService {
private final XzdFxxxbMapper baseMapper;
/**
* 查询项目风险评估-风险信息
*
* @param id 主键
* @return 项目风险评估-风险信息
*/
@Override
public XzdFxxxbVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询项目风险评估-风险信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 项目风险评估-风险信息分页列表
*/
@Override
public TableDataInfo<XzdFxxxbVo> queryPageList(XzdFxxxbBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdFxxxb> lqw = buildQueryWrapper(bo);
Page<XzdFxxxbVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的项目风险评估-风险信息列表
*
* @param bo 查询条件
* @return 项目风险评估-风险信息列表
*/
@Override
public List<XzdFxxxbVo> queryList(XzdFxxxbBo bo) {
LambdaQueryWrapper<XzdFxxxb> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdFxxxb> buildQueryWrapper(XzdFxxxbBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdFxxxb> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdFxxxb::getId);
lqw.like(StringUtils.isNotBlank(bo.getRiskName()), XzdFxxxb::getRiskName, bo.getRiskName());
lqw.eq(StringUtils.isNotBlank(bo.getRiskLevel()), XzdFxxxb::getRiskLevel, bo.getRiskLevel());
lqw.eq(StringUtils.isNotBlank(bo.getRiskDesc()), XzdFxxxb::getRiskDesc, bo.getRiskDesc());
lqw.eq(StringUtils.isNotBlank(bo.getImpactDegree()), XzdFxxxb::getImpactDegree, bo.getImpactDegree());
lqw.eq(StringUtils.isNotBlank(bo.getOccurProbability()), XzdFxxxb::getOccurProbability, bo.getOccurProbability());
lqw.eq(StringUtils.isNotBlank(bo.getResponseMeasures()), XzdFxxxb::getResponseMeasures, bo.getResponseMeasures());
return lqw;
}
/**
* 新增项目风险评估-风险信息
*
* @param bo 项目风险评估-风险信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdFxxxbBo bo) {
XzdFxxxb add = MapstructUtils.convert(bo, XzdFxxxb.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改项目风险评估-风险信息
*
* @param bo 项目风险评估-风险信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdFxxxbBo bo) {
XzdFxxxb update = MapstructUtils.convert(bo, XzdFxxxb.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdFxxxb entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除项目风险评估-风险信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.utils.BatchNumberGenerator; import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdFxxxb;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment; import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdProjectRiskAssessmentBo; import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdProjectRiskAssessmentBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo; import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo;
@ -23,6 +24,7 @@ import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectByV
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectRiskAssessmentVo; import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectRiskAssessmentVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdProjectRiskAssessmentMapper; import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdProjectRiskAssessmentMapper;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBidPreProjectService; import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBidPreProjectService;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdFxxxbService;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdProjectRiskAssessmentService; import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdProjectRiskAssessmentService;
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation; import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
import org.dromara.xzd.utilS.AreaUtil; import org.dromara.xzd.utilS.AreaUtil;
@ -54,6 +56,8 @@ public class XzdProjectRiskAssessmentServiceImpl extends ServiceImpl<XzdProjectR
private final IXzdBidPreProjectService iXzdBidPreProjectService; private final IXzdBidPreProjectService iXzdBidPreProjectService;
private final IXzdFxxxbService fxxxbService;
/** /**
* 查询项目风险评估签审意见 * 查询项目风险评估签审意见
@ -73,9 +77,11 @@ public class XzdProjectRiskAssessmentServiceImpl extends ServiceImpl<XzdProjectR
if (vo != null){ if (vo != null){
QuerListXzdBidPreVo res = iXzdBidPreProjectService.queryById(vo.getProjectName()); QuerListXzdBidPreVo res = iXzdBidPreProjectService.queryById(vo.getProjectName());
if (res != null && res.getXzdBidPreProjectVo() != null){ if (res != null && res.getXzdBidPreProjectVo() != null){
vo.setProjectNames(res.getXzdBidPreProjectVo().getProjectName()); vo.setProjectNames(res.getXzdBidPreProjectVo().getProjectName());
} }
//回填风险信息
List<XzdFxxxb> xzdFxxxbs = fxxxbService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdFxxxb>().eq(XzdFxxxb::getMasterId, vo.getId()));
vo.setFxxxbList(xzdFxxxbs);
} }
@ -167,6 +173,10 @@ public class XzdProjectRiskAssessmentServiceImpl extends ServiceImpl<XzdProjectR
add.setDocumentNumber(banBen); add.setDocumentNumber(banBen);
} }
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (bo.getFxxxbList() != null && bo.getFxxxbList().size() > 0){
bo.getFxxxbList().forEach(temp -> temp.setMasterId(add.getId()));
fxxxbService.saveBatch(bo.getFxxxbList());
}
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
} }
@ -183,6 +193,12 @@ public class XzdProjectRiskAssessmentServiceImpl extends ServiceImpl<XzdProjectR
public Boolean updateByBo(XzdProjectRiskAssessmentBo bo) { public Boolean updateByBo(XzdProjectRiskAssessmentBo bo) {
XzdProjectRiskAssessment update = MapstructUtils.convert(bo, XzdProjectRiskAssessment.class); XzdProjectRiskAssessment update = MapstructUtils.convert(bo, XzdProjectRiskAssessment.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
fxxxbService.getBaseMapper().delete(new LambdaQueryWrapper<XzdFxxxb>().eq(XzdFxxxb::getMasterId, update.getId()));
if (bo.getFxxxbList() != null && bo.getFxxxbList().size() > 0){
bo.getFxxxbList().forEach(temp -> temp.setMasterId(update.getId()));
fxxxbService.saveBatch(bo.getFxxxbList());
}
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
} }

View File

@ -0,0 +1,105 @@
package org.dromara.xzd.biddingManagement.ryrm.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.xzd.biddingManagement.ryrm.domain.vo.XzdBqglRyrmVo;
import org.dromara.xzd.biddingManagement.ryrm.domain.bo.XzdBqglRyrmBo;
import org.dromara.xzd.biddingManagement.ryrm.service.IXzdBqglRyrmService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 标前管理-人员任命
*
* @author Lion Li
* @date 2025-12-09
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/ryrm/bqglRyrm")
public class XzdBqglRyrmController extends BaseController {
private final IXzdBqglRyrmService xzdBqglRyrmService;
/**
* 查询标前管理-人员任命列表
*/
@SaCheckPermission("ryrm:bqglRyrm:list")
@GetMapping("/list")
public TableDataInfo<XzdBqglRyrmVo> list(XzdBqglRyrmBo bo, PageQuery pageQuery) {
return xzdBqglRyrmService.queryPageList(bo, pageQuery);
}
/**
* 导出标前管理-人员任命列表
*/
@SaCheckPermission("ryrm:bqglRyrm:export")
@Log(title = "标前管理-人员任命", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdBqglRyrmBo bo, HttpServletResponse response) {
List<XzdBqglRyrmVo> list = xzdBqglRyrmService.queryList(bo);
ExcelUtil.exportExcel(list, "标前管理-人员任命", XzdBqglRyrmVo.class, response);
}
/**
* 获取标前管理-人员任命详细信息
*
* @param id 主键
*/
@SaCheckPermission("ryrm:bqglRyrm:query")
@GetMapping("/{id}")
public R<XzdBqglRyrmVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdBqglRyrmService.queryById(id));
}
/**
* 新增标前管理-人员任命
*/
@SaCheckPermission("ryrm:bqglRyrm:add")
@Log(title = "标前管理-人员任命", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdBqglRyrmBo bo) {
return toAjax(xzdBqglRyrmService.insertByBo(bo));
}
/**
* 修改标前管理-人员任命
*/
@SaCheckPermission("ryrm:bqglRyrm:edit")
@Log(title = "标前管理-人员任命", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdBqglRyrmBo bo) {
return toAjax(xzdBqglRyrmService.updateByBo(bo));
}
/**
* 删除标前管理-人员任命
*
* @param ids 主键串
*/
@SaCheckPermission("ryrm:bqglRyrm:remove")
@Log(title = "标前管理-人员任命", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdBqglRyrmService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,57 @@
package org.dromara.xzd.biddingManagement.ryrm.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.time.LocalDate;
/**
* 标前管理-人员任命对象 xzd_bqgl_ryrm
*
* @author Lion Li
* @date 2025-12-09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_bqgl_ryrm")
public class XzdBqglRyrm extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 主表id(标前立项)
*/
private Long masterId;
/**
* 项目名称
*/
private String projectName;
/**
* 项目编码
*/
private String projectNumber;
/**
* 项目类型
*/
private Long projectTypeId;
/**
* 单据日期
*/
private LocalDate billDate;
}

View File

@ -0,0 +1,46 @@
package org.dromara.xzd.biddingManagement.ryrm.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 标前管理-人员任命-任命信息对象 xzd_bqgl_ryrm_rmxx
*
* @author Lion Li
* @date 2025-12-09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_bqgl_ryrm_rmxx")
public class XzdBqglRyrmRmxx extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 主表id(风险信息表)
*/
private Long masterId;
/**
* 角色
*/
private String jsId;
/**
* 用户id
*/
private Long userId;
}

View File

@ -0,0 +1,64 @@
package org.dromara.xzd.biddingManagement.ryrm.domain.bo;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrm;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrmRmxx;
import java.time.LocalDate;
import java.util.List;
/**
* 标前管理-人员任命业务对象 xzd_bqgl_ryrm
*
* @author Lion Li
* @date 2025-12-09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdBqglRyrm.class, reverseConvertGenerate = false)
public class XzdBqglRyrmBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 主表id(标前立项)
*/
@NotNull(message = "主表id(标前立项)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long masterId;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 项目编码
*/
@NotBlank(message = "项目编码不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectNumber;
/**
* 项目类型
*/
@NotNull(message = "项目类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Long projectTypeId;
/**
* 单据日期
*/
private LocalDate billDate;
private List<XzdBqglRyrmRmxx> rmxxBoList;
}

View File

@ -0,0 +1,48 @@
package org.dromara.xzd.biddingManagement.ryrm.domain.bo;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrmRmxx;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 标前管理-人员任命-任命信息业务对象 xzd_bqgl_ryrm_rmxx
*
* @author Lion Li
* @date 2025-12-09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdBqglRyrmRmxx.class, reverseConvertGenerate = false)
public class XzdBqglRyrmRmxxBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 主表id(风险信息表)
*/
@NotNull(message = "主表id(风险信息表)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long masterId;
/**
* 角色
*/
@NotBlank(message = "角色不能为空", groups = { AddGroup.class, EditGroup.class })
private String jsId;
/**
* 用户id
*/
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
}

View File

@ -0,0 +1,65 @@
package org.dromara.xzd.biddingManagement.ryrm.domain.vo;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrmRmxx;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 标前管理-人员任命-任命信息视图对象 xzd_bqgl_ryrm_rmxx
*
* @author Lion Li
* @date 2025-12-09
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdBqglRyrmRmxx.class)
public class XzdBqglRyrmRmxxVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 主表id(风险信息表)
*/
@ExcelProperty(value = "主表id(风险信息表)")
private Long masterId;
/**
* 角色
*/
@ExcelProperty(value = "角色")
private String jsId;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/**
* 用户名
*/
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "userId")
private Long userName;
}

View File

@ -0,0 +1,72 @@
package org.dromara.xzd.biddingManagement.ryrm.domain.vo;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrm;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrmRmxx;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
/**
* 标前管理-人员任命视图对象 xzd_bqgl_ryrm
*
* @author Lion Li
* @date 2025-12-09
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdBqglRyrm.class)
public class XzdBqglRyrmVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 主表id(标前立项)
*/
@ExcelProperty(value = "主表id(标前立项)")
private Long masterId;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 项目编码
*/
@ExcelProperty(value = "项目编码")
private String projectNumber;
/**
* 项目类型
*/
@ExcelProperty(value = "项目类型")
private Long projectTypeId;
/**
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private LocalDate billDate;
private List<XzdBqglRyrmRmxxVo> rmxxBoList;
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.biddingManagement.ryrm.mapper;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrm;
import org.dromara.xzd.biddingManagement.ryrm.domain.vo.XzdBqglRyrmVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 标前管理-人员任命Mapper接口
*
* @author Lion Li
* @date 2025-12-09
*/
public interface XzdBqglRyrmMapper extends BaseMapperPlus<XzdBqglRyrm, XzdBqglRyrmVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.biddingManagement.ryrm.mapper;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrmRmxx;
import org.dromara.xzd.biddingManagement.ryrm.domain.vo.XzdBqglRyrmRmxxVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 标前管理-人员任命-任命信息Mapper接口
*
* @author Lion Li
* @date 2025-12-09
*/
public interface XzdBqglRyrmRmxxMapper extends BaseMapperPlus<XzdBqglRyrmRmxx, XzdBqglRyrmRmxxVo> {
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.biddingManagement.ryrm.service;
import org.dromara.xzd.biddingManagement.ryrm.domain.vo.XzdBqglRyrmRmxxVo;
import org.dromara.xzd.biddingManagement.ryrm.domain.bo.XzdBqglRyrmRmxxBo;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrmRmxx;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 标前管理-人员任命-任命信息Service接口
*
* @author Lion Li
* @date 2025-12-09
*/
public interface IXzdBqglRyrmRmxxService extends IService<XzdBqglRyrmRmxx>{
/**
* 查询标前管理-人员任命-任命信息
*
* @param id 主键
* @return 标前管理-人员任命-任命信息
*/
XzdBqglRyrmRmxxVo queryById(Long id);
/**
* 分页查询标前管理-人员任命-任命信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 标前管理-人员任命-任命信息分页列表
*/
TableDataInfo<XzdBqglRyrmRmxxVo> queryPageList(XzdBqglRyrmRmxxBo bo, PageQuery pageQuery);
/**
* 查询符合条件的标前管理-人员任命-任命信息列表
*
* @param bo 查询条件
* @return 标前管理-人员任命-任命信息列表
*/
List<XzdBqglRyrmRmxxVo> queryList(XzdBqglRyrmRmxxBo bo);
/**
* 新增标前管理-人员任命-任命信息
*
* @param bo 标前管理-人员任命-任命信息
* @return 是否新增成功
*/
Boolean insertByBo(XzdBqglRyrmRmxxBo bo);
/**
* 修改标前管理-人员任命-任命信息
*
* @param bo 标前管理-人员任命-任命信息
* @return 是否修改成功
*/
Boolean updateByBo(XzdBqglRyrmRmxxBo bo);
/**
* 校验并批量删除标前管理-人员任命-任命信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.biddingManagement.ryrm.service;
import org.dromara.xzd.biddingManagement.ryrm.domain.vo.XzdBqglRyrmVo;
import org.dromara.xzd.biddingManagement.ryrm.domain.bo.XzdBqglRyrmBo;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrm;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 标前管理-人员任命Service接口
*
* @author Lion Li
* @date 2025-12-09
*/
public interface IXzdBqglRyrmService extends IService<XzdBqglRyrm>{
/**
* 查询标前管理-人员任命
*
* @param id 主键
* @return 标前管理-人员任命
*/
XzdBqglRyrmVo queryById(Long id);
/**
* 分页查询标前管理-人员任命列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 标前管理-人员任命分页列表
*/
TableDataInfo<XzdBqglRyrmVo> queryPageList(XzdBqglRyrmBo bo, PageQuery pageQuery);
/**
* 查询符合条件的标前管理-人员任命列表
*
* @param bo 查询条件
* @return 标前管理-人员任命列表
*/
List<XzdBqglRyrmVo> queryList(XzdBqglRyrmBo bo);
/**
* 新增标前管理-人员任命
*
* @param bo 标前管理-人员任命
* @return 是否新增成功
*/
Boolean insertByBo(XzdBqglRyrmBo bo);
/**
* 修改标前管理-人员任命
*
* @param bo 标前管理-人员任命
* @return 是否修改成功
*/
Boolean updateByBo(XzdBqglRyrmBo bo);
/**
* 校验并批量删除标前管理-人员任命信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,133 @@
package org.dromara.xzd.biddingManagement.ryrm.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.biddingManagement.ryrm.domain.bo.XzdBqglRyrmRmxxBo;
import org.dromara.xzd.biddingManagement.ryrm.domain.vo.XzdBqglRyrmRmxxVo;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrmRmxx;
import org.dromara.xzd.biddingManagement.ryrm.mapper.XzdBqglRyrmRmxxMapper;
import org.dromara.xzd.biddingManagement.ryrm.service.IXzdBqglRyrmRmxxService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 标前管理-人员任命-任命信息Service业务层处理
*
* @author Lion Li
* @date 2025-12-09
*/
@RequiredArgsConstructor
@Service
public class XzdBqglRyrmRmxxServiceImpl extends ServiceImpl<XzdBqglRyrmRmxxMapper, XzdBqglRyrmRmxx> implements IXzdBqglRyrmRmxxService {
private final XzdBqglRyrmRmxxMapper baseMapper;
/**
* 查询标前管理-人员任命-任命信息
*
* @param id 主键
* @return 标前管理-人员任命-任命信息
*/
@Override
public XzdBqglRyrmRmxxVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询标前管理-人员任命-任命信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 标前管理-人员任命-任命信息分页列表
*/
@Override
public TableDataInfo<XzdBqglRyrmRmxxVo> queryPageList(XzdBqglRyrmRmxxBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBqglRyrmRmxx> lqw = buildQueryWrapper(bo);
Page<XzdBqglRyrmRmxxVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的标前管理-人员任命-任命信息列表
*
* @param bo 查询条件
* @return 标前管理-人员任命-任命信息列表
*/
@Override
public List<XzdBqglRyrmRmxxVo> queryList(XzdBqglRyrmRmxxBo bo) {
LambdaQueryWrapper<XzdBqglRyrmRmxx> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdBqglRyrmRmxx> buildQueryWrapper(XzdBqglRyrmRmxxBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdBqglRyrmRmxx> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdBqglRyrmRmxx::getId);
lqw.eq(bo.getMasterId() != null, XzdBqglRyrmRmxx::getMasterId, bo.getMasterId());
lqw.eq(StringUtils.isNotBlank(bo.getJsId()), XzdBqglRyrmRmxx::getJsId, bo.getJsId());
lqw.eq(bo.getUserId() != null, XzdBqglRyrmRmxx::getUserId, bo.getUserId());
return lqw;
}
/**
* 新增标前管理-人员任命-任命信息
*
* @param bo 标前管理-人员任命-任命信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdBqglRyrmRmxxBo bo) {
XzdBqglRyrmRmxx add = MapstructUtils.convert(bo, XzdBqglRyrmRmxx.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改标前管理-人员任命-任命信息
*
* @param bo 标前管理-人员任命-任命信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdBqglRyrmRmxxBo bo) {
XzdBqglRyrmRmxx update = MapstructUtils.convert(bo, XzdBqglRyrmRmxx.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdBqglRyrmRmxx entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除标前管理-人员任命-任命信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,162 @@
package org.dromara.xzd.biddingManagement.ryrm.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrmRmxx;
import org.dromara.xzd.biddingManagement.ryrm.domain.vo.XzdBqglRyrmRmxxVo;
import org.dromara.xzd.biddingManagement.ryrm.service.IXzdBqglRyrmRmxxService;
import org.springframework.stereotype.Service;
import org.dromara.xzd.biddingManagement.ryrm.domain.bo.XzdBqglRyrmBo;
import org.dromara.xzd.biddingManagement.ryrm.domain.vo.XzdBqglRyrmVo;
import org.dromara.xzd.biddingManagement.ryrm.domain.XzdBqglRyrm;
import org.dromara.xzd.biddingManagement.ryrm.mapper.XzdBqglRyrmMapper;
import org.dromara.xzd.biddingManagement.ryrm.service.IXzdBqglRyrmService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 标前管理-人员任命Service业务层处理
*
* @author Lion Li
* @date 2025-12-09
*/
@RequiredArgsConstructor
@Service
public class XzdBqglRyrmServiceImpl extends ServiceImpl<XzdBqglRyrmMapper, XzdBqglRyrm> implements IXzdBqglRyrmService {
private final XzdBqglRyrmMapper baseMapper;
private final IXzdBqglRyrmRmxxService xzdBqglRyrmRmxxService;
/**
* 查询标前管理-人员任命
*
* @param id 主键
* @return 标前管理-人员任命
*/
@Override
public XzdBqglRyrmVo queryById(Long id){
XzdBqglRyrmVo xzdBqglRyrmVo = baseMapper.selectVoById(id);
saveValue(xzdBqglRyrmVo);
return xzdBqglRyrmVo;
}
private void saveValue(XzdBqglRyrmVo xzdBqglRyrmVo) {
if (xzdBqglRyrmVo != null){
List<XzdBqglRyrmRmxx> xzdBqglRyrmRmxxes = xzdBqglRyrmRmxxService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdBqglRyrmRmxx>().eq(XzdBqglRyrmRmxx::getMasterId, xzdBqglRyrmVo.getId()));
xzdBqglRyrmVo.setRmxxBoList(MapstructUtils.convert(xzdBqglRyrmRmxxes, XzdBqglRyrmRmxxVo.class));
}
}
/**
* 分页查询标前管理-人员任命列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 标前管理-人员任命分页列表
*/
@Override
public TableDataInfo<XzdBqglRyrmVo> queryPageList(XzdBqglRyrmBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBqglRyrm> lqw = buildQueryWrapper(bo);
Page<XzdBqglRyrmVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的标前管理-人员任命列表
*
* @param bo 查询条件
* @return 标前管理-人员任命列表
*/
@Override
public List<XzdBqglRyrmVo> queryList(XzdBqglRyrmBo bo) {
LambdaQueryWrapper<XzdBqglRyrm> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdBqglRyrm> buildQueryWrapper(XzdBqglRyrmBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdBqglRyrm> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdBqglRyrm::getId);
lqw.eq(bo.getMasterId() != null, XzdBqglRyrm::getMasterId, bo.getMasterId());
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdBqglRyrm::getProjectName, bo.getProjectName());
lqw.eq(StringUtils.isNotBlank(bo.getProjectNumber()), XzdBqglRyrm::getProjectNumber, bo.getProjectNumber());
lqw.eq(bo.getProjectTypeId() != null, XzdBqglRyrm::getProjectTypeId, bo.getProjectTypeId());
lqw.eq(bo.getBillDate() != null, XzdBqglRyrm::getBillDate, bo.getBillDate());
return lqw;
}
/**
* 新增标前管理-人员任命
*
* @param bo 标前管理-人员任命
* @return 是否新增成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(XzdBqglRyrmBo bo) {
XzdBqglRyrm add = MapstructUtils.convert(bo, XzdBqglRyrm.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (bo.getRmxxBoList() != null && bo.getRmxxBoList().size() > 0){
bo.getRmxxBoList().forEach(rmxxBo -> rmxxBo.setMasterId(add.getId()));
xzdBqglRyrmRmxxService.saveBatch(bo.getRmxxBoList());
}
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改标前管理-人员任命
*
* @param bo 标前管理-人员任命
* @return 是否修改成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateByBo(XzdBqglRyrmBo bo) {
XzdBqglRyrm update = MapstructUtils.convert(bo, XzdBqglRyrm.class);
validEntityBeforeSave(update);
xzdBqglRyrmRmxxService.getBaseMapper().delete(new LambdaQueryWrapper<XzdBqglRyrmRmxx>().eq(XzdBqglRyrmRmxx::getMasterId, update.getId()));
if (bo.getRmxxBoList() != null && bo.getRmxxBoList().size() > 0){
bo.getRmxxBoList().forEach(rmxxBo -> rmxxBo.setMasterId(bo.getId()));
xzdBqglRyrmRmxxService.saveBatch(bo.getRmxxBoList());
}
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdBqglRyrm entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除标前管理-人员任命信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}