package com.xzx.gc.system.controller;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.StrUtil;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.xzx.gc.common.Result;
|
import com.xzx.gc.common.constant.BusinessEnum;
|
import com.xzx.gc.common.constant.CommonEnum;
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.dto.SimplePage;
|
import com.xzx.gc.common.dto.log.OperationAppLog;
|
import com.xzx.gc.common.request.BaseController;
|
import com.xzx.gc.entity.SysStorage;
|
import com.xzx.gc.model.FileExportDTO;
|
import com.xzx.gc.model.JsonResult;
|
import com.xzx.gc.model.admin.ExportParamModel;
|
import com.xzx.gc.model.admin.OrderModel;
|
import com.xzx.gc.model.admin.StorageModel;
|
import com.xzx.gc.model.admin.SysStorageApiModel;
|
import com.xzx.gc.system.mapper.SysStorageMapper;
|
import com.xzx.gc.system.service.CityPartnerService;
|
import com.xzx.gc.system.service.OtherUserService;
|
import com.xzx.gc.system.service.SysStorageService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.MediaType;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Api(tags = "仓库管理")
|
@RestController
|
@Validated
|
@Slf4j
|
public class StorageController extends BaseController {
|
|
|
@Autowired
|
private SysStorageMapper sysStorageMapper;
|
|
@Autowired
|
private SysStorageService sysStorageService;
|
|
@Autowired
|
private OtherUserService otherUserService;
|
|
@Autowired
|
private CityPartnerService cityPartnerService;
|
|
@ApiOperation(value = "分页查看所有仓库")
|
@PostMapping(value = "/sysStorage/select")
|
public Result<PageInfo<SysStorage>> select(HttpServletRequest request, @RequestBody SimplePage simplePage){
|
PageHelper.startPage(simplePage.getPageNo(),simplePage.getPageSize());
|
|
SysStorage sysStorage=new SysStorage();
|
sysStorage.setDelFlag(Constants.DEL_NOT_FLAG);
|
String userId = getUserId(request);
|
String partnerId = otherUserService.findById(userId).getPartnerId();
|
sysStorage.setPartnerId(partnerId);
|
List<SysStorage> select = sysStorageMapper.select(sysStorage);
|
PageInfo<SysStorage> pageInfo=new PageInfo<>(select);
|
return Result.success(pageInfo);
|
}
|
|
/**
|
* 查询仓库列表
|
* @param sysStorageApiModel
|
* @return
|
*/
|
@PostMapping("/admin/front/sysStorage/querySysStorageList.do")
|
@ApiOperation(value="运营管理-仓库管理", notes="test: 仅0有正确返回")
|
public JsonResult<Map<String, Object>> querySysStorageList(@RequestBody SysStorageApiModel sysStorageApiModel){
|
Map<String, Object> map = sysStorageService.querySysStorageList(sysStorageApiModel);
|
return JsonResult.success(map);
|
|
}
|
/**
|
* 查询仓库列表
|
* @param sysStorageApiModel
|
* @return
|
*/
|
@PostMapping("/admin/front/sysStorage/addSysStorageApi.json")
|
@ApiOperation(value="运营管理-新增仓库", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "storageName", value = "名称", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "storageArea", value = "面积", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "detailAddress", value = "详细地址", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "partnerId", value = "合伙人ID", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "area", value = "区域Id", required = true, dataType = "String")
|
})
|
public JsonResult<Map<String, Object>> addSysStorageApi(@RequestBody SysStorageApiModel sysStorageApiModel,HttpServletRequest request){
|
int num = sysStorageService.addSysStorageApi(sysStorageApiModel);
|
Map<String,Object> map = new HashMap<>();
|
map.put("code",0);
|
map.put("num",num);
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.ORDER_MODUL_NAME).operateAction("新增仓库-"+sysStorageApiModel.getId()).build();
|
mqUtil.sendApp(build);
|
return JsonResult.success(map);
|
}
|
|
@PostMapping("/admin/front/sysStorage/updateSysStorageApi.json")
|
@ApiOperation(value="运营管理-修改仓库", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "storageName", value = "名称", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "storageArea", value = "面积", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "detailAddress", value = "详细地址", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "id", value = "仓库Id", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "partnerId", value = "合伙人ID", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "area", value = "区域Id", required = true, dataType = "String")
|
})
|
public JsonResult<Map<String, Object>> updateSysStorageApi(@RequestBody SysStorageApiModel sysStorageApiModel, HttpServletRequest request){
|
int num = sysStorageService.updateSysStorageApi(sysStorageApiModel);
|
Map<String,Object> map = new HashMap<>();
|
map.put("code",0);
|
map.put("num",num);
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.ORDER_MODUL_NAME).operateAction("修改仓库-"+sysStorageApiModel.getId()).build();
|
mqUtil.sendApp(build);
|
return JsonResult.success(map);
|
}
|
|
@PostMapping("/admin/front/sysStorage/delSysStorageApi.json")
|
@ApiOperation(value="运营管理-删除仓库", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "id", value = "仓库Id", required = true, dataType = "String")
|
})
|
public JsonResult<Map<String, Object>> delSysStorageApi(@RequestBody SysStorageApiModel sysStorageApiModel,HttpServletRequest request){
|
int num = sysStorageService.delSysStorageApi(sysStorageApiModel);
|
Map<String,Object> map = new HashMap<>();
|
map.put("code",0);
|
map.put("num",num);
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.ORDER_MODUL_NAME).operateAction("删除仓库-"+sysStorageApiModel.getId()).build();
|
mqUtil.sendApp(build);
|
return JsonResult.success(map);
|
}
|
|
@PostMapping( "/admin/front/sysStorage/querySysStorageApi.json")
|
@ApiOperation(value="运营管理-仓库列表", notes="test: 仅0有正确返回")
|
public JsonResult<List<Map<String, Object>>> querySysStorageApi(){
|
List<String> partnerIds = cityPartnerService.queryPartnerByCurrent();
|
List<Map<String, Object>> result = sysStorageMapper.queryAllStorage(partnerIds);
|
for (Map<String, Object> map:result) {
|
map.put("storagename",map.get("storageName"));
|
}
|
return JsonResult.success(result);
|
}
|
|
@PostMapping("/admin/front/sysStorage/querySysStrangeList.json")
|
@ApiOperation(value="查询仓库下拉列表", notes="test: 仅0有正确返回")
|
public JsonResult<List<Map<String,Object>>> querySysStrangeList(){
|
List<Map<String, Object>> list = sysStorageService.querySysStrangeList();
|
return JsonResult.success(list);
|
}
|
|
/**
|
* 查询仓库数据
|
* @param storageModel
|
* @return
|
*/
|
@PostMapping( "/admin/front/sysStorage/data/querySysStorageList.do")
|
@ApiOperation(value="数据统计-仓库数据", notes="test: 仅0有正确返回")
|
public JsonResult<Map<String, Object>> querySysStorageList(@RequestBody StorageModel storageModel){
|
Map<String,Object> resultMap = sysStorageService.querySysStorageListData(storageModel);
|
return JsonResult.success(resultMap);
|
}
|
|
/**
|
* 查询仓库列表
|
* @param storageModel
|
* @return
|
*/
|
@PostMapping( "/admin/front/sysStorage/data/querySysStorageDetail.json")
|
@ApiOperation(value="数据统计-仓库列表", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "timeType", value = "时间类型(week(周),month(月))", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "sysStorageId", value = "仓库Id(上一个页面的id)", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "imageType", value = "统计图的时间类型(具体类别的图,week(周),month(月))", required = true, dataType = "String")
|
|
})
|
public JsonResult<Map<String, Object>> querySysStorageDetail(@RequestBody StorageModel storageModel){
|
Map<String,Object> resultMap = sysStorageService.querySysStorageDetail(storageModel);
|
return JsonResult.success(resultMap);
|
}
|
|
@ApiOperation(value = "仓库导出",produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
|
@PostMapping(value = "/admin/front/sysStorage/export")
|
public void fileExport(@RequestBody ExportParamModel exportParamModel, HttpServletRequest request, HttpServletResponse response) {
|
List<List<String>> rows = new ArrayList<>();
|
//标题
|
List<String> header = CollUtil.newArrayList("所属地区", "仓库名称", "累计订单量", "总入库重量(吨)", "日均入库重量(吨)", "总入库金额(万元)", "日均入库金额(万元)");
|
rows.add(header);
|
|
//组装数据
|
StorageModel storageModel = new StorageModel(exportParamModel);
|
Map<String, Object> result = sysStorageService.querySysStorageListData(storageModel);
|
List<Map<String,Object>> storageApiModelList = (List<Map<String,Object>>) result.get("data");
|
if (CollUtil.isNotEmpty(storageApiModelList)) {
|
for(Map<String,Object> m : storageApiModelList){
|
List<String> list = new ArrayList<>();
|
list.add(m.get("areaName").toString());
|
if(null!=m.get("delFlag")){
|
if(m.get("delFlag").toString().equals("1")){
|
m.put("storageName",m.get("storageName").toString()+"(已删除)");
|
}
|
}
|
list.add(m.get("storageName").toString());
|
list.add(m.get("orderNum").toString());
|
list.add(m.get("storageWeight").toString());
|
list.add(m.get("dayStorageWeight").toString());
|
list.add(m.get("storageMoney").toString());
|
list.add(m.get("dayStorageMoney").toString());
|
rows.add(list);
|
}
|
}
|
|
//导出
|
export(rows,response);
|
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.SYS_MODUL_NAME).operateAction("仓库导出").build();
|
mqUtil.sendApp(build);
|
}
|
}
|