RationStorageAction.java 3.23 KB
package com.cjs.cms.action.ration;

import java.io.File;
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.StorageBiz;
import com.cjs.cms.dao.ration.TrustApplyDao;
import com.cjs.cms.model.pub.ResultInfo;
import com.cjs.cms.util.lang.JsonUtil;
import com.cjs.cms.util.lang.PageUtils;

/**
 * 入库
 * @author tongxiaochuan
 *
 */
@RestController
@RequestMapping("/ration/storage")
public class RationStorageAction {

    @Autowired
    private StorageBiz    storageBiz;
    @Autowired
    private TrustApplyDao trustApplyDao;

    /**
     * 入库数据查询
     * @param params
     * @return
     */
    @RequestMapping("search")
    public String search(@RequestParam Map<String, Object> params) {
        PageUtils.processOralcePage(params);
        //查询直接上市的品种代码
        //        List<RationNewConfigInfo> list = rationNewConfigDao.queryByRationType("0");
        //        List<String> direct = new ArrayList<String>();
        //        for (RationNewConfigInfo rationNewConfigInfo : list) {
        //            direct.add(rationNewConfigInfo.getOtcCode());
        //        }
        //        params.put("direct", direct);
        return JsonUtil.toPageJson(trustApplyDao.queryStorageInfo(params),
            trustApplyDao.queryStorageTotal(params));
    }

    /**鉴定否决*/
    @RequestMapping("vote")
    public ResultInfo vote(@RequestParam("applyNo") String applyNo,
                           @RequestParam("backAmount") Integer backAmount) {
        return storageBiz.vote(applyNo, backAmount);
    }

    /**取消托管*/
    @RequestMapping("cancel")
    public ResultInfo cancel(String applyNo) {
        return storageBiz.cancel(applyNo);
    }

    /**
     * 入库
     * @param params
     * @return
     */
    @RequestMapping("storage")
    public String storage(String param) {
        return JsonUtil.toJson("resultCode", storageBiz.preStorage(param));
    }

    /**
     * 入库导出
     * @param params
     * @param request
     * @return
     * @throws Exception
     */
    @RequestMapping("export")
    public ResponseEntity<byte[]> export(@RequestParam Map<String, Object> params,
                                         HttpServletRequest request) throws Exception {
        params.put("rows", 999999);
        PageUtils.processOralcePage(params);
        File targetFile = storageBiz.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);

    }
}