|
|
@ -39,6 +39,7 @@ import com.yxt.ordermall.feign.sales.smssalesbill.SmsSalesBillDto; |
|
|
|
import com.yxt.ordermall.feign.sales.smssalesbill.SmsSalesBillFeign; |
|
|
|
import com.yxt.ordermall.feign.warehouse.warehouseinfo.WarehouseInfoFeign; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.scheduling.annotation.Scheduled; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
@ -82,6 +83,8 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar |
|
|
|
SysOrganizationFeign sysOrganizationFeign; |
|
|
|
@Autowired |
|
|
|
SmsSalesBillFeign smsSalesBillFeign; |
|
|
|
@Autowired |
|
|
|
VegeCellarReserveOrderService vegeCellarReserveOrderService; |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public ResultBean submission(VegeCellarReserveOrderDto dto) { |
|
|
@ -154,11 +157,25 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar |
|
|
|
rb = vegeCellarReserveDetailsService.submissionDetail(dto); |
|
|
|
return rb; |
|
|
|
} |
|
|
|
public ResultBean subCancelReservation(VegeCellarReserveOrderQuery query) { |
|
|
|
ResultBean rb = new ResultBean().fail(); |
|
|
|
VegeCellarReserveOrder vegeCellarReserveOrder = baseMapper.selectOne(new QueryWrapper<VegeCellarReserveOrder>().eq("reserveCode", query.getCode())); |
|
|
|
vegeCellarReserveOrder.setState("5");//0提交审核 1
|
|
|
|
vegeCellarReserveOrder.setReason(query.getReason()); |
|
|
|
baseMapper.updateById(vegeCellarReserveOrder); |
|
|
|
return rb.setMsg("提交审核成功"); |
|
|
|
} |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public ResultBean cancelReservation(String code) { |
|
|
|
ResultBean rb = new ResultBean().fail(); |
|
|
|
VegeCellarReserveOrder vegeCellarReserveOrder = baseMapper.selectOne(new QueryWrapper<VegeCellarReserveOrder>().eq("reserveCode", code)); |
|
|
|
vegeCellarReserveOrder.setState("2"); |
|
|
|
if(vegeCellarReserveOrder==null){ |
|
|
|
return rb.setMsg("预约单不存在"); |
|
|
|
} |
|
|
|
if(!vegeCellarReserveOrder.getState().equals("5")){ |
|
|
|
return rb.setMsg("预约单未提交取消审核"); |
|
|
|
} |
|
|
|
vegeCellarReserveOrder.setState("6");//0提交审核 1
|
|
|
|
baseMapper.updateById(vegeCellarReserveOrder); |
|
|
|
List<VegeCellarReserveDetails> list=vegeCellarReserveDetailsService.selByOrderSids(vegeCellarReserveOrder.getSid()); |
|
|
|
VegetableCellarDto dto=new VegetableCellarDto(); |
|
|
@ -184,6 +201,10 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar |
|
|
|
List<String> state=new ArrayList<>(); |
|
|
|
state.add("0"); |
|
|
|
state.add("1"); |
|
|
|
state.add("2"); |
|
|
|
state.add("3"); |
|
|
|
state.add("4"); |
|
|
|
state.add("5"); |
|
|
|
VegeCellarReserveOrder vegeCellarReserveOrder = baseMapper.selectOne(new QueryWrapper<VegeCellarReserveOrder>().eq("sid", sid).in("state",state)); |
|
|
|
if(vegeCellarReserveOrder==null){ |
|
|
|
return rb.setMsg("预约单不符合取消条件"); |
|
|
@ -262,12 +283,7 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
VegeCellarReserveOrderQuery query = pq.getParams(); |
|
|
|
QueryWrapper<VegeCellarReserveOrder> qw = new QueryWrapper<>(); |
|
|
|
if (StringUtils.isBlank(query.getCustomerSid())) { |
|
|
|
return rb.setMsg("参数不全"); |
|
|
|
} |
|
|
|
qw.eq("o.customerSid", query.getUserSid()); |
|
|
|
qw.eq("o.state", query.getState()); |
|
|
|
qw.orderByDesc("reserveDate"); |
|
|
|
IPage<VegeCellarReserveOrder> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<VegeCellarReserveOrderVo> pagging = baseMapper.orderListByUserSid(page, query); |
|
|
|
for (VegeCellarReserveOrderVo vo : pagging.getRecords()) { |
|
|
@ -307,6 +323,50 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar |
|
|
|
PagerVo<VegeCellarReserveOrderVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return rb.success().setData(p); |
|
|
|
} |
|
|
|
public ResultBean<PagerVo<VegeCellarReserveOrderVo>> orderList(PagerQuery<VegeCellarReserveOrderQuery> pq) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
VegeCellarReserveOrderQuery query = pq.getParams(); |
|
|
|
QueryWrapper<VegeCellarReserveOrder> qw = new QueryWrapper<>(); |
|
|
|
qw.eq("o.state", query.getState()); |
|
|
|
IPage<VegeCellarReserveOrder> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<VegeCellarReserveOrderVo> pagging = baseMapper.orderList(page, query); |
|
|
|
for (VegeCellarReserveOrderVo vo : pagging.getRecords()) { |
|
|
|
List<VegeCellarReserveDetails> goods = vegeCellarReserveDetailsService.selByOrderSids(vo.getSid()); |
|
|
|
List<OrderGoodsVo> goodsVo = new ArrayList<>(); |
|
|
|
for (VegeCellarReserveDetails goods1 : goods) { |
|
|
|
LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("skuSid", goods1.getGoodsSid())); |
|
|
|
ResultBean<GoodsSkuDetailVo> goodsBySkuSid = baseGoodsSkuFeign.getGoodsBySkuSid(goods1.getGoodsSid()); |
|
|
|
if(!goodsBySkuSid.getCode().equals("200")){ |
|
|
|
rb.setMsg(goodsBySkuSid.getMsg()); |
|
|
|
return rb; |
|
|
|
} |
|
|
|
if(null==lpkGoods){ |
|
|
|
continue; |
|
|
|
} |
|
|
|
lpkGoods.setName(goodsBySkuSid.getData().getGoodsName()); |
|
|
|
lpkGoods.setUnitName(goodsBySkuSid.getData().getGoodsUnitName()); |
|
|
|
OrderGoodsVo orderGoodsVo=new OrderGoodsVo(); |
|
|
|
orderGoodsVo.setGoodName(lpkGoods.getName()); |
|
|
|
orderGoodsVo.setNum(Integer.parseInt(goods1.getNum())); |
|
|
|
orderGoodsVo.setUnitName(lpkGoods.getUnitName()); |
|
|
|
goodsVo.add(orderGoodsVo); |
|
|
|
if (StringUtils.isBlank(vo.getGoodss())) { |
|
|
|
vo.setGoodss(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); |
|
|
|
} else { |
|
|
|
vo.setGoodss(vo.getGoodss() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); |
|
|
|
} |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(vo.getReserveCode())){ |
|
|
|
vo.setNewCode(addSpaces(vo.getReserveCode())); |
|
|
|
} |
|
|
|
if(vo.getState().equals("0")){ |
|
|
|
vo.setCancel(ifCancel(vo.getReserveDate())); |
|
|
|
} |
|
|
|
vo.setGoodsVo(goodsVo); |
|
|
|
} |
|
|
|
PagerVo<VegeCellarReserveOrderVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return rb.success().setData(p); |
|
|
|
} |
|
|
|
public boolean ifCancel(Date reserveDate){ |
|
|
|
SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
ZoneId zoneId = ZoneId.systemDefault(); |
|
|
@ -558,6 +618,7 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar |
|
|
|
}); |
|
|
|
return listRes; |
|
|
|
} |
|
|
|
// @Scheduled(cron = "0 0 1 * * ? ")
|
|
|
|
public void getReserveBySid() { |
|
|
|
List<VegeCellarReserveOrder> state = baseMapper.selectList(new QueryWrapper<VegeCellarReserveOrder>().eq("state", "0")); |
|
|
|
ResultBean<List<PurchaseBillDetailsVo>> listResultBean = purchaseBillFeign.fetchDetailsBySourceSid(state.stream().map(s -> s.getSid()).collect(Collectors.toList())); |
|
|
@ -565,24 +626,35 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar |
|
|
|
List<String> collect2 = listResultBean.getData().stream().filter(s -> s.getState().equals("1")).map(s->s.getSourceBillSid()).collect(Collectors.toList()); |
|
|
|
List<String> collect3 = listResultBean.getData().stream().filter(s -> s.getState().equals("2")).map(s->s.getSourceBillSid()).collect(Collectors.toList()); |
|
|
|
List<String> collect4 = listResultBean.getData().stream().filter(s -> s.getState().equals("3")).map(s->s.getSourceBillSid()).collect(Collectors.toList()); |
|
|
|
//0 审核中 1通过 2未通过 3待提货 4已提货 5申请取消订单 6已取消
|
|
|
|
if(collect1.size()!=0){ |
|
|
|
baseMapper.updateStateInSid(collect3,"0"); |
|
|
|
baseMapper.updateStateInSid(collect1,"0"); |
|
|
|
} |
|
|
|
//审核中
|
|
|
|
if(collect2.size()!=0){ |
|
|
|
baseMapper.updateStateInSid(collect3,"1"); |
|
|
|
baseMapper.updateStateInSid(collect2,"0"); |
|
|
|
} |
|
|
|
//通过
|
|
|
|
if(collect3.size()!=0){ |
|
|
|
baseMapper.updateStateInSid(collect3,"2"); |
|
|
|
// tsxsd(collect3);
|
|
|
|
baseMapper.updateStateInSid(collect3,"1"); |
|
|
|
} |
|
|
|
//未通过
|
|
|
|
if(collect4.size()!=0){ |
|
|
|
cancelReservation(collect4.toArray(new String[0])); |
|
|
|
List<VegeCellarReserveOrder> sid = baseMapper.selectList(new QueryWrapper<VegeCellarReserveOrder>().in("sid", collect4)); |
|
|
|
for (VegeCellarReserveOrder vegeCellarReserveOrder : sid) { |
|
|
|
vegeCellarReserveOrder.setState("2"); |
|
|
|
for (PurchaseBillDetailsVo purchaseBillDetailsVo : listResultBean.getData().stream().filter(s -> s.getState().equals("3")).collect(Collectors.toList())) { |
|
|
|
if(vegeCellarReserveOrder.getSid().equals(purchaseBillDetailsVo.getSourceBillSid())){ |
|
|
|
vegeCellarReserveOrder.setRemarks(purchaseBillDetailsVo.getRemarks()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
vegeCellarReserveOrderService.updateBatchById(sid); |
|
|
|
} |
|
|
|
} |
|
|
|
public void tsxsd(String sid) { |
|
|
|
List<VegeCellarReserveOrder> state = baseMapper.selectList(new QueryWrapper<VegeCellarReserveOrder>().eq("state", "2")); |
|
|
|
public void tsxsd(List<String> collect3) { |
|
|
|
List<VegeCellarReserveOrder> state = baseMapper.selectList(new QueryWrapper<VegeCellarReserveOrder>().in("sid", collect3)); |
|
|
|
ResultBean<List<PurchaseBillDetailsVo>> listResultBean = purchaseBillFeign.fetchDetailsBySourceSid(state.stream().map(s -> s.getSid()).collect(Collectors.toList())); |
|
|
|
List<PurchaseBillDetailsVo> collect = listResultBean.getData().stream().filter(s -> s.getState().equals("0")).collect(Collectors.toList()); |
|
|
|
for (PurchaseBillDetailsVo purchaseBill : collect) { |
|
|
|