From 6225c37d2f53adf26daf6b4859af5fb5c6fad088 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期一, 15 五月 2023 16:45:34 +0800 Subject: [PATCH] broker 卡车公司端 --- src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java | 974 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 479 insertions(+), 495 deletions(-) diff --git a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java index ff7f317..d5beb48 100644 --- a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java +++ b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java @@ -1,561 +1,545 @@ -package com.stylefeng.guns.modular.system.service.impl; + package com.stylefeng.guns.modular.system.service.impl; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.stylefeng.guns.core.util.ToolUtil; -import com.stylefeng.guns.modular.system.dao.*; -import com.stylefeng.guns.modular.system.model.*; -import com.stylefeng.guns.modular.system.service.ITBoxSizeService; -import com.stylefeng.guns.modular.system.service.ITDriverService; -import com.stylefeng.guns.modular.system.service.ITOrderService; -import com.stylefeng.guns.modular.system.utils.GoogleMap.GoogleMapUtil; -import com.stylefeng.guns.modular.system.utils.UserInfoUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; + import cn.hutool.core.bean.BeanUtil; + import cn.hutool.core.date.DateUtil; + import com.baomidou.mybatisplus.mapper.EntityWrapper; + import com.baomidou.mybatisplus.plugins.Page; + import com.baomidou.mybatisplus.service.impl.ServiceImpl; + import com.stylefeng.guns.core.util.ToolUtil; + import com.stylefeng.guns.modular.system.dao.*; + import com.stylefeng.guns.modular.system.model.*; + import com.stylefeng.guns.modular.system.service.ITBoxSizeService; + import com.stylefeng.guns.modular.system.service.ITDriverService; + import com.stylefeng.guns.modular.system.service.ITOrderService; + import com.stylefeng.guns.modular.system.utils.GoogleMap.GoogleMapUtil; + import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.*; -import java.util.stream.Collectors; + import javax.annotation.Resource; + import java.math.BigDecimal; + import java.math.BigInteger; + import java.text.ParseException; + import java.text.SimpleDateFormat; + import java.util.*; + import java.util.stream.Collectors; -/** - * <p> - * 服务实现类 - * </p> - * - * @author stylefeng - * @since 2023-02-03 - */ -@Service -public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> implements ITOrderService { + /** + * <p> + * 服务实现类 + * </p> + * + * @author stylefeng + * @since 2023-02-03 + */ + @Service + public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> implements ITOrderService { - @Autowired - private TUserMapper tUserMapper; + @Autowired + private TUserMapper tUserMapper; - @Autowired - private UserMapper userMapper; + @Autowired + private UserMapper userMapper; - @Autowired - private TGoodsMapper tGoodsMapper; + @Autowired + private TGoodsMapper tGoodsMapper; - @Autowired - private TCompanyMapper tCompanyMapper; + @Autowired + private TCompanyMapper tCompanyMapper; - @Autowired - private TPriceMapper priceMapper; + @Autowired + private TPriceMapper priceMapper; - @Autowired - private TUserFeeSettingMapper tUserFeeSettingMapper; + @Autowired + private TUserFeeSettingMapper tUserFeeSettingMapper; - @Autowired - private TGroupMapper tGroupMapper; + @Autowired + private TGroupMapper tGroupMapper; - @Autowired - private TQuoteMapper tQuoteMapper; + @Autowired + private TQuoteMapper tQuoteMapper; - @Autowired - private ITBoxSizeService sizeService; + @Autowired + private ITBoxSizeService sizeService; - @Autowired - private GoogleMapUtil googleMapUtil; + @Autowired + private GoogleMapUtil googleMapUtil; - @Autowired - private TPortMapper portMapper; + @Autowired + private TPortMapper portMapper; - @Autowired - private WareHouseMapper wareHouseMapper; + @Autowired + private WareHouseMapper wareHouseMapper; - @Autowired - private DriverNoteMapper driverNoteMapper; + @Autowired + private DriverNoteMapper driverNoteMapper; - @Autowired - private ITDriverService driverService; + @Autowired + private ITDriverService driverService; - @Resource - private TCarriersMapper carriersMapper; + @Resource + private TCarriersMapper carriersMapper; - @Override - public List<ReceivableVo> getReceivable(Page<ReceivableVo> receivableVoPage, String time, String name) { - //TODO 时间保留 - List<ReceivableVo> list = this.baseMapper.getReceivable(receivableVoPage,name); + @Override + public List<ReceivableVo> getReceivable(Page<ReceivableVo> receivableVoPage, String time, String name,int id) { + //TODO 时间保留 + List<ReceivableVo> list = this.baseMapper.getReceivable(receivableVoPage,name,id); - Calendar instance = Calendar.getInstance(); - instance.setTime(new Date()); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); - String format = simpleDateFormat.format(new Date())+" 23:59:59"; - // 30天 - instance.add(Calendar.DATE,-30); - String time1 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; - // 60tian - instance.add(Calendar.DATE,-30); - String time2 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; - // 90tian - instance.add(Calendar.DATE,-30); - String time3 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; + Calendar instance = Calendar.getInstance(); + instance.setTime(new Date()); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String format = simpleDateFormat.format(new Date())+" 23:59:59"; + // 30天 + instance.add(Calendar.DATE,-30); + String time1 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; + // 60tian + instance.add(Calendar.DATE,-30); + String time2 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; + // 90tian + instance.add(Calendar.DATE,-30); + String time3 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; - for (ReceivableVo receivableVo : list) { - // 根据id获取30天内的金额 - receivableVo.setTwentyDay(this.baseMapper.getTwentyDay(receivableVo.getUserId(),format,time1)==null?0:this.baseMapper.getTwentyDay(receivableVo.getUserId(),format,time1)); + for (ReceivableVo receivableVo : list) { + // 根据id获取30天内的金额 + receivableVo.setTwentyDay(this.baseMapper.getTwentyDay(receivableVo.getUserId(),format,time1)==null?0:this.baseMapper.getTwentyDay(receivableVo.getUserId(),format,time1)); - // 30-60tian - receivableVo.setThirtyDay(this.baseMapper.getTwentyDay(receivableVo.getUserId(),time1,time2)==null?0:this.baseMapper.getTwentyDay(receivableVo.getUserId(),time1,time2)); - receivableVo.setSixtyDay(this.baseMapper.getTwentyDay(receivableVo.getUserId(),time2,time3)==null?0:this.baseMapper.getTwentyDay(receivableVo.getUserId(),time2,time3)); - receivableVo.setNinetyDay(this.baseMapper.getNineDay(receivableVo.getUserId(),time3)==null?0:this.baseMapper.getNineDay(receivableVo.getUserId(),time3)); + // 30-60tian + receivableVo.setThirtyDay(this.baseMapper.getTwentyDay(receivableVo.getUserId(),time1,time2)==null?0:this.baseMapper.getTwentyDay(receivableVo.getUserId(),time1,time2)); + receivableVo.setSixtyDay(this.baseMapper.getTwentyDay(receivableVo.getUserId(),time2,time3)==null?0:this.baseMapper.getTwentyDay(receivableVo.getUserId(),time2,time3)); + receivableVo.setNinetyDay(this.baseMapper.getNineDay(receivableVo.getUserId(),time3)==null?0:this.baseMapper.getNineDay(receivableVo.getUserId(),time3)); - } - return list; - } - - @Override - public List<ShouldPayVo> getPayList(Page<ShouldPayVo> receivableVoPage, String time, String name) { - List<ShouldPayVo> list = this.baseMapper.getPayList(receivableVoPage,name); - - Calendar instance = Calendar.getInstance(); - instance.setTime(new Date()); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); - String format = simpleDateFormat.format(new Date())+" 23:59:59"; - // 30天 - instance.add(Calendar.DATE,-30); - String time1 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; - // 60tian - instance.add(Calendar.DATE,-30); - String time2 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; - // 90tian - instance.add(Calendar.DATE,-30); - String time3 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; - - - for (ShouldPayVo shouldPayVo : list) { - shouldPayVo.setTwentyDay(this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),format,time1)==null?0:this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),format,time1)); - - // 30-60tian - shouldPayVo.setThirtyDay(this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),time1,time2)==null?0:this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),time1,time2)); - - shouldPayVo.setSixtyDay(this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),time2,time3)==null?0:this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),time2,time3)); - - shouldPayVo.setNinetyDay(this.baseMapper.getNineDayPay(shouldPayVo.getUserId(),time3)==null?0:this.baseMapper.getNineDayPay(shouldPayVo.getUserId(),time3)); - - } - return list; - } - - @Override - public List<ReceivablesList> listOfReceivables(Page<ReceivablesList> receivableVoPage, String time, String name, Integer invoicesId, Integer orderId, Integer state) { - String sTime=null; - String eTime =null; - if(Objects.nonNull(time)){ - sTime = time.split(" - ")[0]+" 00:00:01"; - eTime = time.split(" - ")[1]+" 23:59:59"; - } - List<ReceivablesList> receivablesLists = this.baseMapper.listOfReceivables(receivableVoPage, sTime, eTime, name, invoicesId, orderId, state); - for (ReceivablesList receivablesList : receivablesLists) { - Integer id= this.baseMapper.getPayStatus(receivablesList.getOrderId()); - if(id==null){ - receivablesList.setPayStatus(1); - }else { - receivablesList.setPayStatus(2); - } - } - return receivablesLists; - } - - @Override - public List<PayList> listOfPay(Page<PayList> receivableVoPage, String time, String name, Integer billId, Integer orderId, Integer state) { - String sTime=null; - String eTime =null; - if(Objects.nonNull(time)){ - sTime = time.split(" - ")[0]+" 00:00:01"; - eTime = time.split(" - ")[1]+" 23:59:59"; - } - List<PayList> list = this.baseMapper.listOfPay(receivableVoPage, sTime, eTime, name, billId, orderId, state); - return list; - } - - @Override - public InvoicesCarVo listOPayInfo(Long number) { - InvoicesVo info1 = tUserMapper.getOrderInfo(number); - InvoicesCarVo info = new InvoicesCarVo(); - BeanUtil.copyProperties(info1,info); - - // 根据订单id 获取货物信息 - Long id = info.getId(); - TOrder tOrder = this.baseMapper.selectById(id); - - List<TGoods> orders = tGoodsMapper.selectList(new EntityWrapper<TGoods>().eq("order_id", id)); - ArrayList<TGoodsVo> tGoodsVos = new ArrayList<>(); - TCompany tCompany = tCompanyMapper.selectById(info.getCompanyId()); - List<TBoxSize> tBoxSizes = sizeService.selectList(null); - - for (TGoods order : orders) { - TGoodsVo tGoodsVo = new TGoodsVo(); - tGoodsVo.setName(tCompany.getName()); - tGoodsVo.setSize(order.getSize()); - tGoodsVo.setKg(order.getKg()); - String size = order.getSize(); - for (TBoxSize tBoxSize : tBoxSizes) { - if(size.equals(tBoxSize.getBoxName())){ - tGoodsVo.setLength(tBoxSize.getBoxLength()); - tGoodsVo.setWidth(tBoxSize.getBoxWidth()); - tGoodsVo.setHeight(tBoxSize.getBoxHigh()); - } } - tGoodsVos.add(tGoodsVo); - } - // 付卡车公司钱 - BigDecimal payMoney = tOrder.getPayMoney(); - Integer carriersId = tOrder.getCarriersId(); - TCarriers tCarriers = carriersMapper.selectById(carriersId); - Double commission = tCarriers.getCommission(); - BigDecimal multiply = new BigDecimal(commission).multiply(new BigDecimal(0.01)); - BigDecimal multiply1 = payMoney.multiply(multiply); - info.setGoodsVos(tGoodsVos); - info.setAmount(multiply1.doubleValue()); - return info; - } - - @Override - public Boolean confirmationOfPayment(Long number, int type, String remark) { - Boolean b =false; - // 同意 - if(type==1){ - b = this.baseMapper.agreePay(number); - }else { - b = this.baseMapper.noAgreePay(number,remark); + return list; } - return b; - } + @Override + public List<ShouldPayVo> getPayList(Page<ShouldPayVo> receivableVoPage, String time, String name,int id) { + List<ShouldPayVo> list = this.baseMapper.getPayList(receivableVoPage,name,id); - @Override - public Boolean agreeOfPayment(Long number) { - return this.baseMapper.agreeOfPayment(number); - } + Calendar instance = Calendar.getInstance(); + instance.setTime(new Date()); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String format = simpleDateFormat.format(new Date())+" 23:59:59"; + // 30天 + instance.add(Calendar.DATE,-30); + String time1 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; + // 60tian + instance.add(Calendar.DATE,-30); + String time2 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; + // 90tian + instance.add(Calendar.DATE,-30); + String time3 = simpleDateFormat.format(instance.getTime())+" 00:00:01"; - @Resource - private TDriverMapper driverMapper; - @Resource - private TPowerUnitsMapper powerUnitsMapper; + for (ShouldPayVo shouldPayVo : list) { + shouldPayVo.setTwentyDay(this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),format,time1)==null?0:this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),format,time1)); - @Override - public IndexInfo indexList(String time) { - IndexInfo indexInfo = new IndexInfo(); - // 卡车公司收入时间 - String sTime=null; - String eTime=null; - if(ToolUtil.isNotEmpty(time)){ - sTime=time.split(" - ")[0]+" 00:00:01"; - eTime=time.split(" - ")[1]+" 23:59:59"; + // 30-60tian + shouldPayVo.setThirtyDay(this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),time1,time2)==null?0:this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),time1,time2)); + + shouldPayVo.setSixtyDay(this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),time2,time3)==null?0:this.baseMapper.getTwentyDayPay(shouldPayVo.getUserId(),time2,time3)); + + shouldPayVo.setNinetyDay(this.baseMapper.getNineDayPay(shouldPayVo.getUserId(),time3)==null?0:this.baseMapper.getNineDayPay(shouldPayVo.getUserId(),time3)); + + } + return list; } - Integer companyId = UserInfoUtil.getId(); - // 获取卡车公司收入 - Double companyIncome = this.baseMapper.getCompanyIncome(companyId, sTime, eTime); - indexInfo.setAccountsReceivable(new BigDecimal(companyIncome)); - // 获取卡车公司支出-》 是否存在承运商 -》算价格 - EntityWrapper<TOrder> wrapper = new EntityWrapper<>(); - wrapper.eq("company_id",companyId); - wrapper.eq("carriers_pay_status",1); - if(sTime!=null){ - wrapper.between("success_time",sTime,eTime); + @Override + public List<ReceivablesList> listOfReceivables(Page<ReceivablesList> receivableVoPage, String time, String name, Integer invoicesId, Integer orderId, Integer state,Integer id) { + String sTime=null; + String eTime =null; + if(Objects.nonNull(time)){ + sTime = time.split(" - ")[0]+" 00:00:01"; + eTime = time.split(" - ")[1]+" 23:59:59"; + } + List<ReceivablesList> receivablesLists = this.baseMapper.listOfReceivables(receivableVoPage, sTime, eTime, name, invoicesId, orderId, state,id); + for (ReceivablesList receivablesList : receivablesLists) { + Integer ids= this.baseMapper.getPayStatus(receivablesList.getOrderId()); + if(ids==null){ + receivablesList.setPayStatus(1); + }else { + receivablesList.setPayStatus(2); + } + } + return receivablesLists; } - List<TOrder> orders = this.baseMapper.selectList(wrapper); - // 找出有承运商的订单 - List<TOrder> collect = orders.stream().filter(o -> ToolUtil.isNotEmpty(o.getCarriersId())).collect(Collectors.toList()); - // 付给承运商的钱 - BigDecimal disburse = new BigDecimal(BigInteger.ZERO); - for (TOrder tOrder : collect) { - TCarriers tCarriers = carriersMapper.selectById(tOrder.getCarriersId()); - Double commission = tCarriers.getCommission(); + + @Override + public List<PayList> listOfPay(Page<PayList> receivableVoPage, String time, String name, Integer billId, Integer orderId, Integer state, Integer id) { + String sTime=null; + String eTime =null; + if(Objects.nonNull(time)){ + sTime = time.split(" - ")[0]+" 00:00:01"; + eTime = time.split(" - ")[1]+" 23:59:59"; + } + List<PayList> list = this.baseMapper.listOfPay(receivableVoPage, sTime, eTime, name, billId, orderId, state,id); + return list; + } + + @Override + public InvoicesCarVo listOPayInfo(Long number) { + InvoicesVo info1 = tUserMapper.getOrderInfo(number); + InvoicesCarVo info = new InvoicesCarVo(); + BeanUtil.copyProperties(info1,info); + + // 根据订单id 获取货物信息 + Long id = info.getId(); + TOrder tOrder = this.baseMapper.selectById(id); + + List<TGoods> orders = tGoodsMapper.selectList(new EntityWrapper<TGoods>().eq("order_id", id)); + ArrayList<TGoodsVo> tGoodsVos = new ArrayList<>(); + TCompany tCompany = tCompanyMapper.selectById(info.getCompanyId()); + + for (TGoods order : orders) { + TGoodsVo tGoodsVo = new TGoodsVo(); + tGoodsVo.setName(tCompany.getName()); + tGoodsVo.setSize(order.getSize()); + tGoodsVo.setKg(order.getKg()); + String size = order.getSize(); + tGoodsVo.setType(size); + tGoodsVos.add(tGoodsVo); + } + // 付卡车公司钱 BigDecimal payMoney = tOrder.getPayMoney(); - if(ToolUtil.isNotEmpty(commission)){ - BigDecimal bigDecimal = new BigDecimal(commission); - BigDecimal multiply = payMoney.multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP); - disburse = disburse.add(multiply); - } + Integer carriersId = tOrder.getCarriersId(); + TCarriers tCarriers = carriersMapper.selectById(carriersId); + Double commission = tCarriers.getCommission(); + BigDecimal multiply = new BigDecimal(commission).multiply(new BigDecimal(0.01)); + BigDecimal multiply1 = payMoney.multiply(multiply); + info.setGoodsVos(tGoodsVos); + info.setAmount(multiply1.doubleValue()); + return info; } - indexInfo.setAccountsPayable(disburse); - indexInfo.setPlatformRevenue(indexInfo.getAccountsReceivable().subtract(indexInfo.getAccountsPayable())); - // 所有的信息 - // 所有司机 - Integer integer = driverMapper.selectCount(new EntityWrapper<TDriver>().eq("company_id", companyId).eq("remove",0)); - indexInfo.setDriver(integer); - //车头 - Integer integer1 = powerUnitsMapper.selectCount(new EntityWrapper<TPowerUnits>().eq("company_id", companyId).eq("type", 1)); - indexInfo.setPowerUnits(integer1); - // 车架 - indexInfo.setChassises(powerUnitsMapper.selectCount(new EntityWrapper<TPowerUnits>().eq("company_id", companyId).eq("type", 2))); - // 总订单 - indexInfo.setOrdersTotal(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",companyId))); - // - indexInfo.setInTransit(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",companyId).eq("status","7"))); - indexInfo.setDispatching(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",companyId).eq("status","0"))); - indexInfo.setCanceled(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",companyId).eq("status","16"))); - indexInfo.setCompleted(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",companyId).eq("status","1"))); - //获取当前公司的订单数量 根据当前月推算前12个月 - ArrayList<IndexMonth> indexMonths = new ArrayList<>(); - //获取当前月份 - Calendar instance = Calendar.getInstance(); - instance.setTime(new Date()); - for (int i = 0; i <12; i++) { - if(i==0){ - IndexMonth indexMonth = new IndexMonth(); - int month = DateUtil.thisMonth(); - indexMonth.setMonth(month); - indexMonth.setOrderNumber(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",companyId).between("pay_time",DateUtil.beginOfMonth(new Date()),DateUtil.endOfMonth(new Date())))); - indexMonths.add(indexMonth); + @Override + public Boolean confirmationOfPayment(Long number, int type, String remark) { + Boolean b =false; + // 同意 + if(type==1){ + b = this.baseMapper.agreePay(number); }else { - IndexMonth indexMonth = new IndexMonth(); - instance.add(Calendar.MONTH, -1); - Date time1 = instance.getTime(); - int month = DateUtil.month(time1); - indexMonth.setMonth(month); - indexMonth.setOrderNumber(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",companyId).between("pay_time",DateUtil.beginOfMonth(time1),DateUtil.endOfMonth(time1)))); - indexMonths.add(indexMonth); + b = this.baseMapper.noAgreePay(number,remark); } + + return b; } - indexInfo.setList(indexMonths); - return indexInfo; - } - - - - @Override - public InvoicesVoTwo listOfReceivablesInfo(Long orderId) { - InvoicesVoTwo invoicesVoTwo = new InvoicesVoTwo(); - TOrder tOrder = this.baseMapper.selectById(orderId); - invoicesVoTwo.setId(tOrder.getId()); - invoicesVoTwo.setPickupDate(tOrder.getShipmentDate()); - invoicesVoTwo.setDeliveryDate(tOrder.getDeliveryDate()); - invoicesVoTwo.setInvoiceNumber(tOrder.getInvoiceNumber()); - invoicesVoTwo.setRemark(tOrder.getRemark()); - // 根据订单id 获取价格 - List<TPrice> prices = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", tOrder.getId())); - ArrayList<TPriceVo> priceVos = new ArrayList<TPriceVo>(); - for (TPrice price : prices) { - TPriceVo tPriceVo = new TPriceVo(); - tPriceVo.setId(price.getId()); - tPriceVo.setPrice(price.getCarPrice()); - tPriceVo.setType(price.getType()); - priceVos.add(tPriceVo); + @Override + public Boolean agreeOfPayment(Long number) { + return this.baseMapper.agreeOfPayment(number); } - invoicesVoTwo.setPriceVos(priceVos); - return invoicesVoTwo; - } - @Override - public InvoicesVoOne listOfReceivablesInfoOne(Long orderId) { - InvoicesVoOne info = tUserMapper.getOrderInfoOne(orderId); - // 根据订单id 获取货物信息 - Long id = info.getId(); + @Resource + private TDriverMapper driverMapper; - TOrder tOrder = this.baseMapper.selectById(id); - List<TGoods> orders = tGoodsMapper.selectList(new EntityWrapper<TGoods>().eq("order_id", id)); - ArrayList<TGoodsVo> tGoodsVos = new ArrayList<>(); - TCompany tCompany = tCompanyMapper.selectById(info.getCompanyId()); - List<TBoxSize> tBoxSizes = sizeService.selectList(null); - for (TGoods order : orders) { - TGoodsVo tGoodsVo = new TGoodsVo(); - tGoodsVo.setName(tCompany.getName()); - tGoodsVo.setSize(order.getSize()); - tGoodsVo.setKg(order.getKg()); - String size = order.getSize(); - for (TBoxSize tBoxSize : tBoxSizes) { - if(size.equals(tBoxSize.getBoxName())){ - tGoodsVo.setLength(tBoxSize.getBoxLength()); - tGoodsVo.setWidth(tBoxSize.getBoxWidth()); - tGoodsVo.setHeight(tBoxSize.getBoxHigh()); + @Resource + private TPowerUnitsMapper powerUnitsMapper; + + @Override + public IndexInfo indexList(String time,int id) { + IndexInfo indexInfo = new IndexInfo(); + // 卡车公司收入时间 + String sTime=null; + String eTime=null; + if(ToolUtil.isNotEmpty(time)){ + sTime=time.split(" - ")[0]+" 00:00:01"; + eTime=time.split(" - ")[1]+" 23:59:59"; + } + // 获取卡车公司收入 + Double companyIncome = this.baseMapper.getCompanyIncome(id, sTime, eTime); + + indexInfo.setAccountsReceivable(new BigDecimal(companyIncome)); + // 获取卡车公司支出-》 是否存在承运商 -》算价格 + EntityWrapper<TOrder> wrapper = new EntityWrapper<>(); + wrapper.eq("company_id",id); + wrapper.eq("carriers_pay_status",1); + if(sTime!=null){ + wrapper.between("success_time",sTime,eTime); + } + List<TOrder> orders = this.baseMapper.selectList(wrapper); + // 找出有承运商的订单 + List<TOrder> collect = orders.stream().filter(o -> ToolUtil.isNotEmpty(o.getCarriersId())).collect(Collectors.toList()); + // 付给承运商的钱 + BigDecimal disburse = new BigDecimal(BigInteger.ZERO); + for (TOrder tOrder : collect) { + TCarriers tCarriers = carriersMapper.selectById(tOrder.getCarriersId()); + Double commission = tCarriers.getCommission(); + BigDecimal payMoney = tOrder.getPayMoney(); + if(ToolUtil.isNotEmpty(commission)){ + BigDecimal bigDecimal = new BigDecimal(commission); + BigDecimal multiply = payMoney.multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP); + disburse = disburse.add(multiply); } } - tGoodsVos.add(tGoodsVo); - } + indexInfo.setAccountsPayable(disburse); + indexInfo.setPlatformRevenue(indexInfo.getAccountsReceivable().subtract(indexInfo.getAccountsPayable())); + // 所有的信息 + // 所有司机 + Integer integer = driverMapper.selectCount(new EntityWrapper<TDriver>().eq("company_id", id).eq("remove",0)); + indexInfo.setDriver(integer); + //车头 + Integer integer1 = powerUnitsMapper.selectCount(new EntityWrapper<TPowerUnits>().eq("company_id", id).eq("type", 1)); + indexInfo.setPowerUnits(integer1); + // 车架 + indexInfo.setChassises(powerUnitsMapper.selectCount(new EntityWrapper<TPowerUnits>().eq("company_id", id).eq("type", 2))); + // 总订单 + indexInfo.setOrdersTotal(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",id))); + // + indexInfo.setInTransit(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",id).eq("status","7"))); + indexInfo.setDispatching(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",id).eq("status","0"))); + indexInfo.setCanceled(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",id).eq("status","16"))); + indexInfo.setCompleted(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",id).eq("status","1"))); + //获取当前公司的订单数量 根据当前月推算前12个月 + ArrayList<IndexMonth> indexMonths = new ArrayList<>(); + //获取当前月份 - // 根据订单id 获取价格 - List<TPrice> prices = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", tOrder.getId())); - - ArrayList<TPriceVo> priceVos = new ArrayList<TPriceVo>(); - for (TPrice price : prices) { - TPriceVo tPriceVo = new TPriceVo(); - tPriceVo.setId(price.getId()); - tPriceVo.setPrice(price.getCarPrice()); - tPriceVo.setType(price.getType()); - priceVos.add(tPriceVo); - } - info.setGoodsVos(tGoodsVos); - info.setPriceVos(priceVos); - - - - return info; - } - - - - - @Override - public List<OrderListVo> getOrderList(Page<OrderListVo> orderListVoPage, OrderListDto dto) { - String sTime =null; - String eTime = null; - if(ToolUtil.isNotEmpty(dto.getDateRange())){ - String[] split = dto.getDateRange().split(" - "); - sTime=split[0]+" 00:00:01"; - eTime=split[1]+" 23:59:59"; - } - Integer id = UserInfoUtil.getId(); - List<OrderListVo> list = this.baseMapper.getOrderListOne(orderListVoPage,sTime,eTime,dto.getCustomerName(),dto.getId(),dto.getGroupId(),dto.getSaleId(),dto.getState(),id,dto.getType()); - for (OrderListVo orderListVo : list) { - // TODO 对接第三方 看是否能提柜 - if(Objects.nonNull(dto.getState())){ - if(dto.getState()==1){ - + Calendar instance = Calendar.getInstance(); + instance.setTime(new Date()); + for (int i = 0; i <12; i++) { + if(i==0){ + IndexMonth indexMonth = new IndexMonth(); + int month = DateUtil.thisMonth(); + indexMonth.setMonth(month); + indexMonth.setOrderNumber(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",id).between("pay_time",DateUtil.beginOfMonth(new Date()),DateUtil.endOfMonth(new Date())))); + indexMonths.add(indexMonth); }else { - + IndexMonth indexMonth = new IndexMonth(); + instance.add(Calendar.MONTH, -1); + Date time1 = instance.getTime(); + int month = DateUtil.month(time1); + indexMonth.setMonth(month); + indexMonth.setOrderNumber(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",id).between("pay_time",DateUtil.beginOfMonth(time1),DateUtil.endOfMonth(time1)))); + indexMonths.add(indexMonth); } } + indexInfo.setList(indexMonths); + return indexInfo; } - return list; - } - @Override - public List<GoodsInfoVo> getGoodsInfo(Long orderId) { - TOrder tOrder = this.baseMapper.selectById(orderId); - ArrayList<GoodsInfoVo> goodsInfoVos = new ArrayList<>(); - List<TGoods> goods = tGoodsMapper.selectList(new EntityWrapper<TGoods>().eq("order_id", orderId)); - for (TGoods g : goods) { - GoodsInfoVo goodsInfoVo = new GoodsInfoVo(); - goodsInfoVo.setAwbNo(g.getBillNumber()); - goodsInfoVo.setContainer(g.getContainerNumber()); - goodsInfoVo.setHazmat(g.getDanger()); - goodsInfoVo.setOverWeight(g.getWeight()); - goodsInfoVo.setShippingLine(g.getShippingLine()); - goodsInfoVo.setSize(g.getSize()); - goodsInfoVo.setType(g.getType()); - goodsInfoVo.setTypeClass(g.getTypeClass()); - goodsInfoVo.setWeight(g.getKg()); - goodsInfoVos.add(goodsInfoVo); - } - return goodsInfoVos; - } - @Override - public OrderInfo getOrderInfo(Long orderId) { - OrderInfo orderInfo = new OrderInfo(); - ArrayList<LonLat> lonLats = new ArrayList<>(); - TOrder tOrder = this.baseMapper.selectById(orderId); - orderInfo.setSlat(tOrder.getStartLat()); - orderInfo.setSlon(tOrder.getStartLon()); - LonLat lonLat = new LonLat(); - lonLat.setLat(tOrder.getStartLat()); - lonLat.setLng(tOrder.getStartLon()); - lonLats.add(lonLat); - String s = tOrder.geteAddress(); -// GeocodeVo geocode = googleMapUtil.getGeocode(s); -// orderInfo.setElat(String.valueOf(geocode.getLat())); -// orderInfo.setElon(String.valueOf(geocode.getLng())); - lonLat=new LonLat(); - lonLat.setLng("-113.066919618184"); - lonLat.setLat("37.684389618184"); - lonLats.add(lonLat); - orderInfo.setElat("37.684389618184"); - orderInfo.setElon("-113.066919618184"); - orderInfo.setLonLats(lonLats); - Long quoteId = tQuoteMapper.selectList(new EntityWrapper<TQuote>().eq("order_id", tOrder.geteZipZ())).get(0).getId(); - orderInfo.setType(tOrder.getType()); - orderInfo.setQuoteId(quoteId); - // 获取用户 - Integer userId = tOrder.getUserId(); - TUser tUser = tUserMapper.selectById(userId); - orderInfo.setCustomer(tUser.getCompanyName()); - // 获取组 - Integer groupId = tUser.getGroupId(); - if(groupId!=null) { - TGroup tGroup = tGroupMapper.selectById(groupId); - orderInfo.setSalesGroup(tGroup.getName()); - Integer salesId = tGroup.getSalesId(); - User user = userMapper.selectById(salesId); - orderInfo.setSales(user.getName()); - } - // 获取码头id 获取码头地址 pickup信息 - Integer portId = tOrder.getPort(); - TPort tPort = portMapper.selectById(portId); - orderInfo.setAddress(tOrder.geteAddress()); - orderInfo.setContactName(tOrder.getsName()); - orderInfo.setContactPhone(tOrder.getsPhone()); - orderInfo.setContactEmail(tOrder.getsEmail()); - orderInfo.setShipmentDate(tOrder.getShipmentDate()); - orderInfo.setResidentitalPickUp(tOrder.getAccessorialStr()); - - String warehouse = tOrder.getWarehouse(); - // 是仓库 - if(!"0".equals(warehouse)){ - TWarehouse tWarehouse = wareHouseMapper.selectList(new EntityWrapper<TWarehouse>().eq("company_id", tOrder.getCompanyId()).eq("code", warehouse)).get(0); - orderInfo.setWareHouse(tWarehouse.getAddress()); - } - // destination信息 - orderInfo.setEndAddress(tOrder.geteAddress()); - orderInfo.setECompanyName(tOrder.geteCompanyName()); - orderInfo.setEContactName(tOrder.geteName()); - orderInfo.setEContactPhone(tOrder.getePhone()); - orderInfo.setEContactEmail(tOrder.geteEmail()); - orderInfo.setDeliveryDate(tOrder.getDeliveryDate()); - orderInfo.setDeliverStr(tOrder.getDeliveryStr()); - orderInfo.setCarrierQuoteNumber(quoteId); - - // 根据订单id获取货物 - List<TGoods> goods = tGoodsMapper.selectList(new EntityWrapper<TGoods>().eq("order_id", orderId)); - ArrayList<String> strings = new ArrayList<>(); - goods.forEach(e->{ - strings.add(e.getContainerNumber()); - orderInfo.setBl(e.getBillNumber()); - }); - orderInfo.setContainer(strings); - ArrayList<DriverNoteVo> driverNoteVos = new ArrayList<>(); - ArrayList<DriverNoteVo> driverNoteVos1 = new ArrayList<>(); - - // 获取司机note 和 trouble - List<DriverNote> driverNotes = driverNoteMapper.selectList(new EntityWrapper<DriverNote>().eq("order_id", orderId)); - for (DriverNote driverNote : driverNotes) { - DriverNoteVo driverNoteVo = new DriverNoteVo(); - BeanUtil.copyProperties(driverNote,driverNoteVo); - TDriver tDriver = driverService.selectById(driverNoteVo.getDriverId()); - driverNoteVo.setDriverName(tDriver.getDriverName()); - if(driverNoteVo.getType()==1){ - driverNoteVos.add(driverNoteVo); - }else { - driverNoteVos1.add(driverNoteVo); + @Override + public InvoicesVoTwo listOfReceivablesInfo(Long orderId) { + InvoicesVoTwo invoicesVoTwo = new InvoicesVoTwo(); + TOrder tOrder = this.baseMapper.selectById(orderId); + invoicesVoTwo.setId(tOrder.getId()); + invoicesVoTwo.setPickupDate(tOrder.getShipmentDate()); + invoicesVoTwo.setDeliveryDate(tOrder.getDeliveryDate()); + invoicesVoTwo.setInvoiceNumber(tOrder.getInvoiceNumber()); + invoicesVoTwo.setRemark(tOrder.getRemark()); + // 根据订单id 获取价格 + List<TPrice> prices = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", tOrder.getId())); + ArrayList<TPriceVo> priceVos = new ArrayList<TPriceVo>(); + for (TPrice price : prices) { + TPriceVo tPriceVo = new TPriceVo(); + tPriceVo.setId(price.getId()); + tPriceVo.setPrice(price.getCarPrice()); + tPriceVo.setType(price.getType()); + priceVos.add(tPriceVo); } + invoicesVoTwo.setPriceVos(priceVos); + + return invoicesVoTwo; } - orderInfo.setNote(driverNoteVos); - orderInfo.setTrouble(driverNoteVos1); - orderInfo.setState(tOrder.getState()); - return orderInfo; + @Override + public InvoicesVoOne listOfReceivablesInfoOne(Long orderId) { + InvoicesVoOne info = tUserMapper.getOrderInfoOne(orderId); + // 根据订单id 获取货物信息 + Long id = info.getId(); + + TOrder tOrder = this.baseMapper.selectById(id); + List<TGoods> orders = tGoodsMapper.selectList(new EntityWrapper<TGoods>().eq("order_id", id)); + ArrayList<TGoodsVo> tGoodsVos = new ArrayList<>(); + TCompany tCompany = tCompanyMapper.selectById(info.getCompanyId()); + for (TGoods order : orders) { + TGoodsVo tGoodsVo = new TGoodsVo(); + tGoodsVo.setName(tCompany.getName()); + tGoodsVo.setSize(order.getSize()); + tGoodsVo.setKg(order.getKg()); + String size = order.getSize(); + tGoodsVo.setSize(size); + tGoodsVos.add(tGoodsVo); + } + + // 根据订单id 获取价格 + List<TPrice> prices = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", tOrder.getId())); + + ArrayList<TPriceVo> priceVos = new ArrayList<TPriceVo>(); + for (TPrice price : prices) { + TPriceVo tPriceVo = new TPriceVo(); + tPriceVo.setId(price.getId()); + tPriceVo.setPrice(price.getCarPrice()); + tPriceVo.setType(price.getType()); + priceVos.add(tPriceVo); + } + info.setGoodsVos(tGoodsVos); + info.setPriceVos(priceVos); - } - @Override - public Boolean addOrderFile(Long orderId, String url, String name) { - return this.baseMapper.addOrderFile(orderId,url,name); - } + return info; + } - public static void main(String[] args) throws ParseException { + + + @Override + public List<OrderListVo> getOrderList(Page<OrderListVo> orderListVoPage, OrderListDto dto) { + String sTime =null; + String eTime = null; + if(ToolUtil.isNotEmpty(dto.getDateRange())){ + String[] split = dto.getDateRange().split(" - "); + sTime=split[0]+" 00:00:01"; + eTime=split[1]+" 23:59:59"; + } + Integer id = dto.getCompanyId(); + List<OrderListVo> list = this.baseMapper.getOrderListOne(orderListVoPage,sTime,eTime,dto.getCustomerName(),dto.getId(),dto.getGroupId(),dto.getSaleId(),dto.getState(),id,dto.getType()); + for (OrderListVo orderListVo : list) { + // TODO 对接第三方 看是否能提柜 + if(Objects.nonNull(dto.getState())){ + if(dto.getState()==1){ + + }else { + + } + } + } + return list; + } + + @Override + public List<GoodsInfoVo> getGoodsInfo(Long orderId) { + TOrder tOrder = this.baseMapper.selectById(orderId); + ArrayList<GoodsInfoVo> goodsInfoVos = new ArrayList<>(); + List<TGoods> goods = tGoodsMapper.selectList(new EntityWrapper<TGoods>().eq("order_id", orderId)); + for (TGoods g : goods) { + GoodsInfoVo goodsInfoVo = new GoodsInfoVo(); + goodsInfoVo.setAwbNo(g.getBillNumber()); + goodsInfoVo.setContainer(g.getContainerNumber()); + goodsInfoVo.setHazmat(g.getDanger()); + goodsInfoVo.setOverWeight(g.getWeight()); + goodsInfoVo.setShippingLine(g.getShippingLine()); + goodsInfoVo.setSize(g.getSize()); + goodsInfoVo.setType(g.getType()); + goodsInfoVo.setTypeClass(g.getTypeClass()); + goodsInfoVo.setWeight(g.getKg()); + goodsInfoVos.add(goodsInfoVo); + } + return goodsInfoVos; + } + + @Override + public OrderInfo getOrderInfo(Long orderId) { + OrderInfo orderInfo = new OrderInfo(); + ArrayList<LonLat> lonLats = new ArrayList<>(); + + TOrder tOrder = this.baseMapper.selectById(orderId); + orderInfo.setSlat(tOrder.getStartLat()); + orderInfo.setSlon(tOrder.getStartLon()); + LonLat lonLat = new LonLat(); + lonLat.setLat(tOrder.getStartLat()); + lonLat.setLng(tOrder.getStartLon()); + lonLats.add(lonLat); + String s = tOrder.geteAddress(); + // GeocodeVo geocode = googleMapUtil.getGeocode(s); + // orderInfo.setElat(String.valueOf(geocode.getLat())); + // orderInfo.setElon(String.valueOf(geocode.getLng())); + lonLat=new LonLat(); + lonLat.setLng("-113.066919618184"); + lonLat.setLat("37.684389618184"); + lonLats.add(lonLat); + orderInfo.setElat("37.684389618184"); + orderInfo.setElon("-113.066919618184"); + + orderInfo.setLonLats(lonLats); + Long quoteId = tQuoteMapper.selectList(new EntityWrapper<TQuote>().eq("order_id", tOrder.geteZipZ())).get(0).getId(); + orderInfo.setType(tOrder.getType()); + orderInfo.setQuoteId(quoteId); + // 获取用户 + Integer userId = tOrder.getUserId(); + TUser tUser = tUserMapper.selectById(userId); + orderInfo.setCustomer(tUser.getCompanyName()); + // 获取组 + Integer groupId = tUser.getGroupId(); + if(groupId!=null) { + TGroup tGroup = tGroupMapper.selectById(groupId); + orderInfo.setSalesGroup(tGroup.getName()); + Integer salesId = tGroup.getSalesId(); + User user = userMapper.selectById(salesId); + orderInfo.setSales(user.getName()); + } + // 获取码头id 获取码头地址 pickup信息 + Integer portId = tOrder.getPort(); + TPort tPort = portMapper.selectById(portId); + orderInfo.setAddress(tOrder.geteAddress()); + orderInfo.setContactName(tOrder.getsName()); + orderInfo.setContactPhone(tOrder.getsPhone()); + orderInfo.setContactEmail(tOrder.getsEmail()); + orderInfo.setShipmentDate(tOrder.getShipmentDate()); + orderInfo.setResidentitalPickUp(tOrder.getAccessorialStr()); + + String warehouse = tOrder.getWarehouse(); + // 是仓库 + if(!"0".equals(warehouse)){ + TWarehouse tWarehouse = wareHouseMapper.selectList(new EntityWrapper<TWarehouse>().eq("company_id", tOrder.getCompanyId()).eq("code", warehouse)).get(0); + orderInfo.setWareHouse(tWarehouse.getAddress()); + } + // destination信息 + orderInfo.setEndAddress(tOrder.geteAddress()); + orderInfo.setECompanyName(tOrder.geteCompanyName()); + orderInfo.setEContactName(tOrder.geteName()); + orderInfo.setEContactPhone(tOrder.getePhone()); + orderInfo.setEContactEmail(tOrder.geteEmail()); + orderInfo.setDeliveryDate(tOrder.getDeliveryDate()); + orderInfo.setDeliverStr(tOrder.getDeliveryStr()); + orderInfo.setCarrierQuoteNumber(quoteId); + + // 根据订单id获取货物 + List<TGoods> goods = tGoodsMapper.selectList(new EntityWrapper<TGoods>().eq("order_id", orderId)); + ArrayList<String> strings = new ArrayList<>(); + goods.forEach(e->{ + strings.add(e.getContainerNumber()); + orderInfo.setBl(e.getBillNumber()); + }); + orderInfo.setContainer(strings); + ArrayList<DriverNoteVo> driverNoteVos = new ArrayList<>(); + ArrayList<DriverNoteVo> driverNoteVos1 = new ArrayList<>(); + + // 获取司机note 和 trouble + List<DriverNote> driverNotes = driverNoteMapper.selectList(new EntityWrapper<DriverNote>().eq("order_id", orderId)); + for (DriverNote driverNote : driverNotes) { + DriverNoteVo driverNoteVo = new DriverNoteVo(); + BeanUtil.copyProperties(driverNote,driverNoteVo); + TDriver tDriver = driverService.selectById(driverNoteVo.getDriverId()); + driverNoteVo.setDriverName(tDriver.getDriverName()); + if(driverNoteVo.getType()==1){ + driverNoteVos.add(driverNoteVo); + }else { + driverNoteVos1.add(driverNoteVo); + } + } + orderInfo.setNote(driverNoteVos); + orderInfo.setTrouble(driverNoteVos1); + orderInfo.setState(tOrder.getState()); + return orderInfo; + + + } + + @Override + public Boolean addOrderFile(Long orderId, String url, String name) { + return this.baseMapper.addOrderFile(orderId,url,name); + } + + + public static void main(String[] args) throws ParseException { + + + + } } - - - -} -- Gitblit v1.7.1