Browse Source

01/15

master
wangpengfei 5 months ago
parent
commit
2330ddf906
  1. 1
      ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrder.java
  2. 1
      ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java
  3. 2
      ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderQuery.java
  4. 1
      ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderVo.java
  5. 1
      ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.java
  6. 32
      ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.xml
  7. 10
      ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderRest.java
  8. 96
      ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java
  9. 4
      ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDetailsVo.java
  10. 14
      ordermall/src/main/java/com/yxt/ordermall/feign/sales/smssalesbill/SmsSalesBillDto.java

1
ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrder.java

@ -29,5 +29,6 @@ public class VegeCellarReserveOrder {
private String reserveCode;
private String storeName;
private String state;
private String reason;
}

1
ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java

@ -28,5 +28,6 @@ public class VegeCellarReserveOrderDto implements Dto {
private String addressName;
private String cardType;//提货类型,1=提货卡;2=福利卡
private String orgPath;
private String reason;
}

2
ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderQuery.java

@ -20,4 +20,6 @@ public class VegeCellarReserveOrderQuery implements Query {
private String bankName;
private String serialNumber;
private String state;
private String code;
private String reason;
}

1
ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderVo.java

@ -46,5 +46,6 @@ public class VegeCellarReserveOrderVo implements Vo {
private String newCode;
private boolean showLsit=false;
private String state;
private String reason;
private boolean isCancel=false;//是否能取消
}

1
ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.java

@ -19,6 +19,7 @@ import java.util.List;
@Mapper
public interface VegeCellarReserveOrderMapper extends BaseMapper<VegeCellarReserveOrder> {
IPage<VegeCellarReserveOrderVo> orderListByUserSid(IPage<VegeCellarReserveOrder> page, @Param("query") VegeCellarReserveOrderQuery query);
IPage<VegeCellarReserveOrderVo> orderList(IPage<VegeCellarReserveOrder> page, @Param("query") VegeCellarReserveOrderQuery query);
IPage<ReserveOrderVo> pageOfCustomer(IPage<VegeCellarReserveOrder> page,@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);

32
ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.xml

@ -34,7 +34,37 @@
</where>
order by o.reserveDate desc
</select>
<select id="orderList" resultType="com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrderVo">
SELECT
o.createTime as createTime,
o.reserveCode,
o.sid as sid,
o.storeName,
o.reserveDate,
o.userName,
o.userPhone,
case o.state
when 0 then '待提货'
when 1 then '已提货'
end stateValue ,
case o.affiliation
when 1001000 then '百姓菜窖'
when 1001020 then '精品菜窖'
when 1001045 then '企业菜窖'
end affiliationValue,
s.name as storeName,
s.address as address,
s.phone as linkPhone,
o.state,
o.reason
FROM
vege_cellar_reserve_order AS o
left join lpk_store s on s.warehouseSid=o.storeSid
<where>
state=#{query.state}
</where>
order by o.reserveDate desc
</select>
<select id="pageOfCustomer_b" resultType="com.yxt.ordermall.biz.vegecallerreserveorder.ReserveOrderVo">
select

10
ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderRest.java

@ -30,6 +30,11 @@ public class VegeCellarReserveOrderRest {
public ResultBean submission(@RequestBody VegeCellarReserveOrderDto dto) {
return vegeCellarReserveOrderService.submission(dto);
}
@ApiOperation("提交取消预约申请")
@PostMapping("/subCancelReservation")
public ResultBean subCancelReservation( @RequestBody VegeCellarReserveOrderQuery query) {
return vegeCellarReserveOrderService.subCancelReservation(query);
}
@ApiOperation("取消预约")
@GetMapping("/cancelReservation/{code}")
public ResultBean cancelReservation(@PathVariable("code") String code) {
@ -45,6 +50,11 @@ public class VegeCellarReserveOrderRest {
public ResultBean<PagerVo<VegeCellarReserveOrderVo>> orderListByUserSid(@RequestBody PagerQuery<VegeCellarReserveOrderQuery> pq) {
return vegeCellarReserveOrderService.orderListByUserSid(pq);
}
@ApiOperation("取消预约单分页列表")
@PostMapping("/orderList")
public ResultBean<PagerVo<VegeCellarReserveOrderVo>> orderList(@RequestBody PagerQuery<VegeCellarReserveOrderQuery> pq) {
return vegeCellarReserveOrderService.orderList(pq);
}
@ApiOperation("定时查询预约状态")
@PostMapping("/getReserveBySid")
public ResultBean<PagerVo<VegeCellarReserveOrderVo>> getReserveBySid(@RequestBody PagerQuery<VegeCellarReserveOrderQuery> pq) {

96
ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java

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

4
ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDetailsVo.java

@ -28,10 +28,6 @@ package com.yxt.ordermall.feign.purchase.purchasebill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import com.yxt.purchase.biz.purchaseappendix.PurchaseAppendixUrl;
import com.yxt.purchase.biz.purchasebillamount.PurchaseBillAmountDetailsVo;
import com.yxt.purchase.biz.purchasebilldetail.PurchaseBillDetailDetailsVo;
import com.yxt.purchase.biz.purchasebillextend.PurchaseBillExtendDetailsVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

14
ordermall/src/main/java/com/yxt/ordermall/feign/sales/smssalesbill/SmsSalesBillDto.java

@ -27,8 +27,6 @@ package com.yxt.ordermall.feign.sales.smssalesbill;
import com.yxt.common.core.dto.Dto;
import com.yxt.sales.biz.smssalesbilldetail.SmsSalesBillDetailDetailsVo;
import com.yxt.sales.utils.FileQueryUrl;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -133,8 +131,8 @@ public class SmsSalesBillDto implements Dto {
@ApiModelProperty("税率")
private String taxRate; // 税率
//商品信息
@ApiModelProperty("商品列表")
private List<SmsSalesBillDetailDetailsVo> goodsList; // 商品列表
// @ApiModelProperty("商品列表")
// private List<SmsSalesBillDetailDetailsVo> goodsList; // 商品列表
//费用信息
@ApiModelProperty("折扣率")
@ -158,14 +156,14 @@ public class SmsSalesBillDto implements Dto {
@ApiModelProperty("预收款余额")
private String advanceBalance; // 预收款余额
//结算
@ApiModelProperty("结算账户")
private List<AccountVo> accounts;
// @ApiModelProperty("结算账户")
// private List<AccountVo> accounts;
@ApiModelProperty("结算账户")
private String bankAccount; // 结算账户
@ApiModelProperty("结算账户")
private String bankAccountKey; // 结算账户
@ApiModelProperty("付款凭证")
private List<FileQueryUrl> files = new ArrayList<>(); // 付款凭证
// @ApiModelProperty("付款凭证")
// private List<FileQueryUrl> files = new ArrayList<>(); // 付款凭证
//-------------补充-------------

Loading…
Cancel
Save