From f343536e3c21e8958be321f44ac991c73a4b9bf9 Mon Sep 17 00:00:00 2001
From: hayu <1604366271@qq.com>
Date: Mon, 10 Mar 2025 13:12:53 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E9=9C=80=E6=B1=82=E8=AE=A1=E5=88=92?=
=?UTF-8?q?=E7=94=B3=E8=AF=B7=EF=BC=8C=E9=9C=80=E7=94=A8=E5=A4=A9=E6=95=B0?=
=?UTF-8?q?=E6=94=B9=E4=B8=BA=E9=80=80=E8=BF=98=E6=97=A5=E6=9C=9F=202?=
=?UTF-8?q?=E3=80=81=E8=AE=BE=E5=A4=87=E5=8F=91=E8=B4=A7=EF=BC=8C=E5=8F=96?=
=?UTF-8?q?=E6=B6=88=E5=AE=9E=E9=99=85=E5=8F=91=E8=B4=A7=E9=87=8F=E9=99=90?=
=?UTF-8?q?=E5=88=B6=203=E3=80=81=E8=AE=BE=E5=A4=87=E5=8F=91=E8=B4=A7?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=B6=E9=97=B4=E7=AD=9B=E9=80=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../business/backstage/entity/MaTypeVo.java | 2 +-
.../business/backstage/entity/PurchaseVo.java | 4 ++
.../backstage/entity/plan/PlanDetailVo.java | 15 +++++--
.../service/PurchaseServiceImpl.java | 41 +++++++++++++++----
.../business/backstage/PlanApplyMapper.xml | 12 +++---
.../business/backstage/PurchaseMapper.xml | 4 +-
6 files changed, 58 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/MaTypeVo.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/MaTypeVo.java
index e482e43..69d37a3 100644
--- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/MaTypeVo.java
+++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/MaTypeVo.java
@@ -74,7 +74,7 @@ public class MaTypeVo extends ParentVo {
private String needNum = "0";
/**需用天数-前端使用*/
- private String times = "0";
+ private String times;
/**备注-前端使用*/
private String remarks;
diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/PurchaseVo.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/PurchaseVo.java
index f6bd6c3..2822fd3 100644
--- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/PurchaseVo.java
+++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/PurchaseVo.java
@@ -74,5 +74,9 @@ public class PurchaseVo extends ParentVo {
@Excel(name = "采购金额", width = 10.0, orderNum = "9")
private String money;
+ private String startTime;
+
+ private String endTime;
+
}
diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/plan/PlanDetailVo.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/plan/PlanDetailVo.java
index d634efe..d64222a 100644
--- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/plan/PlanDetailVo.java
+++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/plan/PlanDetailVo.java
@@ -43,11 +43,18 @@ public class PlanDetailVo {
/**
* 需用天数
*/
- @NotNull(message = "需用天数不能为空", groups = {PlanDetailVo.addPlanDetail.class})
- @Min(value = 1, message = "需用天数不能小于1", groups = {PlanDetailVo.addPlanDetail.class})
- @Max(value = 999999, message = "需用天数不能大于999999", groups = {PlanDetailVo.addPlanDetail.class})
- @Excel(name = "需用天数", width = 20.0, orderNum = "6")
+// @NotNull(message = "需用天数不能为空", groups = {PlanDetailVo.addPlanDetail.class})
+// @Min(value = 1, message = "需用天数不能小于1", groups = {PlanDetailVo.addPlanDetail.class})
+// @Max(value = 999999, message = "需用天数不能大于999999", groups = {PlanDetailVo.addPlanDetail.class})
+// @Excel(name = "需用天数", width = 20.0, orderNum = "6")
private Integer needDay;
+
+ /**
+ * 退还日期
+ */
+ @Excel(name = "退还日期", width = 20.0, orderNum = "6")
+ private String backDate;
+
/**
* 备注
*/
diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java
index ab90d8c..55aa2d4 100644
--- a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java
+++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java
@@ -20,6 +20,9 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -72,6 +75,28 @@ public class PurchaseServiceImpl implements PurchaseService {
vo.setLastDay(day);
});
}
+ // 根据日期范围筛选list数据中的lastDay,并排除lastDay为"-"的情况
+ if (StringUtils.isNotEmpty(data.getStartTime()) && StringUtils.isNotEmpty(data.getEndTime())) {
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 假设日期格式是"yyyy-MM-dd"
+ LocalDate startTime = LocalDate.parse(data.getStartTime(), formatter);
+ LocalDate endTime = LocalDate.parse(data.getEndTime(), formatter);
+
+ list.removeIf(vo -> {
+ String lastDayStr = vo.getLastDay();
+ // 排除lastDay为"-"的情况
+ if ("-".equals(lastDayStr)) {
+ return true; // 直接移除该vo对象
+ }
+ try {
+ LocalDate lastDay = LocalDate.parse(lastDayStr, formatter);
+ return lastDay.isBefore(startTime) || lastDay.isAfter(endTime);
+ } catch (DateTimeParseException e) {
+ // 如果解析失败(例如日期格式不正确),可以选择处理异常或直接返回true来移除该条目
+ log.error("日期解析错误: " + lastDayStr, e);
+ return true;
+ }
+ });
+ }
}catch (Exception e){
log.error(e.toString(),e);
}
@@ -234,10 +259,10 @@ public class PurchaseServiceImpl implements PurchaseService {
return ServerResponse.createErroe(supInfo.getSupName()+"-厂家合同内无此-"+details.getModel()+"-型号设备");
}
}
- int needNums=Integer.parseInt(needNum);
- if(ckNum+lkNum>needNums){
- return ServerResponse.createErroe(details.getName()+"0"+details.getModel()+"发货量超过需求量");
- }
+// int needNums=Integer.parseInt(needNum);
+// if(ckNum+lkNum>needNums){
+// return ServerResponse.createErroe(details.getName()+"0"+details.getModel()+"发货量超过需求量");
+// }
//数据校验
MaTypeVo maTypeVo=new MaTypeVo();
maTypeVo.setModelId(details.getModelId());
@@ -381,10 +406,10 @@ public class PurchaseServiceImpl implements PurchaseService {
return ServerResponse.createErroe(supInfo.getSupName()+"-厂家合同内无此-"+details.getModel()+"-型号设备");
}
}
- int needNums=Integer.parseInt(needNum);
- if(ckNum+lkNum>needNums){
- return ServerResponse.createErroe(details.getName()+"0"+details.getModel()+"发货量超过需求量");
- }
+// int needNums=Integer.parseInt(needNum);
+// if(ckNum+lkNum>needNums){
+// return ServerResponse.createErroe(details.getName()+"0"+details.getModel()+"发货量超过需求量");
+// }
MaTypeVo maTypeVo=new MaTypeVo();
diff --git a/src/main/resources/mappers/business/backstage/PlanApplyMapper.xml b/src/main/resources/mappers/business/backstage/PlanApplyMapper.xml
index 03308e8..be4b535 100644
--- a/src/main/resources/mappers/business/backstage/PlanApplyMapper.xml
+++ b/src/main/resources/mappers/business/backstage/PlanApplyMapper.xml
@@ -52,11 +52,12 @@
type,
name,
model,
- unit
+ unit,
+ back_date
VALUES
- (#{params.id},#{item.modelId},#{item.needNum},#{item.needDay},#{item.remark},#{item.type},#{item.name},#{item.model},#{item.unit})
+ (#{params.id},#{item.modelId},#{item.needNum},#{item.needDay},#{item.remark},#{item.type},#{item.name},#{item.model},#{item.unit},#{item.backDate})
@@ -98,7 +99,7 @@
apply_id,
model_id,
need_num,
- need_day,
+ back_date,
remark,
type,
name,
@@ -106,10 +107,10 @@
unit
VALUES
- (#{params.id},#{item.modelId},#{item.needNum},#{item.needDay},#{item.remark},#{item.type},#{item.name},#{item.model},#{item.unit})
+ (#{params.id},#{item.modelId},#{item.needNum},#{item.backDate},#{item.remark},#{item.type},#{item.name},#{item.model},#{item.unit})
- UPDATE st_plan_details SET need_num = #{item.needNum},need_day = #{item.needDay},remark = #{item.remark}
+ UPDATE st_plan_details SET need_num = #{item.needNum},back_date = #{item.backDate},remark = #{item.remark}
WHERE id = #{item.id}
@@ -174,6 +175,7 @@
spd.model_id AS modelId,
spd.need_num AS needNum,
spd.need_day AS needDay,
+ spd.back_date AS backDate,
spd.remark,
spd.type,
spd.name,
diff --git a/src/main/resources/mappers/business/backstage/PurchaseMapper.xml b/src/main/resources/mappers/business/backstage/PurchaseMapper.xml
index a67a4ff..58a9262 100644
--- a/src/main/resources/mappers/business/backstage/PurchaseMapper.xml
+++ b/src/main/resources/mappers/business/backstage/PurchaseMapper.xml
@@ -89,12 +89,12 @@
HAVING (SUM(spa.ck_num)+sum(spa.lk_num))=0
- HAVING (SUM(spa.need_num)>(SUM(spa.ck_num)-sum(spa.lk_num))
+ HAVING (SUM(spa.need_num)>(SUM(spa.ck_num)+sum(spa.lk_num))
and (SUM(spa.ck_num)+sum(spa.lk_num))!=0
)
- HAVING ((SUM(spa.ck_num)-sum(spa.lk_num) )>SUM(spa.need_num))
+ HAVING ((SUM(spa.ck_num)+sum(spa.lk_num) )>=SUM(spa.need_num))