diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/common/util/BizDateUtil.java b/hz-pm-api/src/main/java/com/hz/pm/api/common/util/BizDateUtil.java
new file mode 100644
index 0000000..30d6a77
--- /dev/null
+++ b/hz-pm-api/src/main/java/com/hz/pm/api/common/util/BizDateUtil.java
@@ -0,0 +1,54 @@
+package com.hz.pm.api.common.util;
+
+import cn.hutool.core.date.LocalDateTimeUtil;
+import cn.hutool.core.util.StrUtil;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ *
+ * BizDateUtil
+ *
+ *
+ * @author WendyYang
+ * @since 11:24 2024/9/3
+ */
+public class BizDateUtil {
+
+ private BizDateUtil() {
+
+ }
+
+ public static String toDateStr(LocalDate date) {
+ if (date == null) {
+ return StrUtil.EMPTY;
+ }
+ return LocalDateTimeUtil.format(date, "yyyy-MM-dd");
+ }
+
+ public static String toDateStr(LocalDateTime date) {
+ if (date == null) {
+ return StrUtil.EMPTY;
+ }
+ return LocalDateTimeUtil.format(date, "yyyy-MM-dd");
+ }
+
+ public static String toDateTimeStr(LocalDateTime dateTime) {
+ if (dateTime == null) {
+ return StrUtil.EMPTY;
+ }
+ return LocalDateTimeUtil.format(dateTime, "yyyy-MM-dd HH:mm:ss");
+ }
+
+ public static LocalDateTime convertDate(Date date) {
+ if (Objects.nonNull(date)) {
+ return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
+ }
+ return null;
+ }
+
+}
diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/common/util/BizUtils.java b/hz-pm-api/src/main/java/com/hz/pm/api/common/util/BizUtils.java
index ac62f7f..cc201d8 100644
--- a/hz-pm-api/src/main/java/com/hz/pm/api/common/util/BizUtils.java
+++ b/hz-pm-api/src/main/java/com/hz/pm/api/common/util/BizUtils.java
@@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONArray;
import com.hz.pm.api.projectlib.model.enumeration.ProjectTypeNewEnum;
import com.ningdatech.basic.util.StrPool;
import com.ningdatech.file.entity.vo.result.FileResultVO;
-import liquibase.pro.packaged.O;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.NumberUtils;
@@ -112,13 +111,6 @@ public class BizUtils {
return StringUtils.EMPTY;
}
- public static LocalDateTime convertDate(Date date) {
- if (Objects.nonNull(date)) {
- return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
- }
- return null;
- }
-
public static String computeRise(Integer numa, Integer numb) {
if ((Objects.isNull(numb) || numb.equals(0)) &&
(Objects.isNull(numa) || numa.equals(0))) {
@@ -140,24 +132,4 @@ public class BizUtils {
return JSON.toJSONString(jsonArray);
}
- public static LocalDateTime convertLocalDateTime(String time) {
- if (StringUtils.isBlank(time)) {
- return null;
- }
- String[] timeSplit = time.split(StrPool.DASH);
- String year = timeSplit[0];
- String month = "01";
- String dayOfMonth = "01";
- if (timeSplit.length > 1) {
- month = timeSplit[1];
- }
- if (timeSplit.length > 2) {
- dayOfMonth = timeSplit[2];
- }
- return LocalDateTime.of(Integer.parseInt(year),
- Integer.parseInt(month),
- Integer.parseInt(dayOfMonth)
- , 0, 0, 0);
- }
-
}
diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java
index 96b3432..5e8dadc 100644
--- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java
+++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java
@@ -14,6 +14,8 @@ import com.hz.pm.api.common.enumeration.ProjectProcessType;
import com.hz.pm.api.common.helper.UserInfoHelper;
import com.hz.pm.api.common.statemachine.util.ProjectStateMachineUtil;
import com.hz.pm.api.common.statemachine.util.TenderStateMachineUtil;
+import com.hz.pm.api.common.util.BizDateUtil;
+import com.hz.pm.api.common.util.BizUtils;
import com.hz.pm.api.common.util.ExcelDownUtil;
import com.hz.pm.api.common.util.ExcelExportStyle;
import com.hz.pm.api.projectdeclared.model.dto.DeclaredProjectExportDTO;
@@ -52,7 +54,6 @@ import com.wflow.workflow.bean.vo.ProcessStartParamsVo;
import com.wflow.workflow.service.ProcessInstanceService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -61,10 +62,9 @@ import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.BiFunction;
-import java.util.function.Function;
import java.util.stream.Collectors;
-import static com.hz.pm.api.user.helper.MhUnitQueryHelper.*;
+import static com.hz.pm.api.user.helper.MhUnitQueryHelper.UnitQueryState;
/**
* @Classname FinalAcceptanceManage
@@ -92,14 +92,14 @@ public class FinalAcceptanceManage {
//==================================================================================================================
- private static final List FINAL_INSPECTED_TENDER_STATUS;
+ private static final List FINAL_INSPECTED_TENDER_STATUS;
static {
FINAL_INSPECTED_TENDER_STATUS = new ArrayList<>();
- FINAL_INSPECTED_TENDER_STATUS.add(TenderMainStatus.TO_BE_SUBMIT_FINALLY_INSPECTED_APPLY);
- FINAL_INSPECTED_TENDER_STATUS.add(TenderMainStatus.ON_FINALLY_INSPECTED_APPLY);
- FINAL_INSPECTED_TENDER_STATUS.add(TenderMainStatus.FINALLY_INSPECTED_PASSED);
- FINAL_INSPECTED_TENDER_STATUS.add(TenderMainStatus.FINALLY_INSPECTED_FAILED);
+ FINAL_INSPECTED_TENDER_STATUS.add(TenderMainStatus.TO_BE_SUBMIT_FINALLY_INSPECTED_APPLY.getCode());
+ FINAL_INSPECTED_TENDER_STATUS.add(TenderMainStatus.ON_FINALLY_INSPECTED_APPLY.getCode());
+ FINAL_INSPECTED_TENDER_STATUS.add(TenderMainStatus.FINALLY_INSPECTED_PASSED.getCode());
+ FINAL_INSPECTED_TENDER_STATUS.add(TenderMainStatus.FINALLY_INSPECTED_FAILED.getCode());
}
/**
@@ -111,7 +111,7 @@ public class FinalAcceptanceManage {
public FinalAcceptProgressStatisticsVO finalAcceptProgressStatistics(ProjectListReq req) {
LambdaQueryWrapper purchaseQuery = Wrappers.lambdaQuery(Purchase.class)
.select(Purchase::getProjectId, Purchase::getStatus)
- .in(Purchase::getStatus, CollUtils.fieldList(FINAL_INSPECTED_TENDER_STATUS, TenderMainStatus::getCode));
+ .in(Purchase::getStatus, FINAL_INSPECTED_TENDER_STATUS);
List purchases = purchaseService.list(purchaseQuery);
if (purchases.isEmpty()) {
return null;
@@ -157,22 +157,30 @@ public class FinalAcceptanceManage {
* @return \
*/
public PageVo projectLibList(ProjectListReq req) {
- Set projectIds = purchaseService.listProjectIdByStatus(FINAL_INSPECTED_TENDER_STATUS);
- if (projectIds.isEmpty()) {
- return PageVo.empty();
- }
UserInfoDetails user = LoginUserUtil.loginUserDetail();
String buildOrgCode = req.getBuildOrgCode();
req.setBuildOrgCode(null);
- LambdaQueryWrapper query = ProjectManageUtil.projectQuery(req)
- .in(Project::getId, projectIds)
- .eq(Project::getNewest, Boolean.TRUE)
- .orderByAsc(Project::getApprovalDate);
Long buildOrgCodeNum = NumberUtil.parseLong(buildOrgCode, null);
UnitQueryState queryState = mhUnitQueryHelper.listCanViewUnitIds(buildOrgCodeNum, user);
if (!queryState.isState()) {
return null;
}
+ LambdaQueryWrapper purchaseQuery = Wrappers.lambdaQuery(Purchase.class)
+ .select(Purchase::getStatus, Purchase::getProjectId, Purchase::getId, Purchase::getBidName);
+ if (req.getTabStatus() == null) {
+ purchaseQuery.in(Purchase::getStatus, FINAL_INSPECTED_TENDER_STATUS);
+ } else {
+ purchaseQuery.eq(Purchase::getStatus, req.getTabStatus());
+ }
+ List purchases = purchaseService.list(purchaseQuery);
+ if (purchases.isEmpty()) {
+ return PageVo.empty();
+ }
+ List projectIds = CollUtils.fieldList(purchases, Purchase::getProjectId);
+ LambdaQueryWrapper query = ProjectManageUtil.projectQuery(req)
+ .in(Project::getId, projectIds)
+ .eq(Project::getNewest, Boolean.TRUE)
+ .orderByAsc(Project::getApprovalDate);
if (CollUtil.isNotEmpty(queryState.getUnitIds())) {
query.in(Project::getBuildOrgCode, CollUtils.convert(queryState.getUnitIds(), String::valueOf));
}
@@ -180,20 +188,8 @@ public class FinalAcceptanceManage {
if (page.getTotal() == 0) {
return PageVo.empty();
}
- Set allProjectIds = CollUtils.fieldSet(page.getRecords(), Project::getId);
- Wrapper purchaseQuery = Wrappers.lambdaQuery(Purchase.class)
- .in(Purchase::getProjectId, allProjectIds)
- .eq(Purchase::getStatus, req.getTabStatus());
- List purchases = purchaseService.list(purchaseQuery);
- Map> purchaseMap;
- Map contractMap;
- if (!purchases.isEmpty()) {
- purchaseMap = CollUtils.group(purchases, Purchase::getProjectId);
- contractMap = contractService.listByProjectIds(projectIds);
- } else {
- purchaseMap = Collections.emptyMap();
- contractMap = Collections.emptyMap();
- }
+ Map> purchaseMap = CollUtils.group(purchases, Purchase::getProjectId);
+ Map contractMap = contractService.listByProjectIds(projectIds);
List records = CollUtils.convert(page.getRecords(), w -> {
ProjectLibListItemVO item = new ProjectLibListItemVO();
item.setId(w.getId());
@@ -212,11 +208,10 @@ public class FinalAcceptanceManage {
item.setReviewAmount(w.getReviewAmount());
item.setApprovedAmount(w.getApprovalAmount());
item.setApprovalDate(w.getApprovalDate());
- item.setBuildCycle(StrUtil.isNotBlank(w.getBuildCycle()) ? Integer.valueOf(w.getBuildCycle()) : null);
+ item.setBuildCycle(NumberUtil.parseInt(w.getBuildCycle(), null));
item.setPlanAcceptanceTime(w.getPlanAcceptanceTime());
- List currPurchases = purchaseMap.get(w.getId());
- if (currPurchases != null) {
- List tmpPurchases = CollUtils.convert(currPurchases, x -> {
+ BizUtils.notNull(purchaseMap.get(w.getId()), tmp -> {
+ List tenders = CollUtils.convert(tmp, x -> {
TenderListInfoVO tender = new TenderListInfoVO();
tender.setBidName(x.getBidName());
tender.setBidId(x.getId());
@@ -228,8 +223,8 @@ public class FinalAcceptanceManage {
}
return tender;
});
- item.setTenders(tmpPurchases);
- }
+ item.setTenders(tenders);
+ });
return item;
});
return PageVo.of(records, page.getTotal());
@@ -260,8 +255,7 @@ public class FinalAcceptanceManage {
String createOnStr = NdDateUtils.format(r.getCreateOn(), "yyyy-MM-dd HH:mm");
item.setCreateOn(createOnStr);
item.setSerialNumber(serialNumber.incrementAndGet());
- item.setPlanAcceptanceTime(Objects.nonNull(r.getPlanAcceptanceTime()) ?
- NdDateUtils.format(r.getPlanAcceptanceTime(), "yyyy-MM-dd") : StringUtils.EMPTY);
+ item.setPlanAcceptanceTime(BizDateUtil.toDateStr(r.getPlanAcceptanceTime()));
collect.add(item);
});
}
diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/req/ProjectListReq.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/req/ProjectListReq.java
index b596e79..7e95dba 100644
--- a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/req/ProjectListReq.java
+++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/req/ProjectListReq.java
@@ -1,7 +1,7 @@
package com.hz.pm.api.projectlib.model.req;
-import com.ningdatech.basic.model.PagePo;
import com.hz.pm.api.common.enumeration.ExportOptionEnum;
+import com.ningdatech.basic.model.PagePo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;