| 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; | 
|     } | 
| } |