package com.matrix.system.hive.action;
|
|
import com.matrix.core.anotations.RemoveRequestToken;
|
import com.matrix.core.anotations.SaveRequestToken;
|
import com.matrix.core.constance.MatrixConstance;
|
import com.matrix.core.pojo.AjaxResult;
|
import com.matrix.core.pojo.PaginationVO;
|
import com.matrix.core.tools.WebUtil;
|
import com.matrix.system.common.bean.SysUsers;
|
import com.matrix.system.hive.action.util.QueryUtil;
|
import com.matrix.system.hive.bean.SysOutStore;
|
import com.matrix.system.hive.bean.SysOutStoreItem;
|
import com.matrix.system.hive.dao.SysOutStoreItemDao;
|
import com.matrix.system.hive.dao.WarehouseDao;
|
import com.matrix.system.hive.plugin.util.ExcelUtil;
|
import com.matrix.system.hive.service.SysOutStoreService;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.propertyeditors.CustomDateEditor;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.ModelMap;
|
import org.springframework.web.bind.ServletRequestDataBinder;
|
import org.springframework.web.bind.annotation.InitBinder;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
|
|
|
/**
|
* 出库
|
*
|
* @author jiangyouyao
|
* @date 2016-07-25
|
*/
|
@Controller
|
@RequestMapping(value = "admin/outstore")
|
public class OutStoreController extends BaseController {
|
|
@Resource
|
private SysOutStoreService currentService;
|
private SysOutStoreItemDao outStoreItemDao;
|
|
|
|
public static final String fnCode = "outStore";
|
public static final String search = fnCode + ":search";
|
public static final String edit = fnCode + ":edit";
|
public static final String del = fnCode + ":del";
|
public static final String add = fnCode + ":add";
|
public static final String excelOut = fnCode + ":excelOut";
|
/**
|
* 列表显示
|
*/
|
|
@Autowired
|
WarehouseDao warehouseDao;
|
@RequestMapping(value = "/showList")
|
public @ResponseBody
|
AjaxResult showList(SysOutStore sysOutStore, PaginationVO pageVo) {
|
SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
sysOutStore.setShopId(users.getShopId());
|
return showList(currentService, sysOutStore, pageVo);
|
}
|
|
/**
|
* 添加或修改出库单
|
*/
|
@RequestMapping(value = "/addOrModify")
|
@RemoveRequestToken
|
public @ResponseBody AjaxResult addOrModify(SysOutStore sysOutStore) {
|
if (sysOutStore.getId() != null) {
|
|
return modify(currentService, sysOutStore, "出库单");
|
} else {
|
return add(currentService, sysOutStore, "出库单");
|
}
|
}
|
|
@RequestMapping(value = "/addOrModifyJson")
|
@ResponseBody
|
public AjaxResult addOrModifyJson(@RequestBody SysOutStore sysOutStore) {
|
SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
if (sysOutStore.getId() != null) {
|
|
return modify(currentService, sysOutStore, "出库单");
|
} else {
|
return add(currentService, sysOutStore, "出库单");
|
}
|
}
|
|
@RequestMapping(value = "/editForm")
|
@SaveRequestToken
|
public String editForm() {
|
return "admin/hive/store/outStore-form";
|
}
|
|
/**
|
* 弹出框,积分规则
|
*/
|
@RequestMapping(value = "/findById")
|
public @ResponseBody AjaxResult findById(Long id) {
|
SysOutStore sysOutStore = currentService.findById(id);
|
List<SysOutStoreItem> outStoreItemList= outStoreItemDao.selectByOrderId(id);
|
sysOutStore.setOutStoreItems(outStoreItemList);
|
return AjaxResult.buildSuccessInstance(Arrays.asList(sysOutStore));
|
}
|
|
@RequestMapping(value = "/toCheck")
|
@SaveRequestToken
|
public String toCheck(Long id, HttpServletRequest request) {
|
SysOutStore sysOutStore;
|
if (id != null) {
|
sysOutStore = currentService.findById(id);
|
request.setAttribute("obj", sysOutStore);
|
}
|
return "admin/hive/store/outStore-check";
|
}
|
|
@RequestMapping(value = "/checkForm")
|
@RemoveRequestToken
|
public @ResponseBody AjaxResult checkForm(SysOutStore sysOutStore) {
|
int i=0;
|
if (sysOutStore.getId() != null) {
|
|
i=currentService.checkInfo(sysOutStore);
|
}
|
if(i>0){
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, "审核成功!");
|
}
|
else{
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "审核失败");
|
}
|
}
|
|
@RequestMapping(value = "/lookForm")
|
@SaveRequestToken
|
public String lookForm(Long id, HttpServletRequest request) {
|
SysOutStore sysOutStore;
|
if (id != null) {
|
sysOutStore = currentService.findById(id);
|
request.setAttribute("obj", sysOutStore);
|
}
|
return "admin/hive/store/outStore-look";
|
}
|
|
/**
|
* @param bin
|
*/
|
@InitBinder
|
public void initBinder(ServletRequestDataBinder bin) {
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
CustomDateEditor dateEditor = new CustomDateEditor(format, true);
|
bin.registerCustomEditor(Date.class, dateEditor);
|
}
|
|
/**
|
* 导出库存
|
* @param model
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value = "/exportExcel")
|
public @ResponseBody ModelAndView report(ModelMap model, HttpServletRequest request, HttpServletResponse response,
|
SysOutStore sysOutStore) {
|
|
// 这里是从数据库里查数据并组装成我们想要的数据结构的过程
|
QueryUtil.setQueryLimit(sysOutStore);
|
List<SysOutStore> dataList = currentService.findInPage(sysOutStore, null);
|
List<List<Object>> list = new ArrayList<>();
|
if (dataList.size() > 0) {
|
for (SysOutStore outStore : dataList) {
|
List<SysOutStoreItem> outStoreItemList = outStoreItemDao.selectByOrderId(sysOutStore.getId());
|
for (SysOutStoreItem obj:outStoreItemList) {
|
List<Object> temp = new ArrayList<>();
|
temp.add(outStore.getShopName());
|
temp.add(outStore.getSuName());
|
temp.add(outStore.getServiceNo());
|
temp.add(obj.getGoods().getName());
|
temp.add(obj.getGoods().getName());
|
temp.add(obj.getAmount());
|
temp.add(obj.getRemark());
|
list.add(temp);
|
}
|
}
|
}
|
|
String[] tdNames ={ "产品名称", "门店名称","服务单号","商品名称", "存货名称", "数量","备注"};
|
XSSFWorkbook workbook = ExcelUtil.createSimple2007("出库明细",tdNames,list );
|
|
return null;
|
}
|
}
|