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