Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -6,6 +6,7 @@ import com.ruoyi.oa.domain.bo.OaProgressBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@@ -54,4 +55,7 @@ public interface IOaProgressService {
|
||||
*/
|
||||
List<OaProgressDetail> getKeyList();
|
||||
|
||||
|
||||
List<OaProgressVo> queryByProjectId(Long projectId);
|
||||
|
||||
}
|
||||
|
||||
@@ -74,4 +74,6 @@ public interface ISysOaProjectService {
|
||||
* @return
|
||||
*/
|
||||
TableDataInfo<SysOaProjectVo> queryPageList2(SysOaProjectBo bo, PageQuery pageQuery);
|
||||
|
||||
TableDataInfo<SysOaProjectVo> listProjects(SysOaProjectBo bo, PageQuery pageQuery);
|
||||
}
|
||||
|
||||
@@ -36,6 +36,13 @@ public interface ISysOaWarehouseService {
|
||||
*/
|
||||
Long insertByBo(SysOaWarehouseBo bo);
|
||||
|
||||
|
||||
/**
|
||||
* 新增仓库管理
|
||||
*/
|
||||
Long insertByBo2(SysOaWarehouseBo bo);
|
||||
|
||||
|
||||
/**
|
||||
* 修改仓库管理
|
||||
*/
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.ruoyi.oa.domain.OaProgress;
|
||||
import com.ruoyi.oa.mapper.OaProgressMapper;
|
||||
import com.ruoyi.oa.service.IOaProgressService;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
@@ -132,4 +133,10 @@ public class OaProgressServiceImpl implements IOaProgressService {
|
||||
public List<OaProgressDetail> getKeyList() {
|
||||
return baseMapper.getKeyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OaProgressVo> queryByProjectId(Long projectId) {
|
||||
|
||||
return baseMapper.queryByProjectId(projectId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
* 查询项目管理
|
||||
*/
|
||||
@Override
|
||||
public SysOaProjectVo queryById(Long projectId){
|
||||
public SysOaProjectVo queryById(Long projectId) {
|
||||
return baseMapper.selectVoById(projectId);
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), SysOaProject::getProjectName, bo.getProjectName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectNum()), SysOaProject::getProjectNum, bo.getProjectNum());
|
||||
lqw.eq(bo.getTradeType() != null, SysOaProject::getTradeType, bo.getTradeType());
|
||||
lqw.gt(bo.getPrePay()!=null&&bo.getPrePay()>0, SysOaProject::getPrePay,0);
|
||||
lqw.gt(bo.getPrePay() != null && bo.getPrePay() > 0, SysOaProject::getPrePay, 0);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), SysOaProject::getProjectType, bo.getProjectType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectStatus()), SysOaProject::getProjectStatus, bo.getProjectStatus());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCreateBy()), SysOaProject::getCreateBy, bo.getCreateBy());
|
||||
@@ -105,7 +105,7 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaProject entity){
|
||||
private void validEntityBeforeSave(SysOaProject entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
@@ -135,24 +135,26 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
|
||||
/**
|
||||
* 获取当月每个项目的人力资源成本
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaProjectVo> getProjectDataByMonth(Date date) {
|
||||
if (date==null){
|
||||
if (date == null) {
|
||||
date = new Date();
|
||||
}
|
||||
return baseMapper.getProjectDataByMonth(getFirstDay(date),getLastDay(date));
|
||||
return baseMapper.getProjectDataByMonth(getFirstDay(date), getLastDay(date));
|
||||
}
|
||||
|
||||
/**
|
||||
* 统计数据需要
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaProjectVo> getProjectDataByMonthAndDate() {
|
||||
Date date = new Date();
|
||||
List<SysOaProjectVo> projectVos = baseMapper.getProjectDataByMonthAndDate(getFirstDay(date),getLastDay(date));
|
||||
List<SysOaProjectVo> projectVos = baseMapper.getProjectDataByMonthAndDate(getFirstDay(date), getLastDay(date));
|
||||
|
||||
return projectVos;
|
||||
}
|
||||
@@ -160,7 +162,7 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
@Override
|
||||
public TableDataInfo<SysOaProjectVo> queryFiles(SysOaWarehouseDetailBo bo, PageQuery pageQuery) {
|
||||
QueryWrapper<SysOaProject> sysOaProjectQueryWrapper = buildOutWareQueryWrapper(bo);
|
||||
sysOaProjectQueryWrapper.groupBy("sop.project_id","sop.project_name","t.task_id","t.task_type","t.status","nick_name","ti.item_id","ti.sign_time","sop.create_time");
|
||||
sysOaProjectQueryWrapper.groupBy("sop.project_id", "sop.project_name", "t.task_id", "t.task_type", "t.status", "nick_name", "ti.item_id", "ti.sign_time", "sop.create_time");
|
||||
// sysOaProjectQueryWrapper.having("file_urls IS NOT NULL");
|
||||
Page<SysOaProjectVo> result = baseMapper.selectFileVoList(pageQuery.build(), sysOaProjectQueryWrapper);
|
||||
List<SysOaProjectVo> projects = result.getRecords();
|
||||
@@ -210,6 +212,7 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
|
||||
/**
|
||||
* 进度使用的查询接口
|
||||
*
|
||||
* @param bo
|
||||
* @param pageQuery
|
||||
* @return
|
||||
@@ -221,6 +224,25 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询项目 进度使用
|
||||
*
|
||||
* @param bo
|
||||
* @param pageQuery
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaProjectVo> listProjects(SysOaProjectBo bo, PageQuery pageQuery) {
|
||||
QueryWrapper<SysOaProject> qw = new QueryWrapper<SysOaProject>();
|
||||
qw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.project_name", bo.getProjectName());
|
||||
qw.eq("sop.trade_type", bo.getTradeType());
|
||||
qw.like(StringUtils.isNotBlank(bo.getProjectNum()), "sop.project_num", bo.getProjectNum());
|
||||
qw.groupBy("sop.project_id");
|
||||
Page<SysOaProjectVo> result = baseMapper.selectVoListPage(pageQuery.build(),qw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
|
||||
private QueryWrapper<SysOaProject> buildOutWareQueryWrapper(SysOaWarehouseDetailBo bo) {
|
||||
QueryWrapper<SysOaProject> lqw = Wrappers.query();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.projec_name", bo.getProjectName());
|
||||
@@ -230,20 +252,19 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
private Date getFirstDay(Date time){
|
||||
private Date getFirstDay(Date time) {
|
||||
String firstDay = DateUtils.parseDateToStr("yyyy-MM-01", time);
|
||||
return DateUtils.parseDate(firstDay);
|
||||
return DateUtils.parseDate(firstDay);
|
||||
}
|
||||
|
||||
private Date getLastDay(Date time){
|
||||
private Date getLastDay(Date time) {
|
||||
String format = "yyyy-MM-";
|
||||
// 计算某月的天数
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(time);
|
||||
String dateLength = String.valueOf(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
|
||||
// 将字符串拼接
|
||||
format +=dateLength;
|
||||
format += dateLength;
|
||||
|
||||
return DateUtils.parseDate(DateUtils.parseDateToStr(format, time));
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ public class SysOaTaskServiceImpl implements ISysOaTaskService {
|
||||
public Boolean insertByBo(SysOaTaskBo bo) {
|
||||
List<Long> workerIdList = new ArrayList<>();
|
||||
// 拿到所有的执行人id列表进行遍历添加
|
||||
if (bo.getWorkerId()!=null) {
|
||||
if (bo.getWorkerIds()!=null) {
|
||||
workerIdList = Arrays.stream(bo.getWorkerIds().split(","))
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
@@ -138,7 +138,7 @@ public class SysOaWarehouseDetailServiceImpl implements ISysOaWarehouseDetailSer
|
||||
SysOaWarehouseDetail decrease = toBean(bo, SysOaWarehouseDetail.class);
|
||||
validEntityBeforeSave(decrease);
|
||||
|
||||
if (!Objects.nonNull(bo.getType()) || bo.getType() != 1) {
|
||||
if (Objects.isNull(bo.getType()) || bo.getType() != 1L) {
|
||||
SysOaWarehouse warehouse = warehouseMapper.selectById(decrease.getWarehouseId());
|
||||
// 1 如果对应仓库表项目数量-将要出库数量<0,出库失败, 繁殖 , 增加该条
|
||||
if(warehouse == null) {
|
||||
@@ -153,8 +153,6 @@ public class SysOaWarehouseDetailServiceImpl implements ISysOaWarehouseDetailSer
|
||||
warehouseMapper.updateById(warehouse);
|
||||
}
|
||||
}
|
||||
|
||||
// 2、减少仓库表中对应项目的数量
|
||||
return baseMapper.insert(decrease) > 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -40,13 +40,11 @@ public class SysOaWarehouseMasterServiceImpl implements ISysOaWarehouseMasterSer
|
||||
private final ISysOaWarehouseDetailService warehouseDetailService;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询出库单管理
|
||||
*/
|
||||
@Override
|
||||
public SysOaWarehouseMasterVo queryById(Long masterId){
|
||||
public SysOaWarehouseMasterVo queryById(Long masterId) {
|
||||
return baseMapper.selectVoById(masterId);
|
||||
}
|
||||
|
||||
@@ -74,7 +72,14 @@ public class SysOaWarehouseMasterServiceImpl implements ISysOaWarehouseMasterSer
|
||||
QueryWrapper<SysOaWarehouseMaster> lqw = Wrappers.query();
|
||||
lqw.eq(bo.getType() != null, "sowm.type", bo.getType());
|
||||
lqw.eq(bo.getProjectId() != null, "sowm.project_id", bo.getProjectId());
|
||||
lqw.eq(bo.getSignTime() != null, "sowm.sign_time", bo.getSignTime());
|
||||
|
||||
if (bo.getSignTime() != null) {
|
||||
long time = bo.getSignTime().getTime();
|
||||
lqw.apply(
|
||||
"DATE(sowm.sign_time) = {0}", // MySQL DATE() 抽取日期部分
|
||||
new Date(time)); // 2025‑05‑13
|
||||
}
|
||||
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSignUser()), "sowm.sign_user", bo.getSignUser());
|
||||
lqw.eq("sowm.del_flag", 0L);
|
||||
lqw.orderByDesc("sowm.create_time");
|
||||
@@ -95,6 +100,7 @@ public class SysOaWarehouseMasterServiceImpl implements ISysOaWarehouseMasterSer
|
||||
// 单子新增后 新增出库元素同时减去现有的,这里要记录一个出库时单价
|
||||
for (SysOaWarehouseDetailBo sysOaWarehouseDetailBo : bo.getWarehouseList()) {
|
||||
sysOaWarehouseDetailBo.setMasterId(add.getMasterId());
|
||||
sysOaWarehouseDetailBo.setType(bo.getType());
|
||||
warehouseDetailService.insertByBo(sysOaWarehouseDetailBo);
|
||||
}
|
||||
}
|
||||
@@ -108,10 +114,10 @@ public class SysOaWarehouseMasterServiceImpl implements ISysOaWarehouseMasterSer
|
||||
public Boolean updateByBo(SysOaWarehouseMasterBo bo) {
|
||||
System.out.println(bo);
|
||||
// 判断是否为采购单,采购单,用户是直接点击完成按钮,所以直接更新单子状态就可以
|
||||
if (bo.getType()!=2L){
|
||||
if (bo.getType() != 2L) {
|
||||
SysOaWarehouseMaster update = BeanUtil.toBean(bo, SysOaWarehouseMaster.class);
|
||||
validEntityBeforeSave(update);
|
||||
boolean flag = baseMapper.updateById(update) > 0;
|
||||
boolean flag = baseMapper.updateById(update) > 0;
|
||||
if (flag) {
|
||||
List<SysOaWarehouseDetailBo> warehouseList = bo.getWarehouseList();
|
||||
for (SysOaWarehouseDetailBo sysOaWarehouseDetailBo : warehouseList) {
|
||||
@@ -123,7 +129,7 @@ public class SysOaWarehouseMasterServiceImpl implements ISysOaWarehouseMasterSer
|
||||
}
|
||||
|
||||
return flag;
|
||||
}else{
|
||||
} else {
|
||||
SysOaWarehouseMaster update = BeanUtil.toBean(bo, SysOaWarehouseMaster.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
@@ -134,7 +140,7 @@ public class SysOaWarehouseMasterServiceImpl implements ISysOaWarehouseMasterSer
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaWarehouseMaster entity){
|
||||
private void validEntityBeforeSave(SysOaWarehouseMaster entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@@ -144,7 +150,7 @@ public class SysOaWarehouseMasterServiceImpl implements ISysOaWarehouseMasterSer
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
System.out.println(ids);
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
|
||||
@@ -53,13 +53,16 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
||||
@Override
|
||||
public TableDataInfo<SysOaWarehouseVo> queryPageList(SysOaWarehouseBo bo, PageQuery pageQuery) {
|
||||
QueryWrapper<SysOaWarehouse> lqw = new QueryWrapper<>();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getName()), "sow.name", bo.getName()).or()
|
||||
.like(StringUtils.isNotBlank(bo.getName()), "sow.brand", bo.getName()).or()
|
||||
.like(StringUtils.isNotBlank(bo.getName()), "sow.model", bo.getName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getModel()), "sow.model", bo.getModel());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBrand()), "sow.brand", bo.getBrand());
|
||||
lqw.eq("sow.del_flag", 0);
|
||||
|
||||
lqw.and(StringUtils.isNotBlank(bo.getName()),qw -> qw
|
||||
.like( "sow.name", bo.getName())
|
||||
.or()
|
||||
.like("sow.brand", bo.getName())
|
||||
.or()
|
||||
.like("sow.model", bo.getName())
|
||||
)
|
||||
.eq(StringUtils.isNotBlank(bo.getModel()), "sow.model", bo.getModel())
|
||||
.eq(StringUtils.isNotBlank(bo.getBrand()), "sow.brand", bo.getBrand());
|
||||
Page<SysOaWarehouseVo> result = baseMapper.selectListVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
@@ -67,17 +70,25 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
||||
@Override
|
||||
public TableDataInfo<SysOaWarehouseVo> queryPageListThreshold(SysOaWarehouseBo bo, PageQuery pageQuery, boolean b) {
|
||||
QueryWrapper<SysOaWarehouse> lqw = new QueryWrapper<>();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getName()), "sow.name", bo.getName()).or()
|
||||
.like(StringUtils.isNotBlank(bo.getName()), "sow.brand", bo.getName()).or()
|
||||
.like(StringUtils.isNotBlank(bo.getName()), "sow.model", bo.getName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getModel()), "sow.model", bo.getModel());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBrand()), "sow.brand", bo.getBrand());
|
||||
lqw.eq("sow.del_flag", 0);
|
||||
if (b){
|
||||
lqw.apply("sow.inventory < sow.threshold");
|
||||
}else{
|
||||
lqw.apply("sow.inventory >= sow.threshold");
|
||||
}
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getModel()), "sow.model", bo.getModel());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBrand()), "sow.brand", bo.getBrand());
|
||||
|
||||
lqw.and(StringUtils.isNotBlank(bo.getName()),qw -> qw
|
||||
.like( "sow.name", bo.getName())
|
||||
.or()
|
||||
.like("sow.brand", bo.getName())
|
||||
.or()
|
||||
.like("sow.model", bo.getName())
|
||||
)
|
||||
.eq(StringUtils.isNotBlank(bo.getModel()), "sow.model", bo.getModel())
|
||||
.eq(StringUtils.isNotBlank(bo.getBrand()), "sow.brand", bo.getBrand());
|
||||
|
||||
Page<SysOaWarehouseVo> result = baseMapper.selectListVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
@@ -164,6 +175,7 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
||||
/**
|
||||
* 新增仓库管理
|
||||
*/
|
||||
@Override
|
||||
public Long insertByBo2(SysOaWarehouseBo bo) {
|
||||
SysOaWarehouse add = BeanUtil.toBean(bo, SysOaWarehouse.class);
|
||||
validEntityBeforeSave(add);
|
||||
@@ -172,7 +184,6 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
||||
lqw.eq(SysOaWarehouse::getName, bo.getName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getModel()), SysOaWarehouse::getModel, bo.getModel());
|
||||
SysOaWarehouse select = baseMapper.selectOne(lqw);
|
||||
System.out.println(select);
|
||||
// 2、 无则直接新增项目 有则直接增加库存数量
|
||||
if (select == null) {
|
||||
baseMapper.insert(add);
|
||||
|
||||
Reference in New Issue
Block a user