parent
57775b3c17
commit
f343536e3c
|
|
@ -74,7 +74,7 @@ public class MaTypeVo extends ParentVo {
|
|||
private String needNum = "0";
|
||||
|
||||
/**需用天数-前端使用*/
|
||||
private String times = "0";
|
||||
private String times;
|
||||
|
||||
/**备注-前端使用*/
|
||||
private String remarks;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -52,11 +52,12 @@
|
|||
type,
|
||||
name,
|
||||
model,
|
||||
unit
|
||||
unit,
|
||||
back_date
|
||||
</trim>
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{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})
|
||||
</foreach>
|
||||
</insert>
|
||||
<!--添加需求计划申请节点-->
|
||||
|
|
@ -98,7 +99,7 @@
|
|||
apply_id,
|
||||
model_id,
|
||||
need_num,
|
||||
need_day,
|
||||
back_date,
|
||||
remark,
|
||||
type,
|
||||
name,
|
||||
|
|
@ -106,10 +107,10 @@
|
|||
unit
|
||||
</trim>
|
||||
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})
|
||||
</if>
|
||||
<if test="item.id !=null">
|
||||
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}
|
||||
</if>
|
||||
</foreach>
|
||||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -89,12 +89,12 @@
|
|||
HAVING (SUM(spa.ck_num)+sum(spa.lk_num))=0
|
||||
</if>
|
||||
<if test='status=="1"'>
|
||||
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
|
||||
)
|
||||
</if>
|
||||
<if test='status=="2"'>
|
||||
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))
|
||||
</if>
|
||||
</if>
|
||||
</select>
|
||||
|
|
|
|||
Loading…
Reference in New Issue