项目管理

This commit is contained in:
cwchen 2025-04-18 13:55:20 +08:00
parent 8bcd8c3b79
commit 154fb45658
8 changed files with 345 additions and 210 deletions

View File

@ -39,7 +39,7 @@ public class BmProjectController extends BaseController {
* 查询工程项目管理列表
*/
@ApiOperation(value = "查询工程项目管理列表")
@RequiresPermissions("basic:project:list")
// @RequiresPermissions("basic:project:list")
@GetMapping("/list")
public TableDataInfo list(BmProject bmProject) {
startPage();
@ -65,54 +65,46 @@ public class BmProjectController extends BaseController {
* 获取工程项目管理详细信息
*/
@ApiOperation(value = "获取工程项目管理详细信息")
@RequiresPermissions("basic:project:query")
@GetMapping(value = "/{projectId}")
public AjaxResult getInfo(@PathVariable("projectId") Long projectId) {
return success(bmProjectService.selectBmProjectByProjectId(projectId));
// @RequiresPermissions("basic:project:query")
@GetMapping(value = "getDetailById")
public AjaxResult getDetailById(BmProject bmProject) {
return bmProjectService.selectBmProjectByProjectId(bmProject);
}
/**
* 新增工程项目管理
*/
@ApiOperation(value = "新增工程项目管理")
@PreventRepeatSubmit
@RequiresPermissions("basic:project:add")
@SysLog(title = "工程项目管理", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增工程项目管理")
@PostMapping
@ApiOperation(value = "新增项目管理")
// @PreventRepeatSubmit
// @RequiresPermissions("basic:project:add")
@SysLog(title = "项目管理", businessType = OperaType.INSERT, logType = 1,module = "项目管理->新增项目")
@PostMapping("addProject")
public AjaxResult add(@RequestBody BmProject bmProject) {
try {
return toAjax(bmProjectService.insertBmProject(bmProject));
} catch (Exception e) {
return error("系统错误, " + e.getMessage());
}
return bmProjectService.insertBmProject(bmProject);
}
/**
* 修改工程项目管理
*/
@ApiOperation(value = "修改工程项目管理")
@PreventRepeatSubmit
@RequiresPermissions("basic:project:edit")
@SysLog(title = "工程项目管理", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改工程项目管理")
@PostMapping("/edit")
@ApiOperation(value = "修改项目")
// @PreventRepeatSubmit
// @RequiresPermissions("basic:project:edit")
@SysLog(title = "项目管理", businessType = OperaType.UPDATE, logType = 1,module = "项目管理->修改项目")
@PostMapping("/editProject")
public AjaxResult edit(@RequestBody BmProject bmProject) {
try {
return toAjax(bmProjectService.updateBmProject(bmProject));
} catch (Exception e) {
return error("系统错误, " + e.getMessage());
}
return bmProjectService.updateBmProject(bmProject);
}
/**
* 删除工程项目管理
*/
@ApiOperation(value = "删除工程项目管理")
@PreventRepeatSubmit
@RequiresPermissions("basic:project:remove")
@SysLog(title = "工程项目管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除工程项目管理")
@PostMapping("/del/{projectIds}")
public AjaxResult remove(@PathVariable Long[] projectIds) {
return toAjax(bmProjectService.deleteBmProjectByProjectIds(projectIds));
@ApiOperation(value = "删除项目")
// @PreventRepeatSubmit
// @RequiresPermissions("basic:project:remove")
@SysLog(title = "项目管理", businessType = OperaType.DELETE, logType = 1,module = "项目管理->删除项目")
@PostMapping("/delProject")
public AjaxResult remove(@RequestBody BmProject bmProject) {
return bmProjectService.deleteBmProjectByProjectIds(bmProject);
}
/**

View File

@ -2,16 +2,25 @@ package com.bonus.base.basic.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.bonus.base.basic.domain.vo.ProDepartVo;
import com.bonus.base.basic.domain.vo.UnitVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* 工程项目管理对象 bm_project
*
*
* @author xsheng
* @date 2025-01-09
*/
@ -22,61 +31,123 @@ import com.bonus.common.core.web.domain.BaseEntity;
public class BmProject extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键,工程ID */
/**关键字*/
private String keyWord;
/**
* 主键,工程ID
*/
@NotNull(message = "id不能为空", groups = {Edit.class, Del.class})
private Long projectId;
/** 工程项目名称 */
@Excel(name = "工程项目名称")
@ApiModelProperty(value = "工程项目名称")
/**
* 项目名称
*/
@Excel(name = "项目名称")
@ApiModelProperty(value = "项目名称")
@NotBlank(message = "项目名称不能为空", groups = {Add.class, Edit.class})
@Length(max = 255, message = "项目名称字符长度不能超过255", groups = {Add.class, Edit.class})
private String projectName;
/** 计划开工日期 */
/**
* 计划开工日期
*/
@ApiModelProperty(value = "计划开工日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划开工日期", width = 30, dateFormat = "yyyy-MM-dd")
@NotNull(message = "计划开工日期", groups = {Add.class, Edit.class})
private Date planStartTime;
/** 计划竣工日期 */
/**
* 计划竣工日期
*/
@ApiModelProperty(value = "计划竣工日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划竣工日期", width = 30, dateFormat = "yyyy-MM-dd")
@NotNull(message = "计划竣工日期", groups = {Add.class, Edit.class})
private Date planEndTime;
/** 项目金额(万元) */
/**
* 项目金额万元
*/
@Excel(name = "项目金额", readConverterExp = "万=元")
private BigDecimal projectAmount;
/** 所属公司ID */
/**
* 所属公司ID
*/
@Excel(name = " 所属公司ID")
@ApiModelProperty(value = " 所属公司ID")
@NotNull(message = "所属公司ID不能为空", groups = {Add.class, Edit.class})
private Long companyId;
/** 业主单位 */
/**
* 业主单位
*/
@Excel(name = "业主单位")
@ApiModelProperty(value = "业主单位")
@NotBlank(message = "业主单位不能为空", groups = {Add.class, Edit.class})
@Length(max = 255, message = "业主单位字符长度不能超过255", groups = {Add.class, Edit.class})
private String ownerUnit;
/** 项目状态0筹建 1在建 2部分投运 3投运 4停工 */
/**
* 项目状态0筹建 1在建 2部分投运 3投运 4停工
*/
@Excel(name = "项目状态", readConverterExp = "0=筹建,1=在建,2=部分投运,3=投运,4=停工")
@NotBlank(message = "项目状态不能为空", groups = {Add.class, Edit.class})
private String projectStatus;
/** 项目规模 */
/**
* 项目规模
*/
@Excel(name = "项目规模")
@ApiModelProperty(value = "项目规模")
@Length(max = 255, message = "项目规模字符长度不能超过255", groups = {Add.class, Edit.class})
private String projectScale;
/** 项目负责人 */
/**
* 项目负责人
*/
@Excel(name = "项目负责人")
@ApiModelProperty(value = "项目负责人")
@Length(max = 100, message = "项目负责人字符长度不能超过100", groups = {Add.class, Edit.class})
private String projectManager;
/** 地址 */
/**
* 地址
*/
@Excel(name = "地址")
@ApiModelProperty(value = "地址")
@Length(max = 255, message = "地址字符长度不能超过100", groups = {Add.class, Edit.class})
private String address;
/** 删除标志0代表存在 2代表删除 */
/**
* 删除标志0代表存在 2代表删除
*/
private String delFlag;
/**
* 标段数量
*/
private int bidNum;
/**
* 新增条件限制
*/
public interface Add {
}
/**
* 修改条件限制
*/
public interface Edit {
}
/**
* 删除条件限制
*/
public interface Del {
}
}

View File

@ -1,60 +1,52 @@
package com.bonus.base.basic.mapper;
import java.util.List;
import com.bonus.base.basic.domain.BmProject;
import org.apache.ibatis.annotations.Param;
/**
* 工程项目管理Mapper接口
*
*
* @author xsheng
* @date 2025-01-09
*/
public interface BmProjectMapper {
/**
* 查询工程项目管理
*
* @param projectId 工程项目管理主键
*
* @param bmProject 工程项目管理主键
* @return 工程项目管理
*/
public BmProject selectBmProjectByProjectId(Long projectId);
public BmProject selectBmProjectByProjectId(BmProject bmProject);
/**
* 查询工程项目管理列表
*
*
* @param bmProject 工程项目管理
* @return 工程项目管理集合
*/
public List<BmProject> selectBmProjectList(BmProject bmProject);
/**
* 新增工程项目管理
*
* @param bmProject 工程项目管理
* @return 结果
* 校验数据是否重复
*
* @param vo
* @param projectName
* @param columnName
* @return int
* @author cwchen
* @date 2025/4/17 16:34
*/
public int insertBmProject(BmProject bmProject);
int queryValueIsExist(@Param("params") BmProject vo,@Param("value") String projectName,@Param("columnName") String columnName);
/**
* 修改工程项目管理
*
* @param bmProject 工程项目管理
* @return 结果
* 新增/修改/删除项目
* @param vo
* @param type
* @return void
* @author cwchen
* @date 2025/4/17 16:35
*/
public int updateBmProject(BmProject bmProject);
/**
* 删除工程项目管理
*
* @param projectId 工程项目管理主键
* @return 结果
*/
public int deleteBmProjectByProjectId(Long projectId);
/**
* 批量删除工程项目管理
*
* @param projectIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteBmProjectByProjectIds(Long[] projectIds);
void addOrUpdateProject(@Param("params") BmProject vo, @Param("type") int type);
}

View File

@ -2,6 +2,7 @@ package com.bonus.base.basic.service;
import java.util.List;
import com.bonus.base.basic.domain.BmProject;
import com.bonus.common.core.web.domain.AjaxResult;
/**
* 工程项目管理Service接口
@ -13,10 +14,10 @@ public interface IBmProjectService {
/**
* 查询工程项目管理
*
* @param projectId 工程项目管理主键
* @param bmProject 工程项目管理主键
* @return 工程项目管理
*/
public BmProject selectBmProjectByProjectId(Long projectId);
public AjaxResult selectBmProjectByProjectId(BmProject bmProject);
/**
* 查询工程项目管理列表
@ -32,7 +33,7 @@ public interface IBmProjectService {
* @param bmProject 工程项目管理
* @return 结果
*/
public int insertBmProject(BmProject bmProject);
public AjaxResult insertBmProject(BmProject bmProject);
/**
* 修改工程项目管理
@ -40,21 +41,14 @@ public interface IBmProjectService {
* @param bmProject 工程项目管理
* @return 结果
*/
public int updateBmProject(BmProject bmProject);
public AjaxResult updateBmProject(BmProject bmProject);
/**
* 批量删除工程项目管理
*
* @param projectIds 需要删除的工程项目管理主键集合
* @param bmProject 需要删除的工程项目管理主键集合
* @return 结果
*/
public int deleteBmProjectByProjectIds(Long[] projectIds);
public AjaxResult deleteBmProjectByProjectIds(BmProject bmProject);
/**
* 删除工程项目管理信息
*
* @param projectId 工程项目管理主键
* @return 结果
*/
public int deleteBmProjectByProjectId(Long projectId);
}

View File

@ -1,14 +1,26 @@
package com.bonus.base.basic.service.impl;
import java.util.List;
import java.util.Optional;
import com.bonus.base.basic.domain.vo.ProDepartVo;
import com.bonus.base.basic.domain.vo.UnitVo;
import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.common.security.utils.ValidatorsUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.base.basic.mapper.BmProjectMapper;
import com.bonus.base.basic.domain.BmProject;
import com.bonus.base.basic.service.IBmProjectService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource;
/**
* 工程项目管理Service业务层处理
@ -17,10 +29,15 @@ import com.bonus.base.basic.service.IBmProjectService;
* @date 2025-01-09
*/
@Service
@Slf4j
public class BmProjectServiceImpl implements IBmProjectService {
@Autowired
private BmProjectMapper bmProjectMapper;
@Resource(name = "ValidatorsUtils")
private ValidatorsUtils validatorsUtils;
/**
* 查询工程项目管理
*
@ -28,8 +45,14 @@ public class BmProjectServiceImpl implements IBmProjectService {
* @return 工程项目管理
*/
@Override
public BmProject selectBmProjectByProjectId(Long projectId) {
return bmProjectMapper.selectBmProjectByProjectId(projectId);
public AjaxResult selectBmProjectByProjectId(BmProject bmProject) {
try {
BmProject vo = Optional.ofNullable(bmProjectMapper.selectBmProjectByProjectId(bmProject)).orElseGet(BmProject::new);
return AjaxResult.success(vo);
} catch (Exception e) {
log.error(e.toString(),e);
return AjaxResult.error();
}
}
/**
@ -40,62 +63,90 @@ public class BmProjectServiceImpl implements IBmProjectService {
*/
@Override
public List<BmProject> selectBmProjectList(BmProject bmProject) {
bmProject.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId());
return bmProjectMapper.selectBmProjectList(bmProject);
}
/**
* 新增工程项目管理
*
* @param bmProject 工程项目管理
* @param vo 工程项目管理
* @return 结果
*/
@Override
public int insertBmProject(BmProject bmProject) {
bmProject.setCreateTime(DateUtils.getNowDate());
bmProject.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId());
@Transactional(rollbackFor = Exception.class)
public AjaxResult insertBmProject(BmProject vo) {
try {
return bmProjectMapper.insertBmProject(bmProject);
// 校验必填数据
String validResult = validatorsUtils.valid(vo, BmProject.Add.class);
if (StringUtils.isNotBlank(validResult)) {
return AjaxResult.error(validResult);
}
// 校验项目名称是否重复
int flag = bmProjectMapper.queryValueIsExist(vo,vo.getProjectName(),"project_name");
if (flag > 0) return AjaxResult.error("公司名称已存在");
vo.setCreateTime(DateUtils.getNowDate());
vo.setUpdateTime(DateUtils.getNowDate());
vo.setCreateBy(SecurityUtils.getUsername());
vo.setUpdateBy(SecurityUtils.getUsername());
bmProjectMapper.addOrUpdateProject(vo,1);
return AjaxResult.success();
} catch (Exception e) {
throw new ServiceException("错误信息描述");
log.error(e.toString(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
}
}
/**
* 修改工程项目管理
*
* @param bmProject 工程项目管理
* @param vo 工程项目管理
* @return 结果
*/
@Override
public int updateBmProject(BmProject bmProject) {
bmProject.setUpdateTime(DateUtils.getNowDate());
@Transactional(rollbackFor = Exception.class)
public AjaxResult updateBmProject(BmProject vo) {
try {
return bmProjectMapper.updateBmProject(bmProject);
// 校验必填数据
String validResult = validatorsUtils.valid(vo, BmProject.Edit.class);
if (StringUtils.isNotBlank(validResult)) {
return AjaxResult.error(validResult);
}
// 校验项目名称是否重复
int flag = bmProjectMapper.queryValueIsExist(vo,vo.getProjectName(),"project_name");
if (flag > 0) return AjaxResult.error("项目名称已存在");
vo.setUpdateTime(DateUtils.getNowDate());
vo.setUpdateBy(SecurityUtils.getUsername());
bmProjectMapper.addOrUpdateProject(vo,2);
return AjaxResult.success();
} catch (Exception e) {
throw new ServiceException("错误信息描述");
log.error(e.toString(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
}
}
/**
* 批量删除工程项目管理
*
* @param projectIds 需要删除的工程项目管理主键
* @param vo 需要删除的工程项目管理主键
* @return 结果
*/
@Override
public int deleteBmProjectByProjectIds(Long[] projectIds) {
return bmProjectMapper.deleteBmProjectByProjectIds(projectIds);
}
/**
* 删除工程项目管理信息
*
* @param projectId 工程项目管理主键
* @return 结果
*/
@Override
public int deleteBmProjectByProjectId(Long projectId) {
return bmProjectMapper.deleteBmProjectByProjectId(projectId);
@Transactional(rollbackFor = Exception.class)
public AjaxResult deleteBmProjectByProjectIds(BmProject vo) {
try {
// 校验必填数据
String validResult = validatorsUtils.valid(vo, BmProject.Del.class);
if (StringUtils.isNotBlank(validResult)) {
return AjaxResult.error(validResult);
}
bmProjectMapper.addOrUpdateProject(vo,3);
return AjaxResult.success();
} catch (Exception e) {
log.error(e.toString(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
}
}
}

View File

@ -42,7 +42,7 @@ public class ProDepartServiceImpl implements ProDepartService {
}
// 校验项目部名称是否重复
int flag = mapper.queryValueIsExist(vo,vo.getDepartName(),vo.getBranchCompanyId(),"depart_name");
if (flag > 0) return AjaxResult.error("公司名称已存在");
if (flag > 0) return AjaxResult.error("项目部名称已存在");
mapper.addOrUpdateDepart(vo,1);
return AjaxResult.success();
} catch (Exception e) {

View File

@ -27,98 +27,133 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select project_id, project_name, plan_start_time, plan_end_time, project_amount, company_id, owner_unit, project_status, project_scale, project_manager, address, del_flag, create_by, create_time, update_by, update_time, remark from bm_project
</sql>
<select id="selectBmProjectList" parameterType="com.bonus.base.basic.domain.BmProject" resultMap="BmProjectResult">
<include refid="selectBmProjectVo"/>
<where>
<if test="projectName != null and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if>
<if test="planStartTime != null "> and plan_start_time = #{planStartTime}</if>
<if test="planEndTime != null "> and plan_end_time = #{planEndTime}</if>
<if test="projectAmount != null "> and project_amount = #{projectAmount}</if>
<if test="companyId != null "> and company_id = #{companyId}</if>
<if test="ownerUnit != null and ownerUnit != ''"> and owner_unit = #{ownerUnit}</if>
<if test="projectStatus != null and projectStatus != ''"> and project_status = #{projectStatus}</if>
<if test="projectScale != null and projectScale != ''"> and project_scale = #{projectScale}</if>
<if test="projectManager != null and projectManager != ''"> and project_manager = #{projectManager}</if>
<if test="address != null and address != ''"> and address = #{address}</if>
<select id="selectBmProjectList" parameterType="com.bonus.base.basic.domain.BmProject" resultType="com.bonus.base.basic.domain.BmProject">
SELECT bp.project_name AS projectName,
bp.address,
bp.plan_start_time AS planStartTime,
bp.plan_end_time AS planEndTime,
bp.owner_unit AS ownerUnit,
bp.project_id AS projectId,
sdd.dict_label AS projectStatus,
IFNULL(A.num,0) AS bidNum
FROM bm_project bp
LEFT JOIN sys_dict_data sdd ON bp.project_status = sdd.dict_value AND sdd.dict_type = 'pro_status'
LEFT JOIN (
SELECT project_id,COUNT(*) AS num
FROM bm_project_lot
WHERE del_flag = '0'
GROUP BY project_id
) A ON A.project_id = bp.project_id
<where>
<if test="companyId!=null">
AND bp.company_id = #{companyId}
</if>
<if test="keyWord!=null and keyWord!=''">
AND (
INSTR(bp.project_name,#{keyWord}) > 0 OR
INSTR(bp.owner_unit,#{keyWord}) > 0 OR
INSTR(bp.address,#{keyWord}) > 0
)
</if>
<if test="projectStatus!=null and projectStatus!=''">
AND bp.project_status = #{projectStatus}
</if>
AND bp.del_flag = '0'
ORDER BY bp.create_time DESC
</where>
</select>
<select id="selectBmProjectByProjectId" parameterType="Long" resultMap="BmProjectResult">
<include refid="selectBmProjectVo"/>
where project_id = #{projectId}
<select id="selectBmProjectByProjectId" parameterType="com.bonus.base.basic.domain.BmProject" resultType="com.bonus.base.basic.domain.BmProject">
SELECT project_id AS projectId,
project_name AS projectName,
plan_start_time AS planStartTime,
plan_end_time AS planEndTime,
project_amount AS projectAmount,
company_id AS companyId,
owner_unit AS ownerUnit,
project_status AS projectStatus,
project_scale AS projectScale,
project_manager AS projectManager,
address,
remark
FROM bm_project
WHERE project_id = #{projectId}
</select>
<insert id="insertBmProject" parameterType="com.bonus.base.basic.domain.BmProject" useGeneratedKeys="true" keyProperty="projectId">
insert into bm_project
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="projectName != null and projectName != ''">project_name,</if>
<if test="planStartTime != null">plan_start_time,</if>
<if test="planEndTime != null">plan_end_time,</if>
<if test="projectAmount != null">project_amount,</if>
<if test="companyId != null">company_id,</if>
<if test="ownerUnit != null and ownerUnit != ''">owner_unit,</if>
<if test="projectStatus != null">project_status,</if>
<if test="projectScale != null">project_scale,</if>
<if test="projectManager != null">project_manager,</if>
<if test="address != null">address,</if>
<if test="delFlag != null">del_flag,</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="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectName != null and projectName != ''">#{projectName},</if>
<if test="planStartTime != null">#{planStartTime},</if>
<if test="planEndTime != null">#{planEndTime},</if>
<if test="projectAmount != null">#{projectAmount},</if>
<if test="companyId != null">#{companyId},</if>
<if test="ownerUnit != null and ownerUnit != ''">#{ownerUnit},</if>
<if test="projectStatus != null">#{projectStatus},</if>
<if test="projectScale != null">#{projectScale},</if>
<if test="projectManager != null">#{projectManager},</if>
<if test="address != null">#{address},</if>
<if test="delFlag != null">#{delFlag},</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="remark != null">#{remark},</if>
</trim>
<!--校验数据是否重复-->
<select id="queryValueIsExist" resultType="java.lang.Integer">
<if test="params.projectId==null">
SELECT COUNT(1)
FROM bm_project
WHERE ${columnName} = #{value} AND del_flag = '0'
</if>
<if test="params.projectId!=null ">
SELECT COUNT(1)
FROM bm_project
WHERE ${columnName} = #{value} AND project_id != #{params.projectId} AND del_flag = '0'
</if>
</select>
<!--新增/修改/删除项目-->
<insert id="addOrUpdateProject">
<if test="type == 1">
insert into bm_project
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="params.projectName != null and params.projectName!=''">project_name,</if>
<if test="params.planStartTime != null">plan_start_time,</if>
<if test="params.planEndTime != null">plan_end_time,</if>
<if test="params.projectAmount != null">project_amount,</if>
<if test="params.companyId != null">company_id,</if>
<if test="params.ownerUnit != null and params.ownerUnit!=''">owner_unit,</if>
<if test="params.projectStatus != null and params.projectStatus!=''">project_status,</if>
<if test="params.projectScale != null and params.projectScale!=''">project_scale,</if>
<if test="params.projectManager != null and params.projectManager!=''">project_manager,</if>
<if test="params.address != null and params.address!=''">address,</if>
<if test="params.createBy != null and params.createBy!=''">create_by,</if>
<if test="params.createTime != null">create_time,</if>
<if test="params.updateBy != null and params.updateBy!=''">update_by,</if>
<if test="params.updateTime != null">update_time,</if>
<if test="params.remark != null and params.remark!=''">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="params.projectName != null and params.projectName!=''">#{params.projectName},</if>
<if test="params.planStartTime != null">#{params.planStartTime},</if>
<if test="params.planEndTime != null">#{params.planEndTime},</if>
<if test="params.projectAmount != null">#{params.projectAmount},</if>
<if test="params.companyId != null">#{params.companyId},</if>
<if test="params.ownerUnit != null and params.ownerUnit!=''">#{params.ownerUnit},</if>
<if test="params.projectStatus != null and params.projectStatus!=''">#{params.projectStatus},</if>
<if test="params.projectScale != null and params.projectScale!=''">#{params.projectScale},</if>
<if test="params.projectManager != null and params.projectManager!=''">#{params.projectManager},</if>
<if test="params.address != null and params.address!=''">#{params.address},</if>
<if test="params.createBy != null and params.createBy!=''">#{params.createBy},</if>
<if test="params.createTime != null">#{params.createTime},</if>
<if test="params.updateBy != null and params.updateBy!=''">#{params.updateBy},</if>
<if test="params.updateTime != null">#{params.updateTime},</if>
<if test="params.remark != null and params.remark!=''">#{params.remark},</if>
</trim>
</if>
<if test="type == 2">
UPDATE bm_project
<trim prefix="SET " suffixOverrides=",">
project_name = #{params.projectName},
plan_start_time = #{params.planStartTime},
plan_end_time = #{params.planEndTime},
project_amount = #{params.projectAmount},
company_id = #{params.companyId},
owner_unit = #{params.ownerUnit},
project_status = #{params.projectStatus},
project_scale = #{params.projectScale},
address = #{params.address},
update_by = #{params.updateBy},
update_time = #{params.updateTime},
remark = #{params.remark},
</trim>
WHERE project_id = #{params.projectId}
</if>
<if test="type == 3">
UPDATE bm_project SET del_flag = '1' WHERE project_id = #{params.projectId}
</if>
</insert>
<update id="updateBmProject" parameterType="com.bonus.base.basic.domain.BmProject">
update bm_project
<trim prefix="SET" suffixOverrides=",">
<if test="projectName != null and projectName != ''">project_name = #{projectName},</if>
<if test="planStartTime != null">plan_start_time = #{planStartTime},</if>
<if test="planEndTime != null">plan_end_time = #{planEndTime},</if>
<if test="projectAmount != null">project_amount = #{projectAmount},</if>
<if test="companyId != null">company_id = #{companyId},</if>
<if test="ownerUnit != null and ownerUnit != ''">owner_unit = #{ownerUnit},</if>
<if test="projectStatus != null">project_status = #{projectStatus},</if>
<if test="projectScale != null">project_scale = #{projectScale},</if>
<if test="projectManager != null">project_manager = #{projectManager},</if>
<if test="address != null">address = #{address},</if>
<if test="delFlag != null">del_flag = #{delFlag},</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="remark != null">remark = #{remark},</if>
</trim>
where project_id = #{projectId}
</update>
<delete id="deleteBmProjectByProjectId" parameterType="Long">
delete from bm_project where project_id = #{projectId}
</delete>
<delete id="deleteBmProjectByProjectIds" parameterType="String">
delete from bm_project where project_id in
<foreach item="projectId" collection="array" open="(" separator="," close=")">
#{projectId}
</foreach>
</delete>
</mapper>

View File

@ -41,12 +41,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert>
<!--校验数据是否重复-->
<select id="queryValueIsExist" resultType="java.lang.Integer">
<if test="params.id==null or params.id==''">
<if test="params.id==null">
SELECT COUNT(1)
FROM tb_pro_depart
WHERE ${columnName} = #{value} AND branch_company_id = #{branchCompanyId} AND is_active = '1'
</if>
<if test="params.id!=null and params.id!=''">
<if test="params.id!=null">
SELECT COUNT(1)
FROM tb_pro_depart
WHERE ${columnName} = #{value} AND branch_company_id = #{branchCompanyId} AND id != #{params.id} AND is_active = '1'