修改成本预算模块接口

This commit is contained in:
2025-11-11 15:53:33 +08:00
parent be7576f8ea
commit 7321db3419
16 changed files with 119 additions and 89 deletions

View File

@ -0,0 +1,5 @@
package org.dromara.common.core.service;
public interface XzdCbysZjhcbService {
String selectNmaeByIds(String ids);
}

View File

@ -0,0 +1,6 @@
package org.dromara.common.core.service;
public interface XzdProjectManagerApprovalService {
String selectNmaeByIds(String ids);
}

View File

@ -44,10 +44,6 @@ public interface TransConstant {
String XZD_KHXX_ID_TO_NAME = "khxx_id_to_name";
// /**
// * 供应商id转名称
// */
// String XZD_KHXX_ID_TO_NAME = "gysxx_id_to_name";
/**
* 新中大项目id转名称
@ -69,4 +65,16 @@ public interface TransConstant {
* 新中大供应商信息-开户银行id转银行名称
*/
String XZD_SUPPLIER_OPEN_BANK_ID_TO_NAME = "xzd_supplier_open_bank_id_to_name";
/**
* 新中大-项目经理推荐及审批id转名称
*/
String XZD_PROJECT_MANAGER_APPROVAL_ID_TO_NAME = "xzd_project_manager_approval_id_to_name";
/**
* 新中大-立项及成本-成本预算-总体计划成本id转名称
*/
String XZD_CBYS_ZJHCB_ID_TO_NAME = "xzd_cbys_zjhcb_id_to_name";
}

View File

@ -1,23 +1,23 @@
package org.dromara.common.translation.core.impl;
import lombok.AllArgsConstructor;
import org.dromara.common.core.service.XzdSupplierInfoService;
import org.dromara.common.core.service.XzdCbysZjhcbService;
import org.dromara.common.core.service.XzdProjectManagerApprovalService;
import org.dromara.common.translation.annotation.TranslationType;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.common.translation.core.TranslationInterface;
@AllArgsConstructor
//@TranslationType(type = TransConstant.XZD_KHXX_ID_TO_NAME)
public class XzdSupplierInfoImpl implements TranslationInterface<String> {
private final XzdSupplierInfoService xzdSupplierInfoService;
@TranslationType(type = TransConstant.XZD_CBYS_ZJHCB_ID_TO_NAME)
public class XzdCbysZjhcbImpl implements TranslationInterface<String> {
private final XzdCbysZjhcbService xzdCbysZjhcbService;
@Override
public String translation(Object key, String other) {
if (key instanceof String ids) {
return xzdSupplierInfoService.selectNmaeByIds(ids);
return xzdCbysZjhcbService.selectNmaeByIds(ids);
} else if (key instanceof Long id) {
return xzdSupplierInfoService.selectNmaeByIds(id.toString());
return xzdCbysZjhcbService.selectNmaeByIds(id.toString());
}
return null;
}

View File

@ -0,0 +1,23 @@
package org.dromara.common.translation.core.impl;
import lombok.AllArgsConstructor;
import org.dromara.common.core.service.XzdProjectManagerApprovalService;
import org.dromara.common.translation.annotation.TranslationType;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.common.translation.core.TranslationInterface;
@AllArgsConstructor
@TranslationType(type = TransConstant.XZD_PROJECT_MANAGER_APPROVAL_ID_TO_NAME)
public class XzdProjectManagerApprovalImpl implements TranslationInterface<String> {
private final XzdProjectManagerApprovalService xzdProjectManagerApprovalService;
@Override
public String translation(Object key, String other) {
if (key instanceof String ids) {
return xzdProjectManagerApprovalService.selectNmaeByIds(ids);
} else if (key instanceof Long id) {
return xzdProjectManagerApprovalService.selectNmaeByIds(id.toString());
}
return null;
}
}

View File

@ -8,7 +8,8 @@ org.dromara.common.translation.core.impl.ProjectNameTranslationImpl
org.dromara.common.translation.core.impl.XzdCustomerinformationImpl
org.dromara.common.translation.core.impl.XzdProjectImpl
org.dromara.common.translation.core.impl.XzdPurchaseContractInformationImpl
org.dromara.common.translation.core.impl.XzdSupplierInfoImpl
org.dromara.common.translation.core.impl.XzdJsCgJungonImpl
org.dromara.common.translation.core.impl.XzdCsContractInformationImpl
org.dromara.common.translation.core.impl.XzdSupplierOpenBankImpl
org.dromara.common.translation.core.impl.XzdProjectManagerApprovalImpl
org.dromara.common.translation.core.impl.XzdCbysZjhcbImpl

View File

@ -293,11 +293,13 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
}
contractSuspendZfkxService.saveBatch(bo.getZftk());
if (bo.getSealInfo() != null && !bo.getSealInfo().isEmpty()) {
for (XzdBusinessChange xzdBusinessChange : bo.getSealInfo()) {
xzdBusinessChange.setContractChangeId(update.getId());
xzdBusinessChange.setType("11");
}
xzdBusinessChangeService.saveBatch(bo.getSealInfo());
}
//合同变更清单
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId()));

View File

@ -1,6 +1,9 @@
package org.dromara.xzd.costProjectApproval.costBudget.domain.vo;
import java.math.BigDecimal;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysJdcbfj;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -68,6 +71,7 @@ public class XzdCbysJdcbfjVo implements Serializable {
*/
@ExcelProperty(value = "工程项目")
private Long projectId;
@Translation(type = TransConstant.XZD_PROJECT_ID_TO_NAME, mapper = "projectId")
private String projectName;
/**
@ -82,6 +86,7 @@ public class XzdCbysJdcbfjVo implements Serializable {
@ExcelProperty(value = "总体计划成本", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "带=*,必填")
private Long totalPlanCost;
@Translation(type = TransConstant.XZD_CBYS_ZJHCB_ID_TO_NAME, mapper = "totalPlanCost")
private String totalPlanCostName;
/**
@ -89,6 +94,7 @@ public class XzdCbysJdcbfjVo implements Serializable {
*/
@ExcelProperty(value = "项目责任人")
private Long projectLeader;
@Translation(type = TransConstant.XZD_PROJECT_MANAGER_APPROVAL_ID_TO_NAME, mapper = "projectLeader")
private String projectLeaderName;
/**

View File

@ -125,7 +125,7 @@ public class XzdCbysZjhcbAlterationVo implements Serializable {
* 执行项目经理名称
*/
@ExcelProperty(value = "执行项目经理名称")
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "execProjectManager")
@Translation(type = TransConstant.XZD_PROJECT_MANAGER_APPROVAL_ID_TO_NAME, mapper = "execProjectManager")
private String execProjectManagerName;
/**

View File

@ -2,6 +2,8 @@ package org.dromara.xzd.costProjectApproval.costBudget.domain.vo;
import java.math.BigDecimal;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.costProjectApproval.costBudget.domain.*;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -69,6 +71,7 @@ public class XzdCbysZjhcbVo implements Serializable {
@ExcelProperty(value = "工程项目", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "带=*,必填")
private Long projectId;
@Translation(type = TransConstant.XZD_PROJECT_ID_TO_NAME, mapper = "projectId")
private String projectName;
/**
@ -101,6 +104,7 @@ public class XzdCbysZjhcbVo implements Serializable {
*/
@ExcelProperty(value = "项目责任人")
private Long projectLeader;
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "projectLeader")
private String projectLeaderName;
/**
@ -108,6 +112,7 @@ public class XzdCbysZjhcbVo implements Serializable {
*/
@ExcelProperty(value = "执行项目经理")
private Long execProjectManager;
@Translation(type = TransConstant.XZD_PROJECT_MANAGER_APPROVAL_ID_TO_NAME, mapper = "execProjectManager")
private String execProjectManagerName;
/**

View File

@ -65,7 +65,6 @@ public class XzdCbysJdcbfjServiceImpl extends ServiceImpl<XzdCbysJdcbfjMapper, X
public XzdCbysJdcbfjVo queryById(Long id){
XzdCbysJdcbfjVo vo = baseMapper.selectVoById(id);
vo.setYearStr(String.valueOf(vo.getYear()));
getName(vo);
getHttk(vo);
return vo;
}
@ -81,7 +80,6 @@ public class XzdCbysJdcbfjServiceImpl extends ServiceImpl<XzdCbysJdcbfjMapper, X
public TableDataInfo<XzdCbysJdcbfjVo> queryPageList(XzdCbysJdcbfjBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdCbysJdcbfj> lqw = buildQueryWrapper(bo);
Page<XzdCbysJdcbfjVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
result.getRecords().forEach(this::getName);
return TableDataInfo.build(result);
}
@ -94,9 +92,7 @@ public class XzdCbysJdcbfjServiceImpl extends ServiceImpl<XzdCbysJdcbfjMapper, X
@Override
public List<XzdCbysJdcbfjVo> queryList(XzdCbysJdcbfjBo bo) {
LambdaQueryWrapper<XzdCbysJdcbfj> lqw = buildQueryWrapper(bo);
List<XzdCbysJdcbfjVo> vos = baseMapper.selectVoList(lqw);
vos.forEach(this::getName);
return vos;
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdCbysJdcbfj> buildQueryWrapper(XzdCbysJdcbfjBo bo) {
@ -209,32 +205,6 @@ public class XzdCbysJdcbfjServiceImpl extends ServiceImpl<XzdCbysJdcbfjMapper, X
return baseMapper.deleteByIds(ids) > 0;
}
/**
* 获取部分字段名称
* @param item
*/
private void getName(XzdCbysJdcbfjVo item) {
//项目名称
if (item.getProjectId() != null){
String projectName = xzdProjectService.queryNameById(item.getProjectId());
if (projectName != null){
item.setProjectName(projectName);
}
}
if (item.getProjectLeader() != null){
String name = sysUserService.queryNameById(item.getProjectLeader());
if (name != null){
item.setProjectLeaderName(name);
}
}
if (item.getTotalPlanCost() != null){
String name = xzdCbysZjhcbService.queryNameById(item.getTotalPlanCost());
if (name != null){
item.setTotalPlanCostName(name);
}
}
}
/**
* 获取扣款与奖励项

View File

@ -32,6 +32,7 @@ import org.dromara.xzd.costProjectApproval.costBudget.domain.vo.XzdCbysWgcbtbVo;
import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtb;
import org.dromara.xzd.costProjectApproval.costBudget.mapper.XzdCbysWgcbtbMapper;
import org.dromara.xzd.costProjectApproval.costBudget.service.IXzdCbysWgcbtbService;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
@ -150,6 +151,7 @@ public class XzdCbysWgcbtbServiceImpl extends ServiceImpl<XzdCbysWgcbtbMapper, X
* @return 是否新增成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(XzdCbysWgcbtbBo bo) {
XzdCbysWgcbtb add = MapstructUtils.convert(bo, XzdCbysWgcbtb.class);
validEntityBeforeSave(add);
@ -174,6 +176,7 @@ public class XzdCbysWgcbtbServiceImpl extends ServiceImpl<XzdCbysWgcbtbMapper, X
* @return 是否修改成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateByBo(XzdCbysWgcbtbBo bo) {
XzdCbysWgcbtb update = MapstructUtils.convert(bo, XzdCbysWgcbtb.class);
validEntityBeforeSave(update);
@ -205,6 +208,7 @@ public class XzdCbysWgcbtbServiceImpl extends ServiceImpl<XzdCbysWgcbtbMapper, X
* @return 是否删除成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验

View File

@ -167,7 +167,7 @@ public class XzdCbysZjhcbAlterationServiceImpl extends ServiceImpl<XzdCbysZjhcbA
public Boolean insertByBo(XzdCbysZjhcbAlterationBo bo) {
XzdCbysZjhcbAlteration add = MapstructUtils.convert(bo, XzdCbysZjhcbAlteration.class);
validEntityBeforeSave(add);
String banBen = BatchNumberGenerator.generateBatchNumber("WGCBTB-");
String banBen = BatchNumberGenerator.generateBatchNumber("ZTJHCBBG-");
add.setDocCode(banBen);
boolean flag = baseMapper.insert(add) > 0;
if (bo.getXzdCbysSscb() == null || bo.getXzdCbysSscb().isEmpty()) {

View File

@ -1,12 +1,16 @@
package org.dromara.xzd.costProjectApproval.costBudget.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.service.XzdCbysZjhcbService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
@ -19,6 +23,7 @@ import org.dromara.system.service.ISysUserService;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.costProjectApproval.costBudget.domain.*;
import org.dromara.xzd.costProjectApproval.costBudget.service.*;
import org.dromara.xzd.domain.vo.XzdProjectManagerApprovalVo;
import org.dromara.xzd.service.impl.XzdProjectServiceImpl;
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo;
@ -40,7 +45,7 @@ import java.util.*;
@Slf4j
@RequiredArgsConstructor
@Service
public class XzdCbysZjhcbServiceImpl extends ServiceImpl<XzdCbysZjhcbMapper, XzdCbysZjhcb> implements IXzdCbysZjhcbService {
public class XzdCbysZjhcbServiceImpl extends ServiceImpl<XzdCbysZjhcbMapper, XzdCbysZjhcb> implements IXzdCbysZjhcbService, XzdCbysZjhcbService {
private final XzdCbysZjhcbMapper baseMapper;
@ -52,10 +57,6 @@ public class XzdCbysZjhcbServiceImpl extends ServiceImpl<XzdCbysZjhcbMapper, Xzd
private IXzdCbysZjhcbFubiaoService fubiaoService;
@Autowired
private SysOssServiceImpl sysOssService;
@Autowired
private XzdProjectServiceImpl xzdProjectService;
@Autowired
private ISysUserService sysUserService;
/**
* 查询立项及成本-成本预算-总体计划成本
@ -66,7 +67,6 @@ public class XzdCbysZjhcbServiceImpl extends ServiceImpl<XzdCbysZjhcbMapper, Xzd
@Override
public XzdCbysZjhcbVo queryById(Long id){
XzdCbysZjhcbVo vo = baseMapper.selectVoById(id);
getName(vo);
getHttk(vo);
return vo;
}
@ -82,7 +82,6 @@ public class XzdCbysZjhcbServiceImpl extends ServiceImpl<XzdCbysZjhcbMapper, Xzd
public TableDataInfo<XzdCbysZjhcbVo> queryPageList(XzdCbysZjhcbBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdCbysZjhcb> lqw = buildQueryWrapper(bo);
Page<XzdCbysZjhcbVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
result.getRecords().forEach(this::getName);
return TableDataInfo.build(result);
}
@ -95,9 +94,7 @@ public class XzdCbysZjhcbServiceImpl extends ServiceImpl<XzdCbysZjhcbMapper, Xzd
@Override
public List<XzdCbysZjhcbVo> queryList(XzdCbysZjhcbBo bo) {
LambdaQueryWrapper<XzdCbysZjhcb> lqw = buildQueryWrapper(bo);
List<XzdCbysZjhcbVo> vos = baseMapper.selectVoList(lqw);
vos.forEach(this::getName);
return vos;
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdCbysZjhcb> buildQueryWrapper(XzdCbysZjhcbBo bo) {
@ -245,32 +242,7 @@ public class XzdCbysZjhcbServiceImpl extends ServiceImpl<XzdCbysZjhcbMapper, Xzd
}
/**
* 获取部分字段名称
* @param item
*/
private void getName(XzdCbysZjhcbVo item) {
//项目名称
if (item.getProjectId() != null){
String projectName = xzdProjectService.queryNameById(item.getProjectId());
if (projectName != null){
item.setProjectName(projectName);
}
}
if (item.getProjectLeader() != null){
String name = sysUserService.queryNameById(item.getProjectLeader());
if (name != null){
item.setProjectLeaderName(name);
}
}
if (item.getExecProjectManager() != null){
String name = sysUserService.queryNameById(item.getExecProjectManager());
if (name != null){
item.setExecProjectManagerName(name);
}
}
}
/**
* 获取扣款与奖励项
@ -330,4 +302,16 @@ public class XzdCbysZjhcbServiceImpl extends ServiceImpl<XzdCbysZjhcbMapper, Xzd
public void processDeletePlansHandlerEquipmentList(ProcessDeleteEvent processDeleteEvent) {
log.info("立项及成本-成本预算-总体计划成本计划删除流程事件,技术标准文件审核任务执行了{}", processDeleteEvent.toString());
}
@Override
public String selectNmaeByIds(String ids) {
List<String> list = new ArrayList<>();
for (Long id : StringUtils.splitTo(ids, Convert::toLong)) {
XzdCbysZjhcbVo vo = SpringUtils.getAopProxy(this).getBaseMapper().selectVoById(id);
if (ObjectUtil.isNotNull(vo)) {
list.add(vo.getDocTitle());
}
}
return String.join(StringUtils.SEPARATOR, list);
}
}

View File

@ -1,6 +1,8 @@
package org.dromara.xzd.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -10,7 +12,9 @@ import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent;
import org.dromara.common.core.service.XzdProjectManagerApprovalService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -19,6 +23,7 @@ import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
import org.dromara.xzd.domain.bo.XzdProjectManagerApprovalBo;
import org.dromara.xzd.domain.vo.XzdProjectManagerApprovalVo;
import org.dromara.xzd.domain.vo.XzdProjectVo;
import org.dromara.xzd.mapper.XzdProjectManagerApprovalMapper;
import org.dromara.xzd.service.IXzdProjectManagerApprovalService;
import org.springframework.beans.factory.annotation.Autowired;
@ -26,10 +31,7 @@ import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 项目经理推荐及审批Service业务层处理
@ -40,7 +42,7 @@ import java.util.Map;
@RequiredArgsConstructor
@Service
@Slf4j
public class XzdProjectManagerApprovalServiceImpl extends ServiceImpl<XzdProjectManagerApprovalMapper, XzdProjectManagerApproval> implements IXzdProjectManagerApprovalService {
public class XzdProjectManagerApprovalServiceImpl extends ServiceImpl<XzdProjectManagerApprovalMapper, XzdProjectManagerApproval> implements IXzdProjectManagerApprovalService, XzdProjectManagerApprovalService {
private final XzdProjectManagerApprovalMapper baseMapper;
@ -236,4 +238,15 @@ public class XzdProjectManagerApprovalServiceImpl extends ServiceImpl<XzdProject
log.info("项目经理推荐及审批计划删除流程事件{}", processDeleteEvent.toString());
}
@Override
public String selectNmaeByIds(String ids) {
List<String> list = new ArrayList<>();
for (Long id : StringUtils.splitTo(ids, Convert::toLong)) {
XzdProjectManagerApprovalVo vo = SpringUtils.getAopProxy(this).getBaseMapper().selectVoById(id);
if (ObjectUtil.isNotNull(vo)) {
list.add(vo.getProspectiveManagerName());
}
}
return String.join(StringUtils.SEPARATOR, list);
}
}

View File

@ -15,6 +15,9 @@
project.project_number as projectNumber,
project.project_name as projectName,
project.file_id as fileId,
project.filing_manager as filingManager,
project.manager_execution as managerExecution,
project.manager_responsible as managerResponsible,
project.audit_status as auditStatus,
project.project_abbreviation as projectAbbreviation,
project.project_status as projectStatus,