Просмотр исходного кода

Merge branch 'dev' of wujunjie/patient-co-management into dev

yeshijie 7 лет назад
Родитель
Сommit
c008bd964a

+ 0 - 132
patient-co-manage/wlyy-manage/src/main/java/TestImportJxl.java

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

+ 3 - 3
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/survey/QuestionnaireController.java

@ -44,12 +44,12 @@ public class QuestionnaireController extends BaseController {
    public String searchList(
            @RequestParam(value = "type",defaultValue = "1")Integer type,
            @RequestParam(value = "name",required = false)String name,
            @RequestParam(value = "idCard",required = false)String idCard,
            @RequestParam(value = "idcard",required = false)String idcard,
            @RequestParam(value = "page",required = false)Integer page,
            @RequestParam(value = "rows",required = false)Integer pageSize){
        try{
            List<QuestionnaireWinning> userprizes = questionnaireService.searchList(type ,name,idCard,page, pageSize);
            List<QuestionnaireWinning> total = questionnaireService.searchListCount(type,name,idCard);
            List<QuestionnaireWinning> userprizes = questionnaireService.searchList(type ,name,idcard,page, pageSize);
            List<QuestionnaireWinning> total = questionnaireService.searchListCount(type,name,idcard);
            return write(200,"操作成功",page,pageSize,total.size(),userprizes);
        }catch (Exception ex){
            error(ex);

+ 99 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/survey/QuestionnairePrize.java

@ -0,0 +1,99 @@
package com.yihu.wlyy.entity.survey;
import com.yihu.wlyy.entity.IdEntity;
import io.swagger.models.auth.In;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.xml.crypto.Data;
import java.util.Date;
/**
 * Created by Reece on 2017/01/27
 * 问卷调查奖品信息
 */
@Entity
@Table(name = "Wlyy_questionnaire_prize")
public class QuestionnairePrize extends IdEntity {
  private String code;      //UUID-业务逻辑ID
  private Integer type;     //奖品类型:1电影票
  private String prizeCode; //奖品兑奖码
  private Date validity;    //奖品有效期
  private String address;   //'兑奖地址'
  private Integer used;   //0为未领走,1为被领走
  private Integer del;    //0为有效,1为删除
  private Date createTime;  //创建时间
  private Date updateTime;  //'修改时间'
  public String getCode() {
    return code;
  }
  public void setCode(String code) {
    this.code = code;
  }
  public Integer getType() {
    return type;
  }
  public void setType(Integer type) {
    this.type = type;
  }
  public String getPrizeCode() {
    return prizeCode;
  }
  public void setPrizeCode(String prizeCode) {
    this.prizeCode = prizeCode;
  }
  public Date getValidity() {
    return validity;
  }
  public String getAddress() {
    return address;
  }
  public void setAddress(String address) {
    this.address = address;
  }
  public Integer getUsed() {
    return used;
  }
  public void setUsed(Integer used) {
    this.used = used;
  }
  public Integer getDel() {
    return del;
  }
  public void setDel(Integer del) {
    this.del = del;
  }
  public void setValidity(Date validity) {
    this.validity = validity;
  }
  public Date getCreateTime() {
    return createTime;
  }
  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }
  public Date getUpdateTime() {
    return updateTime;
  }
  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }
}

+ 134 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/survey/QuestionnaireWinning.java

@ -0,0 +1,134 @@
package com.yihu.wlyy.entity.survey;
import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.xml.crypto.Data;
import java.util.Date;
/**
 * Created by Reece on 2017/01/27
 * 问卷调查中奖者名单
 */
@Entity
@Table(name = "wlyy_questionnaire_winning")
public class QuestionnaireWinning extends IdEntity {
    private String code;            //uuid-业务ID
    private String userCode;       //中奖人CODE
    private String userIdcard;     //中奖人身份证
    private String userName;        //中奖人姓名
    private String userOpenid;      //中奖人openid
    private Integer prizeType;      //奖品类型:1电影票
    private String address;       //兑换地址
    private Date validity;       //奖品有效期
    private String prizeCode;       //奖品兑换码
    private Integer winning;            //0未中奖,1已中奖
    private Integer del;            //0正常,1为删除
    private Date createTime;        //创建时间
    private Date updateTime;        //修改时间
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public Date getValidity() {
        return validity;
    }
    public void setValidity(Date validity) {
        this.validity = validity;
    }
    public Integer getWinning() {
        return winning;
    }
    public void setWinning(Integer winning) {
        this.winning = winning;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getUserCode() {
        return userCode;
    }
    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }
    public String getUserIdcard() {
        return userIdcard;
    }
    public void setUserIdcard(String userIdcard) {
        this.userIdcard = userIdcard;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserOpenid() {
        return userOpenid;
    }
    public void setUserOpenid(String userOpenid) {
        this.userOpenid = userOpenid;
    }
    public Integer getPrizeType() {
        return prizeType;
    }
    public void setPrizeType(Integer prizeType) {
        this.prizeType = prizeType;
    }
    public String getPrizeCode() {
        return prizeCode;
    }
    public void setPrizeCode(String prizeCode) {
        this.prizeCode = prizeCode;
    }
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}

+ 5 - 2
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/questionnaire/prize/prize_list.jsp

@ -12,10 +12,13 @@
	<div class="m-retrieve-area f-h50 f-dn f-pr m-form-inline" data-role-form style='display: block;'>
		<div class="m-form-group f-mt10">
			<div class="m-form-control f-ml15">
				<input type="text" id="inp_name" placeholder="请输入医生姓名" class="f-ml10" data-attr-scan="name"/>
				<input type="text" id="inp_type" placeholder="请选择奖品类型" class="f-ml10" data-attr-scan="type"/>
			</div>
			<div class="m-form-control f-ml15">
				<input type="text" id="inp_mobile" placeholder="请输入身份证号" class="f-ml10" data-attr-scan="mobile"/>
				<input type="text" id="inp_name" placeholder="请输入姓名" class="f-ml10" data-attr-scan="name"/>
			</div>
			<div class="m-form-control f-ml15">
				<input type="text" id="inp_idcard" placeholder="请输入身份证号" class="f-ml10" data-attr-scan="idcard"/>
			</div>
			<sec:authorize url="/admin/questionnaire/list">
			<div id="btn_search" class="l-button u-btn u-btn-primary u-btn-small f-ib f-vam  f-ml10" >

+ 16 - 19
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/questionnaire/prize/prize_list_js.jsp

@ -30,23 +30,22 @@
				$element: $('.m-retrieve-area'),
				$searchBtn: $('#btn_search'),
				$addBtn: $('#btn_add'),
				$name: $("#inp_name"),//人员姓名
				$code: $("#inp_code"),//医生code
				$mobile: $("#inp_mobile"),
				$hospital: $("#inp_hospital"),//医院code
				$type: $("#inp_type"),//奖品类型
				$name: $("#inp_name"),//获奖人姓名
				$idcard: $("#inp_idcard"),//获奖人身份证
				init: function () {
					this.$element.show();
					this.$element.attrScan();
					window.form = this.$element;
					this.$name.ligerTextBox({width: 200}); //姓名
					this.$code.ligerTextBox({width: 200}); //姓名
					this.$mobile.ligerTextBox({width: 200})//手机号
					this.$hospital.ligerTextBox({width: 200})//医院code
					this.$type.ligerTextBox({width: 200});
                    this.$name.ligerTextBox({width: 200});
					this.$idcard.ligerTextBox({width: 200});
					this.bindEvents();
				},
				bindEvents: function () {
					var self = this;
					self.$searchBtn.click(function () {
					    console.log(self);
						master.grid.options.newPage = 1;
						master.reloadGrid();
					});
@ -67,21 +66,19 @@
						ajaxHeaderValue: ajaxHeaderValue,
						columns: [
							{display: 'ID', name: 'id', hide: true},
							{display: '医生编码', name: 'code', width: '20%', align: "center"},
							{display: '医生姓名', name: 'name', width: '8%', align: "center"},
							{display: '姓名', name: 'userName', width: '10%', align: "center"},
							{display: '身份证号', name: 'userIdcard', width: '15%', align: "center"},
							{display: '微信标识', name: 'userOpenid', width: '20%', align: "center"},
                            {
                                display: '性别', name: 'sex', width: '5%', align: "center",
                                display: '奖品类型', name: 'prizeType', width: '10%', align: "center",
                                render: function (item) {
                                    if (!item.sex | item.sex == 0) return "未知";
                                    if (parseInt(item.sex) == 1) return '男';
                                    if (parseInt(item.sex) == 2) return '女';
                                    return '未知';
                                    if (parseInt(item.prizeType) == 1) return '电影票';
                                    return '其他';
                                }
                            },
							{display: '身份证号', name: 'idCard', width: '12%', align: "center"},
							{display: '手机号码', name: 'mobile', width: '10%', align: "center"},
							{display: '机构编码', name: 'hospital', width: '10%', align: "center"},
							{display: '所属机构', name: 'hospitalName', width: '20%', align: "left"},
							{display: '兑奖码', name: 'prizeCode', width: '15%', align: "center"},
							{display: '有效期', name: 'validity', width: '10%', align: "center"},
							{display: '领取地址', name: 'address', width: '20%', align: "left"},
						],
					}));

+ 3 - 3
patient-co/patient-co-wlyy/src/main/resources/wechat/weixin_menu_jimei.txt

@ -50,9 +50,9 @@
            "url":"https://open.weixin.qq.com/connect/oauth2/authorize?appid=appId&redirect_uri=server_url%2fwx%2fhtml%2fjbsq%2fhtml%2fdisease-community.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
        },
        {
            "type":"view",
            "name":"孕检计划",
            "url":"https://open.weixin.qq.com/connect/oauth2/authorize?appid=appId&redirect_uri=server_url%2fwx%2fhtml%2ffybj%2fhtml%2fyunjianjihua.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
                    "type":"click",
                    "name":"妇幼保健",
                    "key":"fuyoubaojian"
        }
	  ]
   },