diff --git a/pms-business/src/main/java/tech/unissense/pms/business/demand/domain/ProjectDemand.java b/pms-business/src/main/java/tech/unissense/pms/business/demand/domain/ProjectDemand.java index df3f074..827bb38 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/demand/domain/ProjectDemand.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/demand/domain/ProjectDemand.java @@ -59,6 +59,7 @@ public class ProjectDemand implements Serializable { //负责人名称 private String responsiblePersonName; private List demandStatusList; + private Date queryDate; /** * 需求状态 */ diff --git a/pms-business/src/main/java/tech/unissense/pms/business/demand/service/impl/ProjectDemandServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/demand/service/impl/ProjectDemandServiceImpl.java index e0b8a39..15a3450 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/demand/service/impl/ProjectDemandServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/demand/service/impl/ProjectDemandServiceImpl.java @@ -94,7 +94,7 @@ public class ProjectDemandServiceImpl implements IProjectDemandService { boolean statusFlag = ProjectDemand.DemandStatusEnum.YWC.value().equals(existDemand.getDemandStatus()) || ProjectDemand.DemandStatusEnum.YGB.value().equals(existDemand.getDemandStatus()); // 当前状态发生变化,并且结束时间在当前时间之前 - boolean timeFlag = !existDemand.getDemandStatus().equals(projectDemand.getDemandStatus()) && DateUtils.getNowDate().before(projectDemand.getEndTime()); + boolean timeFlag = !existDemand.getDemandStatus().equals(projectDemand.getDemandStatus()) && DateUtils.getNowDate().after(projectDemand.getEndTime()); if (statusFlag && timeFlag) { throw new ServiceException("结束时间不能早于当前时间"); } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/version/domain/ProjectVersion.java b/pms-business/src/main/java/tech/unissense/pms/business/version/domain/ProjectVersion.java index 89d2097..5077bba 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/version/domain/ProjectVersion.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/version/domain/ProjectVersion.java @@ -41,6 +41,7 @@ public class ProjectVersion implements Serializable { * 创建时间 */ private Date createTime; + private Date queryDate; private List demandList; diff --git a/pms-business/src/main/java/tech/unissense/pms/business/version/service/impl/ProjectVersionServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/version/service/impl/ProjectVersionServiceImpl.java index 7fd9b6a..0843335 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/version/service/impl/ProjectVersionServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/version/service/impl/ProjectVersionServiceImpl.java @@ -83,6 +83,9 @@ public class ProjectVersionServiceImpl implements IProjectVersionService { if (projectVersion.getUserId() != null) { param.setResponsiblePerson(projectVersion.getUserId()); } + if (projectVersion.getQueryDate() != null) { + param.setQueryDate(projectVersion.getQueryDate()); + } if (CollUtil.isNotEmpty(projectVersion.getDemandStatusList())) { param.setDemandStatusList(projectVersion.getDemandStatusList()); } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/domain/WorkLogger.java b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/domain/WorkLogger.java index 7ec29d8..20164fa 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/domain/WorkLogger.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/domain/WorkLogger.java @@ -56,6 +56,7 @@ public class WorkLogger extends BaseEntity { private List projectIdList; private Integer examineId; + private Integer versionId; private String projectName; private String title; private String versionNumber; diff --git a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/impl/WorkLoggerServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/impl/WorkLoggerServiceImpl.java index 71048c2..2a74b83 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/impl/WorkLoggerServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/work/logger/service/impl/WorkLoggerServiceImpl.java @@ -72,10 +72,21 @@ public class WorkLoggerServiceImpl implements IWorkLoggerService { */ @Override public WorkLogger insert(WorkLogger workLogger) { + verifyMaxWorkTime(workLogger); this.workLoggerMapper.insert(workLogger); return workLogger; } + private void verifyMaxWorkTime(WorkLogger workLogger) { + //当天剩余工时 + WorkLogger queryParam = new WorkLogger(); + queryParam.setLoggerDate(workLogger.getLoggerDate()); + String remaining = this.getRemaining(queryParam); + if (new BigDecimal(remaining).compareTo(new BigDecimal(workLogger.getWorkTime()))<0){ + throw new RuntimeException("超出最大可填写工时"); + } + } + /** * 修改数据 * diff --git a/pms-business/src/main/resources/mapper/business/ProjectDemand/ProjectDemandMapper.xml b/pms-business/src/main/resources/mapper/business/ProjectDemand/ProjectDemandMapper.xml index 6f8cb6b..5d36587 100644 --- a/pms-business/src/main/resources/mapper/business/ProjectDemand/ProjectDemandMapper.xml +++ b/pms-business/src/main/resources/mapper/business/ProjectDemand/ProjectDemandMapper.xml @@ -34,7 +34,7 @@ and t1.id = #{id} - and t1.title like concat(#{title},'%') + and t1.title like concat(#{title},'%') and t1.version_id = #{versionId} @@ -61,14 +61,16 @@ and t1.project_id = #{projectId} - and t3.nick_name like concat(#{responsiblePersonName},"%") + and t3.nick_name like concat(#{responsiblePersonName},"%") and t1.demand_status in #{item} - + + + and #{queryDate} between t1.create_time and t1.end_time diff --git a/pms-business/src/main/resources/mapper/business/ProjectVersion/ProjectVersionMapper.xml b/pms-business/src/main/resources/mapper/business/ProjectVersion/ProjectVersionMapper.xml index eced541..fbf81b3 100644 --- a/pms-business/src/main/resources/mapper/business/ProjectVersion/ProjectVersionMapper.xml +++ b/pms-business/src/main/resources/mapper/business/ProjectVersion/ProjectVersionMapper.xml @@ -38,10 +38,10 @@ and release_date = #{releaseDate} - and (select version_id from pms_project_demand where responsible_person = #{userId}) + and id in (select version_id from pms_project_demand where responsible_person = #{userId}) - and (select version_id from pms_project_demand where demand_status in + and id in (select version_id from pms_project_demand where demand_status in #{item} diff --git a/pms-business/src/main/resources/mapper/business/WorkLogger/WorkLoggerMapper.xml b/pms-business/src/main/resources/mapper/business/WorkLogger/WorkLoggerMapper.xml index 1406545..104b1a0 100644 --- a/pms-business/src/main/resources/mapper/business/WorkLogger/WorkLoggerMapper.xml +++ b/pms-business/src/main/resources/mapper/business/WorkLogger/WorkLoggerMapper.xml @@ -56,7 +56,7 @@ t1.logger_id, t1.logger_date, t1.project_id, t1.user_id, t1.work_time, t1.work_content, t1.state, t1.create_by, t1.update_by, t1.update_time, t1.create_time,t1.demand_id,t2.nick_name user_name - ,t3.project_name,t4.title ,t5.version_number + ,t3.project_name,t4.title ,t5.version_number,t4.version_id from pms_work_logger t1 left join sys_user t2 on t1.user_id=t2.user_id inner join pms_project t3 on (t1.project_id=t3.project_id and t3.state=0)