11-07-修改,添加合同状态

This commit is contained in:
2025-11-07 19:39:17 +08:00
parent 15382b5aba
commit d9d2688e24
19 changed files with 209 additions and 117 deletions

View File

@ -27,7 +27,6 @@ import org.dromara.bigscreen.domain.vo.MyProjectInfoVo;
import org.dromara.bigscreen.service.IBusBwlService; import org.dromara.bigscreen.service.IBusBwlService;
import org.dromara.bigscreen.service.IBusSygjService; import org.dromara.bigscreen.service.IBusSygjService;
import org.dromara.bigscreen.service.IBusWjzxService; import org.dromara.bigscreen.service.IBusWjzxService;
import org.dromara.common.core.constant.SystemConstants;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.enums.BusinessStatusEnum;
@ -44,6 +43,7 @@ import org.dromara.patch.domain.vo.PdMasterBymiAndQt;
import org.dromara.patch.service.IPdMasterService; import org.dromara.patch.service.IPdMasterService;
import org.dromara.project.service.IBusProjectService; import org.dromara.project.service.IBusProjectService;
import org.dromara.system.domain.SysMenu; import org.dromara.system.domain.SysMenu;
import org.dromara.system.domain.vo.RouterVo;
import org.dromara.system.mapper.SysRoleMapper; import org.dromara.system.mapper.SysRoleMapper;
import org.dromara.system.service.impl.SysMenuServiceImpl; import org.dromara.system.service.impl.SysMenuServiceImpl;
import org.dromara.system.service.impl.SysUserServiceImpl; import org.dromara.system.service.impl.SysUserServiceImpl;
@ -65,6 +65,7 @@ import java.time.DayOfWeek;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 个人首页接口 * 个人首页接口
@ -100,7 +101,7 @@ public class PersonalHomeController extends BaseController {
private IBusProjectService projectService; private IBusProjectService projectService;
private final SysRoleMapper roleMapper; private final SysRoleMapper roleMapper;
private final SysMenuServiceImpl menuMapper; private final SysMenuServiceImpl sysMenuService;
// region AI 模块 // region AI 模块
@ -311,9 +312,12 @@ public class PersonalHomeController extends BaseController {
* 获取部门树 * 获取部门树
*/ */
@GetMapping("/deptTree") @GetMapping("/deptTree")
public R<List<SysMenu>> deptTree() { public R<List<RouterVo>> deptTree() {
// SysRole role = roleMapper.selectById(1); // SysRole role = roleMapper.selectById(1);
return R.ok(menuMapper.selectMenuTreeByUserId(SystemConstants.SUPER_ADMIN_ID, null)); List<SysMenu> menus = sysMenuService.selectMenuTreeByUserId(LoginHelper.getUserId(), null);
// menus = menus.stream().filter(menu -> "2".equals(menu.getMenuSource())).collect(Collectors.toList());
menus = menus.stream().filter(menu -> "1".equals(menu.getMenuSource())).collect(Collectors.toList());
return R.ok(sysMenuService.buildMenus(menus));
} }
} }

View File

@ -7,7 +7,7 @@ import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.bigscreen.domain.bo.SysRoleWorkBo; import org.dromara.bigscreen.domain.bo.SysRoleWorkBo;
import org.dromara.bigscreen.domain.vo.SysRoleWorkVo; import org.dromara.bigscreen.domain.vo.SysRoleWorkVo;
import org.dromara.bigscreen.service.ISysRoleWorkService; import org.dromara.bigscreen.service.impl.SysRoleWorkServiceImpl;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
@ -35,7 +35,7 @@ import java.util.List;
@RequestMapping("/bigscreen/roleWork") @RequestMapping("/bigscreen/roleWork")
public class SysRoleWorkController extends BaseController { public class SysRoleWorkController extends BaseController {
private final ISysRoleWorkService sysRoleWorkService; private final SysRoleWorkServiceImpl sysRoleWorkService;
/** /**
* 查询角色流程对应列表 * 查询角色流程对应列表
@ -103,4 +103,13 @@ public class SysRoleWorkController extends BaseController {
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(sysRoleWorkService.deleteWithValidByIds(List.of(ids), true)); return toAjax(sysRoleWorkService.deleteWithValidByIds(List.of(ids), true));
} }
/**
* 获取角色对应流程
*/
@GetMapping("/getRoleToWork")
public R<SysRoleWorkVo> getRoleWork() {
return R.ok(sysRoleWorkService.getRoleWork());
}
} }

View File

@ -14,6 +14,7 @@ import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.domain.vo.SysRoleVo; import org.dromara.system.domain.vo.SysRoleVo;
import org.dromara.system.service.impl.SysRoleServiceImpl; import org.dromara.system.service.impl.SysRoleServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -162,4 +163,23 @@ public class SysRoleWorkServiceImpl extends ServiceImpl<SysRoleWorkMapper, SysRo
} }
} }
/**
* 根据当前登录人获取角色流程对应
*/
public SysRoleWorkVo getRoleWork(){
Long roleId = LoginHelper.getLoginUser().getRoleId();
// LambdaQueryWrapper<SysRoleWork> lqw = new LambdaQueryWrapper<>();
// lqw.eq(SysRoleWork::getRoleId, roleId);
SysRoleWorkBo sysRoleWorkBo = new SysRoleWorkBo();
sysRoleWorkBo.setRoleId(roleId);
List<SysRoleWorkVo> list = queryList(sysRoleWorkBo);
if (list.size() >1){
throw new RuntimeException("此角色绑定了多条流程!");
}
if (list != null && !list.isEmpty()){
setValue( list);
}
return list.getFirst();
}
} }

View File

@ -14,6 +14,11 @@ import java.util.List;
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
public class RouterVo { public class RouterVo {
/**
* 路由id
*/
private Long id;
/** /**
* 路由名字 * 路由名字
*/ */

View File

@ -213,6 +213,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
String name = menu.getRouteName() + menu.getMenuId(); String name = menu.getRouteName() + menu.getMenuId();
RouterVo router = new RouterVo(); RouterVo router = new RouterVo();
router.setHidden("1".equals(menu.getVisible())); router.setHidden("1".equals(menu.getVisible()));
router.setId(menu.getMenuId());
router.setName(name); router.setName(name);
router.setPath(menu.getRouterPath()); router.setPath(menu.getRouterPath());
router.setComponent(menu.getComponentInfo()); router.setComponent(menu.getComponentInfo());

View File

@ -1,16 +1,14 @@
package org.dromara.xzd.comprehensive.domain; package org.dromara.xzd.comprehensive.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial; import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/** /**
* 综合服务合同信息对象 xzd_cs_contract_information * 综合服务合同信息对象 xzd_cs_contract_information
@ -32,6 +30,11 @@ public class XzdCsContractInformation extends BaseEntity {
@TableId(value = "id") @TableId(value = "id")
private Long id; private Long id;
/**
* 合同状态
*/
private String htzt;
/** /**
* 合同编码 * 合同编码
*/ */

View File

@ -1,25 +1,22 @@
package org.dromara.xzd.comprehensive.domain.bo; package org.dromara.xzd.comprehensive.domain.bo;
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import java.math.BigDecimal; import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.time.LocalDate; import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspendZfkx; import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspendZfkx;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd; import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.XzdContractClause; import org.dromara.xzd.domain.XzdContractClause;
import org.dromara.xzd.domain.XzdDeductionItems; import org.dromara.xzd.domain.XzdDeductionItems;
import org.dromara.xzd.domain.XzdSettlementRules;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
/** /**
* 综合服务合同信息业务对象 xzd_cs_contract_information * 综合服务合同信息业务对象 xzd_cs_contract_information
@ -38,6 +35,11 @@ public class XzdCsContractInformationBo extends BaseEntity {
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) @NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id; private Long id;
/**
* 合同状态
*/
private String htzt;
/** /**
* 合同编码 * 合同编码
*/ */

View File

@ -1,17 +1,14 @@
package org.dromara.xzd.comprehensive.domain.vo; package org.dromara.xzd.comprehensive.domain.vo;
import java.math.BigDecimal; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import java.time.LocalDate; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant; import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation; import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspendZfkx; import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspendZfkx;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd; import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.XzdContractClause; import org.dromara.xzd.domain.XzdContractClause;
@ -19,6 +16,8 @@ import org.dromara.xzd.domain.XzdDeductionItems;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List; import java.util.List;
@ -42,6 +41,11 @@ public class XzdCsContractInformationVo implements Serializable {
@ExcelProperty(value = "主键ID") @ExcelProperty(value = "主键ID")
private Long id; private Long id;
/**
* 合同状态
*/
private String htzt;
/** /**
* 合同编码 * 合同编码
*/ */

View File

@ -1,50 +1,39 @@
package org.dromara.xzd.comprehensive.service.impl; package org.dromara.xzd.comprehensive.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.event.ProcessDeleteEvent; import org.dromara.common.core.domain.event.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent; import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent; import org.dromara.common.core.domain.event.ProcessTaskEvent;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.common.mybatis.core.page.TableDataInfo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.utils.BatchNumberGenerator; import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.service.ISysDeptService;
import org.dromara.system.service.ISysUserService;
import org.dromara.system.service.impl.SysDeptServiceImpl;
import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.tender.domain.BusBLimitListVersions; import org.dromara.xzd.comprehensive.domain.XzdCsContractChange;
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation; import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspendZfkx; import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspendZfkx;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd; import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo; import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractChangeBo;
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractChangeVo;
import org.dromara.xzd.comprehensive.mapper.XzdCsContractChangeMapper;
import org.dromara.xzd.comprehensive.service.IXzdCsContractChangeService;
import org.dromara.xzd.comprehensive.service.IXzdCsContractSuspendZfkxService; import org.dromara.xzd.comprehensive.service.IXzdCsContractSuspendZfkxService;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService; import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.domain.XzdContractClause; import org.dromara.xzd.domain.XzdContractClause;
import org.dromara.xzd.domain.XzdDeductionItems; import org.dromara.xzd.domain.XzdDeductionItems;
import org.dromara.xzd.domain.XzdSettlementRules;
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
import org.dromara.xzd.domain.vo.XzdProjectVo;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.xzd.enums.XzdClassEnum; import org.dromara.xzd.enums.XzdClassEnum;
import org.dromara.xzd.service.IXzdCorrespondentList; import org.dromara.xzd.service.impl.XzdContractClauseServiceImpl;
import org.dromara.xzd.service.impl.*; import org.dromara.xzd.service.impl.XzdDeductionItemsServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractChangeBo;
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractChangeVo;
import org.dromara.xzd.comprehensive.domain.XzdCsContractChange;
import org.dromara.xzd.comprehensive.mapper.XzdCsContractChangeMapper;
import org.dromara.xzd.comprehensive.service.IXzdCsContractChangeService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
@ -73,6 +62,8 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
@Autowired @Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService; private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
@Autowired
private XzdCsContractInformationServiceImpl xzdCsContractInformationService;
/** /**
@ -171,6 +162,16 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
String banBen = BatchNumberGenerator.generateBatchNumber("ZHFWHTBG-"); String banBen = BatchNumberGenerator.generateBatchNumber("ZHFWHTBG-");
add.setDocCode(banBen); add.setDocCode(banBen);
validEntityBeforeSave(add); validEntityBeforeSave(add);
XzdCsContractInformation byId = xzdCsContractInformationService.getById(bo.getContractCode());
if (byId != null){
if (byId.getHtzt().equals("已终止")){
throw new RuntimeException("该合同已终止");
}
byId.setHtzt("已变更");
xzdCsContractInformationService.updateById(byId);
}
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());

View File

@ -2,11 +2,12 @@ package org.dromara.xzd.comprehensive.service.impl;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.github.linpeilie.annotations.AutoMapper; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.event.ProcessDeleteEvent; import org.dromara.common.core.domain.event.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent; import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent; import org.dromara.common.core.domain.event.ProcessTaskEvent;
@ -15,42 +16,27 @@ import org.dromara.common.core.service.XzdCsContractInformationService;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.common.mybatis.core.page.TableDataInfo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.utils.BatchNumberGenerator; import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.service.ISysUserService;
import org.dromara.system.service.impl.SysDeptServiceImpl;
import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.comprehensive.domain.XzdCsContractChange; import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspendZfkx; import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspendZfkx;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd; import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractInformationBo;
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo;
import org.dromara.xzd.comprehensive.mapper.XzdCsContractInformationMapper;
import org.dromara.xzd.comprehensive.service.IXzdCsContractInformationService;
import org.dromara.xzd.comprehensive.service.IXzdCsContractSuspendZfkxService; import org.dromara.xzd.comprehensive.service.IXzdCsContractSuspendZfkxService;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService; import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.domain.XzdContractAdvanceInfo;
import org.dromara.xzd.domain.XzdContractClause; import org.dromara.xzd.domain.XzdContractClause;
import org.dromara.xzd.domain.XzdDeductionItems; import org.dromara.xzd.domain.XzdDeductionItems;
import org.dromara.xzd.domain.XzdSettlementRules;
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
import org.dromara.xzd.domain.vo.XzdContractDetailsVo;
import org.dromara.xzd.domain.vo.XzdProjectVo;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.xzd.enums.XzdClassEnum; import org.dromara.xzd.enums.XzdClassEnum;
import org.dromara.xzd.service.IXzdCorrespondentList; import org.dromara.xzd.service.impl.XzdContractClauseServiceImpl;
import org.dromara.xzd.service.impl.*; import org.dromara.xzd.service.impl.XzdDeductionItemsServiceImpl;
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractInformationBo;
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo;
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
import org.dromara.xzd.comprehensive.mapper.XzdCsContractInformationMapper;
import org.dromara.xzd.comprehensive.service.IXzdCsContractInformationService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
@ -211,6 +197,7 @@ public class XzdCsContractInformationServiceImpl extends ServiceImpl<XzdCsContra
validEntityBeforeSave(add); validEntityBeforeSave(add);
String banBen = BatchNumberGenerator.generateBatchNumber("ZHFWHT-"); String banBen = BatchNumberGenerator.generateBatchNumber("ZHFWHT-");
add.setContractCode(banBen); add.setContractCode(banBen);
add.setHtzt("正常");
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
@ -267,6 +254,10 @@ public class XzdCsContractInformationServiceImpl extends ServiceImpl<XzdCsContra
throw new ServiceException("找不到要修改数据!!!"); throw new ServiceException("找不到要修改数据!!!");
} }
if (old.getHtzt().equals("已终止")){
throw new RuntimeException("该合同已被终止");
}
//合同条款-合同条款 //合同条款-合同条款
LambdaQueryWrapper<XzdContractClause> lambdaQueryWrapper2 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<XzdContractClause> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
lambdaQueryWrapper2.eq(XzdContractClause::getContractDetailsId, old.getId()); lambdaQueryWrapper2.eq(XzdContractClause::getContractDetailsId, old.getId());

View File

@ -1,38 +1,29 @@
package org.dromara.xzd.comprehensive.service.impl; package org.dromara.xzd.comprehensive.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.event.ProcessDeleteEvent; import org.dromara.common.core.domain.event.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent; import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent; import org.dromara.common.core.domain.event.ProcessTaskEvent;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.common.mybatis.core.page.TableDataInfo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.utils.BatchNumberGenerator; import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.service.impl.SysDeptServiceImpl;
import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation; import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo; import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspend;
import org.dromara.xzd.domain.dto.QuerCorrespondentDto; import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractSuspendBo;
import org.dromara.xzd.domain.vo.XzdProjectVo; import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractSuspendVo;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo; import org.dromara.xzd.comprehensive.mapper.XzdCsContractSuspendMapper;
import org.dromara.xzd.service.IXzdCorrespondentList; import org.dromara.xzd.comprehensive.service.IXzdCsContractSuspendService;
import org.dromara.xzd.service.impl.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractSuspendBo;
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractSuspendVo;
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspend;
import org.dromara.xzd.comprehensive.mapper.XzdCsContractSuspendMapper;
import org.dromara.xzd.comprehensive.service.IXzdCsContractSuspendService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
@ -52,6 +43,8 @@ public class XzdCsContractSuspendServiceImpl extends ServiceImpl<XzdCsContractSu
@Autowired @Autowired
private SysOssServiceImpl sysOssService; private SysOssServiceImpl sysOssService;
@Autowired
private XzdCsContractInformationServiceImpl xzdCsContractInformationService;
/** /**
* 查询综合服务合同终止 * 查询综合服务合同终止
@ -125,6 +118,19 @@ public class XzdCsContractSuspendServiceImpl extends ServiceImpl<XzdCsContractSu
XzdCsContractSuspend add = MapstructUtils.convert(bo, XzdCsContractSuspend.class); XzdCsContractSuspend add = MapstructUtils.convert(bo, XzdCsContractSuspend.class);
String banBen = BatchNumberGenerator.generateBatchNumber("ZHFWHTZZ-"); String banBen = BatchNumberGenerator.generateBatchNumber("ZHFWHTZZ-");
add.setReceiptsCode(banBen); add.setReceiptsCode(banBen);
LambdaQueryWrapper<XzdCsContractSuspend> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(XzdCsContractSuspend::getContractInformationId, bo.getContractInformationId());
if (baseMapper.selectCount(lambdaQueryWrapper) > 1){
throw new RuntimeException("该合同已终止");
}
XzdCsContractInformation byId = xzdCsContractInformationService.getById(bo.getContractInformationId());
if (byId != null){
byId.setHtzt("已终止");
xzdCsContractInformationService.updateById(byId);
}
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {

View File

@ -35,6 +35,11 @@ public class XzdContractDetails extends BaseEntity {
*/ */
private String shzt; private String shzt;
/**
* 合同状态
*/
private String htzt;
/** /**
* 所属部门ID * 所属部门ID
*/ */

View File

@ -36,6 +36,11 @@ public class XzdContractDetailsBo extends BaseEntity {
*/ */
private String shzt; private String shzt;
/**
* 合同状态
*/
private String htzt;
/** /**
* 所属部门ID * 所属部门ID
*/ */

View File

@ -52,9 +52,9 @@ public class XzdContractTerminationBo extends BaseEntity {
private String title; private String title;
/** /**
* 合同编号 * 合同id
*/ */
@NotNull(message = "合同编号不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "合同id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long contractNumber; private Long contractNumber;
/** /**

View File

@ -43,6 +43,11 @@ public class XzdContractDetailsVo implements Serializable {
*/ */
private String shzt; private String shzt;
/**
* 合同状态
*/
private String htzt;
/** /**
* 所属部门ID * 所属部门ID
*/ */

View File

@ -29,7 +29,6 @@ import org.dromara.xzd.domain.vo.XzdContractDetailsVo;
import org.dromara.xzd.enums.XzdClassEnum; import org.dromara.xzd.enums.XzdClassEnum;
import org.dromara.xzd.mapper.XzdContractChangeMapper; import org.dromara.xzd.mapper.XzdContractChangeMapper;
import org.dromara.xzd.service.IXzdContractChangeService; import org.dromara.xzd.service.IXzdContractChangeService;
import org.dromara.xzd.service.IXzdCorrespondentList;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -56,8 +55,6 @@ public class XzdContractChangeServiceImpl extends ServiceImpl<XzdContractChangeM
@Autowired @Autowired
private XzdContractDetailsServiceImpl xzdContractDetailsService; private XzdContractDetailsServiceImpl xzdContractDetailsService;
@Autowired @Autowired
private IXzdCorrespondentList xzdCorrespondentListService;
@Autowired
private SysDeptServiceImpl sysDeptService; private SysDeptServiceImpl sysDeptService;
@Autowired @Autowired
private SysUserServiceImpl sysUserService; private SysUserServiceImpl sysUserService;
@ -173,6 +170,16 @@ public class XzdContractChangeServiceImpl extends ServiceImpl<XzdContractChangeM
String banBen = BatchNumberGenerator.generateBatchNumber("CBHTBG-"); String banBen = BatchNumberGenerator.generateBatchNumber("CBHTBG-");
add.setDocumentCode(banBen); add.setDocumentCode(banBen);
XzdContractDetails byId = xzdContractDetailsService.getById(bo.getContractCodeId());
if (byId != null){
if (byId.getHtzt().equals("已终止")){
throw new RuntimeException("该合同已被终止");
}else {
byId.setHtzt("已变更");
xzdContractDetailsService.updateById(byId);
}
}
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (!flag) { if (!flag) {
return false; return false;

View File

@ -30,7 +30,6 @@ import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.xzd.enums.XzdClassEnum; import org.dromara.xzd.enums.XzdClassEnum;
import org.dromara.xzd.mapper.XzdContractDetailsMapper; import org.dromara.xzd.mapper.XzdContractDetailsMapper;
import org.dromara.xzd.service.IXzdContractDetailsService; import org.dromara.xzd.service.IXzdContractDetailsService;
import org.dromara.xzd.service.IXzdCorrespondentList;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -70,8 +69,6 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
@Autowired @Autowired
private XzdProjectServiceImpl xzdProjectService; private XzdProjectServiceImpl xzdProjectService;
@Autowired @Autowired
private IXzdCorrespondentList iXzdCorrespondentList;
@Autowired
private XzdSupplierInfoServiceImpl xzdSupplierInfoService; private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
@Autowired @Autowired
private XzdBusinessSealServiceImpl xzdBusinessSealService; private XzdBusinessSealServiceImpl xzdBusinessSealService;
@ -85,6 +82,8 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
private IXzdHtglHtbgqdService xzdHtglHtbgqdService; private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
@Autowired @Autowired
private XzdProjectTypeServiceImpl xzdProjectTypeService; private XzdProjectTypeServiceImpl xzdProjectTypeService;
// @Autowired
// private XzdContractTerminationServiceImpl xzdContractTerminationService;
/** /**
* 查询承包合同信息 * 查询承包合同信息
@ -134,6 +133,7 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdContractDetails> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<XzdContractDetails> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdContractDetails::getId); lqw.orderByDesc(XzdContractDetails::getId);
lqw.eq(StringUtils.isNotBlank(bo.getHtzt()), XzdContractDetails::getHtzt, bo.getHtzt());
lqw.eq(StringUtils.isNotBlank(bo.getContractType()), XzdContractDetails::getContractType, bo.getContractType()); lqw.eq(StringUtils.isNotBlank(bo.getContractType()), XzdContractDetails::getContractType, bo.getContractType());
lqw.eq(StringUtils.isNotBlank(bo.getContractCode()), XzdContractDetails::getContractCode, bo.getContractCode()); lqw.eq(StringUtils.isNotBlank(bo.getContractCode()), XzdContractDetails::getContractCode, bo.getContractCode());
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdContractDetails::getContractName, bo.getContractName()); lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdContractDetails::getContractName, bo.getContractName());
@ -172,6 +172,7 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
lqw.eq(bo.getDanjuId() != null, XzdContractDetails::getDanjuId, bo.getDanjuId()); lqw.eq(bo.getDanjuId() != null, XzdContractDetails::getDanjuId, bo.getDanjuId());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdContractDetails::getFileId, bo.getFileId()); lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdContractDetails::getFileId, bo.getFileId());
lqw.eq(bo.getDeptId() != null, XzdContractDetails::getDeptId, bo.getDeptId()); lqw.eq(bo.getDeptId() != null, XzdContractDetails::getDeptId, bo.getDeptId());
lqw.orderByDesc(XzdContractDetails::getCreateTime);
return lqw; return lqw;
} }
@ -189,6 +190,7 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
String banBen = BatchNumberGenerator.generateBatchNumber("CBHTXX-"); String banBen = BatchNumberGenerator.generateBatchNumber("CBHTXX-");
add.setContractCode(banBen); add.setContractCode(banBen);
add.setHtzt("正常");
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (!flag) { if (!flag) {
@ -252,6 +254,10 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
XzdContractDetailsVo old = queryById(update.getId()); XzdContractDetailsVo old = queryById(update.getId());
if (bo.getHtzt().equals("已终止")){
throw new RuntimeException("该合同已被终止!");
}
// List<XzdContractDetailsVo> old1 = List.of(old); // List<XzdContractDetailsVo> old1 = List.of(old);
// setValue(old1); // setValue(old1);
// old = old1.getFirst(); // old = old1.getFirst();

View File

@ -15,6 +15,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.utils.BatchNumberGenerator; import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.domain.XzdContractDetails;
import org.dromara.xzd.domain.XzdContractTermination; import org.dromara.xzd.domain.XzdContractTermination;
import org.dromara.xzd.domain.bo.XzdContractTerminationBo; import org.dromara.xzd.domain.bo.XzdContractTerminationBo;
import org.dromara.xzd.domain.vo.XzdContractTerminationVo; import org.dromara.xzd.domain.vo.XzdContractTerminationVo;
@ -44,6 +45,8 @@ public class XzdContractTerminationServiceImpl extends ServiceImpl<XzdContractTe
private final XzdContractTerminationMapper baseMapper; private final XzdContractTerminationMapper baseMapper;
@Autowired @Autowired
private SysOssServiceImpl sysOssService; private SysOssServiceImpl sysOssService;
@Autowired
private XzdContractDetailsServiceImpl xzdContractDetailsService;
/** /**
* 查询承包合同终止 * 查询承包合同终止
@ -110,16 +113,31 @@ public class XzdContractTerminationServiceImpl extends ServiceImpl<XzdContractTe
* @param bo 承包合同终止 * @param bo 承包合同终止
* @return 是否新增成功 * @return 是否新增成功
*/ */
@Transactional
@Override @Override
public Boolean insertByBo(XzdContractTerminationBo bo) { public Boolean insertByBo(XzdContractTerminationBo bo) {
XzdContractTermination add = MapstructUtils.convert(bo, XzdContractTermination.class); XzdContractTermination add = MapstructUtils.convert(bo, XzdContractTermination.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
String banBen = BatchNumberGenerator.generateBatchNumber("CBHTZZ-"); String banBen = BatchNumberGenerator.generateBatchNumber("CBHTZZ-");
add.setDocumentCode(banBen); add.setDocumentCode(banBen);
LambdaQueryWrapper<XzdContractTermination> lqw = new LambdaQueryWrapper<>();
lqw.eq(XzdContractTermination::getContractNumber, bo.getContractNumber());
// lqw.eq(XzdContractTermination::getShzt,"finish");
List<XzdContractTermination> list = list(lqw);
if (list!=null && !list.isEmpty()){
throw new RuntimeException("本合同已终止!");
}
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
} }
XzdContractDetails detailsVo = xzdContractDetailsService.getById(bo.getContractNumber());
if (detailsVo != null){
detailsVo.setHtzt("已终止");
xzdContractDetailsService.updateById(detailsVo);
}
return flag; return flag;
} }

View File

@ -31,10 +31,7 @@ import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.*;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/** /**
* 承包合同竣工结算调整Service业务层处理 * 承包合同竣工结算调整Service业务层处理
@ -70,8 +67,11 @@ public class XzdWorkcontractCompletionAdjustServiceImpl extends ServiceImpl<XzdW
@Override @Override
public XzdWorkcontractCompletionAdjustVo queryById(Long id){ public XzdWorkcontractCompletionAdjustVo queryById(Long id){
XzdWorkcontractCompletionAdjustVo adjustVo = baseMapper.selectVoById(id); XzdWorkcontractCompletionAdjustVo adjustVo = baseMapper.selectVoById(id);
List<XzdWorkcontractCompletionAdjustVo> adjustVo1 = List.of(adjustVo); List<XzdWorkcontractCompletionAdjustVo> adjustVo1 = new ArrayList<>();
if (adjustVo != null) {
adjustVo1 = List.of(adjustVo);
setValue(adjustVo1); setValue(adjustVo1);
}
return adjustVo1.getFirst(); return adjustVo1.getFirst();
} }