package com.matrix.system.hive.action;
|
|
import com.matrix.core.constance.MatrixConstance;
|
import com.matrix.core.pojo.AjaxResult;
|
import com.matrix.core.pojo.PaginationVO;
|
import com.matrix.core.tools.DateUtil;
|
import com.matrix.core.tools.StringUtils;
|
import com.matrix.core.tools.WebUtil;
|
import com.matrix.core.tools.excl.ExcelSheetPO;
|
import com.matrix.core.tools.excl.ExcelVersion;
|
import com.matrix.system.common.bean.SysUsers;
|
import com.matrix.system.common.tools.ResponseHeadUtil;
|
import com.matrix.system.constance.Dictionary;
|
import com.matrix.system.hive.bean.ShoppingGoods;
|
import com.matrix.system.hive.bean.SysStoreInfo;
|
import com.matrix.system.hive.dao.SysStoreInfoDao;
|
import com.matrix.system.hive.service.SysStoreInfoService;
|
import org.apache.poi.ss.formula.functions.T;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.ModelMap;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.io.OutputStream;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
/**
|
* 库存
|
*
|
* @author jiangyouyao
|
* @date 2016-07-20
|
*/
|
@Controller
|
@RequestMapping(value = "admin/store")
|
public class StoreController extends BaseController {
|
@Resource
|
private SysStoreInfoService currentService;
|
|
@Resource
|
private SysStoreInfoDao sysStoreInfoDao;
|
|
|
//记录编辑前的值Before_Edit_Value
|
public static final String BEV = "Store_BEV";
|
|
public static final String fnCode = "store";
|
public static final String fnCode1 = "store1";
|
public static final String fnCode2 = "store2";
|
public static final String search = ":search";
|
public static final String edit = ":edit";
|
public static final String del = ":del";
|
public static final String add = ":add";
|
public static final String excelOut = ":excelOut";
|
|
|
/**
|
* 列表显示
|
*/
|
@RequestMapping(value = "/showList")
|
public @ResponseBody
|
AjaxResult showList(SysStoreInfo sysStoreInfo, PaginationVO pageVo) {
|
SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
sysStoreInfo.setShopId(users.getShopId());
|
sysStoreInfo.setCompanyId(users.getCompanyId());
|
if (StringUtils.isNotBlank(sysStoreInfo.getName())) {
|
ShoppingGoods goods = new ShoppingGoods();
|
goods.setName(sysStoreInfo.getName());
|
sysStoreInfo.setGoods(goods);
|
}
|
List<SysStoreInfo> dataList = currentService.findInPage(sysStoreInfo, pageVo);
|
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, currentService.findTotal(sysStoreInfo));
|
return result;
|
}
|
|
/**
|
* 按产品批次显示
|
* @param sysStoreInfo
|
* @param pageVo
|
* @return
|
*/
|
@RequestMapping(value = "/showCountList")
|
public @ResponseBody
|
AjaxResult showCountList(SysStoreInfo sysStoreInfo, PaginationVO pageVo) {
|
SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
sysStoreInfo.setShopId(users.getShopId());
|
sysStoreInfo.setCompanyId(users.getCompanyId());
|
|
List<SysStoreInfo> dataList = sysStoreInfoDao.selectCountInPage(sysStoreInfo, pageVo);
|
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, sysStoreInfoDao.selectCountTotalRecord(sysStoreInfo));
|
return result;
|
}
|
|
|
|
/**
|
* 新增或修改页面
|
*/
|
@RequestMapping(value = "/addOrModify")
|
public @ResponseBody
|
AjaxResult addOrModify(SysStoreInfo sysStoreInfo) {
|
|
if (!getMe().getShopRole().equals(Dictionary.FLAG_YES_Y)) {
|
sysStoreInfo.setStoreId(getMe().getShopId());
|
}
|
|
if (sysStoreInfo.getId() != null) {
|
|
return modify(currentService, sysStoreInfo, "库存");
|
} else {
|
|
return add(currentService, sysStoreInfo, "库存");
|
}
|
}
|
|
/**
|
* 进入修改界面
|
*/
|
@RequestMapping(value = "/editForm")
|
public String editForm(Long id) {
|
SysStoreInfo sysStoreInfo;
|
if (id != null) {
|
sysStoreInfo = currentService.findById(id);
|
WebUtil.getRequest().setAttribute("obj", sysStoreInfo);
|
}
|
return "admin/hive/products/goods-form";
|
}
|
|
|
/**
|
* 删除
|
*/
|
@RequestMapping(value = "/del")
|
public @ResponseBody
|
AjaxResult del(String keys) {
|
|
return remove(currentService, keys);
|
}
|
|
|
/**
|
* 库存按批次导出
|
*/
|
@RequestMapping(value = "/storeExportExcel")
|
public void storeExportExcel(SysStoreInfo sysStoreInfo, HttpServletResponse response) throws IOException {
|
SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
sysStoreInfo.setShopId(users.getShopId());
|
sysStoreInfo.setCompanyId(users.getCompanyId());
|
if (StringUtils.isNotBlank(sysStoreInfo.getName())) {
|
ShoppingGoods goods = new ShoppingGoods();
|
goods.setName(sysStoreInfo.getName());
|
sysStoreInfo.setGoods(goods);
|
}
|
doStoreInfoExportExcel(response,sysStoreInfo);
|
}
|
|
/**
|
* 库存按批次导出-不区分门店
|
*/
|
@RequestMapping(value = "/erpStoreExportExcel")
|
public void erpStoreExportExcel(SysStoreInfo sysStoreInfo, HttpServletResponse response) throws IOException {
|
SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
sysStoreInfo.setCompanyId(users.getCompanyId());
|
if (StringUtils.isNotBlank(sysStoreInfo.getName())) {
|
ShoppingGoods goods = new ShoppingGoods();
|
goods.setName(sysStoreInfo.getName());
|
sysStoreInfo.setGoods(goods);
|
}
|
doStoreInfoExportExcel(response,sysStoreInfo);
|
}
|
|
|
|
|
|
|
/**
|
* 按产品维度导出库存
|
*/
|
@RequestMapping(value = "/goodsCountExportExcel")
|
public void goodsCountExportExcel(ModelMap model, HttpServletRequest request, HttpServletResponse response,
|
SysStoreInfo sysStoreInfo) throws IOException {
|
SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
sysStoreInfo.setShopId(users.getShopId());
|
sysStoreInfo.setCompanyId(users.getCompanyId());
|
doGoodsCountExportExcel(response, sysStoreInfo);
|
return;
|
}
|
|
/**
|
* 按产品维度导出库存不区分门店
|
*/
|
@RequestMapping(value = "/erpGoodsCountExportExcel")
|
public void erpGoodsCountExportExcel(ModelMap model, HttpServletRequest request, HttpServletResponse response,
|
SysStoreInfo sysStoreInfo) throws IOException {
|
SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
sysStoreInfo.setCompanyId(users.getCompanyId());
|
doGoodsCountExportExcel(response, sysStoreInfo);
|
return;
|
}
|
|
|
/**
|
* 产品维度库存导出
|
*/
|
private void doGoodsCountExportExcel(HttpServletResponse response, SysStoreInfo sysStoreInfo) throws IOException {
|
List<ExcelSheetPO> res = new ArrayList<>();
|
ExcelSheetPO orderSheet = new ExcelSheetPO();
|
String title = "库存明细";
|
orderSheet.setSheetName(title);
|
orderSheet.setTitle(title);
|
String[] header = {"产品名称", "产品编号", "库存量","入库平均价", "产品单位", "库存预警值", "所属仓库", "分类"};
|
orderSheet.setHeaders(header);
|
List<SysStoreInfo> dataList = sysStoreInfoDao.selectCountInPage(sysStoreInfo, null);
|
|
|
List<List<Object>> list = new ArrayList<>();
|
if (dataList.size() > 0) {
|
for (SysStoreInfo item : dataList) {
|
List<Object> temp = new ArrayList<>();
|
ShoppingGoods getGoods = item.getGoods();
|
if(getGoods!=null){
|
temp.add(getGoods.getName());
|
temp.add(getGoods.getGoodsNo());
|
temp.add(item.getStoreTotal());
|
temp.add(item.getGoodsPrice());
|
temp.add(getGoods.getUnit());
|
temp.add(getGoods.getAlarmNum());
|
temp.add(getGoods.getName());
|
temp.add(item.getStoreName());
|
list.add(temp);
|
}
|
}
|
}
|
orderSheet.setDataList(list);
|
res.add(orderSheet);
|
response = ResponseHeadUtil.setExcelHead(response);
|
response.setHeader("Content-Disposition",
|
"attachment;filename=" + java.net.URLEncoder.encode(title + DateUtil.getTimeMark() + ".xlsx".trim(), "UTF-8"));
|
OutputStream os = response.getOutputStream();
|
com.matrix.core.tools.excl.ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
|
}
|
|
|
/**
|
* 库存明细导出
|
*/
|
private void doStoreInfoExportExcel(HttpServletResponse response, SysStoreInfo sysStoreInfo) throws IOException {
|
List<ExcelSheetPO> res = new ArrayList<>();
|
ExcelSheetPO orderSheet = new ExcelSheetPO();
|
String title = "库存明批次汇总";
|
orderSheet.setSheetName(title);
|
orderSheet.setTitle(title);
|
String[] header = {"产品名称", "产品编号", "批次", "库存量","入库单价", "产品单位", "库存预警值", "所属仓库", "分类"};
|
orderSheet.setHeaders(header);
|
List<SysStoreInfo> dataList = currentService.findInPage(sysStoreInfo, null);
|
|
|
List<List<Object>> list = new ArrayList<>();
|
if (dataList.size() > 0) {
|
for (SysStoreInfo item : dataList) {
|
List<Object> temp = new ArrayList<>();
|
ShoppingGoods getGoods = item.getGoods();
|
if(getGoods!=null){
|
temp.add(getGoods.getName());
|
temp.add(getGoods.getGoodsNo());
|
temp.add(item.getBatch());
|
temp.add(item.getStoreTotal());
|
temp.add(item.getGoodsPrice());
|
temp.add(getGoods.getUnit());
|
temp.add(getGoods.getAlarmNum());
|
temp.add(getGoods.getName());
|
temp.add(item.getStoreName());
|
list.add(temp);
|
}
|
}
|
}
|
orderSheet.setDataList(list);
|
res.add(orderSheet);
|
response = ResponseHeadUtil.setExcelHead(response);
|
response.setHeader("Content-Disposition",
|
"attachment;filename=" + java.net.URLEncoder.encode(title + DateUtil.getTimeMark() + ".xlsx".trim(), "UTF-8"));
|
OutputStream os = response.getOutputStream();
|
com.matrix.core.tools.excl.ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
|
}
|
|
}
|