|
@ -1,6 +1,8 @@ |
|
|
package com.yxt.supervise.gf.biz.inventory; |
|
|
package com.yxt.supervise.gf.biz.inventory; |
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
|
|
import cn.hutool.core.date.DateUnit; |
|
|
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
import cn.hutool.core.thread.ThreadUtil; |
|
|
import cn.hutool.core.thread.ThreadUtil; |
|
|
import cn.hutool.http.HttpRequest; |
|
|
import cn.hutool.http.HttpRequest; |
|
|
import cn.hutool.http.HttpResponse; |
|
|
import cn.hutool.http.HttpResponse; |
|
@ -9,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
|
|
import com.yxt.common.base.utils.StringUtils; |
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
import com.yxt.common.core.vo.PagerVo; |
|
|
import com.yxt.common.core.vo.PagerVo; |
|
@ -493,4 +496,212 @@ public class InventoryService extends ServiceImpl<InventoryMapper, Inventory> { |
|
|
out.close(); |
|
|
out.close(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
public List<InventoryVo> getDayReport(InventoryQuery pq){ |
|
|
|
|
|
InventoryQuery params = pq; |
|
|
|
|
|
QueryWrapper<Inventory> wq = new QueryWrapper<>(); |
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
|
|
if (params != null){ |
|
|
|
|
|
if (StringUtils.isNotBlank(params.getStorehouse_name())) |
|
|
|
|
|
wq.eq("storehouse_name",params.getStorehouse_name()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(params.getStartDate())){ |
|
|
|
|
|
wq.le("STR_TO_DATE(time,'%Y-%m-%d')", params.getStartDate()); |
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
params.setStartDate(sdf.format(DateUtil.yesterday())); |
|
|
|
|
|
wq.le("STR_TO_DATE(time,'%Y-%m-%d')",params.getStartDate()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(params.getEndDate())){ |
|
|
|
|
|
wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",params.getEndDate()); |
|
|
|
|
|
}else { |
|
|
|
|
|
params.setEndDate(sdf.format(DateUtil.offsetDay(DateUtil.yesterday(),-6))); ; |
|
|
|
|
|
wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",params.getEndDate()); |
|
|
|
|
|
} |
|
|
|
|
|
if(StringUtils.isNotBlank(params.getBrand_name())){ |
|
|
|
|
|
wq.eq("brand_name",params.getBrand_name()); |
|
|
|
|
|
} |
|
|
|
|
|
if(StringUtils.isNotBlank(params.getMateriel_group())){ |
|
|
|
|
|
wq.in("materiel_group",params.getMateriel_group()); |
|
|
|
|
|
}else{ |
|
|
|
|
|
wq.in("materiel_group","1","2"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
List<InventoryVo> inventoryVos = baseMapper.getInventoryByTime(wq); |
|
|
|
|
|
|
|
|
|
|
|
List<InventoryVo> b=new ArrayList<>(); |
|
|
|
|
|
//6
|
|
|
|
|
|
long i=DateUtil.between(DateUtil.parse(params.getStartDate()),DateUtil.parse(params.getEndDate()), DateUnit.DAY); |
|
|
|
|
|
for(int k=0;k<i+1;k++){ |
|
|
|
|
|
String date=sdf.format(DateUtil.offsetDay(DateUtil.parse(params.getStartDate()),-k)); |
|
|
|
|
|
b.add(new InventoryVo()); |
|
|
|
|
|
for(InventoryVo vo:inventoryVos){ |
|
|
|
|
|
if(vo.getTime().equals(date)){ |
|
|
|
|
|
b.set(k,vo); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return b; |
|
|
|
|
|
} |
|
|
|
|
|
public Map<String,Object> getDayReportMap(InventoryQuery pq){ |
|
|
|
|
|
InventoryQuery params = pq; |
|
|
|
|
|
Map<String,Object> m=new HashMap<>(); |
|
|
|
|
|
QueryWrapper<Inventory> wq = new QueryWrapper<>(); |
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
|
|
if (params != null){ |
|
|
|
|
|
if (StringUtils.isNotBlank(params.getStorehouse_name())) |
|
|
|
|
|
wq.eq("storehouse_name",params.getStorehouse_name()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(params.getStartDate())){ |
|
|
|
|
|
wq.le("STR_TO_DATE(time,'%Y-%m-%d')", params.getStartDate()); |
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
params.setStartDate(sdf.format(DateUtil.yesterday())); |
|
|
|
|
|
wq.le("STR_TO_DATE(time,'%Y-%m-%d')",params.getStartDate()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(params.getEndDate())){ |
|
|
|
|
|
wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",params.getEndDate()); |
|
|
|
|
|
}else { |
|
|
|
|
|
params.setEndDate(sdf.format(DateUtil.offsetDay(DateUtil.yesterday(),-6))); ; |
|
|
|
|
|
wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",params.getEndDate()); |
|
|
|
|
|
} |
|
|
|
|
|
if(StringUtils.isNotBlank(params.getBrand_name())){ |
|
|
|
|
|
wq.eq("brand_name",params.getBrand_name()); |
|
|
|
|
|
} |
|
|
|
|
|
if(StringUtils.isNotBlank(params.getMateriel_group())){ |
|
|
|
|
|
wq.in("materiel_group",params.getMateriel_group()); |
|
|
|
|
|
}else{ |
|
|
|
|
|
wq.in("materiel_group","1","2"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
List<InventoryVo> inventoryVos = baseMapper.getInventoryByTime(wq); |
|
|
|
|
|
List<String> a=new ArrayList<>(); |
|
|
|
|
|
List<String> b=new ArrayList<>(); |
|
|
|
|
|
//6
|
|
|
|
|
|
long i=DateUtil.between(DateUtil.parse(params.getStartDate()),DateUtil.parse(params.getEndDate()), DateUnit.DAY); |
|
|
|
|
|
for(int k=0;k<i+1;k++){ |
|
|
|
|
|
String date=sdf.format(DateUtil.offsetDay(DateUtil.parse(params.getStartDate()),-k)); |
|
|
|
|
|
a.add(date); |
|
|
|
|
|
b.add("0"); |
|
|
|
|
|
for(InventoryVo vo:inventoryVos){ |
|
|
|
|
|
if(vo.getTime().equals(date)){ |
|
|
|
|
|
b.set(k,String.valueOf(vo.getAmount_money())); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
m.put("date",a.toArray()); |
|
|
|
|
|
m.put("count",b.toArray()); |
|
|
|
|
|
return m; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public List<InventoryVo> getDayReportSh(InventoryQuery pq){ |
|
|
|
|
|
InventoryQuery params = pq; |
|
|
|
|
|
QueryWrapper<Inventory> wq = new QueryWrapper<>(); |
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
|
|
if (params != null){ |
|
|
|
|
|
|
|
|
|
|
|
// if (StringUtils.isNotBlank(params.getStartDate())){
|
|
|
|
|
|
// wq.le("STR_TO_DATE(time,'%Y-%m-%d')", params.getStartDate());
|
|
|
|
|
|
//
|
|
|
|
|
|
// }else{
|
|
|
|
|
|
// wq.le("STR_TO_DATE(time,'%Y-%m-%d')", sdf.format(DateUtil.yesterday()));
|
|
|
|
|
|
// }
|
|
|
|
|
|
// if (StringUtils.isNotBlank(params.getStartDate())){
|
|
|
|
|
|
// wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",params.getEndDate());
|
|
|
|
|
|
// }else {
|
|
|
|
|
|
// wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",sdf.format(DateUtil.offsetDay(DateUtil.yesterday(),-6)));
|
|
|
|
|
|
// }
|
|
|
|
|
|
if (StringUtils.isNotBlank(params.getStartDate())){ |
|
|
|
|
|
wq.le("STR_TO_DATE(time,'%Y-%m-%d')", params.getStartDate()); |
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
params.setStartDate(sdf.format(DateUtil.yesterday())); |
|
|
|
|
|
wq.le("STR_TO_DATE(time,'%Y-%m-%d')",params.getStartDate()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(params.getEndDate())){ |
|
|
|
|
|
wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",params.getEndDate()); |
|
|
|
|
|
}else { |
|
|
|
|
|
params.setEndDate(sdf.format(DateUtil.offsetDay(DateUtil.yesterday(),-6))); ; |
|
|
|
|
|
wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",params.getEndDate()); |
|
|
|
|
|
} |
|
|
|
|
|
if(StringUtils.isNotBlank(params.getBrand_name())){ |
|
|
|
|
|
wq.eq("brand_name",params.getBrand_name()); |
|
|
|
|
|
} |
|
|
|
|
|
if(StringUtils.isNotBlank(params.getMateriel_group())){ |
|
|
|
|
|
wq.in("materiel_group",params.getMateriel_group()); |
|
|
|
|
|
}else{ |
|
|
|
|
|
wq.in("materiel_group","1","2"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
wq.in("storehouse_code","07300003","07300006","07300008","07300002"); |
|
|
|
|
|
List<InventoryVo> inventoryVos = baseMapper.getDayReportSh(wq); |
|
|
|
|
|
List<InventoryVo> b=new ArrayList<>(); |
|
|
|
|
|
//6
|
|
|
|
|
|
long i=DateUtil.between(DateUtil.parse(params.getStartDate()),DateUtil.parse(params.getEndDate()), DateUnit.DAY); |
|
|
|
|
|
for(int k=0;k<i+1;k++){ |
|
|
|
|
|
String date=sdf.format(DateUtil.offsetDay(DateUtil.parse(params.getStartDate()),-k)); |
|
|
|
|
|
b.add(new InventoryVo()); |
|
|
|
|
|
for(InventoryVo vo:inventoryVos){ |
|
|
|
|
|
if(vo.getTime().equals(date)){ |
|
|
|
|
|
b.set(k,vo); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return b; |
|
|
|
|
|
} |
|
|
|
|
|
public Map<String,Object> getDayReportShMap(InventoryQuery pq){ |
|
|
|
|
|
InventoryQuery params = pq; |
|
|
|
|
|
QueryWrapper<Inventory> wq = new QueryWrapper<>(); |
|
|
|
|
|
Map<String,Object> m=new HashMap<>(); |
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
|
|
if (params != null){ |
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(params.getStartDate())){ |
|
|
|
|
|
wq.le("STR_TO_DATE(time,'%Y-%m-%d')", params.getStartDate()); |
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
params.setStartDate(sdf.format(DateUtil.yesterday())); |
|
|
|
|
|
wq.le("STR_TO_DATE(time,'%Y-%m-%d')",params.getStartDate()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(params.getEndDate())){ |
|
|
|
|
|
wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",params.getEndDate()); |
|
|
|
|
|
}else { |
|
|
|
|
|
params.setEndDate(sdf.format(DateUtil.offsetDay(DateUtil.yesterday(),-6))); ; |
|
|
|
|
|
wq.ge("STR_TO_DATE(time,'%Y-%m-%d')",params.getEndDate()); |
|
|
|
|
|
} |
|
|
|
|
|
if(StringUtils.isNotBlank(params.getBrand_name())){ |
|
|
|
|
|
wq.eq("brand_name",params.getBrand_name()); |
|
|
|
|
|
} |
|
|
|
|
|
if(StringUtils.isNotBlank(params.getMateriel_group())){ |
|
|
|
|
|
wq.in("materiel_group",params.getMateriel_group()); |
|
|
|
|
|
}else{ |
|
|
|
|
|
wq.in("materiel_group","1","2"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
wq.in("storehouse_code","07300003","07300006","07300008","07300002"); |
|
|
|
|
|
List<InventoryVo> inventoryVos = baseMapper.getDayReportSh(wq); |
|
|
|
|
|
List<String> a=new ArrayList<>(); |
|
|
|
|
|
List<String> b=new ArrayList<>(); |
|
|
|
|
|
//6
|
|
|
|
|
|
long i=DateUtil.between(DateUtil.parse(params.getStartDate()),DateUtil.parse(params.getEndDate()), DateUnit.DAY); |
|
|
|
|
|
for(int k=0;k<i+1;k++){ |
|
|
|
|
|
String date=sdf.format(DateUtil.offsetDay(DateUtil.parse(params.getStartDate()),-k)); |
|
|
|
|
|
a.add(date); |
|
|
|
|
|
b.add("0"); |
|
|
|
|
|
for(InventoryVo vo:inventoryVos){ |
|
|
|
|
|
if(vo.getTime().equals(date)){ |
|
|
|
|
|
b.set(k,String.valueOf(vo.getAmount_money())); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
m.put("date",a.toArray()); |
|
|
|
|
|
m.put("count",b.toArray()); |
|
|
|
|
|
|
|
|
|
|
|
return m; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|