Compare commits

...

35 Commits

Author SHA1 Message Date
zt
a320b85965 考勤机 2025-10-27 15:14:29 +08:00
lg
b61a7c153d 投标文件-项目类型中文返回 2025-10-27 14:44:50 +08:00
fb9b01cf34 修改物资跟踪管理台账查询列表修改 2025-10-27 14:27:11 +08:00
lg
32f134873a 采购合同金额字段 2025-10-27 11:37:41 +08:00
f4220be9d6 10-27-修改bug 2025-10-27 10:29:27 +08:00
lg
8252fd7216 标后分析返回对象增加字段 2025-10-27 09:44:11 +08:00
lg
57855f4307 bug修改 2025-10-25 22:18:10 +08:00
6784eafe6e 供应商-客户中间表引用表的新增修改删除修改 2025-10-25 22:17:26 +08:00
0b42c1d6a6 Merge remote-tracking branch 'origin/dev' into dev 2025-10-25 22:16:07 +08:00
4b37a7327f 10-25-修改 2025-10-25 22:16:00 +08:00
lg
0287f1e4ce bug修改 2025-10-25 21:58:47 +08:00
5d8af1cab8 10-25-供应商删除修改 2025-10-25 21:57:13 +08:00
123896f08b Merge remote-tracking branch 'origin/dev' into dev 2025-10-25 21:25:40 +08:00
a8a198b51f 10-25-增加校验 2025-10-25 21:25:33 +08:00
lg
f00b98714a Merge remote-tracking branch 'origin/dev' into dev 2025-10-25 21:24:39 +08:00
lg
4ff87f3996 bug修改 2025-10-25 21:23:58 +08:00
5f3ae0f9f1 10-25-供应商地域绑定及搜索 2025-10-25 21:22:36 +08:00
786c864a27 供应商-客户中间表引用表的新增修改删除修改 2025-10-25 21:21:48 +08:00
lg
c61e802b85 bug修改 2025-10-25 21:09:26 +08:00
lg
9a568799f4 bug修改 2025-10-25 21:05:26 +08:00
8aa38063bf 供应商-客户中间表引用表的新增修改删除 2025-10-25 20:58:07 +08:00
c4a11ec245 10-25-解除继承 2025-10-25 20:28:40 +08:00
lg
169b76589c bug修改 2025-10-25 20:23:02 +08:00
lg
199f51ea21 bug修改 2025-10-25 20:19:21 +08:00
lg
23572dfc07 bug修改 2025-10-25 20:14:03 +08:00
570b0ce316 10-25-供应商新增、删除添加校验 2025-10-25 20:11:14 +08:00
lg
f953a96c36 bug修改 2025-10-25 20:05:43 +08:00
zt
25c4eee464 bug 2025-10-25 20:01:28 +08:00
lg
b209ef1fab 中间表数据添加 2025-10-25 19:20:32 +08:00
lg
77e9f4d9a2 中间表数据添加 2025-10-25 19:18:09 +08:00
lg
e73c808bc3 xzd前缀添加 2025-10-25 17:21:16 +08:00
zt
edf0d1a5db 设计导出 2025-10-25 17:10:43 +08:00
lcj
cc23a308c1 修改配置,车辆管理 2025-10-25 17:01:15 +08:00
bc891327c9 10-25-字段调整 2025-10-25 16:51:17 +08:00
39bedfeb92 10-25-字段调整 2025-10-25 16:44:33 +08:00
153 changed files with 2779 additions and 735 deletions

View File

@ -321,8 +321,8 @@ ys7:
app-key: xxx
app-secret: xxx
job:
capture-enabled: true # 控制是否启用萤石抓拍任务
device-sync-enabled: true # 控制是否同步萤石设备
capture-enabled: false # 控制是否启用萤石抓拍任务
device-sync-enabled: false # 控制是否同步萤石设备
# 斯巴达算法
sparta:
url: http://119.3.204.120:8040

View File

@ -0,0 +1,32 @@
package org.dromara.common.core.domain.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
public class XzdCustomerSupplierVos implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
private Long id;
/**
* 类型1、供应商2、客户
*/
private String type;
/**
* 供应商-客户id
*/
private Long cSId;
}

View File

@ -0,0 +1,14 @@
package org.dromara.common.core.service;
import org.dromara.common.core.domain.vo.XzdCustomerSupplierVos;
public interface XzdCustomerSupplierService {
/**
* 查询供应商-客户中间
*
* @param id 主键
* @return 供应商-客户中间
*/
XzdCustomerSupplierVos queryByIdone(Long id);
}

View File

@ -3,4 +3,6 @@ package org.dromara.common.core.service;
public interface XzdCustomerinformationService {
String selectNmaeByIds(String id);
String selectNmaeById(Long id);
}

View File

@ -3,4 +3,7 @@ package org.dromara.common.core.service;
public interface XzdSupplierInfoService {
String selectNmaeByIds(String ids);
String selectNmaeById(Long id);
}

View File

@ -44,10 +44,10 @@ public interface TransConstant {
String XZD_KHXX_ID_TO_NAME = "khxx_id_to_name";
/**
* 供应商id转名称
*/
String XZD_GYSXX_ID_TO_NAME = "gysxx_id_to_name";
// /**
// * 供应商id转名称
// */
// String XZD_KHXX_ID_TO_NAME = "gysxx_id_to_name";
/**
* 新中大项目id转名称

View File

@ -7,7 +7,7 @@ import org.dromara.common.translation.constant.TransConstant;
import org.dromara.common.translation.core.TranslationInterface;
@AllArgsConstructor
@TranslationType(type = TransConstant.XZD_GYSXX_ID_TO_NAME)
//@TranslationType(type = TransConstant.XZD_KHXX_ID_TO_NAME)
public class XzdSupplierInfoImpl implements TranslationInterface<String> {
private final XzdSupplierInfoService xzdSupplierInfoService;

View File

@ -101,4 +101,7 @@ public class SubConstructionUserQueryReq implements Serializable {
*/
private String userId;
private String phone;
}

View File

@ -209,8 +209,10 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU
LambdaQueryWrapper<SubConstructionUser> lqw = Wrappers.lambdaQuery();
// 从对象中取值
String userName = req.getUserName();
String phone = req.getPhone();
// 模糊查询
lqw.like(StringUtils.isNotBlank(phone), SubConstructionUser::getPhone, phone);
lqw.like(StringUtils.isNotBlank(userName), SubConstructionUser::getUserName, userName);
lqw.isNull(SubConstructionUser::getProjectId);
lqw.isNull(SubConstructionUser::getTeamId);

View File

@ -1,17 +1,40 @@
package org.dromara.design.controller;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.hutool.core.util.StrUtil;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.design.domain.BusDrawingreviewReceipts;
import org.dromara.design.domain.DesCollectFile;
import org.dromara.design.domain.DesDesignChange;
import org.dromara.design.domain.bo.DesUserBo;
import org.dromara.design.domain.dto.designchange.DesDesignExtendDetailDto;
import org.dromara.design.domain.vo.DesCollectFileWordVo;
import org.dromara.design.domain.vo.DesUserVo;
import org.dromara.design.domain.vo.designchange.DesDesignChangeVo;
import org.dromara.design.service.IDesDesignChangeService;
import org.dromara.design.service.IDesUserService;
import org.dromara.project.domain.BusProject;
import org.dromara.project.domain.vo.project.BusSubProjectVo;
import org.dromara.project.service.IBusProjectService;
import org.dromara.system.service.ISysDictDataService;
import org.dromara.system.service.ISysUserService;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -44,6 +67,12 @@ public class BusDrawingreviewReceiptsController extends BaseController {
private final IDesUserService desUserService;
private final IDesDesignChangeService desDesignChangeService;
private final ISysDictDataService dictDataService;
private final ISysUserService userService;
/**
* 查询设计-图纸评审验证列表
*/
@ -132,4 +161,85 @@ public class BusDrawingreviewReceiptsController extends BaseController {
return R.ok(desUserService.queryList(bo));
}
private static final String TEMPLATE_PATH = "template/设计验证表.docx";
@PostMapping("/downloadWord")
public void generateDesignLeaderDoc(Long id, HttpServletResponse response) {
OutputStream outputStream = null;
try {
// 1. 调用Service生成目标模板的Word字节流
byte[] docBytes = generateDocBytes(id);
// 2. 配置响应头:确保前端正确下载(避免中文乱码、指定文件类型)
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); // 二进制流类型
// 下载文件名:格式为“[项目名]-设计负责人任命通知单.docx”此处用projectId拼接真实场景可从数据中获取项目名
String downloadFileName = URLEncoder.encode(
"设计验证表.docx",
"UTF-8"
);
response.setHeader("Content-Disposition", "attachment;filename=" + downloadFileName);
response.setContentLength(docBytes.length); // 设置响应体长度(优化下载体验)
// 3. 将Word字节流写入响应
outputStream = response.getOutputStream();
outputStream.write(docBytes);
outputStream.flush();
} catch (Exception e) {
e.printStackTrace();
// 异常处理返回500错误状态码
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
} finally {
// 关闭流,避免资源泄漏
if (outputStream != null) {
try {
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
public byte[] generateDocBytes(Long id) throws Exception {
// -------------------------- 步骤1按projectId查询项目数据模拟真实业务 --------------------------
// 实际场景替换为数据库查询如调用DAO获取项目名称、负责人等
DesDesignChangeVo desDesignChangeVo = desDesignChangeService.queryById(id);
BusDrawingreviewReceipts receipts = busDrawingreviewReceiptsService.lambdaQuery()
.eq(BusDrawingreviewReceipts::getDrawingreviewId, id)
.last("limit 1")
.one();
DesDesignExtendDetailDto extendDetail = desDesignChangeVo.getExtendDetail();
String s = dictDataService.selectDictLabel("des_user_major", receipts.getProfessional());
String designerName = null;
if(StrUtil.isNotBlank(receipts.getDesigner())){
Long userId = Long.parseLong(receipts.getDesigner());
designerName= userService.queryNameById(userId);
}
Map<String, Object> placeholderData = new HashMap<>();
placeholderData.put("projectName", receipts.getProjectName());
placeholderData.put("subName",extendDetail.getSubName());
placeholderData.put("stage", receipts.getStage());
placeholderData.put("professionalName", s);
placeholderData.put("volume", receipts.getVolume());
placeholderData.put("designerName", designerName);
placeholderData.put("verificationOpinion", receipts.getVerificationOpinion());
placeholderData.put("executionOpinion", receipts.getExecutionOpinion());
// -------------------------- 步骤2用poi-tl加载目标模板并替换占位符 --------------------------
// 读取resources下的“设计项目负责人任命通知单.docx”模板
ClassPathResource templateResource = new ClassPathResource(TEMPLATE_PATH);
try (InputStream templateIs = templateResource.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
XWPFTemplate template = XWPFTemplate.compile(templateIs).render(placeholderData);
// -------------------------- 步骤3将生成的文档写入字节流 --------------------------
template.write(outputStream);
template.close(); // 关闭模板资源
return outputStream.toByteArray();
}
}
}

View File

@ -1,15 +1,31 @@
package org.dromara.design.controller;
import java.util.List;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.design.domain.DesCollectFile;
import org.dromara.design.domain.bo.DesCollectFileBo;
import org.dromara.design.domain.dto.ExportDto;
import org.dromara.design.domain.dto.designchange.DesDesignExtendDetailDto;
import org.dromara.design.domain.vo.DesCollectFileVo;
import org.dromara.design.domain.vo.DesCollectFileWordVo;
import org.dromara.design.domain.vo.designchange.DesDesignChangeVo;
import org.dromara.design.service.IDesCollectFileService;
import org.dromara.project.domain.BusProject;
import org.dromara.project.service.IBusProjectService;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -39,6 +55,8 @@ public class DesCollectFileController extends BaseController {
private final IDesCollectFileService desCollectFileService;
private final IBusProjectService projectService;
/**
* 查询收资文件列表
*/
@ -106,7 +124,6 @@ public class DesCollectFileController extends BaseController {
return toAjax(desCollectFileService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 上传资料文件
*/
@ -119,10 +136,92 @@ public class DesCollectFileController extends BaseController {
return toAjax(desCollectFileService.addFile(file, catalogueId, projectId));
}
@PostMapping("/exportZip")
public void exportZip(ExportDto dto, HttpServletResponse response) throws Exception {
desCollectFileService.exportAsZip(dto, response);
}
private static final String TEMPLATE_PATH = "template/设计输入资料清单及评审表.docx";
@PostMapping("/downloadWord")
public void generateDesignLeaderDoc(Long projectId, HttpServletResponse response) {
OutputStream outputStream = null;
try {
// 1. 调用Service生成目标模板的Word字节流
byte[] docBytes = generateDocBytes(projectId);
// 2. 配置响应头:确保前端正确下载(避免中文乱码、指定文件类型)
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); // 二进制流类型
// 下载文件名:格式为“[项目名]-设计负责人任命通知单.docx”此处用projectId拼接真实场景可从数据中获取项目名
String downloadFileName = URLEncoder.encode(
"设计输入资料清单及评审表.docx",
"UTF-8"
);
response.setHeader("Content-Disposition", "attachment;filename=" + downloadFileName);
response.setContentLength(docBytes.length); // 设置响应体长度(优化下载体验)
// 3. 将Word字节流写入响应
outputStream = response.getOutputStream();
outputStream.write(docBytes);
outputStream.flush();
} catch (Exception e) {
e.printStackTrace();
// 异常处理返回500错误状态码
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
} finally {
// 关闭流,避免资源泄漏
if (outputStream != null) {
try {
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
public byte[] generateDocBytes(Long projectId) throws Exception {
// -------------------------- 步骤1按projectId查询项目数据模拟真实业务 --------------------------
// 实际场景替换为数据库查询如调用DAO获取项目名称、负责人等
List<DesCollectFile> list = desCollectFileService.lambdaQuery()
.eq(DesCollectFile::getProjectId, projectId).list();
List<DesCollectFileWordVo> files = new ArrayList<>();
int i = 1;
for (DesCollectFile desCollectFile : list) {
DesCollectFileWordVo desCollectFileWordVo = new DesCollectFileWordVo();
desCollectFileWordVo.setNum(i);
i++;
desCollectFileWordVo.setFileName(desCollectFile.getFileName());
files.add(desCollectFileWordVo);
}
BusProject project = projectService.getById(projectId);
Map<String, Object> placeholderData = new HashMap<>();
placeholderData.put("projectName", project.getProjectName());
placeholderData.put("files",files);
// -------------------------- 步骤2用poi-tl加载目标模板并替换占位符 --------------------------
// 读取resources下的“设计项目负责人任命通知单.docx”模板
ClassPathResource templateResource = new ClassPathResource(TEMPLATE_PATH);
try (InputStream templateIs = templateResource.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
Configure config = Configure.builder()
.bind("files", policy).build();
XWPFTemplate template = XWPFTemplate.compile(templateIs, config).render(placeholderData);
// -------------------------- 步骤3将生成的文档写入字节流 --------------------------
template.write(outputStream);
template.close(); // 关闭模板资源
return outputStream.toByteArray();
}
}
}

View File

@ -0,0 +1,15 @@
package org.dromara.design.domain.vo;
import lombok.Data;
@Data
public class DesCollectFileWordVo {
private Integer num;
private String fileName;
private String opinion;
}

View File

@ -1,45 +0,0 @@
package org.dromara.job.once;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.dromara.manager.ys7manager.Ys7Manager;
import org.dromara.manager.ys7manager.vo.Ys7QueryDeviceResponseVo;
import org.dromara.other.service.IOthYs7DeviceService;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 同步摄像头设备数据
*
* @author lilemy
* @date 2025/6/13 11:08
*/
@Slf4j
@Component
public class FullSyncYs7DeviceData implements CommandLineRunner {
@Resource
private Ys7Manager ys7Manager;
@Resource
private IOthYs7DeviceService ys7DeviceService;
@Override
public void run(String... args) throws Exception {
log.info("开始同步摄像头设备数据");
try {
List<Ys7QueryDeviceResponseVo> ys7QueryDeviceList = ys7Manager.queryAllDeviceList();
Boolean result = ys7DeviceService.saveOrUpdateByDeviceList(ys7QueryDeviceList);
if (result) {
log.info("摄像头设备数据同步成功");
} else {
log.info("没有需要同步的设备");
}
} catch (Exception e) {
log.info("摄像头设备数据同步失败", e);
}
}
}

View File

@ -668,11 +668,13 @@ public class MatMaterialsServiceImpl extends ServiceImpl<MatMaterialsMapper, Mat
BeanUtils.copyProperties(material, vo);
Long id = material.getId();
MatMaterialsInventory put = putMap.get(id);
if (put != null) {
vo.setSupplier(put.getRecipient());
vo.setInventoryId(put.getId());
vo.setNumber(put.getNumber());
vo.setOperator(put.getOperator());
vo.setEnterTime(put.getCreateTime());
}
if (CollUtil.isNotEmpty(outList)) {
List<MatMaterialsInventory> outs = outList.stream()
.filter(inventory -> inventory.getMaterialsId().equals(id))

View File

@ -162,6 +162,12 @@ public class PgsProgressPlanServiceImpl extends ServiceImpl<PgsProgressPlanMappe
Long id = progressPlan.getId();
List<PgsProgressPlanDetailCreateDto> detailList = req.getDetailList();
if (CollUtil.isNotEmpty(detailList)) {
// 判断详情数量是否合法
boolean isAnyEmpty = detailList.stream()
.allMatch(detail -> detail.getPlanNumber().compareTo(BigDecimal.ZERO) <= 0);
if (isAnyEmpty) {
throw new ServiceException("新增进度计划详情失败,请进行均分", HttpStatus.BAD_REQUEST);
}
List<PgsProgressPlanDetail> newDetailList = detailList.stream().map(detail -> {
PgsProgressPlanDetail progressPlanDetail = new PgsProgressPlanDetail();
BeanUtils.copyProperties(detail, progressPlanDetail);

View File

@ -333,10 +333,11 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
}
//打卡范围
if (!"1".equals(req.getSource())){
if (!checkInRange(req)) {
throw new ServiceException("打卡位置不在范围内", HttpStatus.ERROR);
}
}
//用户信息校验
SubConstructionUser constructionUser = constructionUserService.getBySysUserId(userId);
if ("1".equals(constructionUser.getStatus())) {

View File

@ -603,7 +603,7 @@ public class BusLeaveServiceImpl extends ServiceImpl<BusLeaveMapper, BusLeave>
.eq(BusAttendance::getUserId, busLeave.getUserId())
);
for (BusAttendance attendance : list) {
attendance.setClockStatus(BusAttendanceClockStatusEnum.LATE.getValue());
attendance.setClockStatus(BusAttendanceClockStatusEnum.LEAVE.getValue());
}
if(!list.isEmpty()){
attendanceService.updateBatchById(list);
@ -619,7 +619,7 @@ public class BusLeaveServiceImpl extends ServiceImpl<BusLeaveMapper, BusLeave>
.eq(BusAttendance::getUserId, busLeave.getUserId())
);
for (BusAttendance attendance : list) {
attendance.setClockStatus(BusAttendanceClockStatusEnum.LATE.getValue());
attendance.setClockStatus(BusAttendanceClockStatusEnum.LEAVE.getValue());
}
if(!list.isEmpty()){
attendanceService.updateBatchById(list);
@ -635,7 +635,7 @@ public class BusLeaveServiceImpl extends ServiceImpl<BusLeaveMapper, BusLeave>
.eq(BusAttendance::getUserId, busLeave.getUserId())
);
for (BusAttendance attendance : list) {
attendance.setClockStatus(BusAttendanceClockStatusEnum.LATE.getValue());
attendance.setClockStatus(BusAttendanceClockStatusEnum.LEAVE.getValue());
}
if(!list.isEmpty()){
attendanceService.updateBatchById(list);

View File

@ -0,0 +1,106 @@
package org.dromara.vehicle.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.vehicle.domain.bo.VehVehicleInfoBo;
import org.dromara.vehicle.domain.vo.VehVehicleInfoVo;
import org.dromara.vehicle.service.IVehVehicleInfoService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 车辆信息
*
* @author lilemy
* @date 2025-10-25
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/vehicle/vehicleInfo")
public class VehVehicleInfoController extends BaseController {
private final IVehVehicleInfoService vehVehicleInfoService;
/**
* 查询车辆信息列表
*/
@SaCheckPermission("vehicle:vehicleInfo:list")
@GetMapping("/list")
public TableDataInfo<VehVehicleInfoVo> list(VehVehicleInfoBo bo, PageQuery pageQuery) {
return vehVehicleInfoService.queryPageList(bo, pageQuery);
}
/**
* 导出车辆信息列表
*/
@SaCheckPermission("vehicle:vehicleInfo:export")
@Log(title = "车辆信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(VehVehicleInfoBo bo, HttpServletResponse response) {
List<VehVehicleInfoVo> list = vehVehicleInfoService.queryList(bo);
ExcelUtil.exportExcel(list, "车辆信息", VehVehicleInfoVo.class, response);
}
/**
* 获取车辆信息详细信息
*
* @param id 主键
*/
@SaCheckPermission("vehicle:vehicleInfo:query")
@GetMapping("/{id}")
public R<VehVehicleInfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(vehVehicleInfoService.queryById(id));
}
/**
* 新增车辆信息
*/
@SaCheckPermission("vehicle:vehicleInfo:add")
@Log(title = "车辆信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody VehVehicleInfoBo bo) {
return toAjax(vehVehicleInfoService.insertByBo(bo));
}
/**
* 修改车辆信息
*/
@SaCheckPermission("vehicle:vehicleInfo:edit")
@Log(title = "车辆信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody VehVehicleInfoBo bo) {
return toAjax(vehVehicleInfoService.updateByBo(bo));
}
/**
* 删除车辆信息
*
* @param ids 主键串
*/
@SaCheckPermission("vehicle:vehicleInfo:remove")
@Log(title = "车辆信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(vehVehicleInfoService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,148 @@
package org.dromara.vehicle.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.io.Serial;
import java.time.LocalDate;
/**
* 车辆信息对象 veh_vehicle_info
*
* @author lilemy
* @date 2025-10-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("veh_vehicle_info")
public class VehVehicleInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 项目ID
*/
private Long projectId;
/**
* 车牌号
*/
private String plateNumber;
/**
* 车辆品牌
*/
private String vehicleBrand;
/**
* 车辆类型
*/
private String vehicleType;
/**
* 车辆颜色
*/
private String vehicleColor;
/**
* 座位数
*/
private Integer seatCount;
/**
* 燃料类型
*/
private String fuelType;
/**
* 车辆状态
*/
private String vehicleStatus;
/**
* 车长(米)
*/
private BigDecimal vehicleLength;
/**
* 车宽(米)
*/
private BigDecimal vehicleWidth;
/**
* 车高(米)
*/
private BigDecimal vehicleHeight;
/**
* 轴距(米)
*/
private BigDecimal wheelBase;
/**
* 轮距(米)
*/
private BigDecimal wheelTrack;
/**
* 车辆性质
*/
private String ownerType;
/**
* 租赁方信息
*/
private String rentalCompany;
/**
* 登记证书编号(车管所登记凭证)
*/
private String registrationCertNo;
/**
* 登记日期
*/
private LocalDate registerDate;
/**
* 购置日期
*/
private LocalDate purchaseDate;
/**
* 购置价格
*/
private BigDecimal purchasePrice;
/**
* 保险到期时间
*/
private LocalDate insuranceExpiry;
/**
* 年检到期时间
*/
private LocalDate inspectionExpiry;
/**
* 附件ID
*/
private String fileIds;
/**
* 备注
*/
private String remark;
}

View File

@ -0,0 +1,158 @@
package org.dromara.vehicle.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.vehicle.domain.VehVehicleInfo;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 车辆信息业务对象 veh_vehicle_info
*
* @author lilemy
* @date 2025-10-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = VehVehicleInfo.class, reverseConvertGenerate = false)
public class VehVehicleInfoBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = {EditGroup.class})
private Long id;
/**
* 项目ID
*/
@NotNull(message = "项目ID不能为空", groups = {AddGroup.class, EditGroup.class})
private Long projectId;
/**
* 车牌号
*/
@NotBlank(message = "车牌号不能为空", groups = {AddGroup.class, EditGroup.class})
private String plateNumber;
/**
* 车辆品牌
*/
@NotBlank(message = "车辆品牌不能为空", groups = {AddGroup.class, EditGroup.class})
private String vehicleBrand;
/**
* 车辆类型
*/
@NotBlank(message = "车辆类型不能为空", groups = {AddGroup.class, EditGroup.class})
private String vehicleType;
/**
* 车辆颜色
*/
@NotBlank(message = "车辆颜色不能为空", groups = {AddGroup.class, EditGroup.class})
private String vehicleColor;
/**
* 座位数
*/
@NotNull(message = "座位数不能为空", groups = {AddGroup.class, EditGroup.class})
private Integer seatCount;
/**
* 燃料类型
*/
@NotBlank(message = "燃料类型不能为空", groups = {AddGroup.class, EditGroup.class})
private String fuelType;
/**
* 车辆状态
*/
@NotBlank(message = "车辆状态不能为空", groups = {AddGroup.class, EditGroup.class})
private String vehicleStatus;
/**
* 车长(米)
*/
private BigDecimal vehicleLength;
/**
* 车宽(米)
*/
private BigDecimal vehicleWidth;
/**
* 车高(米)
*/
private BigDecimal vehicleHeight;
/**
* 轴距(米)
*/
private BigDecimal wheelBase;
/**
* 轮距(米)
*/
private BigDecimal wheelTrack;
/**
* 车辆性质
*/
@NotBlank(message = "车辆性质不能为空", groups = {AddGroup.class, EditGroup.class})
private String ownerType;
/**
* 租赁方信息
*/
private String rentalCompany;
/**
* 登记证书编号(车管所登记凭证)
*/
private String registrationCertNo;
/**
* 登记日期
*/
private LocalDate registerDate;
/**
* 购置日期
*/
private LocalDate purchaseDate;
/**
* 购置价格
*/
private BigDecimal purchasePrice;
/**
* 保险到期时间
*/
private LocalDate insuranceExpiry;
/**
* 年检到期时间
*/
private LocalDate inspectionExpiry;
/**
* 附件ID
*/
private String fileIds;
/**
* 备注
*/
private String remark;
}

View File

@ -0,0 +1,187 @@
package org.dromara.vehicle.domain.vo;
import java.math.BigDecimal;
import org.dromara.vehicle.domain.VehVehicleInfo;
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 java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;
/**
* 车辆信息视图对象 veh_vehicle_info
*
* @author lilemy
* @date 2025-10-25
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = VehVehicleInfo.class)
public class VehVehicleInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 项目ID
*/
@ExcelProperty(value = "项目ID")
private Long projectId;
/**
* 车牌号
*/
@ExcelProperty(value = "车牌号")
private String plateNumber;
/**
* 车辆品牌
*/
@ExcelProperty(value = "车辆品牌")
private String vehicleBrand;
/**
* 车辆类型
*/
@ExcelProperty(value = "车辆类型")
private String vehicleType;
/**
* 车辆颜色
*/
@ExcelProperty(value = "车辆颜色")
private String vehicleColor;
/**
* 座位数
*/
@ExcelProperty(value = "座位数")
private Integer seatCount;
/**
* 燃料类型
*/
@ExcelProperty(value = "燃料类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "veh_vehicle_fuel_type")
private String fuelType;
/**
* 车辆状态
*/
@ExcelProperty(value = "车辆状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "veh_vehicle_status")
private String vehicleStatus;
/**
* 车长(米)
*/
@ExcelProperty(value = "车长", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "米=")
private BigDecimal vehicleLength;
/**
* 车宽(米)
*/
@ExcelProperty(value = "车宽", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "米=")
private BigDecimal vehicleWidth;
/**
* 车高(米)
*/
@ExcelProperty(value = "车高", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "米=")
private BigDecimal vehicleHeight;
/**
* 轴距(米)
*/
@ExcelProperty(value = "轴距", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "米=")
private BigDecimal wheelBase;
/**
* 轮距(米)
*/
@ExcelProperty(value = "轮距", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "米=")
private BigDecimal wheelTrack;
/**
* 车辆性质
*/
@ExcelProperty(value = "车辆性质", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "veh_vehicle_owner_type")
private String ownerType;
/**
* 租赁方信息
*/
@ExcelProperty(value = "租赁方信息")
private String rentalCompany;
/**
* 登记证书编号(车管所登记凭证)
*/
@ExcelProperty(value = "登记证书编号", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "车=管所登记凭证")
private String registrationCertNo;
/**
* 登记日期
*/
@ExcelProperty(value = "登记日期")
private LocalDate registerDate;
/**
* 购置日期
*/
@ExcelProperty(value = "购置日期")
private LocalDate purchaseDate;
/**
* 购置价格
*/
@ExcelProperty(value = "购置价格")
private BigDecimal purchasePrice;
/**
* 保险到期时间
*/
@ExcelProperty(value = "保险到期时间")
private LocalDate insuranceExpiry;
/**
* 年检到期时间
*/
@ExcelProperty(value = "年检到期时间")
private LocalDate inspectionExpiry;
/**
* 附件ID
*/
@ExcelProperty(value = "附件ID")
private String fileIds;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@ -0,0 +1,15 @@
package org.dromara.vehicle.mapper;
import org.dromara.vehicle.domain.VehVehicleInfo;
import org.dromara.vehicle.domain.vo.VehVehicleInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 车辆信息Mapper接口
*
* @author lilemy
* @date 2025-10-25
*/
public interface VehVehicleInfoMapper extends BaseMapperPlus<VehVehicleInfo, VehVehicleInfoVo> {
}

View File

@ -0,0 +1,70 @@
package org.dromara.vehicle.service;
import org.dromara.vehicle.domain.vo.VehVehicleInfoVo;
import org.dromara.vehicle.domain.bo.VehVehicleInfoBo;
import org.dromara.vehicle.domain.VehVehicleInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 车辆信息Service接口
*
* @author lilemy
* @date 2025-10-25
*/
public interface IVehVehicleInfoService extends IService<VehVehicleInfo>{
/**
* 查询车辆信息
*
* @param id 主键
* @return 车辆信息
*/
VehVehicleInfoVo queryById(Long id);
/**
* 分页查询车辆信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 车辆信息分页列表
*/
TableDataInfo<VehVehicleInfoVo> queryPageList(VehVehicleInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的车辆信息列表
*
* @param bo 查询条件
* @return 车辆信息列表
*/
List<VehVehicleInfoVo> queryList(VehVehicleInfoBo bo);
/**
* 新增车辆信息
*
* @param bo 车辆信息
* @return 是否新增成功
*/
Boolean insertByBo(VehVehicleInfoBo bo);
/**
* 修改车辆信息
*
* @param bo 车辆信息
* @return 是否修改成功
*/
Boolean updateByBo(VehVehicleInfoBo bo);
/**
* 校验并批量删除车辆信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,151 @@
package org.dromara.vehicle.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 lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.vehicle.domain.VehVehicleInfo;
import org.dromara.vehicle.domain.bo.VehVehicleInfoBo;
import org.dromara.vehicle.domain.vo.VehVehicleInfoVo;
import org.dromara.vehicle.mapper.VehVehicleInfoMapper;
import org.dromara.vehicle.service.IVehVehicleInfoService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 车辆信息Service业务层处理
*
* @author lilemy
* @date 2025-10-25
*/
@RequiredArgsConstructor
@Service
public class VehVehicleInfoServiceImpl extends ServiceImpl<VehVehicleInfoMapper, VehVehicleInfo>
implements IVehVehicleInfoService {
/**
* 查询车辆信息
*
* @param id 主键
* @return 车辆信息
*/
@Override
public VehVehicleInfoVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询车辆信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 车辆信息分页列表
*/
@Override
public TableDataInfo<VehVehicleInfoVo> queryPageList(VehVehicleInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<VehVehicleInfo> lqw = buildQueryWrapper(bo);
Page<VehVehicleInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的车辆信息列表
*
* @param bo 查询条件
* @return 车辆信息列表
*/
@Override
public List<VehVehicleInfoVo> queryList(VehVehicleInfoBo bo) {
LambdaQueryWrapper<VehVehicleInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<VehVehicleInfo> buildQueryWrapper(VehVehicleInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<VehVehicleInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(VehVehicleInfo::getId);
lqw.eq(bo.getProjectId() != null, VehVehicleInfo::getProjectId, bo.getProjectId());
lqw.eq(StringUtils.isNotBlank(bo.getPlateNumber()), VehVehicleInfo::getPlateNumber, bo.getPlateNumber());
lqw.eq(StringUtils.isNotBlank(bo.getVehicleBrand()), VehVehicleInfo::getVehicleBrand, bo.getVehicleBrand());
lqw.eq(StringUtils.isNotBlank(bo.getVehicleType()), VehVehicleInfo::getVehicleType, bo.getVehicleType());
lqw.eq(StringUtils.isNotBlank(bo.getVehicleColor()), VehVehicleInfo::getVehicleColor, bo.getVehicleColor());
lqw.eq(bo.getSeatCount() != null, VehVehicleInfo::getSeatCount, bo.getSeatCount());
lqw.eq(StringUtils.isNotBlank(bo.getFuelType()), VehVehicleInfo::getFuelType, bo.getFuelType());
lqw.eq(StringUtils.isNotBlank(bo.getVehicleStatus()), VehVehicleInfo::getVehicleStatus, bo.getVehicleStatus());
lqw.eq(bo.getVehicleLength() != null, VehVehicleInfo::getVehicleLength, bo.getVehicleLength());
lqw.eq(bo.getVehicleWidth() != null, VehVehicleInfo::getVehicleWidth, bo.getVehicleWidth());
lqw.eq(bo.getVehicleHeight() != null, VehVehicleInfo::getVehicleHeight, bo.getVehicleHeight());
lqw.eq(bo.getWheelBase() != null, VehVehicleInfo::getWheelBase, bo.getWheelBase());
lqw.eq(bo.getWheelTrack() != null, VehVehicleInfo::getWheelTrack, bo.getWheelTrack());
lqw.eq(StringUtils.isNotBlank(bo.getOwnerType()), VehVehicleInfo::getOwnerType, bo.getOwnerType());
lqw.eq(StringUtils.isNotBlank(bo.getRentalCompany()), VehVehicleInfo::getRentalCompany, bo.getRentalCompany());
lqw.eq(StringUtils.isNotBlank(bo.getRegistrationCertNo()), VehVehicleInfo::getRegistrationCertNo, bo.getRegistrationCertNo());
lqw.eq(bo.getRegisterDate() != null, VehVehicleInfo::getRegisterDate, bo.getRegisterDate());
lqw.eq(bo.getPurchaseDate() != null, VehVehicleInfo::getPurchaseDate, bo.getPurchaseDate());
lqw.eq(bo.getPurchasePrice() != null, VehVehicleInfo::getPurchasePrice, bo.getPurchasePrice());
lqw.eq(bo.getInsuranceExpiry() != null, VehVehicleInfo::getInsuranceExpiry, bo.getInsuranceExpiry());
lqw.eq(bo.getInspectionExpiry() != null, VehVehicleInfo::getInspectionExpiry, bo.getInspectionExpiry());
lqw.eq(StringUtils.isNotBlank(bo.getFileIds()), VehVehicleInfo::getFileIds, bo.getFileIds());
return lqw;
}
/**
* 新增车辆信息
*
* @param bo 车辆信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(VehVehicleInfoBo bo) {
VehVehicleInfo add = MapstructUtils.convert(bo, VehVehicleInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改车辆信息
*
* @param bo 车辆信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(VehVehicleInfoBo bo) {
VehVehicleInfo update = MapstructUtils.convert(bo, VehVehicleInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(VehVehicleInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除车辆信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -35,7 +35,7 @@ import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBidPreProje
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingManagement/bidPreProject")
@RequestMapping("/xzd/biddingManagement/bidPreProject")
public class XzdBidPreProjectController extends BaseController {
private final IXzdBidPreProjectService xzdBidPreProjectService;

View File

@ -147,7 +147,7 @@ public class XzdBidPreProjectVo implements Serializable {
/**
* 联投单位
*/
@Translation(type = TransConstant.XZD_GYSXX_ID_TO_NAME, mapper = "jointInvestmentEntity")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "jointInvestmentEntity")
private String jointInvestmentEntityName;
/**

View File

@ -184,7 +184,7 @@ public class XzdBqlxProjectInfoVo implements Serializable {
* 建设单位
*/
@ExcelProperty(value = "建设单位")
@Translation(type = TransConstant.XZD_GYSXX_ID_TO_NAME, mapper = "constructionUnit")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "constructionUnit")
private String constructionUnitName;
/**
@ -208,7 +208,7 @@ public class XzdBqlxProjectInfoVo implements Serializable {
* 招标单位
*/
@ExcelProperty(value = "招标单位")
@Translation(type = TransConstant.XZD_GYSXX_ID_TO_NAME, mapper = "biddingUnit")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "biddingUnit")
private String biddingUnitName;
/**

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingDocument/biddingFileEstimate")
@RequestMapping("/xzd/biddingDocument/biddingFileEstimate")
public class XzdBiddingFileEstimateController extends BaseController {
private final IXzdBiddingFileEstimateService xzdBiddingFileEstimateService;

View File

@ -82,6 +82,13 @@ public class XzdBiddingFileEstimateVo implements Serializable {
@ExcelProperty(value = "招标单位")
private String biddingUnit;
/**
* 招标单位
*/
@ExcelProperty(value = "招标单位")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "biddingUnit")
private String biddingUnitName;
/**
* 招标方式
*/

View File

@ -34,7 +34,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingDocument/biddingDocument")
@RequestMapping("/xzd/biddingDocument/biddingDocument")
public class XzdBiddingDocumentController extends BaseController {
private final IXzdBiddingDocumentService xzdBiddingDocumentService;

View File

@ -74,12 +74,26 @@ public class XzdBiddingDocumentVo implements Serializable {
@ExcelProperty(value = "项目类型ID")
private Long projectType;
/**
* 项目类型ID
*/
@ExcelProperty(value = "项目类型ID")
private String projectTypeName;
/**
* 投标单位
*/
@ExcelProperty(value = "投标单位")
private String bidUnit;
/**
* 投标单位
*/
@ExcelProperty(value = "投标单位")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "bidUnit")
private String bidUnitName;
/**
* 单据日期
*/

View File

@ -25,6 +25,8 @@ import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdBidding
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjBusinessBidService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjTechnicalBidService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjZsyqService;
import org.dromara.xzd.domain.vo.XzdProjectTypeVo;
import org.dromara.xzd.service.IXzdProjectTypeService;
import org.dromara.xzd.utilS.AreaUtil;
import org.locationtech.jts.edgegraph.HalfEdge;
import org.springframework.beans.BeanUtils;
@ -59,6 +61,8 @@ public class XzdBiddingDocumentServiceImpl extends ServiceImpl<XzdBiddingDocumen
private final IXzdTbwjZsyqService iXzdTbwjZsyqService;
private final IXzdProjectTypeService xzdProjectTypeService;
/**
* 查询投标文件
*
@ -94,9 +98,25 @@ public class XzdBiddingDocumentServiceImpl extends ServiceImpl<XzdBiddingDocumen
public TableDataInfo<XzdBiddingDocumentVo> queryPageList(XzdBiddingDocumentBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBiddingDocument> lqw = buildQueryWrapper(bo);
Page<XzdBiddingDocumentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
result.getRecords().forEach(this::getName);
return TableDataInfo.build(result);
}
private void getName(XzdBiddingDocumentVo xzdBiddingDocumentVo) {
if (xzdBiddingDocumentVo != null){
Long projectType = xzdBiddingDocumentVo.getProjectType();
if (projectType != null){
XzdProjectTypeVo xzdProjectTypeVo = xzdProjectTypeService.queryById(projectType);
if (xzdProjectTypeVo != null){
xzdBiddingDocumentVo.setProjectTypeName(xzdProjectTypeVo.getTypeName());
}
}
}
}
/**
* 查询符合条件的投标文件列表
*

View File

@ -33,7 +33,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/earnestMoney/bidDepositPayment")
@RequestMapping("/xzd/earnestMoney/bidDepositPayment")
public class XzdBidDepositPaymentController extends BaseController {
private final IXzdBidDepositPaymentService xzdBidDepositPaymentService;

View File

@ -33,7 +33,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingManagement/bidDepositRecovery")
@RequestMapping("/xzd/biddingManagement/bidDepositRecovery")
public class XzdBidDepositRecoveryController extends BaseController {
private final IXzdBidDepositRecoveryService xzdBidDepositRecoveryService;

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/paymentapplication/biddingAgencyFeePayment")
@RequestMapping("/xzd/paymentapplication/biddingAgencyFeePayment")
public class XzdBiddingAgencyFeePaymentController extends BaseController {
private final IXzdBiddingAgencyFeePaymentService xzdBiddingAgencyFeePaymentService;

View File

@ -32,7 +32,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/postAnalysis/postBidAnalysis")
@RequestMapping("/xzd/postAnalysis/postBidAnalysis")
public class XzdPostBidAnalysisController extends BaseController {
private final IXzdPostBidAnalysisService xzdPostBidAnalysisService;

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -44,7 +45,7 @@ public class XzdPostBidAnalysis extends BaseEntity {
/**
* 工程造价(万元)
*/
private Long projectCost;
private BigDecimal projectCost;
/**
* 项目类型
@ -79,12 +80,12 @@ public class XzdPostBidAnalysis extends BaseEntity {
/**
* 招标控制价(万元)
*/
private Long controlPrice;
private BigDecimal controlPrice;
/**
* 最终报价(万元)
*/
private Long finalQuote;
private BigDecimal finalQuote;
/**
* 投标结果
@ -104,7 +105,7 @@ public class XzdPostBidAnalysis extends BaseEntity {
/**
* 最终报价(元)
*/
private Long finalQuoteYuan;
private BigDecimal finalQuoteYuan;
/**
* 最终报价(大写)

View File

@ -8,6 +8,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
@ -45,7 +46,7 @@ public class XzdPostBidAnalysisBo extends BaseEntity {
/**
* 工程造价(万元)
*/
private Long projectCost;
private BigDecimal projectCost;
/**
* 项目类型
@ -80,12 +81,12 @@ public class XzdPostBidAnalysisBo extends BaseEntity {
/**
* 招标控制价(万元)
*/
private Long controlPrice;
private BigDecimal controlPrice;
/**
* 最终报价(万元)
*/
private Long finalQuote;
private BigDecimal finalQuote;
/**
* 投标结果
@ -106,7 +107,7 @@ public class XzdPostBidAnalysisBo extends BaseEntity {
/**
* 最终报价(元)
*/
private Long finalQuoteYuan;
private BigDecimal finalQuoteYuan;
/**
* 最终报价(大写)

View File

@ -1,7 +1,11 @@
package org.dromara.xzd.biddingManagement.postAnalysis.domain.vo;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -9,6 +13,8 @@ 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.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdBhfxDwpm;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdPostBidAnalysis;
@ -54,7 +60,7 @@ public class XzdPostBidAnalysisVo implements Serializable {
* 工程造价(万元)
*/
@ExcelProperty(value = "工程造价(万元)")
private Long projectCost;
private BigDecimal projectCost;
/**
* 项目类型
@ -96,13 +102,13 @@ public class XzdPostBidAnalysisVo implements Serializable {
* 招标控制价(万元)
*/
@ExcelProperty(value = "招标控制价(万元)")
private Long controlPrice;
private BigDecimal controlPrice;
/**
* 最终报价(万元)
*/
@ExcelProperty(value = "最终报价(万元)")
private Long finalQuote;
private BigDecimal finalQuote;
/**
* 投标结果
@ -127,7 +133,7 @@ public class XzdPostBidAnalysisVo implements Serializable {
* 最终报价(元)
*/
@ExcelProperty(value = "最终报价(元)")
private Long finalQuoteYuan;
private BigDecimal finalQuoteYuan;
/**
* 最终报价(大写)
@ -153,6 +159,24 @@ public class XzdPostBidAnalysisVo implements Serializable {
@ExcelProperty(value = "审核状态")
private String auditStatus;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
private Long createBy;
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy")
private String createByName;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
private List<XzdBhfxDwpmVo> pm;

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/comprehensive/csContractChange")
@RequestMapping("/xzd/comprehensive/csContractChange")
public class XzdCsContractChangeController extends BaseController {
private final IXzdCsContractChangeService xzdCsContractChangeService;

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/comprehensive/csContractInformation")
@RequestMapping("/xzd/comprehensive/csContractInformation")
public class XzdCsContractInformationController extends BaseController {
private final IXzdCsContractInformationService xzdCsContractInformationService;

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/comprehensive/csContractSuspend")
@RequestMapping("/xzd/comprehensive/csContractSuspend")
public class XzdCsContractSuspendController extends BaseController {
private final IXzdCsContractSuspendService xzdCsContractSuspendService;

View File

@ -123,7 +123,7 @@ public class XzdCsContractChangeVo implements Serializable {
*/
@ExcelProperty(value = "乙方单位")
private Long partyB;
@Translation(type = TransConstant.XZD_GYSXX_ID_TO_NAME, mapper = "partyB")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyB")
private String partyBName;
/**

View File

@ -115,7 +115,7 @@ public class XzdCsContractInformationVo implements Serializable {
*/
@ExcelProperty(value = "乙方单位")
private Long partyB;
@Translation(type = TransConstant.XZD_GYSXX_ID_TO_NAME, mapper = "partyB")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyB")
private String partyBName;
/**
@ -151,7 +151,7 @@ public class XzdCsContractInformationVo implements Serializable {
*/
@ExcelProperty(value = "开票单位")
private Long invoiceIssuer;
@Translation(type = TransConstant.XZD_GYSXX_ID_TO_NAME, mapper = "invoiceIssuer")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "invoiceIssuer")
private String invoiceIssuerName;
/**

View File

@ -90,7 +90,7 @@ public class XzdCsContractSuspendVo implements Serializable {
*/
@ExcelProperty(value = "乙方单位")
private Long artyBUnit;
@Translation(type = TransConstant.XZD_GYSXX_ID_TO_NAME, mapper = "artyBUnit")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "artyBUnit")
private String artyBUnitName;
/**

View File

@ -0,0 +1,21 @@
package org.dromara.xzd.config;
import org.dromara.xzd.interceptor.RequestLogInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Autowired
private RequestLogInterceptor requestLogInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(requestLogInterceptor)
.addPathPatterns("/xzd/**") // 拦截所有路径
.order(1);
}
}

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/contractTermination/purchaseContractSuspend")
@RequestMapping("/xzd/contractTermination/purchaseContractSuspend")
public class XzdPurchaseContractSuspendController extends BaseController {
private final IXzdPurchaseContractSuspendService xzdPurchaseContractSuspendService;

View File

@ -100,6 +100,7 @@ public class XzdPurchaseContractSuspendVo implements Serializable {
* 乙方单位名称
*/
@ExcelProperty(value = "乙方单位名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "artyBUnit")
private String artyBUnitName;
/**
@ -112,6 +113,7 @@ public class XzdPurchaseContractSuspendVo implements Serializable {
* 甲方单位名称
*/
@ExcelProperty(value = "甲方单位名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyAUnit")
private String partyAUnitName;

View File

@ -55,8 +55,8 @@ public class XzdPurchaseContractSuspendServiceImpl extends ServiceImpl<XzdPurcha
private final IXzdPurchaseContractInformationService xzdPurchaseContractInformationService;
@Autowired
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
// @Autowired
// private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
@Autowired
@ -83,27 +83,6 @@ public class XzdPurchaseContractSuspendServiceImpl extends ServiceImpl<XzdPurcha
private void setValue(List<XzdPurchaseContractSuspendVo> res) {
for (XzdPurchaseContractSuspendVo item : res) {
// //项目名称
// if (item.getProject() != null){
// String projectName = xzdProjectService.queryNameById(item.getProject());
// if (projectName != null){
// item.setProjectName(projectName);
// }
// }
//甲方单位(客户信息列表)
R<QuerCorrespondentDto> byid = iXzdCorrespondentList.getCustomerByid(item.getPartyAUnit());
if (byid!=null){
if (byid.getData().getXzdCustomerinformation() != null){
item.setPartyAUnitName(byid.getData().getXzdCustomerinformation().getUnitName());
}
}
//乙方单位(供应商信息列表)
if (item.getArtyBUnit() != null){
String unitName = xzdSupplierInfoService.queryNameById(item.getArtyBUnit());
if (unitName != null){
item.setArtyBUnitName(unitName);
}
}
// 采购合同信息编码
if (item.getContractInformationId() != null){
XzdPurchaseContractInformationVo queryById = xzdPurchaseContractInformationService.queryById(item.getContractInformationId());

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/hetongbiangeng/purchaseContractAlteration")
@RequestMapping("/xzd/hetongbiangeng/purchaseContractAlteration")
public class XzdPurchaseContractAlterationController extends BaseController {
private final IXzdPurchaseContractAlterationService xzdPurchaseContractAlterationService;

View File

@ -132,6 +132,7 @@ public class XzdPurchaseContractAlterationVo implements Serializable {
* 甲方单位
*/
@ExcelProperty(value = "甲方单位")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyAUnit")
private String partyAUnitName;
@ -151,6 +152,7 @@ public class XzdPurchaseContractAlterationVo implements Serializable {
* 乙方单位
*/
@ExcelProperty(value = "乙方单位")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "artyBUnit")
private String artyBUnitName;
/**

View File

@ -97,20 +97,7 @@ public class XzdPurchaseContractAlterationServiceImpl extends ServiceImpl<XzdPur
for (XzdPurchaseContractAlterationVo item : infos) {
//甲方单位(客户信息列表)
R<QuerCorrespondentDto> byid = iXzdCorrespondentList.getCustomerByid(item.getPartyAUnit());
if (byid!=null){
if (byid.getData().getXzdCustomerinformation() != null){
item.setPartyAUnitName(byid.getData().getXzdCustomerinformation().getUnitName());
}
}
//乙方单位(供应商信息列表)
if (item.getArtyBUnit() != null){
String unitName = xzdSupplierInfoService.queryNameById(item.getArtyBUnit());
if (unitName != null){
item.setArtyBUnitName(unitName);
}
}
// 合同编码
if (item.getContractInformationId() != null){
XzdPurchaseContractInformationVo vo = iXzdPurchaseContractInformationService.queryById(item.getContractInformationId());

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/fenbaohetongbiangg/subcontractChange")
@RequestMapping("/xzd/fenbaohetongbiangg/subcontractChange")
public class XzdSubcontractChangeController extends BaseController {
private final IXzdSubcontractChangeService xzdSubcontractChangeService;

View File

@ -169,6 +169,7 @@ public class XzdSubcontractChangeServiceImpl extends ServiceImpl<XzdSubcontractC
lqw.orderByDesc(XzdSubcontractChange::getId);
lqw.eq(StringUtils.isNotBlank(bo.getDocumentCode()), XzdSubcontractChange::getDocumentCode, bo.getDocumentCode());
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdSubcontractChange::getTitle, bo.getTitle());
lqw.eq(StringUtils.isNotBlank(bo.getProjectName()), XzdSubcontractChange::getProjectName, bo.getProjectName());
lqw.eq(bo.getDocumentDate() != null, XzdSubcontractChange::getDocumentDate, bo.getDocumentDate());
lqw.eq(bo.getDeptId() != null, XzdSubcontractChange::getDeptId, bo.getDeptId());
lqw.ge(bo.getStartTime() != null, XzdSubcontractChange::getDocumentDate, bo.getStartTime());

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/fenbaohetongxinxi/subcontract")
@RequestMapping("/xzd/fenbaohetongxinxi/subcontract")
public class XzdSubcontractController extends BaseController {
private final IXzdSubcontractService xzdSubcontractService;

View File

@ -86,6 +86,7 @@ public class XzdSubcontractVo implements Serializable {
* 项目名称
*/
@ExcelProperty(value = "项目名称")
@Translation(type = TransConstant.XZD_PROJECT_ID_TO_NAME, mapper = "project")
private String projectName;
/**
@ -129,6 +130,7 @@ public class XzdSubcontractVo implements Serializable {
* 甲方单位名称
*/
@ExcelProperty(value = "甲方单位名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyAUnit")
private String partyAUnitName;
@ -142,6 +144,7 @@ public class XzdSubcontractVo implements Serializable {
* 乙方单位名称
*/
@ExcelProperty(value = "乙方单位名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyBUnit")
private String partyBUnitName;
/**
@ -161,6 +164,7 @@ public class XzdSubcontractVo implements Serializable {
* 管理组织名称
*/
@ExcelProperty(value = "管理组织名称")
@Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "managementOrganization")
private String managementOrganizationName;
/**
@ -186,6 +190,7 @@ public class XzdSubcontractVo implements Serializable {
* 开票单位名称
*/
@ExcelProperty(value = "开票单位名称", converter = ExcelDictConvert.class)
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "invoicingUnit")
private String invoicingUnitName;
/**
@ -198,6 +203,7 @@ public class XzdSubcontractVo implements Serializable {
* 收票单位名称
*/
@ExcelProperty(value = "收票单位名称", converter = ExcelDictConvert.class)
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "ticketReceivingUnit")
private String ticketReceivingUnitName;
/**

View File

@ -118,44 +118,6 @@ public class XzdSubcontractServiceImpl extends ServiceImpl<XzdSubcontractMapper,
private void setValue(List<XzdSubcontractVo> infos) {
for (XzdSubcontractVo item : infos) {
//项目名称
if (item.getProject() != null){
String projectName = xzdProjectService.queryNameById(item.getProject());
if (projectName != null){
item.setProjectName(projectName);
}
}
//甲方单位(客户信息列表)
R<QuerCorrespondentDto> byid = iXzdCorrespondentList.getCustomerByid(item.getPartyAUnit());
if (byid!=null){
if (byid.getData().getXzdCustomerinformation() != null){
item.setPartyAUnitName(byid.getData().getXzdCustomerinformation().getUnitName());
}
}
//乙方单位(供应商信息列表)
if (item.getPartyBUnit() != null){
String unitName = xzdSupplierInfoService.queryNameById(item.getPartyBUnit());
if (unitName != null){
item.setPartyBUnitName(unitName);
}
}
//管理组织(供应商)
String unitName = xzdSupplierInfoService.queryNameById(item.getPartyBUnit());
if (unitName != null){
item.setManagementOrganizationName(unitName);
}
//开票单位名称
R<QuerCorrespondentDto> byidtemp = iXzdCorrespondentList.getCustomerByid((item.getInvoicingUnit()));
if (byidtemp!=null){
if (byidtemp.getData().getXzdCustomerinformation() != null){
item.setInvoicingUnitName(byidtemp.getData().getXzdCustomerinformation().getUnitName());
}
}
//收票单位名称(供应商名称)
String unitName2 = xzdSupplierInfoService.queryNameById(item.getTicketReceivingUnit());
if (unitName2 != null){
item.setTicketReceivingUnitName(unitName2);
}
// //合同文本-预收款项
LambdaQueryWrapper<XzdContractAdvanceInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/fenbaohetongzhongzhi/subcontractTermination")
@RequestMapping("/xzd/fenbaohetongzhongzhi/subcontractTermination")
public class XzdSubcontractTerminationController extends BaseController {
private final IXzdSubcontractTerminationService xzdSubcontractTerminationService;

View File

@ -32,7 +32,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/contractManagement/purchaseContractInformation")
@RequestMapping("/xzd/contractManagement/purchaseContractInformation")
public class XzdPurchaseContractInformationController extends BaseController {
private final IXzdPurchaseContractInformationService xzdPurchaseContractInformationService;

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -64,7 +65,7 @@ public class XzdPurchaseContractInformation extends BaseEntity {
/**
* 原合同造价
*/
private Long originalContractCost;
private BigDecimal originalContractCost;
/**
* 签订日期
@ -79,7 +80,7 @@ public class XzdPurchaseContractInformation extends BaseEntity {
/**
* 含税合同金额
*/
private Long taxInclusiveContractAmount;
private BigDecimal taxInclusiveContractAmount;
/**
* 合同状态,例如:新增
@ -89,7 +90,7 @@ public class XzdPurchaseContractInformation extends BaseEntity {
/**
* 累计变更金额
*/
private Long cumulativeChangeAmount;
private BigDecimal cumulativeChangeAmount;
private Long deptId;

View File

@ -9,6 +9,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
@ -68,7 +69,7 @@ public class XzdPurchaseContractInformationBo extends BaseEntity {
/**
* 原合同造价
*/
private Long originalContractCost;
private BigDecimal originalContractCost;
/**
* 签订日期
@ -85,7 +86,7 @@ public class XzdPurchaseContractInformationBo extends BaseEntity {
/**
* 含税合同金额
*/
private Long taxInclusiveContractAmount;
private BigDecimal taxInclusiveContractAmount;
/**
* 合同状态,例如:新增
@ -95,7 +96,7 @@ public class XzdPurchaseContractInformationBo extends BaseEntity {
/**
* 累计变更金额
*/
private Long cumulativeChangeAmount;
private BigDecimal cumulativeChangeAmount;
/**
* 归档日期

View File

@ -1,5 +1,6 @@
package org.dromara.xzd.contractManagement.purchaseManagement.domain.vo;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
@ -88,6 +89,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 项目名称
*/
@ExcelProperty(value = "项目名称")
@Translation(type = TransConstant.XZD_PROJECT_ID_TO_NAME, mapper = "project")
private String projectName;
@ -101,7 +103,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 原合同造价
*/
@ExcelProperty(value = "原合同造价")
private Long originalContractCost;
private BigDecimal originalContractCost;
/**
* 签订日期
@ -119,13 +121,14 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 甲方单位名称
*/
@ExcelProperty(value = "甲方单位名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyAUnit")
private String partyAUnitName;
/**
* 含税合同金额
*/
@ExcelProperty(value = "含税合同金额")
private Long taxInclusiveContractAmount;
private BigDecimal taxInclusiveContractAmount;
/**
* 合同状态,例如:新增
@ -137,7 +140,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 累计变更金额
*/
@ExcelProperty(value = "累计变更金额")
private Long cumulativeChangeAmount;
private BigDecimal cumulativeChangeAmount;
/**
* 归档日期
@ -169,6 +172,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 开票单位名称
*/
@ExcelProperty(value = "开票单位名称", converter = ExcelDictConvert.class)
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "invoiceIssuingUnit")
private String invoiceIssuingUnitName;
/**
@ -182,6 +186,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 收票单位名称
*/
@ExcelProperty(value = "收票单位名称", converter = ExcelDictConvert.class)
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "invoiceReceivingUnit")
private String invoiceReceivingUnitName;
/**
@ -217,6 +222,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 乙方单位名称
*/
@ExcelProperty(value = "乙方单位名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyBUnit")
private String partyBUnitName;
/**
@ -242,6 +248,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 其他收入合同项目名称
*/
@ExcelProperty(value = "其他收入合同项目名称")
@Translation(type = TransConstant.XZD_PROJECT_ID_TO_NAME, mapper = "otherIncomeContractProject")
private String otherIncomeContractProjectName;
/**
@ -272,6 +279,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 签约组织名称
*/
@ExcelProperty(value = "签约组织名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "signingOrganization")
private String signingOrganizationName;
/**
@ -296,6 +304,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 丙方单位名称
*/
@ExcelProperty(value = "丙方单位名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyCUnit")
private String partyCUnitName;
@ -322,6 +331,7 @@ public class XzdPurchaseContractInformationVo implements Serializable {
* 关联主合同
*/
@ExcelProperty(value = "关联主合同")
@Translation(type = TransConstant.XZD_PROJECT_ID_TO_NAME, mapper = "associatedMainContract")
private String associatedMainContractName;
/**

View File

@ -406,74 +406,6 @@ public class XzdPurchaseContractInformationServiceImpl extends ServiceImpl<XzdPu
public void setValue(List<XzdPurchaseContractInformationVo> infos){
for (XzdPurchaseContractInformationVo item : infos) {
//项目名称
if (item.getProject() != null){
String projectName = xzdProjectService.queryNameById(item.getProject());
if (projectName != null){
item.setProjectName(projectName);
}
}
//其他项目名称
if (item.getProject() != null){
if (StringUtils.isNotEmpty(item.getAssociatedMainContract())){
String projectName = xzdProjectService.queryNameById(Long.parseLong(item.getAssociatedMainContract()));
if (projectName != null){
item.setAssociatedMainContractName(projectName);
}
}
}
//其他收入合同项目名称
if (item.getOtherIncomeContractProject() != null){
String projectName = xzdProjectService.queryNameById(item.getOtherIncomeContractProject());
if (projectName != null){
item.setOtherIncomeContractProjectName(projectName);
}
}
//甲方单位(客户信息列表)
R<QuerCorrespondentDto> byid = iXzdCorrespondentList.getCustomerByid(item.getPartyAUnit());
if (byid!=null){
if (byid.getData().getXzdCustomerinformation() != null){
item.setPartyAUnitName(byid.getData().getXzdCustomerinformation().getUnitName());
}
}
//乙方单位(供应商信息列表)
if (item.getPartyBUnit() != null){
String unitName = xzdSupplierInfoService.queryNameById(item.getPartyBUnit());
if (unitName != null){
item.setPartyBUnitName(unitName);
}
}
// //管理组织
// String unitName = xzdSupplierInfoService.queryNameById(item.getManagementOrganization());
//
// if (unitName != null){
// item.setManagementOrganizationName(unitName);
// }
//开票单位名称(供应商名称)
String unitName1 = xzdSupplierInfoService.queryNameById(item.getInvoiceIssuingUnit());
if (unitName1 != null){
item.setInvoiceIssuingUnitName(unitName1);
}
//收票单位名称
String unitNametemp = xzdSupplierInfoService.queryNameById(item.getInvoiceReceivingUnit());
if (unitNametemp!=null){
item.setInvoiceReceivingUnitName(unitNametemp);
}
//签约组织(供应商)
String unitName2 = xzdSupplierInfoService.queryNameById(item.getInvoiceIssuingUnit());
if (unitName2!= null){
item.setSigningOrganizationName(unitName2);
}
//丙方单位(供应商)
String unitName3 = xzdSupplierInfoService.queryNameById(item.getInvoiceIssuingUnit());
if (unitName3!= null){
item.setPartyCUnitName(unitName3);
}
//合同文本-预收款项
LambdaQueryWrapper<XzdContractAdvanceInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(XzdContractAdvanceInfo::getContractDetailsId, item.getId());

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/costBudget/cbysJdcbfj")
@RequestMapping("/xzd/costBudget/cbysJdcbfj")
public class XzdCbysJdcbfjController extends BaseController {
private final IXzdCbysJdcbfjService xzdCbysJdcbfjService;

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/costBudget/cbysWgcbtb")
@RequestMapping("/xzd/costBudget/cbysWgcbtb")
public class XzdCbysWgcbtbController extends BaseController {
private final IXzdCbysWgcbtbService xzdCbysWgcbtbService;

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/costBudget/cbysZjhcbAlteration")
@RequestMapping("/xzd/costBudget/cbysZjhcbAlteration")
public class XzdCbysZjhcbAlterationController extends BaseController {
private final IXzdCbysZjhcbAlterationService xzdCbysZjhcbAlterationService;

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/costBudget/cbysZjhcb")
@RequestMapping("/xzd/costBudget/cbysZjhcb")
public class XzdCbysZjhcbController extends BaseController {
private final IXzdCbysZjhcbService xzdCbysZjhcbService;

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/backletter/guaranteeChangeInfo")
@RequestMapping("/xzd/backletter/guaranteeChangeInfo")
public class XzdGuaranteeChangeInfoController extends BaseController {
private final IXzdGuaranteeChangeInfoService xzdGuaranteeChangeInfoService;

View File

@ -32,7 +32,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/deposit/guaranteeInfo")
@RequestMapping("/xzd/deposit/guaranteeInfo")
public class XzdGuaranteeInfoController extends BaseController {
private final IXzdGuaranteeInfoService xzdGuaranteeInfoService;

View File

@ -11,6 +11,8 @@ 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.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.deposit.contractBackletter.domain.XzdGuaranteeInfo;
import java.io.Serial;
@ -109,6 +111,7 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 申请机构名称
*/
@ExcelProperty(value = "申请机构名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "applicationOrganization")
private String applicationOrganizationName;
/**
@ -128,6 +131,7 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 甲方单位名称
*/
@ExcelProperty(value = "甲方单位名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "applicationOrganization")
private String partyAUnitName;
/**
@ -140,6 +144,7 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 乙方单位名称
*/
@ExcelProperty(value = "乙方单位名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "applicationOrganization")
private String partyBUnitName;
/**

View File

@ -72,7 +72,7 @@ public class XzdGuaranteeInfoServiceImpl extends ServiceImpl<XzdGuaranteeInfoMap
XzdGuaranteeInfoVo xzdGuaranteeInfoVo = baseMapper.selectVoById(id);
List<XzdGuaranteeInfoVo> xzdGuaranteeInfoVo1 = List.of(xzdGuaranteeInfoVo);
// 装填数据
setValue(xzdGuaranteeInfoVo1);
// setValue(xzdGuaranteeInfoVo1);
return xzdGuaranteeInfoVo1.getFirst();
@ -113,7 +113,7 @@ public class XzdGuaranteeInfoServiceImpl extends ServiceImpl<XzdGuaranteeInfoMap
LambdaQueryWrapper<XzdGuaranteeInfo> lqw = buildQueryWrapper(bo);
Page<XzdGuaranteeInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
setValue(result.getRecords());
// setValue(result.getRecords());
return TableDataInfo.build(result);
}

View File

@ -32,7 +32,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/earnestMoney/depositApplication")
@RequestMapping("/xzd/earnestMoney/depositApplication")
public class XzdDepositApplicationController extends BaseController {
private final IXzdDepositApplicationService xzdDepositApplicationService;

View File

@ -136,7 +136,7 @@ public class XzdDepositApplicationVo implements Serializable {
* 收取保证金单位
*/
@ExcelProperty(value = "收取保证金单位")
@Translation(type = TransConstant.XZD_GYSXX_ID_TO_NAME, mapper = "depositReceivingUnit")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "depositReceivingUnit")
private String depositReceivingUnitName;
/**

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/refundDeposit/fbhtzbjth")
@RequestMapping("/xzd/refundDeposit/fbhtzbjth")
public class XzdFbhtzbjthController extends BaseController {
private final IXzdFbhtzbjthService xzdFbhtzbjthService;

View File

@ -141,7 +141,7 @@ public class XzdFbhtzbjthVo implements Serializable {
* 申请单位
*/
@ExcelProperty(value = "申请单位")
@Translation(type = TransConstant.XZD_GYSXX_ID_TO_NAME, mapper = "applicationUnit")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "applicationUnit")
private String applicationUnitName;
/**

View File

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.io.Serializable;
/**
* 供应商-客户中间对象 xzd_customer_supplier
@ -14,9 +15,8 @@ import java.io.Serial;
* @date 2025-10-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_customer_supplier")
public class XzdCustomerSupplier extends BaseEntity {
public class XzdCustomerSupplier implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@ -28,7 +28,7 @@ public class XzdCustomerSupplier extends BaseEntity {
private Long id;
/**
* 类型1、供应商2、客户
* 类型(2、客户 1、供应商
*/
private String type;

View File

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.io.Serializable;
/**
* 供应商-客户中间对象 xzd_customer_supplier_yyb
@ -14,9 +15,8 @@ import java.io.Serial;
* @date 2025-10-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_customer_supplier_yyb")
public class XzdCustomerSupplierYyb extends BaseEntity {
public class XzdCustomerSupplierYyb implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@ -14,9 +14,9 @@ import java.io.Serial;
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
//@EqualsAndHashCode(callSuper = true)
@TableName("xzd_customertype")
public class XzdCustomertype extends BaseEntity {
public class XzdCustomertype {
@Serial
private static final long serialVersionUID = 1L;

View File

@ -32,6 +32,11 @@ public class XzdProject extends BaseEntity {
@TableId(value = "id")
private Long id;
/**
* 区域码
*/
private Long cityCode;
/**
* 项目编号
*/

View File

@ -1,13 +1,13 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.util.Date;
/**
* 项目经理推荐及审批对象 xzd_project_manager_approval
@ -29,6 +29,11 @@ public class XzdProjectManagerApproval extends BaseEntity {
@TableId(value = "id")
private Long id;
/**
* 区域码
*/
private Long cityCode;
/**
* 单据编号
*/

View File

@ -1,14 +1,15 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.util.Date;
/**
* 供应商信息对象 xzd_supplier_info
@ -30,6 +31,11 @@ public class XzdSupplierInfo extends BaseEntity {
@TableId(value = "id")
private Long id;
/**
* 区域编码
*/
private Long cityCode;
/**
* 单位编号
*/

View File

@ -16,9 +16,8 @@ import jakarta.validation.constraints.*;
* @date 2025-10-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdCustomerSupplier.class, reverseConvertGenerate = false)
public class XzdCustomerSupplierBo extends BaseEntity {
public class XzdCustomerSupplierBo {
/**
*

View File

@ -16,9 +16,8 @@ import jakarta.validation.constraints.*;
* @date 2025-10-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdCustomerSupplierYyb.class, reverseConvertGenerate = false)
public class XzdCustomerSupplierYybBo extends BaseEntity {
public class XzdCustomerSupplierYybBo {
/**
*

View File

@ -28,6 +28,11 @@ public class XzdProjectBo extends BaseEntity {
*/
private Long id;
/**
* 区域码
*/
private Long cityCode;
/**
* 项目编号
*/

View File

@ -1,15 +1,16 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
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 jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 项目经理推荐及审批业务对象 xzd_project_manager_approval
@ -28,6 +29,11 @@ public class XzdProjectManagerApprovalBo extends BaseEntity {
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 区域码
*/
private Long cityCode;
/**
* 单据编号
*/

View File

@ -1,19 +1,20 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.*;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.xzd.domain.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 供应商信息业务对象 xzd_supplier_info
*
@ -30,6 +31,11 @@ public class XzdSupplierInfoBo extends BaseEntity {
*/
private Long id;
/**
* 区域编码
*/
private Long cityCode;
/**
* 单位编号
*/

View File

@ -1,14 +1,13 @@
package org.dromara.xzd.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdContractAccount;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.domain.XzdContractAccount;
import org.dromara.xzd.domain.XzdJsqdTz;
import org.dromara.xzd.domain.XzdSettlementRules;
import org.dromara.xzd.domain.XzdZbjghyd;
@ -17,6 +16,8 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -192,6 +193,7 @@ public class XzdContractAccountVo implements Serializable {
/**
* 业主单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME,mapper = "owner")
private String ownerName;
/**
@ -203,6 +205,7 @@ public class XzdContractAccountVo implements Serializable {
/**
* 监理单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "supervision")
private String supervisionName;
/**
@ -214,6 +217,7 @@ public class XzdContractAccountVo implements Serializable {
/**
* 审核单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "review")
private String reviewName;
private String fileId;

View File

@ -6,6 +6,8 @@ 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.constant.TransConstant;
import org.dromara.xzd.domain.XzdContractAgreement;
import java.io.Serial;
@ -61,6 +63,7 @@ public class XzdContractAgreementVo implements Serializable {
/**
* 客户单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME,mapper = "partyAUnit")
private String partyAUnitName;
/**
@ -72,6 +75,7 @@ public class XzdContractAgreementVo implements Serializable {
/**
* 供应商单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME,mapper = "partyBUnit")
private String partyBUnitName;
/**

View File

@ -7,6 +7,8 @@ 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.constant.TransConstant;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.*;
import org.springframework.format.annotation.DateTimeFormat;
@ -180,7 +182,7 @@ public class XzdContractChangeVo implements Serializable {
// private String originalInvoiceUnit;
/**
* 现收票单位
* 现收票单位(客户)
*/
@ExcelProperty(value = "现收票单位")
private Long currentInvoiceUnit;
@ -188,6 +190,7 @@ public class XzdContractChangeVo implements Serializable {
/**
* 现收票单位名
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME,mapper = "currentInvoiceUnit")
private String currentInvoiceUnitName;
/**

View File

@ -1,21 +1,22 @@
package org.dromara.xzd.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.*;
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 com.fasterxml.jackson.annotation.JsonFormat;
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.constant.TransConstant;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -111,6 +112,7 @@ public class XzdContractDetailsVo implements Serializable {
/**
* 甲方单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME,mapper = "partyAUnit")
private String partyAUnitName;
/**
@ -122,6 +124,7 @@ public class XzdContractDetailsVo implements Serializable {
/**
* 乙方单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "partyBUnit")
private String partyBUnitName;
/**
@ -136,7 +139,7 @@ public class XzdContractDetailsVo implements Serializable {
private BigDecimal contractAmount;
/**
* 开票单位
* 开票单位(供应商)
*/
@ExcelProperty(value = "开票单位")
private Long invoicingUnit;
@ -144,6 +147,7 @@ public class XzdContractDetailsVo implements Serializable {
/**
* 开票单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "invoicingUnit")
private String invoicingUnitName;
/**
@ -164,7 +168,7 @@ public class XzdContractDetailsVo implements Serializable {
private XzdBudgetClassification budgetClassificationObj;
/**
* 收票单位
* 收票单位(客户)
*/
@ExcelProperty(value = "收票单位")
private Long ticketReceivingUnit;
@ -172,6 +176,7 @@ public class XzdContractDetailsVo implements Serializable {
/**
* 收票单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "ticketReceivingUnit")
private String ticketReceivingUnitName;
/**
@ -224,7 +229,7 @@ public class XzdContractDetailsVo implements Serializable {
private String capitalizedTaxInclusiveTotal;
/**
* 签约组织
* 签约组织(供应商)
*/
@ExcelProperty(value = "签约组织")
private Long signingOrganization;
@ -232,6 +237,7 @@ public class XzdContractDetailsVo implements Serializable {
/**
* 签约组织名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "signingOrganization")
private String signingOrganizationName;
/**

View File

@ -5,6 +5,8 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.domain.XzdBusinessChange;
import org.dromara.xzd.domain.XzdContractProgressSettlement;
import org.dromara.xzd.settlement.domain.XzdAlterationInventory;
@ -158,6 +160,7 @@ public class XzdContractProgressSettlementVo implements Serializable {
/**
* 结算单位名称
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME ,mapper = "settlementUnit")
private String settlementUnitName;
/**

View File

@ -1,14 +1,10 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
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.domain.XzdProjectManagerApproval;
import java.io.Serial;
import java.io.Serializable;
@ -36,6 +32,11 @@ public class XzdProjectManagerApprovalVo implements Serializable {
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 区域码
*/
private Long cityCode;
/**
* 单据编号
*/

View File

@ -5,6 +5,8 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.domain.XzdProject;
import org.springframework.format.annotation.DateTimeFormat;
@ -35,6 +37,11 @@ public class XzdProjectVo implements Serializable {
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 区域码
*/
private Long cityCode;
/**
* 项目编号
*/
@ -204,8 +211,9 @@ public class XzdProjectVo implements Serializable {
private Long constructionUnit;
/**
* 建设单位名
* 建设单位名(客户)
*/
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "constructionUnit")
private String constructionUnitName;
/**

View File

@ -1,14 +1,13 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.*;
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 com.fasterxml.jackson.annotation.JsonFormat;
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.xzd.domain.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
@ -32,11 +31,16 @@ public class XzdSupplierInfoVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
* id
*/
@ExcelProperty(value = "")
private Long id;
/**
* 区域编码
*/
private Long cityCode;
/**
* 单位编号
*/

View File

@ -31,7 +31,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/zengzhishui/invoice")
@RequestMapping("/xzd/zengzhishui/invoice")
public class AppreciationInvoiceController extends BaseController {
private final IAppreciationInvoiceService appreciationInvoiceService;

View File

@ -60,6 +60,7 @@ public class AppreciationInvoiceVo implements Serializable {
* 项目名称
*/
@ExcelProperty(value = "项目名称")
@Translation(type = TransConstant.XZD_PROJECT_ID_TO_NAME, mapper = "project")
private String projectName;
/**
@ -213,6 +214,7 @@ public class AppreciationInvoiceVo implements Serializable {
* 购方名称
*/
@ExcelProperty(value = "购方名称")
@Translation(type = TransConstant.XZD_KHXX_ID_TO_NAME, mapper = "buyerName")
private String buyerNameS;

View File

@ -104,13 +104,6 @@ public class AppreciationInvoiceServiceImpl extends ServiceImpl<AppreciationInvo
}
}
//项目名称
if (item.getProject() != null){
String projectName = xzdProjectService.queryNameById(item.getProject());
if (projectName != null){
item.setProjectName(projectName);
}
}
// 合同
XzdContractDetails contractDetailsServiceById = xzdContractDetailsService.getById(item.getContractNo());
if(contractDetailsServiceById != null){
@ -121,13 +114,6 @@ public class AppreciationInvoiceServiceImpl extends ServiceImpl<AppreciationInvo
if (taxInfoVo != null){
item.setTaxItemName(taxInfoVo.getTaxItem());
}
//购方名称(客户信息列表)
R<QuerCorrespondentDto> byid = iXzdCorrespondentList.getCustomerByid(item.getBuyerName());
if (byid!=null){
if (byid.getData().getXzdCustomerinformation() != null){
item.setBuyerNameS(byid.getData().getXzdCustomerinformation().getUnitName());
}
}
}

View File

@ -0,0 +1,27 @@
package org.dromara.xzd.handler;
import org.springframework.stereotype.Component;
/**
* 存储AOP拦截到的自增ID供拦截器使用线程安全
*/
@Component
public class AutoIncrementIdHolder {
// 存储当前线程新增操作生成的ID
private static final ThreadLocal<Long> ID_HOLDER = new ThreadLocal<>();
// 设置ID
public static void setId(Long id) {
ID_HOLDER.set(id);
}
// 获取ID
public static Long getId() {
return ID_HOLDER.get();
}
// 清除ID避免内存泄漏
public static void clear() {
ID_HOLDER.remove();
}
}

Some files were not shown because too many files have changed in this diff Show More