|  | @ -1,132 +0,0 @@
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.Hospital;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.HospitalDept;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.survey.QuestionnairePrize;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.survey.QuestionnairePrizeDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.common.excel.ExcelData;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.manager.wlyyrole.WlyyUserRoleService;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.util.ReadExcelUtil;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.util.RivaEDCode;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.vo.UserPrizeVO;
 | 
	
		
			
				|  |  | import jxl.*;
 | 
	
		
			
				|  |  | import jxl.write.*;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.junit.Test;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.jdbc.core.BeanPropertyRowMapper;
 | 
	
		
			
				|  |  | import org.springframework.jdbc.core.JdbcTemplate;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.io.File;
 | 
	
		
			
				|  |  | import java.text.ParseException;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by Reece on 2018/1/28/028.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | public class TestImportJxl {
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private JdbcTemplate jdbcTemplate;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private QuestionnairePrizeDao prizeDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WlyyUserRoleService roleService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Test
 | 
	
		
			
				|  |  |     public void test()throws Exception{
 | 
	
		
			
				|  |  |             Workbook book = Workbook.getWorkbook(new File(
 | 
	
		
			
				|  |  |                     "C:\\Users\\Administrator\\Desktop\\奖品表.xls"));
 | 
	
		
			
				|  |  |         importData(book);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  导入奖品信息Excel表格
 | 
	
		
			
				|  |  |      * @param workbook
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws ParseException
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public boolean importData(Workbook workbook) throws ParseException {
 | 
	
		
			
				|  |  |         Sheet[] sheets = workbook.getSheets();
 | 
	
		
			
				|  |  |         Sheet sheet = sheets[0];
 | 
	
		
			
				|  |  |         int rows = ReadExcelUtil.getRightRows(sheet);//表格行数
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<QuestionnairePrize> prizeList = new ArrayList<>();
 | 
	
		
			
				|  |  |         for (int row = 1; row < rows; row++) {  //索引从0开始,第一行为标题
 | 
	
		
			
				|  |  |             //读取单行数据并取单元格数据保存到实体类部分字段中(单元格从0开始)
 | 
	
		
			
				|  |  |             QuestionnairePrize prize = new QuestionnairePrize();
 | 
	
		
			
				|  |  |             //映射实体类部分字段
 | 
	
		
			
				|  |  |             Map<Integer, ExcelData> mappingPrize = mappingQuestionnairePrize(prize);
 | 
	
		
			
				|  |  |             int finalRow = row;
 | 
	
		
			
				|  |  |             mappingPrize.forEach((index, excelData) -> {
 | 
	
		
			
				|  |  |                 String value = sheet.getCell(index, finalRow).getContents().trim();
 | 
	
		
			
				|  |  |                 excelData.transform(value);
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             //判断导入的奖品资源是否存在,不存在则保存
 | 
	
		
			
				|  |  | //            QuestionnairePrize prize = prizeDao.findByPrizeType(1,"");
 | 
	
		
			
				|  |  |             if(prize==null){
 | 
	
		
			
				|  |  | //                需要从表格取值
 | 
	
		
			
				|  |  |                 prize = new QuestionnairePrize();
 | 
	
		
			
				|  |  |                 prize.setCode("");
 | 
	
		
			
				|  |  |                 prize.setType(1);
 | 
	
		
			
				|  |  |                 //加密
 | 
	
		
			
				|  |  |                 String prizeCode = RivaEDCode.passEncode("LUZ7TN3KOT8AWCD3ZA4NBMI5VNF7E50F6XYEP2WZM68JQYY5JE02L4L5FS9R4NGUGMHSCAPW9AL","C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN","");
 | 
	
		
			
				|  |  |                 prize.setPrizeCode(prizeCode);
 | 
	
		
			
				|  |  |                 prize.setValidity(new Date());
 | 
	
		
			
				|  |  |                 prize.setAddress("");
 | 
	
		
			
				|  |  |                 prize.setUsed(0);
 | 
	
		
			
				|  |  |                 prize.setDel(0);
 | 
	
		
			
				|  |  |                 prize.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                 prize.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |                 prizeList.add(prize);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         prizeDao.save(prizeList);
 | 
	
		
			
				|  |  |         return true;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public List<UserPrizeVO> searchListCount(String name, String idCard) throws Exception{
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String sql = "SELECT w.user_name, w.user_idcard, w.user_openid, w.prize_type, w.prize_code, p.validity, p.address FROM wlyy_questionnaire_winning w, wlyy_questionnaire_prize p WHERE w.prize_code = p.`code` and w.winning = 1 and w.del = 0 and p.used = 1 and p.del = 0  " +
 | 
	
		
			
				|  |  |                 "and type = 2";
 | 
	
		
			
				|  |  |         if (StringUtils.isNotEmpty(name) && StringUtils.isNotEmpty(idCard)){
 | 
	
		
			
				|  |  |             sql += " w.user_name = " + name + " w.user_idcard = " + idCard;
 | 
	
		
			
				|  |  |         }else if (StringUtils.isEmpty(name) && StringUtils.isNotEmpty(idCard)){
 | 
	
		
			
				|  |  |             sql += " w.user_idcard = " + idCard;
 | 
	
		
			
				|  |  |         }else if (StringUtils.isNotEmpty(name) && StringUtils.isEmpty(idCard)){
 | 
	
		
			
				|  |  |             sql += " w.user_name = " + name;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql += " order by w.idCard desc ";
 | 
	
		
			
				|  |  |         List<UserPrizeVO> userPrizeVOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<UserPrizeVO>());
 | 
	
		
			
				|  |  |         return userPrizeVOList;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private Map<Integer, ExcelData> mappingQuestionnairePrize(QuestionnairePrize prize) {
 | 
	
		
			
				|  |  |         Map<Integer, ExcelData> dataMap = new HashMap<>();
 | 
	
		
			
				|  |  |         //兑奖码
 | 
	
		
			
				|  |  |         dataMap.put(0, new ExcelData() {
 | 
	
		
			
				|  |  |             @Override
 | 
	
		
			
				|  |  |             public void transform(String data) {
 | 
	
		
			
				|  |  |                 prize.setPrizeCode(data);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //有效期
 | 
	
		
			
				|  |  |         dataMap.put(1, new ExcelData() {
 | 
	
		
			
				|  |  |             @Override
 | 
	
		
			
				|  |  |             public void transform(String data) {
 | 
	
		
			
				|  |  |                 prize.setValidity(new Date());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //领取地址
 | 
	
		
			
				|  |  |         dataMap.put(2, new ExcelData() {
 | 
	
		
			
				|  |  |             @Override
 | 
	
		
			
				|  |  |             public void transform(String data) {
 | 
	
		
			
				|  |  |                 prize.setAddress(data);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         return dataMap;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |