10-11-项目信息,工程建设
This commit is contained in:
@ -66,21 +66,25 @@ public class XzdProjectBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 计划开工日期
|
* 计划开工日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
private Date plannedStartDate;
|
private Date plannedStartDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计划竣工日期
|
* 计划竣工日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
private Date plannedCompletionDate;
|
private Date plannedCompletionDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实际开工日期
|
* 实际开工日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
private Date actualStartDate;
|
private Date actualStartDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实际竣工日期
|
* 实际竣工日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
private Date actualCompletionDate;
|
private Date actualCompletionDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -263,4 +267,41 @@ public class XzdProjectBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
List<XzdProjectParticipatingUnitsBo> cjdw;
|
List<XzdProjectParticipatingUnitsBo> cjdw;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 国家
|
||||||
|
*/
|
||||||
|
private String gj;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 省份
|
||||||
|
*/
|
||||||
|
private String sheng;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 区县
|
||||||
|
*/
|
||||||
|
private String qx;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目备案经理
|
||||||
|
*/
|
||||||
|
private String xmbajl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页大小
|
||||||
|
*/
|
||||||
|
private Integer pageSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前页数
|
||||||
|
*/
|
||||||
|
private Integer pageNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排序列
|
||||||
|
*/
|
||||||
|
private String orderByColumn;
|
||||||
|
|
||||||
|
private Integer offset;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package org.dromara.xzd.domain.vo;
|
package org.dromara.xzd.domain.vo;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import org.dromara.xzd.domain.XzdProject;
|
import org.dromara.xzd.domain.XzdProject;
|
||||||
@ -61,6 +62,8 @@ public class XzdProjectVo implements Serializable {
|
|||||||
@ExcelProperty(value = "项目类型")
|
@ExcelProperty(value = "项目类型")
|
||||||
private Long projectType;
|
private Long projectType;
|
||||||
|
|
||||||
|
private String projectTypeName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目状态
|
* 项目状态
|
||||||
*/
|
*/
|
||||||
@ -109,12 +112,19 @@ public class XzdProjectVo implements Serializable {
|
|||||||
@ExcelProperty(value = "项目备案经理")
|
@ExcelProperty(value = "项目备案经理")
|
||||||
private Long filingManager;
|
private Long filingManager;
|
||||||
|
|
||||||
|
private String filingManagerName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目执行经理
|
* 项目执行经理
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "项目执行经理")
|
@ExcelProperty(value = "项目执行经理")
|
||||||
private Long managerExecution;
|
private Long managerExecution;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目执行经理名称
|
||||||
|
*/
|
||||||
|
private String managerExecutionName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目责任人
|
* 项目责任人
|
||||||
*/
|
*/
|
||||||
@ -221,25 +231,25 @@ public class XzdProjectVo implements Serializable {
|
|||||||
* 目标中标金额
|
* 目标中标金额
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "目标中标金额")
|
@ExcelProperty(value = "目标中标金额")
|
||||||
private Long targetWinningBidAmount;
|
private BigDecimal targetWinningBidAmount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 目标合同金额
|
* 目标合同金额
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "目标合同金额")
|
@ExcelProperty(value = "目标合同金额")
|
||||||
private Long targetContractAmount;
|
private BigDecimal targetContractAmount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 目标产值金额
|
* 目标产值金额
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "目标产值金额")
|
@ExcelProperty(value = "目标产值金额")
|
||||||
private Long targetOutputValueAmount;
|
private BigDecimal targetOutputValueAmount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 目标收款金额
|
* 目标收款金额
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "目标收款金额")
|
@ExcelProperty(value = "目标收款金额")
|
||||||
private Long targetCollectionAmount;
|
private BigDecimal targetCollectionAmount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件ID
|
* 文件ID
|
||||||
@ -294,4 +304,39 @@ public class XzdProjectVo implements Serializable {
|
|||||||
*/
|
*/
|
||||||
List<XzdProjectParticipatingUnitsVo> cjdw;
|
List<XzdProjectParticipatingUnitsVo> cjdw;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目地址
|
||||||
|
*/
|
||||||
|
private String xmdz;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 国家
|
||||||
|
*/
|
||||||
|
private String gj;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 省
|
||||||
|
*/
|
||||||
|
private String sheng;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 市
|
||||||
|
*/
|
||||||
|
private String cs;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 录入人
|
||||||
|
*/
|
||||||
|
private String lrr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 录入时间
|
||||||
|
*/
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 高度
|
||||||
|
*/
|
||||||
|
private String gd;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,12 @@
|
|||||||
package org.dromara.xzd.mapper;
|
package org.dromara.xzd.mapper;
|
||||||
|
|
||||||
import org.dromara.xzd.domain.XzdProject;
|
import org.dromara.xzd.domain.XzdProject;
|
||||||
|
import org.dromara.xzd.domain.bo.XzdProjectBo;
|
||||||
import org.dromara.xzd.domain.vo.XzdProjectVo;
|
import org.dromara.xzd.domain.vo.XzdProjectVo;
|
||||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
import org.springframework.data.repository.query.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目信息Mapper接口
|
* 项目信息Mapper接口
|
||||||
@ -12,4 +16,6 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
|||||||
*/
|
*/
|
||||||
public interface XzdProjectMapper extends BaseMapperPlus<XzdProject, XzdProjectVo> {
|
public interface XzdProjectMapper extends BaseMapperPlus<XzdProject, XzdProjectVo> {
|
||||||
|
|
||||||
|
List<XzdProjectVo> search(@Param("bo") XzdProjectBo bo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,20 +9,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.system.domain.vo.SysOssVo;
|
||||||
import org.dromara.system.service.impl.SysOssServiceImpl;
|
import org.dromara.system.service.impl.SysOssServiceImpl;
|
||||||
import org.dromara.xzd.domain.*;
|
import org.dromara.xzd.domain.*;
|
||||||
import org.dromara.xzd.domain.bo.*;
|
import org.dromara.xzd.domain.bo.*;
|
||||||
import org.dromara.xzd.domain.vo.XzdProjectAccountingInfoVo;
|
import org.dromara.xzd.domain.vo.*;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.dromara.xzd.domain.vo.XzdProjectVo;
|
|
||||||
import org.dromara.xzd.mapper.XzdProjectMapper;
|
import org.dromara.xzd.mapper.XzdProjectMapper;
|
||||||
import org.dromara.xzd.service.IXzdProjectService;
|
import org.dromara.xzd.service.IXzdProjectService;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Map;
|
import java.util.stream.Collectors;
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目信息Service业务层处理
|
* 项目信息Service业务层处理
|
||||||
@ -53,6 +53,8 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysOssServiceImpl sysOssService;
|
private SysOssServiceImpl sysOssService;
|
||||||
|
@Autowired
|
||||||
|
private XzdProjectTypeServiceImpl xzdProjectTypeService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询项目信息
|
* 查询项目信息
|
||||||
@ -76,9 +78,22 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<XzdProjectVo> queryPageList(XzdProjectBo bo, PageQuery pageQuery) {
|
public TableDataInfo<XzdProjectVo> queryPageList(XzdProjectBo bo, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<XzdProject> lqw = buildQueryWrapper(bo);
|
// LambdaQueryWrapper<XzdProject> lqw = buildQueryWrapper(bo);
|
||||||
Page<XzdProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
// Page<XzdProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
return TableDataInfo.build(result);
|
if(pageQuery.getPageNum() != null && pageQuery.getPageSize() != null) {
|
||||||
|
bo.setPageNum(pageQuery.getPageNum());
|
||||||
|
bo.setPageSize(pageQuery.getPageSize());
|
||||||
|
}else {
|
||||||
|
bo.setPageNum(1);
|
||||||
|
bo.setPageSize(10);
|
||||||
|
}
|
||||||
|
|
||||||
|
int i = (bo.getPageNum() - 1) * bo.getPageSize();
|
||||||
|
bo.setOffset(i);
|
||||||
|
|
||||||
|
List<XzdProjectVo> search = baseMapper.search(bo);
|
||||||
|
|
||||||
|
return TableDataInfo.build(search);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -212,11 +227,168 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
* @param bo 项目信息
|
* @param bo 项目信息
|
||||||
* @return 是否修改成功
|
* @return 是否修改成功
|
||||||
*/
|
*/
|
||||||
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public Boolean updateByBo(XzdProjectBo bo) {
|
public Boolean updateByBo(XzdProjectBo bo) {
|
||||||
|
|
||||||
|
XzdProjectVo oldValue = baseMapper.selectVoById(bo.getId());
|
||||||
|
|
||||||
XzdProject update = MapstructUtils.convert(bo, XzdProject.class);
|
XzdProject update = MapstructUtils.convert(bo, XzdProject.class);
|
||||||
validEntityBeforeSave(update);
|
validEntityBeforeSave(update);
|
||||||
return baseMapper.updateById(update) > 0;
|
boolean b = baseMapper.updateById(update) > 0;
|
||||||
|
if (!b){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//项目概况处理
|
||||||
|
if (bo.getXmgk() != null){
|
||||||
|
xzdProjectProfileService.updateByBo(bo.getXmgk());
|
||||||
|
}
|
||||||
|
|
||||||
|
//项目人员处理
|
||||||
|
//项目人员处理 - 更精确的更新方式
|
||||||
|
if (bo.getXmry() != null && !bo.getXmry().isEmpty()){
|
||||||
|
// 获取原有记录
|
||||||
|
LambdaQueryWrapper<XzdProjectPersonnel> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(XzdProjectPersonnel::getXzdProjectId, bo.getId());
|
||||||
|
List<XzdProjectPersonnel> existingPersonnel = xzdProjectPersonnelService.list(queryWrapper);
|
||||||
|
|
||||||
|
// 提取现有ID集合
|
||||||
|
Set<Long> existingIds = existingPersonnel.stream()
|
||||||
|
.map(XzdProjectPersonnel::getId)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
// 处理新的或更新的记录
|
||||||
|
Set<Long> processedIds = new HashSet<>();
|
||||||
|
for (XzdProjectPersonnelBo personnelBo : bo.getXmry()) {
|
||||||
|
personnelBo.setXzdProjectId(update.getId());
|
||||||
|
if (personnelBo.getId() != null && existingIds.contains(personnelBo.getId())) {
|
||||||
|
// 更新已有记录
|
||||||
|
xzdProjectPersonnelService.updateByBo(personnelBo);
|
||||||
|
processedIds.add(personnelBo.getId());
|
||||||
|
} else {
|
||||||
|
// 新增记录
|
||||||
|
personnelBo.setId(null); // 确保是新增而不是更新
|
||||||
|
xzdProjectPersonnelService.insertByBo(personnelBo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除未被处理的旧记录
|
||||||
|
existingIds.removeAll(processedIds);
|
||||||
|
if (!existingIds.isEmpty()) {
|
||||||
|
xzdProjectPersonnelService.removeBatchByIds(existingIds);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// if (bo.getXmry() != null && !bo.getXmry().isEmpty()){
|
||||||
|
// //删除后再新增
|
||||||
|
// xzdProjectPersonnelService.removeBatchByIds(oldValue.getXmry());
|
||||||
|
// for (XzdProjectPersonnelBo personnelBo : bo.getXmry()) {
|
||||||
|
// personnelBo.setXzdProjectId(update.getId());
|
||||||
|
// xzdProjectPersonnelService.insertByBo(personnelBo);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
//税务信息处理
|
||||||
|
if (bo.getSwxx() != null){
|
||||||
|
xzdProjectTaxInfoService.updateByBo(bo.getSwxx());
|
||||||
|
}
|
||||||
|
|
||||||
|
//核算信息
|
||||||
|
if (bo.getHsxx() != null){
|
||||||
|
xzdProjectAccountingInfoService.updateByBo(bo.getHsxx());
|
||||||
|
}
|
||||||
|
|
||||||
|
// //仓库信息
|
||||||
|
// if (bo.getXmck() != null && !bo.getXmck().isEmpty()){
|
||||||
|
// xzdProjectWarehousesService.removeBatchByIds(oldValue.getXmck());
|
||||||
|
// for (XzdProjectWarehousesBo warehousesBo : bo.getXmck()) {
|
||||||
|
// warehousesBo.setXzdProjectId(update.getId());
|
||||||
|
// xzdProjectWarehousesService.insertByBo(warehousesBo);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //内部账户信息
|
||||||
|
// if (bo.getNbzj() != null && !bo.getNbzj().isEmpty()){
|
||||||
|
// xzdProjectInternalAccountsService.removeBatchByIds(oldValue.getNbzj());
|
||||||
|
// for (XzdProjectInternalAccountsBo internalAccountsBo : bo.getNbzj()) {
|
||||||
|
// internalAccountsBo.setXzdProjectId(update.getId());
|
||||||
|
// xzdProjectInternalAccountsService.insertByBo(internalAccountsBo);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //参与单位信息
|
||||||
|
// if (bo.getCjdw() != null && !bo.getCjdw().isEmpty()){
|
||||||
|
// xzdProjectParticipatingUnitsService.removeBatchByIds(oldValue.getCjdw());
|
||||||
|
// for (XzdProjectParticipatingUnitsBo participatingUnitsBo : bo.getCjdw()) {
|
||||||
|
// participatingUnitsBo.setXzdProjectId(update.getId());
|
||||||
|
// xzdProjectParticipatingUnitsService.insertByBo(participatingUnitsBo);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
//仓库信息
|
||||||
|
if (bo.getXmck() != null && !bo.getXmck().isEmpty()){
|
||||||
|
// 获取原有记录的ID列表
|
||||||
|
List<Long> oldWarehouseIds = oldValue.getXmck().stream()
|
||||||
|
.map(XzdProjectWarehousesVo::getId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 删除原有记录
|
||||||
|
if (!oldWarehouseIds.isEmpty()) {
|
||||||
|
xzdProjectWarehousesService.removeBatchByIds(oldWarehouseIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 插入新记录
|
||||||
|
for (XzdProjectWarehousesBo warehousesBo : bo.getXmck()) {
|
||||||
|
warehousesBo.setId(null); // 清除ID避免主键冲突
|
||||||
|
warehousesBo.setXzdProjectId(update.getId());
|
||||||
|
xzdProjectWarehousesService.insertByBo(warehousesBo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//内部账户信息
|
||||||
|
if (bo.getNbzj() != null && !bo.getNbzj().isEmpty()){
|
||||||
|
// 获取原有记录的ID列表
|
||||||
|
List<Long> oldAccountIds = oldValue.getNbzj().stream()
|
||||||
|
.map(XzdProjectInternalAccountsVo::getId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 删除原有记录
|
||||||
|
if (!oldAccountIds.isEmpty()) {
|
||||||
|
xzdProjectInternalAccountsService.removeBatchByIds(oldAccountIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 插入新记录
|
||||||
|
for (XzdProjectInternalAccountsBo internalAccountsBo : bo.getNbzj()) {
|
||||||
|
internalAccountsBo.setId(null); // 清除ID避免主键冲突
|
||||||
|
internalAccountsBo.setXzdProjectId(update.getId());
|
||||||
|
xzdProjectInternalAccountsService.insertByBo(internalAccountsBo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//参与单位信息
|
||||||
|
if (bo.getCjdw() != null && !bo.getCjdw().isEmpty()){
|
||||||
|
// 获取原有记录的ID列表
|
||||||
|
List<Long> oldUnitIds = oldValue.getCjdw().stream()
|
||||||
|
.map(XzdProjectParticipatingUnitsVo::getId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 删除原有记录
|
||||||
|
if (!oldUnitIds.isEmpty()) {
|
||||||
|
xzdProjectParticipatingUnitsService.removeBatchByIds(oldUnitIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 插入新记录
|
||||||
|
for (XzdProjectParticipatingUnitsBo participatingUnitsBo : bo.getCjdw()) {
|
||||||
|
participatingUnitsBo.setId(null); // 清除ID避免主键冲突
|
||||||
|
participatingUnitsBo.setXzdProjectId(update.getId());
|
||||||
|
xzdProjectParticipatingUnitsService.insertByBo(participatingUnitsBo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -238,6 +410,51 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
if(isValid){
|
if(isValid){
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (Long id : ids) {
|
||||||
|
//项目概况
|
||||||
|
LambdaQueryWrapper<XzdProjectProfile> profileLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
profileLambdaQueryWrapper.eq(XzdProjectProfile::getXzdProjectId, id);
|
||||||
|
xzdProjectProfileService.remove(profileLambdaQueryWrapper);
|
||||||
|
|
||||||
|
//项目人员
|
||||||
|
LambdaQueryWrapper<XzdProjectPersonnel> personnelLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
personnelLambdaQueryWrapper.eq(XzdProjectPersonnel::getXzdProjectId, id);
|
||||||
|
List<XzdProjectPersonnel> list = xzdProjectPersonnelService.list(personnelLambdaQueryWrapper);
|
||||||
|
for (XzdProjectPersonnel xzdProjectPersonnel : list) {
|
||||||
|
if (xzdProjectPersonnel.getFileId() != null){
|
||||||
|
sysOssService.deleteWithValidByIds(List.of(Long.valueOf(xzdProjectPersonnel.getFileId())), false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xzdProjectPersonnelService.remove(personnelLambdaQueryWrapper);
|
||||||
|
|
||||||
|
//税务信息
|
||||||
|
LambdaQueryWrapper<XzdProjectTaxInfo> taxInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
taxInfoLambdaQueryWrapper.eq(XzdProjectTaxInfo::getXzdProjectId, id);
|
||||||
|
xzdProjectTaxInfoService.remove(taxInfoLambdaQueryWrapper);
|
||||||
|
|
||||||
|
//核算信息
|
||||||
|
LambdaQueryWrapper<XzdProjectAccountingInfo> accountingInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
accountingInfoLambdaQueryWrapper.eq(XzdProjectAccountingInfo::getXzdProjectId, id);
|
||||||
|
xzdProjectAccountingInfoService.remove(accountingInfoLambdaQueryWrapper);
|
||||||
|
|
||||||
|
//仓库信息
|
||||||
|
LambdaQueryWrapper<XzdProjectWarehouses> warehousesLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
warehousesLambdaQueryWrapper.eq(XzdProjectWarehouses::getXzdProjectId, id);
|
||||||
|
xzdProjectWarehousesService.remove(warehousesLambdaQueryWrapper);
|
||||||
|
|
||||||
|
//内部账户信息
|
||||||
|
LambdaQueryWrapper<XzdProjectInternalAccounts> internalAccountsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
internalAccountsLambdaQueryWrapper.eq(XzdProjectInternalAccounts::getXzdProjectId, id);
|
||||||
|
xzdProjectInternalAccountsService.remove(internalAccountsLambdaQueryWrapper);
|
||||||
|
|
||||||
|
//参与单位信息
|
||||||
|
LambdaQueryWrapper<XzdProjectParticipatingUnits> participatingUnitsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
participatingUnitsLambdaQueryWrapper.eq(XzdProjectParticipatingUnits::getXzdProjectId, id);
|
||||||
|
xzdProjectParticipatingUnitsService.remove(participatingUnitsLambdaQueryWrapper);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return baseMapper.deleteByIds(ids) > 0;
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -278,6 +495,13 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
participatingUnitsLambdaQueryWrapper.eq(XzdProjectParticipatingUnits::getXzdProjectId, entity.getId());
|
participatingUnitsLambdaQueryWrapper.eq(XzdProjectParticipatingUnits::getXzdProjectId, entity.getId());
|
||||||
entity.setCjdw(xzdProjectParticipatingUnitsService.getBaseMapper().selectVoList(participatingUnitsLambdaQueryWrapper));
|
entity.setCjdw(xzdProjectParticipatingUnitsService.getBaseMapper().selectVoList(participatingUnitsLambdaQueryWrapper));
|
||||||
|
|
||||||
|
//项目类型
|
||||||
|
if (entity.getProjectType() != null){
|
||||||
|
XzdProjectTypeVo xzdProjectTypeVo = xzdProjectTypeService.queryById(entity.getProjectType());
|
||||||
|
if (xzdProjectTypeVo != null){
|
||||||
|
entity.setProjectTypeName(xzdProjectTypeVo.getTypeName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,36 +4,86 @@
|
|||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="org.dromara.xzd.mapper.XzdProjectMapper">
|
<mapper namespace="org.dromara.xzd.mapper.XzdProjectMapper">
|
||||||
|
|
||||||
<select id="search" resultType="org.dromara.xzd.domain.vo.XzdProjectInfoVo">
|
<select id="search" resultType="org.dromara.xzd.domain.vo.XzdProjectVo">
|
||||||
SELECT
|
SELECT
|
||||||
project.project_number as xmbh,
|
project.id,
|
||||||
project.project_name as xmmc,
|
project.project_attribute as projectAttribute,
|
||||||
project.file_id as fj,
|
project.project_number as projectNumber,
|
||||||
project.audit_status as shbz,
|
project.project_name as projectName,
|
||||||
project.project_abbreviation as xmjc,
|
project.file_id as fileId,
|
||||||
project.project_status as xmzt,
|
project.audit_status as auditStatus,
|
||||||
project.project_type as xmlx,
|
project.project_abbreviation as projectAbbreviation,
|
||||||
profile.contract_amount as htje,
|
project.project_status as projectStatus,
|
||||||
project.planned_start_date as jhkgrq,
|
type.type_name as projectTypeName,
|
||||||
project.planned_completion_date as jhjgrq,
|
profile.contract_amount as targetContractAmount,
|
||||||
project.actual_start_date as sjkgrq,
|
project.planned_start_date as plannedStartDate,
|
||||||
project.actual_completion_date as sjjgrq,
|
project.planned_completion_date as plannedCompletionDate,
|
||||||
user.nick_name as xmzxjl,
|
project.actual_start_date as actualStartDate,
|
||||||
user2.nick_name as xmbajl,
|
project.actual_completion_date as actualCompletionDate,
|
||||||
|
user.nick_name as managerExecutionName,
|
||||||
|
user2.nick_name as filingManagerName,
|
||||||
profile.project_address as xmdz,
|
profile.project_address as xmdz,
|
||||||
project.management_organization as glzz,
|
project.management_organization as managementOrganization,
|
||||||
project.construction_unit as jsdw,
|
project.construction_unit as constructionUnit,
|
||||||
profile.country as gj,
|
profile.country as gj,
|
||||||
profile.province as sheng,
|
profile.province as sheng,
|
||||||
profile.city as cs,
|
profile.city as cs,
|
||||||
project
|
user3.nick_name as lrr,
|
||||||
|
project.create_time as createTime,
|
||||||
|
profile.height as gd,
|
||||||
|
project.contracting_method as contractingMethod,
|
||||||
|
project.manager_execution_phone as managerExecutionPhone,
|
||||||
|
project.gov_filing_project_name as govFilingProjectName,
|
||||||
|
project.business_model as businessModel
|
||||||
|
|
||||||
FROM xzd_project as project
|
FROM xzd_project as project
|
||||||
|
|
||||||
LEFT JOIN xzd_project_profile as profile ON project.id = profile.xzd_project_id
|
LEFT JOIN xzd_project_profile as profile ON project.id = profile.xzd_project_id
|
||||||
LEFT JOIN sys_user as user ON project.manager_execution = user.user_id
|
LEFT JOIN sys_user as user ON project.manager_execution = user.user_id
|
||||||
LEFT JOIN sys_user as user2 ON project.filing_manager = user2.user_id
|
LEFT JOIN sys_user as user2 ON project.filing_manager = user2.user_id
|
||||||
# LEFT JOIN sys_user as user3 ON project.project_manager = user3.user_id
|
LEFT JOIN sys_user as user3 ON project.create_by = user3.user_id
|
||||||
|
LEFT JOIN xzd_project_type as type ON project.project_type = type.id
|
||||||
|
|
||||||
|
<where>
|
||||||
|
|
||||||
|
<if test='projectNumber != null and projectNumber != ""'>
|
||||||
|
AND project.project_number LIKE CONCAT('%',#{projectNumber},'%')
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test='projectName != null and projectName != ""'>
|
||||||
|
AND project.project_name LIKE CONCAT('%',#{projectName},'%')
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test='managementOrganization != null and managementOrganization != ""'>
|
||||||
|
AND project.management_organization = #{managementOrganization}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test='constructionUnit != null and constructionUnit != ""'>
|
||||||
|
AND project.construction_unit = #{constructionUnit}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test='gj != null and gj != ""'>
|
||||||
|
AND profile.country = #{gj}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test='sheng != null and sheng != ""'>
|
||||||
|
AND profile.province = #{sheng}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test='qx != null and qx != ""'>
|
||||||
|
AND profile.district = #{qx}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test='xmbajl != null and xmbajl != ""'>
|
||||||
|
AND user2.nick_name = #{xmbajl}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
</where>
|
||||||
|
|
||||||
|
<if test='pageNum != null and pageSize != null'>
|
||||||
|
LIMIT #{pageSize} OFFSET #{offset}
|
||||||
|
</if>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user