添加材料使用部位,大屏
This commit is contained in:
@ -265,6 +265,8 @@ springdoc:
|
||||
packages-to-scan: org.dromara.ctr
|
||||
- group: 21.招标模块
|
||||
packages-to-scan: org.dromara.tender
|
||||
- group: 22.大屏模块
|
||||
packages-to-scan: org.dromara.bigscreen
|
||||
# knife4j的增强配置,不需要增强可以不配
|
||||
knife4j:
|
||||
enable: true
|
||||
|
@ -1,10 +1,19 @@
|
||||
package org.dromara.bigscreen.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.dromara.bigscreen.service.MoneyBigScreenService;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.project.domain.vo.project.BusProjectGisVo;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 资金大屏
|
||||
*
|
||||
* @author lilemy
|
||||
* @date 2025-08-21 14:28
|
||||
*/
|
||||
@ -12,4 +21,16 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RestController
|
||||
@RequestMapping("/money/big/screen")
|
||||
public class MoneyBigScreenController {
|
||||
|
||||
@Resource
|
||||
private MoneyBigScreenService moneyBigScreenService;
|
||||
|
||||
/**
|
||||
* 查询项目位置列表
|
||||
*/
|
||||
@SaCheckPermission("money:bigScreen:projectGis")
|
||||
@RequestMapping("/project/gis")
|
||||
public R<List<BusProjectGisVo>> getProjectGis() {
|
||||
return R.ok(moneyBigScreenService.getProjectGis());
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,24 @@
|
||||
package org.dromara.bigscreen.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.dromara.bigscreen.service.ProjectBigScreenService;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.project.domain.vo.project.BusProjectSafetyDayVo;
|
||||
import org.dromara.project.domain.vo.project.BusProjectWeatherVo;
|
||||
import org.dromara.project.domain.vo.projectnews.BusProjectNewsVo;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目级大屏
|
||||
*
|
||||
* @author lilemy
|
||||
* @date 2025-08-21 14:27
|
||||
*/
|
||||
@ -24,4 +36,34 @@ public class ProjectBigScreenController {
|
||||
// @PathVariable Long id) {
|
||||
// return R.ok(busBiddingPlanAnnexService.queryById(id));
|
||||
// }
|
||||
|
||||
/**
|
||||
* 查询项目天气
|
||||
*/
|
||||
@SaCheckPermission("project:bigScreen:weather")
|
||||
@GetMapping("/weather/{projectId}")
|
||||
public R<List<BusProjectWeatherVo>> getProjectWeather(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long projectId) {
|
||||
return R.ok(projectBigScreenService.getProjectWeather(projectId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询项目安全天数
|
||||
*/
|
||||
@SaCheckPermission("project:bigScreen:safetyDay")
|
||||
@GetMapping("/safetyDay/{projectId}")
|
||||
public R<BusProjectSafetyDayVo> getProjectSafetyDay(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long projectId) {
|
||||
return R.ok(projectBigScreenService.getProjectSafetyDay(projectId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询项目公告
|
||||
*/
|
||||
@SaCheckPermission("project:bigScreen:news")
|
||||
@GetMapping("/news/{projectId}")
|
||||
public R<List<BusProjectNewsVo>> getProjectNews(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long projectId) {
|
||||
return R.ok(projectBigScreenService.getProjectNews(projectId));
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,20 @@
|
||||
package org.dromara.bigscreen.service;
|
||||
|
||||
import org.dromara.project.domain.vo.project.BusProjectGisVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lilemy
|
||||
* @date 2025-08-21 14:29
|
||||
*/
|
||||
public interface MoneyBigScreenService {
|
||||
|
||||
/**
|
||||
* 获取项目位置信息
|
||||
*
|
||||
* @return 项目位置信息
|
||||
*/
|
||||
List<BusProjectGisVo> getProjectGis();
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,38 @@
|
||||
package org.dromara.bigscreen.service;
|
||||
|
||||
import org.dromara.project.domain.vo.project.BusProjectSafetyDayVo;
|
||||
import org.dromara.project.domain.vo.project.BusProjectWeatherVo;
|
||||
import org.dromara.project.domain.vo.projectnews.BusProjectNewsVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lilemy
|
||||
* @date 2025-08-21 14:28
|
||||
*/
|
||||
public interface ProjectBigScreenService {
|
||||
|
||||
/**
|
||||
* 获取项目天气
|
||||
*
|
||||
* @param projectId 项目id
|
||||
* @return 项目天气
|
||||
*/
|
||||
List<BusProjectWeatherVo> getProjectWeather(Long projectId);
|
||||
|
||||
/**
|
||||
* 获取项目安全天数
|
||||
*
|
||||
* @param projectId 项目id
|
||||
* @return 项目安全天数
|
||||
*/
|
||||
BusProjectSafetyDayVo getProjectSafetyDay(Long projectId);
|
||||
|
||||
/**
|
||||
* 获取项目新闻
|
||||
*
|
||||
* @param projectId 项目id
|
||||
* @return 项目新闻
|
||||
*/
|
||||
List<BusProjectNewsVo> getProjectNews(Long projectId);
|
||||
}
|
||||
|
@ -1,12 +1,30 @@
|
||||
package org.dromara.bigscreen.service.impl;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import org.dromara.bigscreen.service.MoneyBigScreenService;
|
||||
import org.dromara.project.domain.vo.project.BusProjectGisVo;
|
||||
import org.dromara.project.service.IBusProjectService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lilemy
|
||||
* @date 2025-08-21 14:29
|
||||
*/
|
||||
@Service
|
||||
public class MoneyBigScreenServiceImpl implements MoneyBigScreenService {
|
||||
|
||||
@Resource
|
||||
private IBusProjectService projectService;
|
||||
|
||||
/**
|
||||
* 获取项目位置信息
|
||||
*
|
||||
* @return 项目位置信息
|
||||
*/
|
||||
@Override
|
||||
public List<BusProjectGisVo> getProjectGis() {
|
||||
return projectService.getGisList();
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,77 @@
|
||||
package org.dromara.bigscreen.service.impl;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import org.dromara.bigscreen.service.ProjectBigScreenService;
|
||||
import org.dromara.common.core.constant.HttpStatus;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.project.domain.BusProject;
|
||||
import org.dromara.project.domain.vo.project.BusProjectSafetyDayVo;
|
||||
import org.dromara.project.domain.vo.project.BusProjectWeatherVo;
|
||||
import org.dromara.project.domain.vo.projectnews.BusProjectNewsVo;
|
||||
import org.dromara.project.service.IBusProjectNewsService;
|
||||
import org.dromara.project.service.IBusProjectService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lilemy
|
||||
* @date 2025-08-21 14:29
|
||||
*/
|
||||
@Service
|
||||
public class ProjectBigScreenServiceImpl implements ProjectBigScreenService {
|
||||
|
||||
@Resource
|
||||
private IBusProjectService projectService;
|
||||
|
||||
@Resource
|
||||
private IBusProjectNewsService projectNewsService;
|
||||
|
||||
/**
|
||||
* 获取项目天气
|
||||
*
|
||||
* @param projectId 项目id
|
||||
* @return 项目天气
|
||||
*/
|
||||
@Override
|
||||
public List<BusProjectWeatherVo> getProjectWeather(Long projectId) {
|
||||
checkProject(projectId);
|
||||
return projectService.getWeather(projectId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目安全天数
|
||||
*
|
||||
* @param projectId 项目id
|
||||
* @return 项目安全天数
|
||||
*/
|
||||
@Override
|
||||
public BusProjectSafetyDayVo getProjectSafetyDay(Long projectId) {
|
||||
checkProject(projectId);
|
||||
return projectService.getSafetyDay(projectId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目新闻
|
||||
*
|
||||
* @param projectId 项目id
|
||||
* @return 项目新闻
|
||||
*/
|
||||
@Override
|
||||
public List<BusProjectNewsVo> getProjectNews(Long projectId) {
|
||||
checkProject(projectId);
|
||||
return projectNewsService.queryListByProject(projectId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查项目是否存在
|
||||
*
|
||||
* @param projectId 项目id
|
||||
*/
|
||||
private void checkProject(Long projectId) {
|
||||
BusProject project = projectService.getById(projectId);
|
||||
if (project == null) {
|
||||
throw new ServiceException("项目不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,40 +0,0 @@
|
||||
package org.dromara.cory.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.cory.domain.bo.BusContactnoticeBo;
|
||||
import org.dromara.cory.domain.bo.SysProjectListReq;
|
||||
import org.dromara.cory.domain.vo.BusContactnoticeVo;
|
||||
import org.dromara.cory.domain.vo.SysProjectVo;
|
||||
import org.dromara.cory.service.IOtherDateSourceService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:21
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/cory/otherDateSource")
|
||||
@DS("slave")
|
||||
public class OtherDateSource {
|
||||
private final IOtherDateSourceService otherDateSourceService;
|
||||
|
||||
/**
|
||||
* 获取项目列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysProjectVo> list(SysProjectListReq bo, PageQuery pageQuery) {
|
||||
return otherDateSourceService.list(bo, pageQuery);
|
||||
}
|
||||
}
|
@ -1,115 +0,0 @@
|
||||
package org.dromara.cory.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Data;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
import java.util.Date;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:27
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("sys_project") // 替换为实际表名
|
||||
public class SysProject implements Serializable {
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@Length(max = 64, message = "项目名称长度不能超过64个字符")
|
||||
private String projectName;
|
||||
|
||||
@Length(max = 64, message = "项目简称长度不能超过64个字符")
|
||||
private String shortName;
|
||||
|
||||
private Long pId;
|
||||
|
||||
@Pattern(regexp = "[01]", message = "状态值必须为0或1")
|
||||
private String status;
|
||||
|
||||
@Length(max = 255, message = "项目图片URL长度不能超过255个字符")
|
||||
private String picUrl;
|
||||
|
||||
@Length(max = 20, message = "经度长度不能超过20个字符")
|
||||
private String lng;
|
||||
|
||||
@Length(max = 20, message = "纬度长度不能超过20个字符")
|
||||
private String lat;
|
||||
|
||||
@Length(max = 500, message = "备注长度不能超过500个字符")
|
||||
private String remark;
|
||||
|
||||
@Length(max = 20, message = "项目类型长度不能超过20个字符")
|
||||
private String type;
|
||||
|
||||
@Pattern(regexp = "[12]", message = "项目类型值必须为1或2")
|
||||
private String isType;
|
||||
|
||||
@Length(max = 20, message = "展示颜色长度不能超过20个字符")
|
||||
private String colourRgb;
|
||||
|
||||
@Length(max = 64, message = "创建者长度不能超过64个字符")
|
||||
private String createBy;
|
||||
|
||||
@Length(max = 64, message = "更新者长度不能超过64个字符")
|
||||
private String updateBy;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updateTime;
|
||||
|
||||
private Date deletedAt;
|
||||
|
||||
@Deprecated
|
||||
@Length(max = 255, message = "项目ID长度不能超过255个字符")
|
||||
private String projectId;
|
||||
|
||||
@Length(max = 8192, message = "视角参数长度不能超过8192个字符")
|
||||
private String view;
|
||||
|
||||
@Length(max = 255, message = "项目地址长度不能超过255个字符")
|
||||
private String projectSite;
|
||||
|
||||
@Length(max = 50, message = "负责人长度不能超过50个字符")
|
||||
private String principal;
|
||||
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "负责人电话格式不正确")
|
||||
private String principalPhone;
|
||||
|
||||
@Length(max = 64, message = "小程序薪资负责人长度不能超过64个字符")
|
||||
private String principalXz;
|
||||
|
||||
@Length(max = 64, message = "实际容量长度不能超过64个字符")
|
||||
private String actual;
|
||||
|
||||
@Length(max = 64, message = "计划容量长度不能超过64个字符")
|
||||
private String plan;
|
||||
|
||||
@Length(max = 64, message = "开工时间长度不能超过64个字符")
|
||||
private String onStreamTime;
|
||||
|
||||
@Pattern(regexp = "^\\d{2}:\\d{2},\\d{2}:\\d{2}$", message = "打卡范围格式不正确,应为HH:MM,HH:MM")
|
||||
private String punchRange;
|
||||
|
||||
@Min(value = 0, message = "设计总量不能小于0")
|
||||
private Integer designTotal;
|
||||
|
||||
@Length(max = 255, message = "安全协议书长度不能超过255个字符")
|
||||
private String securityAgreement;
|
||||
|
||||
@Min(value = 0, message = "排序字段不能小于0")
|
||||
private Long sort;
|
||||
|
||||
@Pattern(regexp = "[12]", message = "显示隐藏值必须为1或2")
|
||||
private String showHidden;
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
package org.dromara.cory.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:27
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("sys_project_team_squad")
|
||||
public class SysProjectTeamSquad implements Serializable {
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@NotNull(message = "班组ID不能为空")
|
||||
private Long teamId;
|
||||
|
||||
private Date meetingDate;
|
||||
|
||||
@Length(max = 255, message = "宣讲人ID长度不能超过255个字符")
|
||||
private String compereId;
|
||||
|
||||
private String participantId;
|
||||
|
||||
@Length(max = 65535, message = "班会内容长度不能超过65535个字符")
|
||||
private String content;
|
||||
|
||||
@Length(max = 65535, message = "班会图片长度不能超过65535个字符")
|
||||
private String picture;
|
||||
|
||||
@Length(max = 50, message = "创建人长度不能超过50个字符")
|
||||
private String createBy;
|
||||
|
||||
@Length(max = 50, message = "更新人长度不能超过50个字符")
|
||||
private String updateBy;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createdAt;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updatedAt;
|
||||
|
||||
private Date deletedAt;
|
||||
|
||||
@Length(max = 255, message = "班组名称长度不能超过255个字符")
|
||||
private String teamName;
|
||||
|
||||
@Length(max = 255, message = "劳务公司名称长度不能超过255个字符")
|
||||
private String labourserviceName;
|
||||
|
||||
private Long projectId;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package org.dromara.cory.domain.bo;
|
||||
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.cory.domain.BusContactnotice;
|
||||
import org.dromara.cory.domain.SysProject;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:42
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class SysProjectListReq implements Serializable {
|
||||
@Length(max = 64, message = "项目名称长度不能超过64个字符")
|
||||
private String projectName;
|
||||
|
||||
@Length(max = 64, message = "项目简称长度不能超过64个字符")
|
||||
private String shortName;
|
||||
|
||||
}
|
@ -1,121 +0,0 @@
|
||||
package org.dromara.cory.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Data;
|
||||
import org.dromara.cory.domain.SysProject;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:35
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = SysProject.class)
|
||||
public class SysProjectTeamSquadVo implements Serializable {
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@Length(max = 64, message = "项目名称长度不能超过64个字符")
|
||||
private String projectName;
|
||||
|
||||
@Length(max = 64, message = "项目简称长度不能超过64个字符")
|
||||
private String shortName;
|
||||
|
||||
private Long pId;
|
||||
|
||||
@Pattern(regexp = "[01]", message = "状态值必须为0或1")
|
||||
private String status;
|
||||
|
||||
@Length(max = 255, message = "项目图片URL长度不能超过255个字符")
|
||||
private String picUrl;
|
||||
|
||||
@Length(max = 20, message = "经度长度不能超过20个字符")
|
||||
private String lng;
|
||||
|
||||
@Length(max = 20, message = "纬度长度不能超过20个字符")
|
||||
private String lat;
|
||||
|
||||
@Length(max = 500, message = "备注长度不能超过500个字符")
|
||||
private String remark;
|
||||
|
||||
@Length(max = 20, message = "项目类型长度不能超过20个字符")
|
||||
private String type;
|
||||
|
||||
@Pattern(regexp = "[12]", message = "项目类型值必须为1或2")
|
||||
private String isType;
|
||||
|
||||
@Length(max = 20, message = "展示颜色长度不能超过20个字符")
|
||||
private String colourRgb;
|
||||
|
||||
@Length(max = 64, message = "创建者长度不能超过64个字符")
|
||||
private String createBy;
|
||||
|
||||
@Length(max = 64, message = "更新者长度不能超过64个字符")
|
||||
private String updateBy;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updateTime;
|
||||
|
||||
private Date deletedAt;
|
||||
|
||||
@Deprecated
|
||||
@Length(max = 255, message = "项目ID长度不能超过255个字符")
|
||||
private String projectId;
|
||||
|
||||
@Length(max = 8192, message = "视角参数长度不能超过8192个字符")
|
||||
private String view;
|
||||
|
||||
@Length(max = 255, message = "项目地址长度不能超过255个字符")
|
||||
private String projectSite;
|
||||
|
||||
@Length(max = 50, message = "负责人长度不能超过50个字符")
|
||||
private String principal;
|
||||
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "负责人电话格式不正确")
|
||||
private String principalPhone;
|
||||
|
||||
@Length(max = 64, message = "小程序薪资负责人长度不能超过64个字符")
|
||||
private String principalXz;
|
||||
|
||||
@Length(max = 64, message = "实际容量长度不能超过64个字符")
|
||||
private String actual;
|
||||
|
||||
@Length(max = 64, message = "计划容量长度不能超过64个字符")
|
||||
private String plan;
|
||||
|
||||
@Length(max = 64, message = "开工时间长度不能超过64个字符")
|
||||
private String onStreamTime;
|
||||
|
||||
@Pattern(regexp = "^\\d{2}:\\d{2},\\d{2}:\\d{2}$", message = "打卡范围格式不正确,应为HH:MM,HH:MM")
|
||||
private String punchRange;
|
||||
|
||||
@Min(value = 0, message = "设计总量不能小于0")
|
||||
private Integer designTotal;
|
||||
|
||||
@Length(max = 255, message = "安全协议书长度不能超过255个字符")
|
||||
private String securityAgreement;
|
||||
|
||||
@Min(value = 0, message = "排序字段不能小于0")
|
||||
private Long sort;
|
||||
|
||||
@Pattern(regexp = "[12]", message = "显示隐藏值必须为1或2")
|
||||
private String showHidden;
|
||||
|
||||
}
|
@ -1,122 +0,0 @@
|
||||
package org.dromara.cory.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Data;
|
||||
import org.dromara.cory.domain.BusContactnotice;
|
||||
import org.dromara.cory.domain.SysProject;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:35
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = SysProject.class)
|
||||
public class SysProjectVo implements Serializable {
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@Length(max = 64, message = "项目名称长度不能超过64个字符")
|
||||
private String projectName;
|
||||
|
||||
@Length(max = 64, message = "项目简称长度不能超过64个字符")
|
||||
private String shortName;
|
||||
|
||||
private Long pId;
|
||||
|
||||
@Pattern(regexp = "[01]", message = "状态值必须为0或1")
|
||||
private String status;
|
||||
|
||||
@Length(max = 255, message = "项目图片URL长度不能超过255个字符")
|
||||
private String picUrl;
|
||||
|
||||
@Length(max = 20, message = "经度长度不能超过20个字符")
|
||||
private String lng;
|
||||
|
||||
@Length(max = 20, message = "纬度长度不能超过20个字符")
|
||||
private String lat;
|
||||
|
||||
@Length(max = 500, message = "备注长度不能超过500个字符")
|
||||
private String remark;
|
||||
|
||||
@Length(max = 20, message = "项目类型长度不能超过20个字符")
|
||||
private String type;
|
||||
|
||||
@Pattern(regexp = "[12]", message = "项目类型值必须为1或2")
|
||||
private String isType;
|
||||
|
||||
@Length(max = 20, message = "展示颜色长度不能超过20个字符")
|
||||
private String colourRgb;
|
||||
|
||||
@Length(max = 64, message = "创建者长度不能超过64个字符")
|
||||
private String createBy;
|
||||
|
||||
@Length(max = 64, message = "更新者长度不能超过64个字符")
|
||||
private String updateBy;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updateTime;
|
||||
|
||||
private Date deletedAt;
|
||||
|
||||
@Deprecated
|
||||
@Length(max = 255, message = "项目ID长度不能超过255个字符")
|
||||
private String projectId;
|
||||
|
||||
@Length(max = 8192, message = "视角参数长度不能超过8192个字符")
|
||||
private String view;
|
||||
|
||||
@Length(max = 255, message = "项目地址长度不能超过255个字符")
|
||||
private String projectSite;
|
||||
|
||||
@Length(max = 50, message = "负责人长度不能超过50个字符")
|
||||
private String principal;
|
||||
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "负责人电话格式不正确")
|
||||
private String principalPhone;
|
||||
|
||||
@Length(max = 64, message = "小程序薪资负责人长度不能超过64个字符")
|
||||
private String principalXz;
|
||||
|
||||
@Length(max = 64, message = "实际容量长度不能超过64个字符")
|
||||
private String actual;
|
||||
|
||||
@Length(max = 64, message = "计划容量长度不能超过64个字符")
|
||||
private String plan;
|
||||
|
||||
@Length(max = 64, message = "开工时间长度不能超过64个字符")
|
||||
private String onStreamTime;
|
||||
|
||||
@Pattern(regexp = "^\\d{2}:\\d{2},\\d{2}:\\d{2}$", message = "打卡范围格式不正确,应为HH:MM,HH:MM")
|
||||
private String punchRange;
|
||||
|
||||
@Min(value = 0, message = "设计总量不能小于0")
|
||||
private Integer designTotal;
|
||||
|
||||
@Length(max = 255, message = "安全协议书长度不能超过255个字符")
|
||||
private String securityAgreement;
|
||||
|
||||
@Min(value = 0, message = "排序字段不能小于0")
|
||||
private Long sort;
|
||||
|
||||
@Pattern(regexp = "[12]", message = "显示隐藏值必须为1或2")
|
||||
private String showHidden;
|
||||
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
package org.dromara.cory.mapper;
|
||||
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.cory.domain.BusContactnotice;
|
||||
import org.dromara.cory.domain.SysProject;
|
||||
import org.dromara.cory.domain.vo.BusContactnoticeVo;
|
||||
import org.dromara.cory.domain.vo.SysProjectVo;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:25
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface OtherDateSourceMapper extends BaseMapperPlus<SysProject, SysProjectVo> {
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
package org.dromara.cory.mapper;
|
||||
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.cory.domain.SysProject;
|
||||
import org.dromara.cory.domain.SysProjectTeamSquad;
|
||||
import org.dromara.cory.domain.vo.SysProjectVo;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:25
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface ShiftMeetingMapper extends BaseMapperPlus<SysProjectTeamSquad, SysProjectVo> {
|
||||
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
package org.dromara.cory.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.cory.domain.SysProject;
|
||||
import org.dromara.cory.domain.bo.SysProjectListReq;
|
||||
import org.dromara.cory.domain.vo.SysProjectVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:26
|
||||
* @Version 1.0
|
||||
*/public interface IOtherDateSourceService extends IService<SysProject> {
|
||||
TableDataInfo<SysProjectVo> list(SysProjectListReq bo, PageQuery pageQuery);
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
package org.dromara.cory.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.dromara.cory.domain.SysProjectTeamSquad;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:26
|
||||
* @Version 1.0
|
||||
*/public interface IShiftMeetingService extends IService<SysProjectTeamSquad> {
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package org.dromara.cory.service.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.cory.domain.BusContactnotice;
|
||||
import org.dromara.cory.domain.SysProject;
|
||||
import org.dromara.cory.domain.bo.SysProjectListReq;
|
||||
import org.dromara.cory.domain.vo.BusContactnoticeVo;
|
||||
import org.dromara.cory.domain.vo.SysProjectVo;
|
||||
import org.dromara.cory.mapper.OtherDateSourceMapper;
|
||||
import org.dromara.cory.service.IBusContactnoticeService;
|
||||
import org.dromara.cory.service.IOtherDateSourceService;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:25
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
@DS("slave")
|
||||
public class OtherDateSourceServiceImpl extends ServiceImpl<OtherDateSourceMapper, SysProject> implements IOtherDateSourceService {
|
||||
@Override
|
||||
public TableDataInfo<SysProjectVo> list(SysProjectListReq req, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysProject> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.like(SysProject::getProjectName,req.getProjectName());
|
||||
lqw.like(SysProject::getShortName,req.getShortName());
|
||||
IPage<SysProjectVo> sysProjectVoIPage = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(sysProjectVoIPage);
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
package org.dromara.cory.service.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.cory.domain.SysProject;
|
||||
import org.dromara.cory.domain.SysProjectTeamSquad;
|
||||
import org.dromara.cory.domain.bo.SysProjectListReq;
|
||||
import org.dromara.cory.domain.vo.SysProjectVo;
|
||||
import org.dromara.cory.mapper.OtherDateSourceMapper;
|
||||
import org.dromara.cory.mapper.ShiftMeetingMapper;
|
||||
import org.dromara.cory.service.IOtherDateSourceService;
|
||||
import org.dromara.cory.service.IShiftMeetingService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* @Author 铁憨憨
|
||||
* @Date 2025/7/29 9:25
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
@DS("slave")
|
||||
public class ShiftMeetingServiceImpl extends ServiceImpl<ShiftMeetingMapper, SysProjectTeamSquad> implements IShiftMeetingService {
|
||||
|
||||
}
|
@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.esotericsoftware.kryo.serializers.DefaultSerializers;
|
||||
import io.micrometer.common.util.StringUtils;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -19,10 +18,8 @@ import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.design.domain.DesDrawing;
|
||||
import org.dromara.design.domain.DesVolumeCatalog;
|
||||
import org.dromara.design.domain.DesVolumeFile;
|
||||
import org.dromara.design.domain.DesVolumeFileViewer;
|
||||
import org.dromara.design.domain.bo.DesVolumeFileBo;
|
||||
import org.dromara.design.domain.dto.volumefile.DesVolumeFileCreateReq;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileCodeVo;
|
||||
@ -32,7 +29,6 @@ import org.dromara.design.mapper.DesVolumeFileMapper;
|
||||
import org.dromara.design.service.IDesDrawingService;
|
||||
import org.dromara.design.service.IDesVolumeCatalogService;
|
||||
import org.dromara.design.service.IDesVolumeFileService;
|
||||
import org.dromara.design.service.IDesVolumeFileViewerService;
|
||||
import org.dromara.project.domain.BusProject;
|
||||
import org.dromara.project.service.IBusProjectService;
|
||||
import org.dromara.system.domain.vo.SysOssVo;
|
||||
@ -65,11 +61,12 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
private IDesVolumeCatalogService volumeCatalogService;
|
||||
|
||||
@Resource
|
||||
private IBusProjectService projectService;
|
||||
private IBusProjectService projectService;
|
||||
|
||||
@Lazy
|
||||
@Resource
|
||||
private IDesDrawingService self;
|
||||
|
||||
/**
|
||||
* 分页查询卷册文件列表
|
||||
*
|
||||
@ -116,7 +113,7 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
DesVolumeFile desVolumeFile = getById(id);
|
||||
|
||||
|
||||
DesVolumeCatalog desVolumeCatalog = volumeCatalogService.getById(desVolumeFile.getVolumeCatalogId());
|
||||
DesVolumeCatalog desVolumeCatalog = volumeCatalogService.getById(desVolumeFile.getVolumeCatalogId());
|
||||
DesVolumeFileCodeVo desVolumeFileCodeVo = BeanUtil.copyProperties(desVolumeCatalog, DesVolumeFileCodeVo.class);
|
||||
BusProject byId = projectService.getById(desVolumeCatalog.getProjectId());
|
||||
desVolumeFileCodeVo.setProjectName(byId.getProjectName());
|
||||
@ -130,17 +127,17 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
|
||||
DesVolumeFile first = existingFiles.getFirst();
|
||||
|
||||
if("4".equals(desVolumeFile.getType())){
|
||||
if ("4".equals(desVolumeFile.getType())) {
|
||||
SysOssVo ossVo = ossService.getById(first.getFileId());
|
||||
desVolumeFileCodeVo.setFileUrl(ossVo.getUrl());
|
||||
}
|
||||
if("1".equals(desVolumeFile.getType()) ){
|
||||
if ("1".equals(desVolumeFile.getType())) {
|
||||
|
||||
if(!first.getId().equals(id)){
|
||||
if (!first.getId().equals(id)) {
|
||||
desVolumeFileCodeVo.setIsLatest(false);
|
||||
SysOssVo ossVo = ossService.getById(first.getFileId());
|
||||
desVolumeFileCodeVo.setFileUrl(ossVo.getUrl());
|
||||
}else{
|
||||
} else {
|
||||
desVolumeFileCodeVo.setIsLatest(true);
|
||||
}
|
||||
|
||||
@ -206,7 +203,7 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
return true;
|
||||
}
|
||||
|
||||
private void validUpload(DesVolumeFileCreateReq req){
|
||||
private void validUpload(DesVolumeFileCreateReq req) {
|
||||
// 蓝图文件
|
||||
if (CollectionUtil.isNotEmpty(req.getFileIds())) {
|
||||
List<DesVolumeFile> existingFiles = baseMapper.selectList(new LambdaQueryWrapper<DesVolumeFile>()
|
||||
@ -225,7 +222,7 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
.orderByDesc(DesVolumeFile::getVersion));
|
||||
if (!existingFiles.isEmpty()) {
|
||||
DesVolumeFile first = existingFiles.getFirst();
|
||||
if(!BusinessStatusEnum.FINISH.getStatus().equals(first.getAuditStatus())){
|
||||
if (!BusinessStatusEnum.FINISH.getStatus().equals(first.getAuditStatus())) {
|
||||
throw new ServiceException("文件尚未审核完成,请勿重复上传");
|
||||
}
|
||||
}
|
||||
@ -237,10 +234,10 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
/**
|
||||
* 处理文件上传
|
||||
*
|
||||
* @param req 请求参数
|
||||
* @param fileIds 文件ID列表
|
||||
* @param type 文件类型
|
||||
* @param desVolumeFiles 文件集合
|
||||
* @param req 请求参数
|
||||
* @param fileIds 文件ID列表
|
||||
* @param type 文件类型
|
||||
* @param desVolumeFiles 文件集合
|
||||
*/
|
||||
private void processFiles(DesVolumeFileCreateReq req, List<Long> fileIds, String type, List<DesVolumeFile> desVolumeFiles) {
|
||||
// 用于记录同一批次中已处理的文件名及对应的版本号
|
||||
@ -350,9 +347,6 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
||||
* 正常使用只需#processEvent.flowCode=='leave1'
|
||||
@ -371,7 +365,7 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
}
|
||||
desVolumeFile.setAuditStatus(processEvent.getStatus());
|
||||
//如果完成,以前的图纸类型变为作废图纸,状态改为作废 暂定
|
||||
if (processEvent.getStatus().equals("finish")){
|
||||
if (processEvent.getStatus().equals("finish")) {
|
||||
// this.lambdaUpdate().set(DesVolumeFile::getStatus, "2")
|
||||
// .set(DesVolumeFile::getType, "4")
|
||||
// .eq(DesVolumeFile::getVolumeCatalogId, desVolumeFile.getVolumeCatalogId())
|
||||
@ -379,7 +373,7 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
// .ne(DesVolumeFile::getId, desVolumeFile.getId())
|
||||
// .update();
|
||||
//异步处理二维码
|
||||
self.addQRCodeToPDF(desVolumeFile.getId(),false)
|
||||
self.addQRCodeToPDF(desVolumeFile.getId(), false)
|
||||
.thenAccept(result -> log.info("图纸[{}-{} ]添加二维码成功", desVolumeFile.getFileName(), desVolumeFile.getId()))
|
||||
.exceptionally(ex -> {
|
||||
log.error("图纸[{}-{}]添加二维码失败", desVolumeFile.getFileName(), desVolumeFile.getId(), ex);
|
||||
@ -417,7 +411,6 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
||||
* 正常使用只需#processEvent.flowCode=='leave1'
|
||||
@ -435,9 +428,9 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
return;
|
||||
}
|
||||
desVolumeFile.setAuditStatus(processEvent.getStatus());
|
||||
if (processEvent.getStatus().equals("finish")){
|
||||
if (processEvent.getStatus().equals("finish")) {
|
||||
//异步处理二维码
|
||||
self.addQRCodeToPDF(desVolumeFile.getId(),false)
|
||||
self.addQRCodeToPDF(desVolumeFile.getId(), false)
|
||||
.thenAccept(result -> log.info("图纸[{}-{} ]添加二维码成功", desVolumeFile.getFileName(), desVolumeFile.getId()))
|
||||
.exceptionally(ex -> {
|
||||
log.error("图纸[{}-{}]添加二维码失败", desVolumeFile.getFileName(), desVolumeFile.getId(), ex);
|
||||
@ -475,10 +468,4 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -74,6 +74,11 @@ public class MatMaterialsInventory extends BaseEntity {
|
||||
*/
|
||||
private String disposition;
|
||||
|
||||
/**
|
||||
* 使用部位
|
||||
*/
|
||||
private String usePart;
|
||||
|
||||
/**
|
||||
* 交接单位(班组)
|
||||
*/
|
||||
|
@ -61,6 +61,11 @@ public class MatMaterialsInventoryCreateReq implements Serializable {
|
||||
*/
|
||||
private String recipient;
|
||||
|
||||
/**
|
||||
* 使用部位
|
||||
*/
|
||||
private String usePart;
|
||||
|
||||
/**
|
||||
* 领用人
|
||||
*/
|
||||
|
@ -16,11 +16,6 @@ public class MatMaterialsInventoryQueryReq implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 5563677643070664671L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 材料id
|
||||
*/
|
||||
@ -46,16 +41,6 @@ public class MatMaterialsInventoryQueryReq implements Serializable {
|
||||
*/
|
||||
private Long number;
|
||||
|
||||
/**
|
||||
* 出/入库操作时间
|
||||
*/
|
||||
private Date outPutTime;
|
||||
|
||||
/**
|
||||
* 剩余库存数量(记录最后一次操作留下的库存数)
|
||||
*/
|
||||
private Long residue;
|
||||
|
||||
/**
|
||||
* 操作人(入库人、领料人)
|
||||
*/
|
||||
@ -77,8 +62,8 @@ public class MatMaterialsInventoryQueryReq implements Serializable {
|
||||
private String shipper;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
* 使用部位
|
||||
*/
|
||||
private String remark;
|
||||
private String usePart;
|
||||
|
||||
}
|
||||
|
@ -46,6 +46,11 @@ public class MatMaterialsInventoryUpdateReq implements Serializable {
|
||||
*/
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 使用部位
|
||||
*/
|
||||
private String usePart;
|
||||
|
||||
/**
|
||||
* 处理方式
|
||||
*/
|
||||
|
@ -102,6 +102,12 @@ public class MatMaterialsInventoryVo implements Serializable {
|
||||
@ExcelProperty(value = "交接单位")
|
||||
private String recipient;
|
||||
|
||||
/**
|
||||
* 使用部位
|
||||
*/
|
||||
@ExcelProperty(value = "使用部位")
|
||||
private String usePart;
|
||||
|
||||
/**
|
||||
* 领用人
|
||||
*/
|
||||
|
@ -10,7 +10,6 @@ import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.cailiaoshebei.domain.BusMaterialbatchdemandplan;
|
||||
import org.dromara.cailiaoshebei.service.IBusPurchaseDocService;
|
||||
import org.dromara.common.core.constant.HttpStatus;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
@ -257,8 +256,8 @@ public class MatMaterialReceiveServiceImpl extends ServiceImpl<MatMaterialReceiv
|
||||
materialReceiveItem.setReceiveId(materialReceive.getId());
|
||||
materialReceiveItem.setProjectId(materialReceive.getProjectId());
|
||||
//生成缺货采购单
|
||||
if(item.getShortageQuantity().compareTo(BigDecimal.ZERO) > 0){
|
||||
map.put(item.getPlanId(),item.getShortageQuantity());
|
||||
if (item.getShortageQuantity().compareTo(BigDecimal.ZERO) > 0) {
|
||||
map.put(item.getPlanId(), item.getShortageQuantity());
|
||||
}
|
||||
materialReceiveItemList.add(materialReceiveItem);
|
||||
}
|
||||
@ -275,8 +274,6 @@ public class MatMaterialReceiveServiceImpl extends ServiceImpl<MatMaterialReceiv
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 修改物料接收单
|
||||
*
|
||||
@ -491,7 +488,7 @@ public class MatMaterialReceiveServiceImpl extends ServiceImpl<MatMaterialReceiv
|
||||
}
|
||||
if (StringUtils.isNotBlank(certCountFileId)) {
|
||||
int size = Arrays.stream(certCountFileId.split(",")).map(Long::parseLong).toList().size();
|
||||
materialReceive.setLicenseCount(size);
|
||||
materialReceive.setCertCount(size);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -15,10 +15,10 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.materials.domain.MatMaterials;
|
||||
import org.dromara.materials.domain.MatMaterialsInventory;
|
||||
import org.dromara.materials.domain.enums.MatMaterialsInventoryOutPutEnum;
|
||||
import org.dromara.materials.domain.dto.materialsinventory.MatMaterialsInventoryCreateReq;
|
||||
import org.dromara.materials.domain.dto.materialsinventory.MatMaterialsInventoryQueryReq;
|
||||
import org.dromara.materials.domain.dto.materialsinventory.MatMaterialsInventoryUpdateReq;
|
||||
import org.dromara.materials.domain.enums.MatMaterialsInventoryOutPutEnum;
|
||||
import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryVo;
|
||||
import org.dromara.materials.mapper.MatMaterialsInventoryMapper;
|
||||
import org.dromara.materials.service.IMatMaterialsInventoryService;
|
||||
@ -124,6 +124,8 @@ public class MatMaterialsInventoryServiceImpl extends ServiceImpl<MatMaterialsIn
|
||||
materialsInventory.setResidue(req.getNumber());
|
||||
}
|
||||
}
|
||||
// 填充默认值
|
||||
materialsInventory.setOutPutTime(new Date());
|
||||
// 操作数据库
|
||||
boolean save = this.save(materialsInventory);
|
||||
if (!save) {
|
||||
@ -150,6 +152,8 @@ public class MatMaterialsInventoryServiceImpl extends ServiceImpl<MatMaterialsIn
|
||||
if (oldBusMaterialsInventory == null) {
|
||||
throw new ServiceException("修改材料出/入库失败,数据不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 填充默认值
|
||||
materialsInventory.setOutPutTime(new Date());
|
||||
// 操作数据库
|
||||
return this.updateById(materialsInventory);
|
||||
}
|
||||
@ -246,19 +250,16 @@ public class MatMaterialsInventoryServiceImpl extends ServiceImpl<MatMaterialsIn
|
||||
return lqw;
|
||||
}
|
||||
// 从对象中取值
|
||||
Long id = req.getId();
|
||||
Long materialsId = req.getMaterialsId();
|
||||
String materialsName = req.getMaterialsName();
|
||||
Long projectId = req.getProjectId();
|
||||
String outPut = req.getOutPut();
|
||||
Long number = req.getNumber();
|
||||
Date outPutTime = req.getOutPutTime();
|
||||
Long residue = req.getResidue();
|
||||
String operator = req.getOperator();
|
||||
String disposition = req.getDisposition();
|
||||
String recipient = req.getRecipient();
|
||||
String shipper = req.getShipper();
|
||||
String remark = req.getRemark();
|
||||
String usePart = req.getUsePart();
|
||||
// 联表查询
|
||||
if (StringUtils.isNotBlank(materialsName)) {
|
||||
LambdaQueryWrapper<MatMaterials> materialsQueryWrapper = Wrappers.lambdaQuery(MatMaterials.class)
|
||||
@ -269,17 +270,14 @@ public class MatMaterialsInventoryServiceImpl extends ServiceImpl<MatMaterialsIn
|
||||
}
|
||||
// 模糊查询
|
||||
lqw.like(StringUtils.isNotBlank(operator), MatMaterialsInventory::getOperator, operator);
|
||||
lqw.like(StringUtils.isNotBlank(remark), MatMaterialsInventory::getRemark, remark);
|
||||
lqw.like(StringUtils.isNotBlank(usePart), MatMaterialsInventory::getUsePart, usePart);
|
||||
lqw.like(StringUtils.isNotBlank(disposition), MatMaterialsInventory::getDisposition, disposition);
|
||||
lqw.like(StringUtils.isNotBlank(recipient), MatMaterialsInventory::getRecipient, recipient);
|
||||
lqw.like(StringUtils.isNotBlank(shipper), MatMaterialsInventory::getShipper, shipper);
|
||||
// 精确查询
|
||||
lqw.eq(ObjectUtils.isNotEmpty(id), MatMaterialsInventory::getId, id);
|
||||
lqw.eq(ObjectUtils.isNotEmpty(projectId), MatMaterialsInventory::getProjectId, projectId);
|
||||
lqw.eq(ObjectUtils.isNotEmpty(materialsId), MatMaterialsInventory::getMaterialsId, materialsId);
|
||||
lqw.eq(ObjectUtils.isNotEmpty(number), MatMaterialsInventory::getNumber, number);
|
||||
lqw.eq(ObjectUtils.isNotEmpty(outPutTime), MatMaterialsInventory::getOutPutTime, outPutTime);
|
||||
lqw.eq(ObjectUtils.isNotEmpty(residue), MatMaterialsInventory::getResidue, residue);
|
||||
lqw.eq(ObjectUtils.isNotEmpty(outPut), MatMaterialsInventory::getOutPut, outPut);
|
||||
// 排序
|
||||
lqw.orderByDesc(MatMaterialsInventory::getCreateTime);
|
||||
@ -315,8 +313,8 @@ public class MatMaterialsInventoryServiceImpl extends ServiceImpl<MatMaterialsIn
|
||||
String materialsName = null;
|
||||
int quantityCount = 0;
|
||||
if (materialsIdBusMaterialsMap.containsKey(materialsId)) {
|
||||
materialsName = materialsIdBusMaterialsMap.get(materialsId).get(0).getMaterialsName();
|
||||
quantityCount = Integer.parseInt(materialsIdBusMaterialsMap.get(materialsId).get(0).getQuantityCount());
|
||||
materialsName = materialsIdBusMaterialsMap.get(materialsId).getFirst().getMaterialsName();
|
||||
quantityCount = Integer.parseInt(materialsIdBusMaterialsMap.get(materialsId).getFirst().getQuantityCount());
|
||||
}
|
||||
materialsInventoryVo.setMaterialsName(materialsName);
|
||||
materialsInventoryVo.setQuantityCount(quantityCount);
|
||||
|
@ -0,0 +1,47 @@
|
||||
package org.dromara.project.domain.vo.project;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lilemy
|
||||
* @date 2025-08-21 19:14
|
||||
*/
|
||||
@Data
|
||||
public class BusProjectGisVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 7607042758858059082L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 项目简称
|
||||
*/
|
||||
private String shortName;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private String lng;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private String lat;
|
||||
|
||||
/**
|
||||
* 项目地址
|
||||
*/
|
||||
private String projectSite;
|
||||
}
|
@ -57,6 +57,14 @@ public interface IBusProjectNewsService extends IService<BusProjectNews> {
|
||||
*/
|
||||
List<BusProjectNewsGisVo> queryGisList(BusProjectNewsGisReq req);
|
||||
|
||||
/**
|
||||
* 根据项目id查询项目新闻列表
|
||||
*
|
||||
* @param projectId 项目id
|
||||
* @return 项目新闻列表
|
||||
*/
|
||||
List<BusProjectNewsVo> queryListByProject(Long projectId);
|
||||
|
||||
/**
|
||||
* 新增项目新闻
|
||||
*
|
||||
@ -106,4 +114,12 @@ public interface IBusProjectNewsService extends IService<BusProjectNews> {
|
||||
*/
|
||||
Page<BusProjectNewsVo> getVoPage(Page<BusProjectNews> projectNewsPage);
|
||||
|
||||
/**
|
||||
* 获取项目新闻存储列表视图对象
|
||||
*
|
||||
* @param projectNewsList 项目新闻存储列表对象
|
||||
* @return 项目新闻存储列表视图对象
|
||||
*/
|
||||
List<BusProjectNewsVo> getVoList(List<BusProjectNews> projectNewsList);
|
||||
|
||||
}
|
||||
|
@ -180,4 +180,11 @@ public interface IBusProjectService extends IService<BusProject> {
|
||||
* @return 安全天数
|
||||
*/
|
||||
BusProjectSafetyDayVo getSafetyDay(Long id);
|
||||
|
||||
/**
|
||||
* 获取项目地址信息
|
||||
*
|
||||
* @return 项目地址信息列表
|
||||
*/
|
||||
List<BusProjectGisVo> getGisList();
|
||||
}
|
||||
|
@ -105,6 +105,20 @@ public class BusProjectNewsServiceImpl extends ServiceImpl<BusProjectNewsMapper,
|
||||
}).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据项目id查询项目新闻列表
|
||||
*
|
||||
* @param projectId 项目id
|
||||
* @return 项目新闻列表
|
||||
*/
|
||||
@Override
|
||||
public List<BusProjectNewsVo> queryListByProject(Long projectId) {
|
||||
List<BusProjectNews> list = this.lambdaQuery()
|
||||
.eq(BusProjectNews::getProjectId, projectId)
|
||||
.list();
|
||||
return this.getVoList(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增项目新闻
|
||||
*
|
||||
@ -240,4 +254,15 @@ public class BusProjectNewsServiceImpl extends ServiceImpl<BusProjectNewsMapper,
|
||||
return projectNewsVoPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目新闻存储列表视图对象
|
||||
*
|
||||
* @param projectNewsList 项目新闻存储列表对象
|
||||
* @return 项目新闻存储列表视图对象
|
||||
*/
|
||||
@Override
|
||||
public List<BusProjectNewsVo> getVoList(List<BusProjectNews> projectNewsList) {
|
||||
return projectNewsList.stream().map(this::getVo).toList();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -886,6 +886,25 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
|
||||
return safetyDayVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目地址信息
|
||||
*
|
||||
* @return 项目地址信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<BusProjectGisVo> getGisList() {
|
||||
// 查询所有的顶级项目
|
||||
List<BusProject> projects = this.lambdaQuery()
|
||||
.eq(BusProject::getPId, BusProjectConstant.PARENT_ID)
|
||||
.eq(BusProject::getStatus, "0")
|
||||
.list();
|
||||
return projects.stream().map(project -> {
|
||||
BusProjectGisVo vo = new BusProjectGisVo();
|
||||
BeanUtils.copyProperties(project, vo);
|
||||
return vo;
|
||||
}).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据天气图标获取天气类别
|
||||
*
|
||||
|
Reference in New Issue
Block a user