RationAgreeAction.java 3.06 KB
package com.cjs.cms.action.ration;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.cjs.cms.biz.ration.RationAgreeBiz;
import com.cjs.cms.dao.ration.RationNewConfigDao;
import com.cjs.cms.model.ration.RationNewConfigInfo;
import com.cjs.cms.util.lang.JsonUtil;
import com.cjs.cms.util.lang.PageUtils;

/**
 * 用户意见
 * @author tongxiaochuan
 *
 */
@RestController
@RequestMapping("/ration/agree")
public class RationAgreeAction {

    @Autowired
    private RationAgreeBiz     rationAgreeBiz;
    @Autowired
    private RationNewConfigDao rationNewConfigDao;

    /**
     * 查询
     * @param params
     * @return
     */
    @RequestMapping("search")
    public String search(@RequestParam Map<String, Object> params) {
        List<RationNewConfigInfo> list = rationNewConfigDao.queryByRationType("1");
        List<String> direct = new ArrayList<String>();
        for (RationNewConfigInfo rationNewConfigInfo : list) {
            direct.add(rationNewConfigInfo.getOtcCode());
        }
        params.put("direct", direct);
        PageUtils.processOralcePage(params);
        Map<String, Object> footer = new HashMap<String, Object>();
        footer.put("APPROVAL_COUNT", rationAgreeBiz.querySumApprovalCount(params));
        footer.put("TELPHONE", "汇总");
        return JsonUtil.toPageJson(rationAgreeBiz.queryAgreeInfoByConditions(params),
            rationAgreeBiz.queryAgreeInfoAmount(params), footer);
    }

    /**
     * 导出用户意见
     * @param id
     * @param request
     * @return
     * @throws Exception
     */
    @RequestMapping("export")
    public ResponseEntity<byte[]> export(@RequestParam Map<String, Object> params,
                                         HttpServletRequest request) throws Exception {
        List<RationNewConfigInfo> list = rationNewConfigDao.queryByRationType("1");
        List<String> direct = new ArrayList<String>();
        for (RationNewConfigInfo rationNewConfigInfo : list) {
            direct.add(rationNewConfigInfo.getOtcCode());
        }
        params.put("direct", direct);
        File targetFile = rationAgreeBiz.export(params);
        HttpHeaders head = new HttpHeaders();
        head.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        // 下载的文件名
        head.setContentDispositionFormData("attachment",
            new String(targetFile.getName().getBytes("UTF-8"), "ISO8859-1"));
        return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(targetFile), head,
            HttpStatus.CREATED);
    }
}