| | |
| | | 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 { |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |