食谱计划生成优化

This commit is contained in:
xiezhijun 2021-06-21 18:38:23 +08:00
parent 81453e91ab
commit b98e56c11e
4 changed files with 49 additions and 23 deletions

View File

@ -379,24 +379,28 @@ public class SysOrderServiceImpl implements ISysOrderService {
//判断是否提成单拆分单中的副单体验单,定金单 //判断是否提成单拆分单中的副单体验单,定金单
if(sysOrder.getStartTime() == null || sysOrder.getAfterSaleCommissOrder().intValue() == 1 || sysOrder.getMainOrderId().intValue() != 0 || if(sysOrder.getStartTime() == null || sysOrder.getAfterSaleCommissOrder().intValue() == 1 || sysOrder.getMainOrderId().intValue() != 0 ||
"2".equals(sysOrder.getOrderType()) || !isNeedByOrderMoneyType(sysOrder)){ "2".equals(sysOrder.getOrderType()) || !isNeedByOrderMoneyType(sysOrder)){
continue; //设置服务到期时间
} setOrderServerEndDate(sysOrder);
//判断前一个订单的结束时间是否大于第二个订单的 sysOrder.setUpdateTime(new Date());
if(lastServerEndTime != null && ChronoUnit.DAYS.between(lastServerEndTime, DateUtils.dateToLocalDate(sysOrder.getStartTime())) <= 0){ row = updateSysOrder(sysOrder);
newStartTime = lastServerEndTime.plusDays(1); }else {
//本月第一天 //判断前一个订单的结束时间是否大于第二个订单的
LocalDate monthStart = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()); if (lastServerEndTime != null && ChronoUnit.DAYS.between(lastServerEndTime, DateUtils.dateToLocalDate(sysOrder.getStartTime())) <= 0) {
//旧的开始时间和新的开始时间都要需要大于本月第一天 newStartTime = lastServerEndTime.plusDays(1);
if(sysOrder.getCommissStartTime() != null && ChronoUnit.DAYS.between(monthStart, DateUtils.dateToLocalDate(sysOrder.getCommissStartTime())) >= 0 && ChronoUnit.DAYS.between(monthStart, newStartTime) >= 0){ //本月第一天
sysOrder.setCommissStartTime(DateUtils.localDateToDate(newStartTime)); LocalDate monthStart = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth());
//旧的开始时间和新的开始时间都要需要大于本月第一天
if (sysOrder.getCommissStartTime() != null && ChronoUnit.DAYS.between(monthStart, DateUtils.dateToLocalDate(sysOrder.getCommissStartTime())) >= 0 && ChronoUnit.DAYS.between(monthStart, newStartTime) >= 0) {
sysOrder.setCommissStartTime(DateUtils.localDateToDate(newStartTime));
}
sysOrder.setStartTime(DateUtils.localDateToDate(newStartTime));
} }
sysOrder.setStartTime(DateUtils.localDateToDate(newStartTime)); //设置服务到期时间
setOrderServerEndDate(sysOrder);
sysOrder.setUpdateTime(new Date());
row = updateSysOrder(sysOrder);
lastServerEndTime = DateUtils.dateToLocalDate(sysOrder.getServerEndTime());
} }
//设置服务到期时间
setOrderServerEndDate(sysOrder);
sysOrder.setUpdateTime(new Date());
row = updateSysOrder(sysOrder);
lastServerEndTime = DateUtils.dateToLocalDate(sysOrder.getServerEndTime());
} }
//异步更新食谱计划 //异步更新食谱计划
sysRecipesPlanService.regenerateRecipesPlan(cusId); sysRecipesPlanService.regenerateRecipesPlan(cusId);
@ -404,7 +408,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
return row; return row;
} }
//定金单或尾款单是否需要生成食谱计划2021-01-12修改为6月11日之后成交的订单只生成定金单计划 //定金单或尾款单是否需要生成食谱计划2021-01-12修改为6月1日之后成交的订单只生成定金单计划
private boolean isNeedByOrderMoneyType(SysOrder sysOrder){ private boolean isNeedByOrderMoneyType(SysOrder sysOrder){
if("0".equals(sysOrder.getOrderMoneyType())){ if("0".equals(sysOrder.getOrderMoneyType())){
return true; return true;

View File

@ -45,7 +45,7 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
private SysRecipesMapper sysRecipesMapper; private SysRecipesMapper sysRecipesMapper;
//2021-06-11之后大于等于成交的订单只生成定金单食谱计划不生成尾款食谱计划之前成交的订单还是保持之前逻辑 //2021-06-11之后大于等于成交的订单只生成定金单食谱计划不生成尾款食谱计划之前成交的订单还是保持之前逻辑
public static final LocalDate newVersionPlanStartDate = DateUtils.stringToLocalDate("2021-06-11", "yyyy-MM-dd"); public static final LocalDate newVersionPlanStartDate = DateUtils.stringToLocalDate("2021-06-01", "yyyy-MM-dd");
/** /**
* 查询食谱计划 * 查询食谱计划

View File

@ -113,6 +113,7 @@
<if test="status != null ">and status = #{status}</if> <if test="status != null ">and status = #{status}</if>
<if test="payTypeId != null ">and pay_type_id = #{payTypeId}</if> <if test="payTypeId != null ">and pay_type_id = #{payTypeId}</if>
<if test="preSaleId != null ">and pre_sale_id = #{preSaleId}</if> <if test="preSaleId != null ">and pre_sale_id = #{preSaleId}</if>
<if test="pushPreSaleId != null ">and push_pre_sale_id = #{pushPreSaleId}</if>
<if test="onSaleId != null"> <if test="onSaleId != null">
and on_sale_id = #{onSaleId} and on_sale_id = #{onSaleId}
</if> </if>
@ -167,6 +168,7 @@
<if test="phone != null and phone != ''">and sc.phone = #{phone}</if> <if test="phone != null and phone != ''">and sc.phone = #{phone}</if>
<if test="status != null ">and status = #{status}</if> <if test="status != null ">and status = #{status}</if>
<if test="payTypeId != null ">and pay_type_id = #{payTypeId}</if> <if test="payTypeId != null ">and pay_type_id = #{payTypeId}</if>
<if test="pushPreSaleId != null ">and push_pre_sale_id = #{pushPreSaleId}</if>
<if test="onSaleId != null"> <if test="onSaleId != null">
and on_sale_id = #{onSaleId} and on_sale_id = #{onSaleId}
</if> </if>

View File

@ -88,6 +88,25 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" v-if="!isPartner">
<el-form-item label="售前推送" prop="pushPreSaleId">
<el-select
v-model="queryParams.pushPreSaleId"
placeholder="请选择售前推送"
clearable
filterable
size="small"
>
<el-option
v-for="dict in pushPreSaleIdOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="parseInt(dict.dictValue)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="!isPartner"> <el-col :span="6" v-if="!isPartner">
<el-form-item label="售中" prop="onSaleId"> <el-form-item label="售中" prop="onSaleId">
<el-select <el-select
@ -266,7 +285,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="26">
<el-form-item label="订单类型" prop="searchOrderTypeArray"> <el-form-item label="订单类型" prop="searchOrderTypeArray">
<el-cascader <el-cascader
placeholder="请选择订单类型" placeholder="请选择订单类型"
@ -277,9 +296,7 @@
clearable clearable
></el-cascader> </el-form-item ></el-cascader> </el-form-item
><!-- --> ><!-- -->
</el-col> <el-form-item label="成交日期" prop="orderTime" style="margin-left:80px">
<el-col :span="20">
<el-form-item label="成交日期" prop="orderTime">
<el-date-picker <el-date-picker
style="width:300px" style="width:300px"
v-model="daterange" v-model="daterange"
@ -294,7 +311,7 @@
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item style="margin-left:50px"> <el-form-item style="margin-left:40px">
<el-button <el-button
type="cyan" type="cyan"
icon="el-icon-search" icon="el-icon-search"
@ -606,6 +623,7 @@ export default {
phone: null, phone: null,
payTypeId: null, payTypeId: null,
preSaleId: null, preSaleId: null,
pushPreSaleId: null,
onSaleId: null, onSaleId: null,
afterSaleId: null, afterSaleId: null,
nutritionistId: null, nutritionistId: null,
@ -653,6 +671,8 @@ export default {
"operatorIdOptions", "operatorIdOptions",
// //
"operatorAssisIdOptions", "operatorAssisIdOptions",
//
"pushPreSaleIdOptions",
// //
"userId", "userId",
// //