结算
This commit is contained in:
@ -1,6 +1,5 @@
|
|||||||
package org.dromara.bigscreen.controller;
|
package org.dromara.bigscreen.controller;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -62,7 +61,7 @@ public class MoneyBigScreenController {
|
|||||||
/**
|
/**
|
||||||
* 查询项目位置列表
|
* 查询项目位置列表
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("money:bigScreen:projectGis")
|
// @SaCheckPermission("money:bigScreen:projectGis")
|
||||||
@GetMapping("/project/gis")
|
@GetMapping("/project/gis")
|
||||||
public R<List<BusProjectGisVo>> getProjectGis() {
|
public R<List<BusProjectGisVo>> getProjectGis() {
|
||||||
return R.ok(moneyBigScreenService.getProjectGis());
|
return R.ok(moneyBigScreenService.getProjectGis());
|
||||||
@ -545,7 +544,7 @@ public class MoneyBigScreenController {
|
|||||||
/**
|
/**
|
||||||
* 查询项目天气
|
* 查询项目天气
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("project:bigScreen:weather")
|
// @SaCheckPermission("project:bigScreen:weather")
|
||||||
@GetMapping("/weather/{projectId}")
|
@GetMapping("/weather/{projectId}")
|
||||||
public R<List<WeatherVo>> getProjectWeather(@NotNull(message = "主键不能为空")
|
public R<List<WeatherVo>> getProjectWeather(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long projectId) {
|
@PathVariable Long projectId) {
|
||||||
@ -555,7 +554,7 @@ public class MoneyBigScreenController {
|
|||||||
/**
|
/**
|
||||||
* 查询项目安全天数
|
* 查询项目安全天数
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("project:bigScreen:safetyDay")
|
// @SaCheckPermission("project:bigScreen:safetyDay")
|
||||||
@GetMapping("/safetyDay/{projectId}")
|
@GetMapping("/safetyDay/{projectId}")
|
||||||
public R<BusProjectSafetyDayVo> getProjectSafetyDay(@NotNull(message = "主键不能为空")
|
public R<BusProjectSafetyDayVo> getProjectSafetyDay(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long projectId) {
|
@PathVariable Long projectId) {
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package org.dromara.bigscreen.controller;
|
package org.dromara.bigscreen.controller;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
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;
|
||||||
@ -296,7 +295,7 @@ public class ProjectBigScreenController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 查询GPS设备用户列表
|
* 查询GPS设备用户列表
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("project:big:screen")
|
// @SaCheckPermission("project:big:screen")
|
||||||
@GetMapping("/getList")
|
@GetMapping("/getList")
|
||||||
public R<List<String>> getList(Long projectId) {
|
public R<List<String>> getList(Long projectId) {
|
||||||
return R.ok(projectBigScreenService.getList(projectId));
|
return R.ok(projectBigScreenService.getList(projectId));
|
||||||
@ -316,7 +315,7 @@ public class ProjectBigScreenController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 查询地图项目分类
|
* 查询地图项目分类
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("project:big:screen")
|
// @SaCheckPermission("project:big:screen")
|
||||||
@GetMapping("/getProjectMapList")
|
@GetMapping("/getProjectMapList")
|
||||||
public R<Map<String, Map<String, Map<String, String>>>> getProjectMapList() {
|
public R<Map<String, Map<String, Map<String, String>>>> getProjectMapList() {
|
||||||
return R.ok(projectService.getProjectMapList());
|
return R.ok(projectService.getProjectMapList());
|
||||||
@ -325,7 +324,7 @@ public class ProjectBigScreenController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 查询地图项目分类
|
* 查询地图项目分类
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("project:big:screen")
|
// @SaCheckPermission("project:big:screen")
|
||||||
@PostMapping("/updatePosition")
|
@PostMapping("/updatePosition")
|
||||||
public R<Void> updatePosition(@RequestBody ProjectUpdateDto dto) {
|
public R<Void> updatePosition(@RequestBody ProjectUpdateDto dto) {
|
||||||
return toAjax(projectService.updatePosition(dto));
|
return toAjax(projectService.updatePosition(dto));
|
||||||
|
|||||||
@ -29,6 +29,11 @@ public class CtrSubcontractProgressSettlement extends BaseEntity {
|
|||||||
@TableId(value = "id")
|
@TableId(value = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所属部门
|
||||||
|
*/
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单据编码
|
* 单据编码
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -60,6 +60,11 @@ public class CtrContractProgressSettlementBo extends BaseEntity {
|
|||||||
@NotBlank(message = "合同编码不能为空", groups = {AddGroup.class, EditGroup.class})
|
@NotBlank(message = "合同编码不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||||
private String contractCode;
|
private String contractCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类型(1付款 2收款)
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合同名称
|
* 合同名称
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -31,12 +31,6 @@ public class CtrContractProgressSettlementCreateReq implements Serializable {
|
|||||||
@NotNull(message = "所属部门不能为空")
|
@NotNull(message = "所属部门不能为空")
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
/**
|
|
||||||
* 单据编码
|
|
||||||
*/
|
|
||||||
@NotBlank(message = "单据编码不能为空")
|
|
||||||
private String documentCode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 标题
|
* 标题
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -24,10 +24,9 @@ public class CtrSubcontractProgressSettlementCreateReq implements Serializable {
|
|||||||
private static final long serialVersionUID = 770553999547826460L;
|
private static final long serialVersionUID = 770553999547826460L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单据编码
|
* 所属部门
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "单据编码不能为空")
|
private Long deptId;
|
||||||
private String documentCode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 标题
|
* 标题
|
||||||
|
|||||||
@ -41,6 +41,12 @@ public class CtrContractProgressSettlementVo implements Serializable {
|
|||||||
@ExcelProperty(value = "所属部门")
|
@ExcelProperty(value = "所属部门")
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门名称
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "deptId")
|
||||||
|
private String deptName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单据编码
|
* 单据编码
|
||||||
*/
|
*/
|
||||||
@ -114,6 +120,12 @@ public class CtrContractProgressSettlementVo implements Serializable {
|
|||||||
@ExcelProperty(value = "结算单位(客户)")
|
@ExcelProperty(value = "结算单位(客户)")
|
||||||
private Long settlementUnit;
|
private Long settlementUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结算单位名称
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "settlementUnit")
|
||||||
|
private String settlementUnitName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 本期结算金额
|
* 本期结算金额
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -4,6 +4,8 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
|||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.dromara.common.translation.annotation.Translation;
|
||||||
|
import org.dromara.common.translation.constant.TransConstant;
|
||||||
import org.dromara.ctr.domain.CtrSubcontractProgressSettlement;
|
import org.dromara.ctr.domain.CtrSubcontractProgressSettlement;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
@ -45,6 +47,18 @@ public class CtrSubcontractProgressSettlementVo implements Serializable {
|
|||||||
@ExcelProperty(value = "标题")
|
@ExcelProperty(value = "标题")
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所属部门
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "所属部门")
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门名称
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "deptId")
|
||||||
|
private String deptName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单据日期
|
* 单据日期
|
||||||
*/
|
*/
|
||||||
@ -105,6 +119,12 @@ public class CtrSubcontractProgressSettlementVo implements Serializable {
|
|||||||
@ExcelProperty(value = "结算单位")
|
@ExcelProperty(value = "结算单位")
|
||||||
private Long settlementUnit;
|
private Long settlementUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结算单位名称
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "settlementUnit")
|
||||||
|
private String settlementUnitName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合同金额
|
* 合同金额
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package org.dromara.ctr.service.impl;
|
package org.dromara.ctr.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
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 com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@ -8,9 +9,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
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.ObjectUtils;
|
||||||
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.ctr.domain.CtrContractProgressSettlement;
|
import org.dromara.ctr.domain.CtrContractProgressSettlement;
|
||||||
import org.dromara.ctr.domain.CtrContractProgressSettlementItem;
|
import org.dromara.ctr.domain.CtrContractProgressSettlementItem;
|
||||||
import org.dromara.ctr.domain.bo.CtrContractProgressSettlementBo;
|
import org.dromara.ctr.domain.bo.CtrContractProgressSettlementBo;
|
||||||
@ -23,14 +26,16 @@ import org.dromara.ctr.domain.vo.CtrContractProgressSettlementVo;
|
|||||||
import org.dromara.ctr.mapper.CtrContractProgressSettlementMapper;
|
import org.dromara.ctr.mapper.CtrContractProgressSettlementMapper;
|
||||||
import org.dromara.ctr.service.ICtrContractProgressSettlementItemService;
|
import org.dromara.ctr.service.ICtrContractProgressSettlementItemService;
|
||||||
import org.dromara.ctr.service.ICtrContractProgressSettlementService;
|
import org.dromara.ctr.service.ICtrContractProgressSettlementService;
|
||||||
|
import org.dromara.system.domain.vo.SysDeptVo;
|
||||||
|
import org.dromara.system.service.ISysDeptService;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
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.ArrayList;
|
import java.time.LocalDate;
|
||||||
import java.util.Collection;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.Map;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -46,6 +51,8 @@ public class CtrContractProgressSettlementServiceImpl extends ServiceImpl<CtrCon
|
|||||||
|
|
||||||
private final ICtrContractProgressSettlementItemService contractProgressSettlementItemService;
|
private final ICtrContractProgressSettlementItemService contractProgressSettlementItemService;
|
||||||
|
|
||||||
|
private final ISysDeptService deptService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询承包合同进度结算
|
* 查询承包合同进度结算
|
||||||
*
|
*
|
||||||
@ -101,7 +108,21 @@ public class CtrContractProgressSettlementServiceImpl extends ServiceImpl<CtrCon
|
|||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
LambdaQueryWrapper<CtrContractProgressSettlement> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<CtrContractProgressSettlement> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.orderByDesc(CtrContractProgressSettlement::getId);
|
lqw.orderByDesc(CtrContractProgressSettlement::getId);
|
||||||
lqw.eq(bo.getDeptId() != null, CtrContractProgressSettlement::getDeptId, bo.getDeptId());
|
Long deptId = bo.getDeptId();
|
||||||
|
String type = bo.getType();
|
||||||
|
if (ObjectUtils.isNotEmpty(deptId) && StringUtils.isNotBlank(type) && !LoginHelper.isSuperAdmin()) {
|
||||||
|
SysDeptVo sysDeptVo = deptService.selectDeptById(deptId);
|
||||||
|
List<Long> list = StringUtils.splitTo(sysDeptVo.getAncestors(), Convert::toLong);
|
||||||
|
if (list.size() == 2 && Objects.equals(type, "1")) {
|
||||||
|
lqw.eq(CtrContractProgressSettlement::getDeptId, deptId);
|
||||||
|
} else if (list.size() == 2 && Objects.equals(type, "2")) {
|
||||||
|
lqw.eq(CtrContractProgressSettlement::getSettlementUnit, deptId);
|
||||||
|
} else if (list.size() > 2 && Objects.equals(type, "1")) {
|
||||||
|
lqw.eq(CtrContractProgressSettlement::getDeptId, list.get(2));
|
||||||
|
} else if (list.size() > 2 && Objects.equals(type, "2")) {
|
||||||
|
lqw.eq(CtrContractProgressSettlement::getSettlementUnit, list.get(2));
|
||||||
|
}
|
||||||
|
}
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getDocumentCode()), CtrContractProgressSettlement::getDocumentCode, bo.getDocumentCode());
|
lqw.like(StringUtils.isNotBlank(bo.getDocumentCode()), CtrContractProgressSettlement::getDocumentCode, bo.getDocumentCode());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), CtrContractProgressSettlement::getTitle, bo.getTitle());
|
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), CtrContractProgressSettlement::getTitle, bo.getTitle());
|
||||||
lqw.eq(bo.getSettlementDate() != null, CtrContractProgressSettlement::getSettlementDate, bo.getSettlementDate());
|
lqw.eq(bo.getSettlementDate() != null, CtrContractProgressSettlement::getSettlementDate, bo.getSettlementDate());
|
||||||
@ -134,8 +155,22 @@ public class CtrContractProgressSettlementServiceImpl extends ServiceImpl<CtrCon
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean insertByBo(CtrContractProgressSettlementCreateReq req) {
|
public Boolean insertByBo(CtrContractProgressSettlementCreateReq req) {
|
||||||
CtrContractProgressSettlement add = MapstructUtils.convert(req, CtrContractProgressSettlement.class);
|
CtrContractProgressSettlement add = MapstructUtils.convert(req, CtrContractProgressSettlement.class);
|
||||||
validEntityBeforeSave(add);
|
// 生成唯一编号
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
LocalDate today = LocalDate.now();
|
||||||
|
Long userId = LoginHelper.getUserId();
|
||||||
|
boolean flag;
|
||||||
|
synchronized (userId.toString().intern()) {
|
||||||
|
LocalDateTime startOfDay = today.atStartOfDay();
|
||||||
|
LocalDateTime endOfDay = today.plusDays(1).atStartOfDay().minusNanos(1);
|
||||||
|
// 获取当天的最大编号
|
||||||
|
Long count = this.lambdaQuery()
|
||||||
|
.between(CtrContractProgressSettlement::getCreateTime, startOfDay, endOfDay)
|
||||||
|
.count();
|
||||||
|
String result = String.format("%03d", count + 1); // 3表示长度,0表示补0
|
||||||
|
add.setDocumentCode(today.format(DateTimeFormatter.BASIC_ISO_DATE) + "-" + result);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
flag = baseMapper.insert(add) > 0;
|
||||||
|
}
|
||||||
if (flag) {
|
if (flag) {
|
||||||
Long id = add.getId();
|
Long id = add.getId();
|
||||||
List<CtrContractProgressSettlementItemCreateReq> inInventory = req.getInInventory();
|
List<CtrContractProgressSettlementItemCreateReq> inInventory = req.getInInventory();
|
||||||
|
|||||||
@ -11,6 +11,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.ctr.domain.CtrSubcontractProgressSettlement;
|
import org.dromara.ctr.domain.CtrSubcontractProgressSettlement;
|
||||||
import org.dromara.ctr.domain.CtrSubcontractProgressSettlementItem;
|
import org.dromara.ctr.domain.CtrSubcontractProgressSettlementItem;
|
||||||
import org.dromara.ctr.domain.bo.CtrSubcontractProgressSettlementBo;
|
import org.dromara.ctr.domain.bo.CtrSubcontractProgressSettlementBo;
|
||||||
@ -26,6 +27,9 @@ import org.dromara.ctr.service.ICtrSubcontractProgressSettlementService;
|
|||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -128,8 +132,22 @@ public class CtrSubcontractProgressSettlementServiceImpl extends ServiceImpl<Ctr
|
|||||||
@Override
|
@Override
|
||||||
public Boolean insertByBo(CtrSubcontractProgressSettlementCreateReq req) {
|
public Boolean insertByBo(CtrSubcontractProgressSettlementCreateReq req) {
|
||||||
CtrSubcontractProgressSettlement add = MapstructUtils.convert(req, CtrSubcontractProgressSettlement.class);
|
CtrSubcontractProgressSettlement add = MapstructUtils.convert(req, CtrSubcontractProgressSettlement.class);
|
||||||
validEntityBeforeSave(add);
|
// 生成唯一编号
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
LocalDate today = LocalDate.now();
|
||||||
|
Long userId = LoginHelper.getUserId();
|
||||||
|
boolean flag;
|
||||||
|
synchronized (userId.toString().intern()) {
|
||||||
|
LocalDateTime startOfDay = today.atStartOfDay();
|
||||||
|
LocalDateTime endOfDay = today.plusDays(1).atStartOfDay().minusNanos(1);
|
||||||
|
// 获取当天的最大编号
|
||||||
|
Long count = this.lambdaQuery()
|
||||||
|
.between(CtrSubcontractProgressSettlement::getCreateTime, startOfDay, endOfDay)
|
||||||
|
.count();
|
||||||
|
String result = String.format("%03d", count + 1); // 3表示长度,0表示补0
|
||||||
|
add.setDocumentCode(today.format(DateTimeFormatter.BASIC_ISO_DATE) + "-" + result);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
flag = baseMapper.insert(add) > 0;
|
||||||
|
}
|
||||||
if (flag) {
|
if (flag) {
|
||||||
Long id = add.getId();
|
Long id = add.getId();
|
||||||
List<CtrSubcontractProgressSettlementItemCreateReq> inInventory = req.getInInventory();
|
List<CtrSubcontractProgressSettlementItemCreateReq> inInventory = req.getInInventory();
|
||||||
|
|||||||
@ -780,7 +780,7 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
|
|||||||
final Long PID = 0L;
|
final Long PID = 0L;
|
||||||
lqw.eq(BusProject::getPId, PID);
|
lqw.eq(BusProject::getPId, PID);
|
||||||
}
|
}
|
||||||
if (ObjectUtils.isNotEmpty(deptId)) {
|
if (ObjectUtils.isNotEmpty(deptId) && deptId != 100) {
|
||||||
SysDeptVo sysDeptVo = deptService.selectDeptById(deptId);
|
SysDeptVo sysDeptVo = deptService.selectDeptById(deptId);
|
||||||
List<Long> list = StringUtils.splitTo(sysDeptVo.getAncestors(), Convert::toLong);
|
List<Long> list = StringUtils.splitTo(sysDeptVo.getAncestors(), Convert::toLong);
|
||||||
List<Long> projectDepts = new ArrayList<>();
|
List<Long> projectDepts = new ArrayList<>();
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import org.dromara.common.core.domain.R;
|
|||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.log.annotation.Log;
|
import org.dromara.common.log.annotation.Log;
|
||||||
import org.dromara.common.log.enums.BusinessType;
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
import org.dromara.common.web.core.BaseController;
|
import org.dromara.common.web.core.BaseController;
|
||||||
import org.dromara.system.domain.bo.SysDeptBo;
|
import org.dromara.system.domain.bo.SysDeptBo;
|
||||||
import org.dromara.system.domain.vo.SysDeptVo;
|
import org.dromara.system.domain.vo.SysDeptVo;
|
||||||
@ -157,4 +158,23 @@ public class SysDeptController extends BaseController {
|
|||||||
return R.ok(list);
|
return R.ok(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前登录用户顶级部门
|
||||||
|
*/
|
||||||
|
@GetMapping("/getTopDept")
|
||||||
|
public R<SysDeptVo> getTopDept() {
|
||||||
|
// 获取当前用户部门
|
||||||
|
Long deptId = LoginHelper.getDeptId();
|
||||||
|
SysDeptVo deptVo = deptService.selectDeptById(deptId);
|
||||||
|
if (LoginHelper.isSuperAdmin()) {
|
||||||
|
return R.ok(deptVo);
|
||||||
|
}
|
||||||
|
String ancestors = deptVo.getAncestors();
|
||||||
|
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
|
||||||
|
if (ids.size() == 2) {
|
||||||
|
return R.ok(deptVo);
|
||||||
|
}
|
||||||
|
return R.ok(deptService.selectDeptById(ids.get(2)));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user