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. 40
      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 = "库存列表 分页查询字段") @ApiModel(value = "库存列表 分页查询字段")
public class InventoryQuery implements Query { public class InventoryQuery implements Query {
private String storehouse_name; 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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* @author feikefei * @author feikefei
* @create 2023-07-12-15:41 * @create 2023-07-12-15:41
@ -37,4 +39,5 @@ public class InventoryVo {
@ApiModelProperty("最后更新时间明文") @ApiModelProperty("最后更新时间明文")
private String update_time_text;//"2023-05-22 10:45:25" private String update_time_text;//"2023-05-22 10:45:25"
private String time; 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}") @Select("select * from inventory where storehouse_name = #{storehouse_name}")
List<Inventory> selectInventoryByStorehouseName(@Param("storehouse_name") String 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} ${ew.sqlSegment}
</where> </where>
</select> </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> </mapper>

40
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 org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -32,13 +33,13 @@ public class InventoryRest {
@PostMapping("/save") @PostMapping("/save")
@ApiOperation("添加入库数据") @ApiOperation("添加入库数据")
public ResultBean save(@RequestBody InventoryIndex inventoryIndex){ public ResultBean save(@RequestBody InventoryIndex inventoryIndex) {
return inventoryService.save(inventoryIndex); return inventoryService.save(inventoryIndex);
} }
@PostMapping("/listPage") @PostMapping("/listPage")
@ApiOperation("分页查询") @ApiOperation("分页查询")
public ResultBean listPage(@RequestBody PagerQuery<InventoryQuery> pq){ public ResultBean listPage(@RequestBody PagerQuery<InventoryQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
PagerVo<InventoryVo> pagerVo = inventoryService.listPage(pq); PagerVo<InventoryVo> pagerVo = inventoryService.listPage(pq);
return rb.success().setData(pagerVo); return rb.success().setData(pagerVo);
@ -46,15 +47,46 @@ public class InventoryRest {
@PostMapping("/export/{storehouse_name}") @PostMapping("/export/{storehouse_name}")
@ApiOperation("导出数据") @ApiOperation("导出数据")
public void export(@PathVariable String storehouse_name, HttpServletResponse response) throws Exception{ public void export(@PathVariable String storehouse_name, HttpServletResponse response) throws Exception {
inventoryService.export(storehouse_name, response); inventoryService.export(storehouse_name, response);
} }
@PostMapping("/getInventoryList") @PostMapping("/getInventoryList")
@ApiOperation(value = "查询库存管理列表") @ApiOperation(value = "查询库存管理列表")
public ResultBean getInventoryList(@RequestBody InventoryIndex map){ public ResultBean getInventoryList(@RequestBody InventoryIndex map) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseResponse<BaseResponseListObj<Inventory>> api$system$inventory$index = ShRequester.getApi$system$inventory$index(map); BaseResponse<BaseResponseListObj<Inventory>> api$system$inventory$index = ShRequester.getApi$system$inventory$index(map);
return rb.success().setData(api$system$inventory$index); 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; 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;
}
} }

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 { public class SaTokenConfigure implements WebMvcConfigurer {
// 注册 Sa-Token 拦截器 // 注册 Sa-Token 拦截器
@Override // @Override
public void addInterceptors(InterceptorRegistry registry) { // public void addInterceptors(InterceptorRegistry registry) {
// 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。 // // 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。
registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin())) // registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin()))
.addPathPatterns("/**") // .addPathPatterns("/**")
.excludePathPatterns("/gf/sys/doLogin"); // .excludePathPatterns("/gf/sys/doLogin");
} // }
} }

Loading…
Cancel
Save