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))