Merge branch 'main' of http://192.168.0.75:3000/bonus/bns-zhgd-service
This commit is contained in:
commit
0e662b426b
|
|
@ -38,9 +38,10 @@ public class BmProjectController extends BaseController {
|
|||
/**
|
||||
* 查询工程项目管理列表
|
||||
*/
|
||||
@ApiOperation(value = "查询工程项目管理列表")
|
||||
@RequiresPermissions("basic:project:list")
|
||||
@ApiOperation(value = "查询项目列表")
|
||||
// @RequiresPermissions("basic:project:list")
|
||||
@GetMapping("/list")
|
||||
@SysLog(title = "项目管理", businessType = OperaType.EXPORT, logType = 1,module = "项目管理->查询项目列表")
|
||||
public TableDataInfo list(BmProject bmProject) {
|
||||
startPage();
|
||||
List<BmProject> list = bmProjectService.selectBmProjectList(bmProject);
|
||||
|
|
@ -50,11 +51,11 @@ public class BmProjectController extends BaseController {
|
|||
/**
|
||||
* 导出工程项目管理列表
|
||||
*/
|
||||
@ApiOperation(value = "导出工程项目管理列表")
|
||||
@ApiOperation(value = "导出项目列表")
|
||||
@PreventRepeatSubmit
|
||||
@RequiresPermissions("basic:project:export")
|
||||
@SysLog(title = "工程项目管理", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出工程项目管理")
|
||||
@PostMapping("/export")
|
||||
// @RequiresPermissions("basic:project:export")
|
||||
@SysLog(title = "项目管理", businessType = OperaType.EXPORT, logType = 1,module = "项目管理->导出项目列表")
|
||||
@GetMapping("/export")
|
||||
public void export(HttpServletResponse response, BmProject bmProject) {
|
||||
List<BmProject> list = bmProjectService.selectBmProjectList(bmProject);
|
||||
ExcelUtil<BmProject> util = new ExcelUtil<BmProject>(BmProject.class);
|
||||
|
|
@ -65,54 +66,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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,10 +8,16 @@ 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 +28,128 @@ 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 = "工程项目名称")
|
||||
@ApiModelProperty(value = "分公司名称")
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@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")
|
||||
private Date planStartTime;
|
||||
|
||||
/** 计划竣工日期 */
|
||||
@ApiModelProperty(value = "计划竣工日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "计划竣工日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date planEndTime;
|
||||
|
||||
/** 项目金额(万元) */
|
||||
@Excel(name = "项目金额", readConverterExp = "万=元")
|
||||
private BigDecimal projectAmount;
|
||||
|
||||
/** 所属公司ID */
|
||||
@Excel(name = " 所属公司ID")
|
||||
@ApiModelProperty(value = " 所属公司ID")
|
||||
private Long companyId;
|
||||
|
||||
/** 业主单位 */
|
||||
@Excel(name = "业主单位")
|
||||
@ApiModelProperty(value = "业主单位")
|
||||
private String ownerUnit;
|
||||
|
||||
/** 项目状态(0筹建 1在建 2部分投运 3投运 4停工) */
|
||||
@Excel(name = "项目状态", readConverterExp = "0=筹建,1=在建,2=部分投运,3=投运,4=停工")
|
||||
private String projectStatus;
|
||||
|
||||
/** 项目规模 */
|
||||
@Excel(name = "项目规模")
|
||||
@ApiModelProperty(value = "项目规模")
|
||||
private String projectScale;
|
||||
|
||||
/** 项目负责人 */
|
||||
@Excel(name = "项目负责人")
|
||||
@ApiModelProperty(value = "项目负责人")
|
||||
private String projectManager;
|
||||
|
||||
/** 地址 */
|
||||
@Excel(name = "地址")
|
||||
@ApiModelProperty(value = "地址")
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
@Excel(name = "项目地址")
|
||||
@ApiModelProperty(value = "项目地址")
|
||||
@Length(max = 255, message = "项目地址字符长度不能超过100", groups = {Add.class, Edit.class})
|
||||
private String address;
|
||||
|
||||
/** 删除标志(0代表存在 2代表删除) */
|
||||
/**
|
||||
* 计划开工日期
|
||||
*/
|
||||
@ApiModelProperty(value = "计划开工日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@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",timezone = "GMT+8")
|
||||
@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 = "业主单位")
|
||||
@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停工)
|
||||
*/
|
||||
@Excel(name = "项目状态")
|
||||
@NotBlank(message = "项目状态不能为空", groups = {Add.class, Edit.class})
|
||||
private String projectStatus;
|
||||
|
||||
|
||||
/**
|
||||
* 标段数量
|
||||
*/
|
||||
@Excel(name = "标段工程数量")
|
||||
private int bidNum;
|
||||
|
||||
/**
|
||||
* 项目金额(万元)
|
||||
*/
|
||||
private BigDecimal projectAmount;
|
||||
|
||||
/**
|
||||
* 所属公司ID
|
||||
*/
|
||||
@ApiModelProperty(value = " 所属公司ID")
|
||||
@NotNull(message = "所属公司ID不能为空", groups = {Add.class, Edit.class})
|
||||
private Long companyId;
|
||||
|
||||
/**
|
||||
* 项目规模
|
||||
*/
|
||||
@ApiModelProperty(value = "项目规模")
|
||||
@Length(max = 255, message = "项目规模字符长度不能超过255", groups = {Add.class, Edit.class})
|
||||
private String projectScale;
|
||||
|
||||
/**
|
||||
* 项目负责人
|
||||
*/
|
||||
@ApiModelProperty(value = "项目负责人")
|
||||
@Length(max = 100, message = "项目负责人字符长度不能超过100", groups = {Add.class, Edit.class})
|
||||
private String projectManager;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 2代表删除)
|
||||
*/
|
||||
private String delFlag;
|
||||
|
||||
|
||||
/**
|
||||
* 新增条件限制
|
||||
*/
|
||||
public interface Add {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改条件限制
|
||||
*/
|
||||
public interface Edit {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除条件限制
|
||||
*/
|
||||
public interface Del {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,159 @@
|
|||
package com.bonus.base.common.utils;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface JsonHelper {
|
||||
|
||||
public String jsonSerialize(Object value);
|
||||
|
||||
public <T> T jsonDeserialize(String value, Class<?> tClass);
|
||||
|
||||
/**
|
||||
* 将任意bean转换成json字符串
|
||||
* fast json
|
||||
* @param bean
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
public static <T> String beanToJsonStr(T bean) {
|
||||
String jsonStr = JSON.toJSONString(bean);
|
||||
return jsonStr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 把一个json字符串转换成bean对象
|
||||
* fast json
|
||||
* @param str
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
public static <T> T jsonStrToBean(String str, Class<T> clazz) {
|
||||
T bean = JSON.parseObject(str, clazz);
|
||||
return bean;
|
||||
}
|
||||
|
||||
/**
|
||||
* 把一个jsonObj转换成bean对象
|
||||
* fast json
|
||||
* @param jsonObj
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
public static <T> T jsonObjToBean(JSONObject jsonObj, Class<T> clazz) {
|
||||
String s = jsonObj.toJSONString();
|
||||
T bean = JSON.parseObject(s, clazz);
|
||||
return bean;
|
||||
}
|
||||
|
||||
/**
|
||||
* 把一个bean对象转换成jsonObj
|
||||
* fast json
|
||||
* @param bean
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
public static <T> JSONObject beanToJsonObj(T bean) {
|
||||
Object o = JSON.toJSON(bean);
|
||||
return (JSONObject) o;
|
||||
}
|
||||
|
||||
/**
|
||||
* 把一个jsonStr转换成jsonObj
|
||||
* fast json
|
||||
* @param str
|
||||
* @return
|
||||
*/
|
||||
public static JSONObject jsonStrToJsonObj(String str) {
|
||||
Object o = JSON.parseObject(str);
|
||||
return (JSONObject) o;
|
||||
}
|
||||
|
||||
/**
|
||||
* 把一个jsonObj转换成jsonStr
|
||||
* fast json
|
||||
* @param jsonObj
|
||||
* @return
|
||||
*/
|
||||
public static String jsonObjToJsonStr(JSONObject jsonObj) {
|
||||
String s = jsonObj.toJSONString();
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 把一个beanList对象转换成jsonArrStr
|
||||
* fast json
|
||||
* @param beanList
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
public static <T> JSONArray beanListToJsonArrStr(List<T> beanList) {
|
||||
Object o = JSON.toJSON(beanList);
|
||||
return (JSONArray) o;
|
||||
}
|
||||
|
||||
/**
|
||||
* 把一个jsonArrStr转换成beanList对象
|
||||
* fast json
|
||||
* @param jsonArrStr
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
public static <T> List<T> jsonArrStrToBeanList(String jsonArrStr,Class<T> clazz) {
|
||||
List<T> ts = JSON.parseArray(jsonArrStr, clazz);
|
||||
return ts;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 把一个JsonArr转换成JsonArrStr
|
||||
* fast json
|
||||
* @param jsonArr
|
||||
* @return
|
||||
*/
|
||||
public static String jsonArrToJsonArrStr(JSONArray jsonArr) {
|
||||
String s = JSON.toJSONString(jsonArr);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 把一个JsonArrStr文本转换成JsonArr
|
||||
* fast json
|
||||
* @param jsonArrStr
|
||||
* @return
|
||||
*/
|
||||
public static JSONArray jsonArrStrToJsonArr(String jsonArrStr) {
|
||||
Object o = JSON.parse(jsonArrStr);
|
||||
return (JSONArray) o;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 把一个JsonArr转换成beanList
|
||||
* fast json
|
||||
* @param jsonArr
|
||||
* @return
|
||||
*/
|
||||
public static <T> List<T> jsonArrToBeanList(JSONArray jsonArr,Class<T> clazz) {
|
||||
String s = JSON.toJSONString(jsonArr);
|
||||
List<T> ts = JSON.parseArray(s, clazz);
|
||||
return ts;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 把一个beanList文本转换成JsonArr
|
||||
* fast json
|
||||
* @param beanList
|
||||
* @return
|
||||
*/
|
||||
public static <T> JSONArray beanListToJsonArr(List<T> beanList) {
|
||||
Object o = JSON.toJSON(beanList);
|
||||
return (JSONArray) o;
|
||||
}
|
||||
}
|
||||
|
|
@ -22,5 +22,10 @@ public class TypeCodeUtils {
|
|||
*/
|
||||
public final static String SJK_CODE="9000300";
|
||||
|
||||
/**
|
||||
* 塔吊设备
|
||||
*/
|
||||
public final static String TC_CODE="9000400";
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,85 @@
|
|||
package com.bonus.base.screen.controller;
|
||||
|
||||
import com.bonus.base.basic.domain.CollectDevVo;
|
||||
import com.bonus.base.basic.domain.ConstInfoVo;
|
||||
import com.bonus.base.common.utils.TypeCodeUtils;
|
||||
import com.bonus.base.screen.domain.DeviceAlarmVo;
|
||||
import com.bonus.base.screen.domain.ProjectOverviewVo;
|
||||
import com.bonus.base.screen.domain.TowerCraneInfoVo;
|
||||
import com.bonus.base.screen.service.ExcavationDetectionService;
|
||||
import com.bonus.base.screen.service.TowerCraneDetectionService;
|
||||
import com.bonus.common.core.web.controller.BaseController;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 塔吊监测
|
||||
* @author fl
|
||||
* @date 2025/4/18
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/towerCraneDetection")
|
||||
public class TowerCraneDetectionController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private TowerCraneDetectionService service;
|
||||
|
||||
@ApiOperation(value = "塔吊设备列表")
|
||||
@PostMapping("/getConstDeviceList")
|
||||
public AjaxResult getCollectDeviceList(@RequestBody ConstInfoVo constInfoVo) {
|
||||
try {
|
||||
List<ConstInfoVo> collectDevVoList = service.getConstDeviceList(constInfoVo);
|
||||
return success(collectDevVoList);
|
||||
}catch (Exception e){
|
||||
log.error("查询塔吊设备列表失败",e.getMessage());
|
||||
return error("查询塔吊设备列表失败");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "塔吊设备信息")
|
||||
@PostMapping("/getConstDeviceMsgById")
|
||||
public AjaxResult getConstDeviceMsgById(@RequestBody ConstInfoVo constInfoVo) {
|
||||
try {
|
||||
TowerCraneInfoVo vo = service.getConstDeviceMsgById(constInfoVo);
|
||||
return success(vo);
|
||||
}catch (Exception e){
|
||||
log.error("查询塔吊设备信息失败",e.getMessage());
|
||||
return error("查询塔吊设备信息失败");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "塔吊实时运行信息")
|
||||
@PostMapping("/getTowerCraneRunMsgById")
|
||||
public AjaxResult getTowerCraneRunMsgById(@RequestBody ConstInfoVo constInfoVo) {
|
||||
try {
|
||||
return service.getTowerCraneRunMsgById(constInfoVo);
|
||||
}catch (Exception e){
|
||||
log.error("获取塔吊实时运行信息失败",e.getMessage());
|
||||
return error("塔吊实时运行信息失败");
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation(value = "塔吊报警信息")
|
||||
@PostMapping("/getTowerCraneAlarmList")
|
||||
public AjaxResult getTowerCraneAlarmList(@RequestBody ConstInfoVo constInfoVo) {
|
||||
try {
|
||||
List<DeviceAlarmVo> deviceAlarmVoList = service.getTowerCraneAlarmList(constInfoVo);
|
||||
return success(deviceAlarmVoList);
|
||||
}catch (Exception e){
|
||||
log.error("查询塔吊报警信息失败",e.getMessage());
|
||||
return error("查询塔吊报警信息失败");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
package com.bonus.base.screen.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author fly
|
||||
* 塔吊设备信息
|
||||
*/
|
||||
@Data
|
||||
public class TowerCraneInfoVo {
|
||||
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 设备编号
|
||||
*/
|
||||
private String num;
|
||||
/**
|
||||
* 设备厂家
|
||||
*/
|
||||
private String manufacturer;
|
||||
|
||||
/**
|
||||
* 型号规格
|
||||
*/
|
||||
private String model;
|
||||
|
||||
|
||||
/**
|
||||
* 所在班组
|
||||
*/
|
||||
private String team;
|
||||
|
||||
/**
|
||||
* 安装单位
|
||||
*/
|
||||
private String installationUnit;
|
||||
|
||||
/**
|
||||
* 安装时间
|
||||
*/
|
||||
private String installDate;
|
||||
|
||||
/**
|
||||
* 塔高
|
||||
*/
|
||||
private Double towerHeight;
|
||||
/**
|
||||
* 臂长
|
||||
*/
|
||||
private Integer boomLength;
|
||||
|
||||
private String faceMachineNum;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.bonus.base.screen.mapper;
|
||||
|
||||
import com.bonus.base.basic.domain.CollectDevVo;
|
||||
import com.bonus.base.basic.domain.ConstInfoVo;
|
||||
import com.bonus.base.screen.domain.DeviceAlarmVo;
|
||||
import com.bonus.base.screen.domain.MapValueVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface TowerCraneDetectionMapper {
|
||||
/**
|
||||
* 查询塔吊设备列表
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
List<ConstInfoVo> getConstDeviceList(ConstInfoVo constInfoVo);
|
||||
|
||||
/**
|
||||
* 塔吊报警信息
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
List<DeviceAlarmVo> getTowerCraneAlarmList(ConstInfoVo constInfoVo);
|
||||
|
||||
/**
|
||||
* 根据id查询具体塔吊设备信息
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
ConstInfoVo getConstDeviceMsgById(ConstInfoVo constInfoVo);
|
||||
|
||||
/**
|
||||
* 根据id查询具体实时运行信息
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
List<MapValueVo> getTowerCraneRunMsgById(ConstInfoVo constInfoVo);
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.bonus.base.screen.service;
|
||||
|
||||
import com.bonus.base.basic.domain.CollectDevVo;
|
||||
import com.bonus.base.basic.domain.ConstInfoVo;
|
||||
import com.bonus.base.screen.domain.DeviceAlarmVo;
|
||||
import com.bonus.base.screen.domain.ProjectOverviewVo;
|
||||
import com.bonus.base.screen.domain.TowerCraneInfoVo;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface TowerCraneDetectionService {
|
||||
/**
|
||||
* 查询塔吊设备列表
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
List<ConstInfoVo> getConstDeviceList(ConstInfoVo constInfoVo);
|
||||
|
||||
/**
|
||||
* 塔吊报警信息
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
List<DeviceAlarmVo> getTowerCraneAlarmList(ConstInfoVo constInfoVo);
|
||||
|
||||
/**
|
||||
* 根据id查询具体塔吊设备信息
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
TowerCraneInfoVo getConstDeviceMsgById(ConstInfoVo constInfoVo);
|
||||
/**
|
||||
* 根据id查询具体实时运行信息
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
AjaxResult getTowerCraneRunMsgById(ConstInfoVo constInfoVo);
|
||||
}
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package com.bonus.base.screen.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bonus.base.basic.domain.ConstInfoVo;
|
||||
import com.bonus.base.common.utils.JsonHelper;
|
||||
import com.bonus.base.common.utils.TypeCodeUtils;
|
||||
import com.bonus.base.screen.domain.DeviceAlarmVo;
|
||||
import com.bonus.base.screen.domain.MapValueVo;
|
||||
import com.bonus.base.screen.domain.TowerCraneInfoVo;
|
||||
import com.bonus.base.screen.mapper.TowerCraneDetectionMapper;
|
||||
import com.bonus.base.screen.service.TowerCraneDetectionService;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author fl
|
||||
* @date 2025/4/18
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class TowerCraneDetectionServiceImpl implements TowerCraneDetectionService {
|
||||
|
||||
@Resource
|
||||
private TowerCraneDetectionMapper mapper;
|
||||
|
||||
/**
|
||||
* 查询塔吊设备列表
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ConstInfoVo> getConstDeviceList(ConstInfoVo constInfoVo) {
|
||||
//设置查询类型
|
||||
constInfoVo.setTypeCode(TypeCodeUtils.TC_CODE);
|
||||
List<ConstInfoVo> collectDevVoList = mapper.getConstDeviceList(constInfoVo);
|
||||
return collectDevVoList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 塔吊报警信息
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<DeviceAlarmVo> getTowerCraneAlarmList(ConstInfoVo constInfoVo) {
|
||||
List<DeviceAlarmVo> deviceAlarmVoList = mapper.getTowerCraneAlarmList(constInfoVo);
|
||||
return deviceAlarmVoList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询具体塔吊设备信息
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public TowerCraneInfoVo getConstDeviceMsgById(ConstInfoVo constInfoVo) {
|
||||
ConstInfoVo c = mapper.getConstDeviceMsgById(constInfoVo);
|
||||
TowerCraneInfoVo deviceDetail = new TowerCraneInfoVo();
|
||||
if(c != null && c.getConfigData() != null){
|
||||
JSONObject jsonObject = JsonHelper.jsonStrToJsonObj(c.getConfigData());
|
||||
deviceDetail = JsonHelper.jsonObjToBean(jsonObject.getJSONObject("deviceDetail"), TowerCraneInfoVo.class);
|
||||
}
|
||||
return deviceDetail;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询具体实时运行信息
|
||||
* @param constInfoVo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult getTowerCraneRunMsgById(ConstInfoVo constInfoVo) {
|
||||
List<MapValueVo> list = mapper.getTowerCraneRunMsgById(constInfoVo);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -27,98 +27,135 @@ 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,
|
||||
tbc.company_name AS companyName
|
||||
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 tb_branch_company tbc ON bp.company_id = tbc.id
|
||||
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>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?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.bonus.base.screen.mapper.TowerCraneDetectionMapper">
|
||||
|
||||
|
||||
<select id="getConstDeviceList" resultType="com.bonus.base.basic.domain.ConstInfoVo">
|
||||
SELECT
|
||||
tci.id,
|
||||
tci.`name`,
|
||||
tci.`code`,
|
||||
tcd.is_online,
|
||||
tcd.dev_location
|
||||
FROM
|
||||
tb_const_info tci
|
||||
LEFT JOIN tb_collect_device tcd ON tci.id = tcd.const_id
|
||||
WHERE
|
||||
tci.type_code = #{typeCode}
|
||||
</select>
|
||||
|
||||
<select id="getConstDeviceMsgById" resultType="com.bonus.base.basic.domain.ConstInfoVo">
|
||||
SELECT
|
||||
tci.config_data
|
||||
FROM
|
||||
tb_const_info tci
|
||||
WHERE
|
||||
tci.id = #{id}
|
||||
</select>
|
||||
<select id="getTowerCraneRunMsgById" resultType="com.bonus.base.screen.domain.MapValueVo">
|
||||
SELECT
|
||||
tcda.attr_name as `name`,
|
||||
tcda.attr_val as `value`
|
||||
FROM
|
||||
tb_const_info tci
|
||||
LEFT JOIN tb_collect_device tcd ON tci.id = tcd.const_id
|
||||
LEFT JOIN tb_collect_device_attr tcda ON tcda.dev_id = tcd.id
|
||||
WHERE
|
||||
tci.id = #{id}
|
||||
</select>
|
||||
<select id="getTowerCraneAlarmList" resultType="com.bonus.base.screen.domain.DeviceAlarmVo">
|
||||
SELECT
|
||||
tcdh.create_time AS createTime,
|
||||
tcdh.remark AS remark,
|
||||
tcd.dev_name AS devName
|
||||
FROM
|
||||
tb_const_info tci
|
||||
LEFT JOIN tb_collect_device tcd ON tci.id = tcd.const_id
|
||||
LEFT JOIN tb_collect_device_his tcdh ON tcdh.dev_id = tcd.id
|
||||
WHERE
|
||||
tci.type_code = #{typeCode}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -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'
|
||||
|
|
|
|||
Loading…
Reference in New Issue