Browse Source

库存每日报表,登录认证暂时取消

master
wangpengfei 1 year ago
parent
commit
705d1a35d2
  1. 4
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/api/inventory/InventoryQuery.java
  2. 3
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/api/inventory/InventoryVo.java
  3. 3
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryMapper.java
  4. 21
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryMapper.xml
  5. 32
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryRest.java
  6. 211
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryService.java
  7. 14
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/config/SaTokenConfigure.java

4
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/api/inventory/InventoryQuery.java

@ -12,4 +12,8 @@ import lombok.Data;
@ApiModel(value = "库存列表 分页查询字段")
public class InventoryQuery implements Query {
private String storehouse_name;
private String endDate;
private String startDate;
private String brand_name;
private String materiel_group;
}

3
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/api/inventory/InventoryVo.java

@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author feikefei
* @create 2023-07-12-15:41
@ -37,4 +39,5 @@ public class InventoryVo {
@ApiModelProperty("最后更新时间明文")
private String update_time_text;//"2023-05-22 10:45:25"
private String time;
private BigDecimal amount_money=new BigDecimal(0);//金额
}

3
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryMapper.java

@ -22,4 +22,7 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
@Select("select * from inventory where storehouse_name = #{storehouse_name}")
List<Inventory> selectInventoryByStorehouseName(@Param("storehouse_name") String storehouse_name);
List<InventoryVo> getInventoryByTime(@Param(Constants.WRAPPER) Wrapper<Inventory> qw);
List<InventoryVo> getDayReportSh(@Param(Constants.WRAPPER) Wrapper<Inventory> qw);
}

21
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryMapper.xml

@ -10,5 +10,24 @@
${ew.sqlSegment}
</where>
</select>
<select id="getInventoryByTime" resultType="com.yxt.supervise.gf.api.inventory.InventoryVo">
SELECT
*,sum(price* num) as amount_money
FROM
inventory
<where>
${ew.sqlSegment}
</where>
group by time
</select>
<select id="getDayReportSh" resultType="com.yxt.supervise.gf.api.inventory.InventoryVo">
SELECT
*,sum(price* num) as amount_money
FROM
inventory
<where>
${ew.sqlSegment}
</where>
group by storehouse_code ,time
</select>
</mapper>

32
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryRest.java

@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
@ -57,4 +58,35 @@ public class InventoryRest {
BaseResponse<BaseResponseListObj<Inventory>> api$system$inventory$index = ShRequester.getApi$system$inventory$index(map);
return rb.success().setData(api$system$inventory$index);
}
@PostMapping("/getDayReport")
@ApiOperation(value = "库存日报表")
public ResultBean getDayReport(@RequestBody InventoryQuery pq) {
ResultBean rb = ResultBean.fireFail();
List<InventoryVo> inventoryVos = inventoryService.getDayReport(pq);
return rb.success().setData(inventoryVos);
}
@PostMapping("/getDayReportMap")
@ApiOperation(value = "库存日报表柱状图map数据结构")
public ResultBean getDayReportMap(@RequestBody InventoryQuery pq) {
ResultBean rb = ResultBean.fireFail();
Map<String, Object> inventoryVos = inventoryService.getDayReportMap(pq);
return rb.success().setData(inventoryVos);
}
@PostMapping("/getDayReportSh")
@ApiOperation(value = "库存日报表按仓库查询")
public ResultBean getDayReportSh(@RequestBody InventoryQuery pq) {
ResultBean rb = ResultBean.fireFail();
List<InventoryVo> inventoryVos = inventoryService.getDayReportSh(pq);
return rb.success().setData(inventoryVos);
}
@PostMapping("/getDayReportShMap")
@ApiOperation(value = "库存日报表按仓库查询柱状图map结构")
public ResultBean getDayReportShMap(@RequestBody InventoryQuery pq) {
ResultBean rb = ResultBean.fireFail();
Map<String, Object> inventoryVos = inventoryService.getDayReportShMap(pq);
return rb.success().setData(inventoryVos);
}
}

211
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryService.java

@ -1,6 +1,8 @@
package com.yxt.supervise.gf.biz.inventory;
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.http.HttpRequest;
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.extension.service.impl.ServiceImpl;
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.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -493,4 +496,212 @@ public class InventoryService extends ServiceImpl<InventoryMapper, Inventory> {
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;
}
}

14
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/config/SaTokenConfigure.java

@ -14,11 +14,11 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
public class SaTokenConfigure implements WebMvcConfigurer {
// 注册 Sa-Token 拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。
registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin()))
.addPathPatterns("/**")
.excludePathPatterns("/gf/sys/doLogin");
}
// @Override
// public void addInterceptors(InterceptorRegistry registry) {
// // 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。
// registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin()))
// .addPathPatterns("/**")
// .excludePathPatterns("/gf/sys/doLogin");
// }
}

Loading…
Cancel
Save