From 4df40d95fb4b61edcd48a3a0c65b1559514a3639 Mon Sep 17 00:00:00 2001 From: wangbo <184677810@qq.com> Date: Wed, 8 May 2019 16:07:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/BasicConfigServiceTest.java | 47 ++++- .../src/main/java/com/lyms/platform/pojo/Text.java | 44 ++++ .../web/controller/OrgCouponController.java | 24 +++ .../operate/web/controller/PihController.java | 67 ++++++ .../operate/web/service/OrgCouponService.java | 3 + .../web/service/impl/OrgCouponServiceImpl.java | 225 +++++++++++++++++++++ .../web/service/impl/TemporaryUserServiceImpl.java | 2 +- 7 files changed, 405 insertions(+), 7 deletions(-) create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/Text.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PihController.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index 557fc83..3805a70 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -4008,6 +4008,7 @@ public class BasicConfigServiceTest { /** * 保存承德工位乡镇机构id + * * @param fileName */ public static void saveCdgwOrg(String fileName) { @@ -4038,8 +4039,7 @@ public class BasicConfigServiceTest { //遍历每行中的每列 for (int j = 0; j < cells.length; j++) { String str = cells[j].getContents().trim(); - if (StringUtils.isEmpty(str)) - { + if (StringUtils.isEmpty(str)) { continue; } switch (j) { @@ -4074,6 +4074,7 @@ public class BasicConfigServiceTest { /** * 承德工位乡镇机构与居委会对应关系 + * * @param fileName */ public static void saveCdgwOrgJwhRe(String fileName) { @@ -4099,8 +4100,7 @@ public class BasicConfigServiceTest { //遍历每行中的每列 for (int j = 0; j < cells.length; j++) { String str = cells[j].getContents().trim(); - if (StringUtils.isEmpty(str)) - { + if (StringUtils.isEmpty(str)) { continue; } switch (j) { @@ -4137,6 +4137,40 @@ public class BasicConfigServiceTest { } + public static void Test(String fileName) { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + File file = new File(fileName); + Workbook wb = null; + try { + wb = Workbook.getWorkbook(file); + + Sheet s = wb.getSheet(0); + System.out.println(s.getName() + " : "); + int rows = s.getRows(); + if (rows > 0) { + //遍历每行 + for (int i = 1; i < rows; i++) { + System.out.println("rows=" + i); + Text pin = new Text(); + //0 健康教育之孕期相关 1 饮食 2 饮食之营养指南 3 运动 + pin.setYn("1"); + pin.setLl("15"); + pin.setLs(75); + Cell[] cells = s.getRow(i); + mongoTemplate.save(pin); + } + + } + } catch (IOException e) { + e.printStackTrace(); + } catch (BiffException e) { + e.printStackTrace(); + } + + } public static void main(String[] args) { // weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); @@ -4155,10 +4189,11 @@ public class BasicConfigServiceTest { // babyNutritionConfig("F:\\儿童营养报告\\婴幼儿体重与营养管理报告内容及规则\\儿童膳食报告文章2.xls"); //xyPresentation("E:\\血压报告.xls"); //weightReport("E:\\体重营养报告10.xls"); - renGaoZhen("G:\\妊高症风险.xls"); + //renGaoZhen("G:\\妊高症风险.xls"); + Test("G:\\text.xls"); // weightReport("E:\\体重营养报告10.xls"); // saveCdgwOrg("F:\\承德工位\\cdorg.xls"); - saveCdgwOrgJwhRe("F:\\承德工位\\承德卫生机构与居委会对应关系表.xls"); + //saveCdgwOrgJwhRe("F:\\承德工位\\承德卫生机构与居委会对应关系表.xls"); } } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/Text.java b/platform-dal/src/main/java/com/lyms/platform/pojo/Text.java new file mode 100644 index 0000000..c87a16e --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/Text.java @@ -0,0 +1,44 @@ +package com.lyms.platform.pojo; + +import org.springframework.data.mongodb.core.mapping.Document; + +@Document(collection = "lyms_text") +public class Text { + private String id; + private String yn; + private String ll; + + private Integer ls; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getYn() { + return yn; + } + + public void setYn(String yn) { + this.yn = yn; + } + + public String getLl() { + return ll; + } + + public void setLl(String ll) { + this.ll = ll; + } + + public Integer getLs() { + return ls; + } + + public void setLs(Integer ls) { + this.ls = ls; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrgCouponController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrgCouponController.java index 6f08816..b27dea2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrgCouponController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrgCouponController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.Date; import java.util.Map; @@ -39,4 +40,27 @@ public class OrgCouponController extends BaseController { "couponType", couponType, "currentPage", page, "pageSize", limit, "doctor", doctor, "key", key); return orgCouponService.orgCouponInfo(param); } + + /** + * @param request + * @param startDate + * @param endDate + * @param exportType 1 = 孕期优惠券使用统计详情导出, 2 = 产后优惠券使用统计详情导出, 3 = 儿童优惠券使用统计详情导出 + * @param response + + * @param couponType + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/coupon/info/export", method = RequestMethod.GET) + public void couponInfoExport(HttpServletRequest request, HttpServletResponse response, Date startDate, Date endDate, Integer type, + String couponType, Integer exportType) { + + String hospitalId = autoMatchFacade.getHospitalId(getUserId(request)); + Map param = CollectionUtils.createMap("userId", getUserId(request), "startDate", startDate, + "endDate", endDate != null ? DateUtil.addDay(endDate, 1) : endDate, "hospitalId", CollectionUtils.asList(hospitalId), "type", 4, + "couponType", couponType, "exportType", exportType); + orgCouponService.exportCouponInfo(param, response); + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PihController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PihController.java new file mode 100644 index 0000000..2152d65 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PihController.java @@ -0,0 +1,67 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.result.RespBuilder; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.service.PihService; +import com.lyms.platform.pojo.PihParameterModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; + + +@Controller +@RequestMapping(value = "/pih") +public class PihController extends BaseController { + + @Autowired + private PihService pihService; + + + @ResponseBody + @RequestMapping(value = "/add", method = RequestMethod.POST) + public void addPih(PihParameterModel parameterModel) { + pihService.addPih(parameterModel); + } + + + @RequestMapping(value = "/query", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse queryAllPih(String key, Integer age, Integer weekEnd, Integer weekStart, String type, Integer state, Integer page, Integer limit, HttpServletRequest request) { + return pihService.queyAll(key, weekStart, weekEnd, age, type, state, page, limit, getUserId(request)); + } + + @ResponseBody + @RequestMapping(value = "/queryInfo", method = RequestMethod.GET) + public BaseResponse query(String cardNo) { + if (StringUtils.isNotEmpty(cardNo)) { + return pihService.queryInfo(cardNo); + } + return RespBuilder.buildSuccess("请输入查询条件!"); + } + + @RequestMapping(value = "/report/{id}", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse getPinReport(@PathVariable(value = "id") String id, HttpServletRequest request) { + return pihService.getPinReport(id, getUserId(request)); + } + + protected Integer getUserId(HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + Assert.notNull(loginState, "未登录"); + return loginState.getId(); + } + + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/OrgCouponService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/OrgCouponService.java index 44d049b..a366b61 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/OrgCouponService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/OrgCouponService.java @@ -2,10 +2,13 @@ package com.lyms.platform.operate.web.service; import com.lyms.platform.common.result.BaseObjectResponse; +import javax.servlet.http.HttpServletResponse; import java.util.Map; public interface OrgCouponService extends IBaseService { BaseObjectResponse orgCouponInfo(Map param); + void exportCouponInfo(Map param, HttpServletResponse response); + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/OrgCouponServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/OrgCouponServiceImpl.java index 1a81a1b..dc6535e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/OrgCouponServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/OrgCouponServiceImpl.java @@ -10,6 +10,7 @@ import com.lyms.platform.operate.web.facade.AccessPermissionFacade; import com.lyms.platform.operate.web.service.OrgCouponService; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.utils.PageUtil; +import com.lyms.platform.operate.web.utils.ResponseUtil; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.pojo.*; import com.lyms.platform.query.SieveApplyOrderQuery; @@ -22,6 +23,7 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import org.springframework.util.Assert; +import javax.servlet.http.HttpServletResponse; import java.util.*; @Service @@ -204,6 +206,229 @@ public class OrgCouponServiceImpl extends BaseServiceImpl implements OrgCouponSe return RespBuilder.buildSuccess(pageResult); } + @Override + public void exportCouponInfo(Map param, HttpServletResponse response) { + param.put("needPage", false); + + BaseObjectResponse resp = orgCouponInfo(param); + PageResult pageResult = (PageResult) resp.getData(); + Map map = (Map) pageResult.getGrid(); + List> couponInfos = (List>) map.get("couponInfos"); + List> userSendInfos = (List>) map.get("userSendInfos"); + + /** + * 1 = 孕期优惠券使用统计详情导出 + * 2 = 产后优惠券使用统计详情导出 + * 3 = 儿童优惠券使用统计详情导出 + */ + Integer exportType = (Integer) param.get("exportType"); + +// exportPostpartum(couponInfos, response); + + /** + * 1 = 发放人数 2 = 发放券数 3 = 使用人数 4 = 使用券数 + */ + Integer type = (Integer) param.get("type"); + if (type == null) type = 4; + if (exportType == 1 && type == 1) { /** 孕期发放人数 */ + exportPregnancy(couponInfos == null ? userSendInfos : couponInfos, response); + } else if (exportType == 1) { /** 孕期使用券数 */ + exportPregnancyUsedInfo(couponInfos == null ? userSendInfos : couponInfos, response); + } else if (exportType == 2 && type == 1) { /** 产后发放统计 */ + exportPostpartumSendInfo(couponInfos == null ? userSendInfos : couponInfos, response); + } else if (exportType == 2) { /** 产后使用 */ + exportPostpartumUsedInfo(couponInfos == null ? userSendInfos : couponInfos, response); + } else if (exportType == 3 && type == 1) {/** 儿童发放 */ + exportChildSendInfo(couponInfos == null ? userSendInfos : couponInfos, response); + } else if (exportType == 3) {/** 儿童使用 */ + exportChildUsedInfo(couponInfos == null ? userSendInfos : couponInfos, response); + } + } + + private void exportPregnancy(List> userSendInfos, HttpServletResponse response) { + Map cnames = new LinkedHashMap<>(); + cnames.put("id", "#"); + cnames.put("create_date", "发放日期"); + cnames.put("username", "姓名"); + cnames.put("send_hospital", "发放机构"); + cnames.put("doctoer_name", "发放医生"); + cnames.put("residenceAddress", "居住地"); + cnames.put("householdAddress", "户籍地"); + cnames.put("phone", "联系电话"); + + List> results = new ArrayList<>(); + int i = 0; + for (Map m : userSendInfos) { + Map result = new LinkedHashMap<>(); + result.put("id", ++i); + result.put("create_date", m.get("create_date")); + result.put("username", m.get("username")); + result.put("send_hospital", m.get("send_hospital")); + result.put("doctoer_name", m.get("doctoer_name")); + result.put("householdAddress", m.get("householdAddress")); + result.put("residenceAddress", m.get("residenceAddress")); + result.put("phone", m.get("phone")); + results.add(result); + } + ResponseUtil.responseExcel(cnames, results, response); + } + + private void exportChildUsedInfo(List> data, HttpServletResponse response) { + Map cnames = new LinkedHashMap<>(); + cnames.put("id", "#"); + cnames.put("use_date", "使用日期"); + cnames.put("username", "姓名"); + cnames.put("week", "使用时间"); + cnames.put("type_desc", "优惠券"); + cnames.put("sequence_id", "优惠券号"); + cnames.put("operatorOrgName", "使用机构"); + cnames.put("doctorName", "使用医生"); + cnames.put("send_hospital", "优惠券发放机构"); + cnames.put("phone", "联系电话"); + + List> results = new ArrayList<>(); + int i = 0; + for (Map m : data) { + Map result = new LinkedHashMap<>(); + result.put("id", ++i); + result.put("use_date", m.get("use_date")); + result.put("username", m.get("username")); + result.put("week", m.get("week")); + result.put("type_desc", m.get("type_desc")); + result.put("sequence_id", m.get("sequence_id")); + result.put("operatorOrgName", m.get("operatorOrgName")); + result.put("doctorName", m.get("doctorName")); + result.put("send_hospital", m.get("send_hospital")); + result.put("phone", m.get("phone")); + results.add(result); + } + ResponseUtil.responseExcel(cnames, results, response); + } + + private void exportChildSendInfo(List> data, HttpServletResponse response) { + Map cnames = new LinkedHashMap<>(); + cnames.put("id", "#"); + cnames.put("create_date", "发放日期"); + cnames.put("username", "姓名"); + cnames.put("send_hospital", "发放机构"); + cnames.put("doctoer_name", "发放医生"); + cnames.put("residenceAddress", "居住地"); +// cnames.put("householdAddress", "户籍地"); + cnames.put("phone", "联系电话"); + + List> results = new ArrayList<>(); + int i = 0; + for (Map m : data) { + Map result = new LinkedHashMap<>(); + result.put("id", ++i); + result.put("create_date", m.get("create_date")); + result.put("username", m.get("username")); + result.put("send_hospital", m.get("send_hospital")); + result.put("doctoer_name", m.get("doctoer_name")); + result.put("residenceAddress", m.get("residenceAddress")); +// result.put("householdAddress", m.get("householdAddress")); + result.put("phone", m.get("phone")); + results.add(result); + } + ResponseUtil.responseExcel(cnames, results, response); + } + + + private void exportPostpartumUsedInfo(List> data, HttpServletResponse response) { + Map cnames = new LinkedHashMap<>(); + cnames.put("id", "#"); + cnames.put("use_date", "使用日期"); + cnames.put("username", "姓名"); + cnames.put("week", "使用时间"); + cnames.put("type_desc", "优惠券"); + cnames.put("sequence_id", "优惠券号"); + cnames.put("operatorOrgName", "使用机构"); + cnames.put("doctorName", "使用医生"); + cnames.put("send_hospital", "优惠券发放机构"); + cnames.put("phone", "联系电话"); + + List> results = new ArrayList<>(); + int i = 0; + for (Map m : data) { + Map result = new LinkedHashMap<>(); + result.put("id", ++i); + result.put("phone", m.get("phone")); + result.put("use_date", m.get("use_date")); + result.put("username", m.get("username")); + result.put("week", m.get("week")); + result.put("type_desc", m.get("type_desc")); + result.put("sequence_id", m.get("sequence_id")); + result.put("operatorOrgName", m.get("operatorOrgName")); + result.put("doctorName", m.get("doctorName")); + result.put("send_hospital", m.get("send_hospital")); + result.put("phone", m.get("phone")); + results.add(result); + } + ResponseUtil.responseExcel(cnames, results, response); + } + + private void exportPostpartumSendInfo(List> data, HttpServletResponse response) { + Map cnames = new LinkedHashMap<>(); + cnames.put("id", "#"); + cnames.put("create_date", "发放日期"); + cnames.put("username", "姓名"); + cnames.put("send_hospital", "发放机构"); + cnames.put("doctoer_name", "发放医生"); + cnames.put("residenceAddress", "居住地"); + cnames.put("householdAddress", "户籍地"); + cnames.put("phone", "联系电话"); + + List> results = new ArrayList<>(); + int i = 0; + for (Map m : data) { + Map result = new LinkedHashMap<>(); + result.put("id", ++i); + result.put("create_date", m.get("create_date")); + result.put("username", m.get("username")); + result.put("send_hospital", m.get("send_hospital")); + result.put("doctoer_name", m.get("doctoer_name")); + result.put("residenceAddress", m.get("residenceAddress")); + result.put("householdAddress", m.get("householdAddress")); + result.put("phone", m.get("phone")); + results.add(result); + } + ResponseUtil.responseExcel(cnames, results, response); + } + + private void exportPregnancyUsedInfo(List> data, HttpServletResponse response) { + Map cnames = new LinkedHashMap<>(); + cnames.put("id", "#"); + cnames.put("use_date", "使用日期"); + cnames.put("username", "姓名"); + cnames.put("week", "使用孕周"); + cnames.put("number", "产检第次"); + cnames.put("type_desc", "优惠券"); + cnames.put("sequence_id", "优惠券号"); + cnames.put("operatorOrgName", "使用机构"); + cnames.put("doctorName", "使用医生"); + cnames.put("send_hospital", "优惠券发放机构"); + cnames.put("phone", "联系电话"); + + List> results = new ArrayList<>(); + int i = 0; + for (Map m : data) { + Map result = new LinkedHashMap<>(); + result.put("id", ++i); + result.put("use_date", m.get("use_date")); + result.put("username", m.get("username")); + result.put("week", m.get("week")); + result.put("number", m.get("number")); + result.put("type_desc", m.get("type_desc")); + result.put("sequence_id", m.get("sequence_id")); + result.put("operatorOrgName", m.get("operatorOrgName")); + result.put("doctorName", m.get("doctorName")); + result.put("send_hospital", m.get("send_hospital")); + result.put("phone", m.get("phone")); + results.add(result); + } + ResponseUtil.responseExcel(cnames, results, response); + } + private void setUsedInfo(Integer type, String usedId, String sequence_id, Date useDate, String operatorUserId, Map map) { Date checkDate = null; /** 产检日期 */ diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryUserServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryUserServiceImpl.java index a6760a1..a8af5ad 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryUserServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryUserServiceImpl.java @@ -2,7 +2,6 @@ package com.lyms.platform.operate.web.service.impl; import com.lyms.platform.biz.dal.ITemporaryUserDao; import com.lyms.platform.biz.service.BasicConfigService; -import com.lyms.platform.biz.service.CommonService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.HisptialRiskTypeEnum; import com.lyms.platform.common.result.BaseObjectResponse; @@ -60,6 +59,7 @@ public class TemporaryUserServiceImpl extends BaseServiceImpl implements ITempor TemporaryUserModel temporaryUserModels = mongoTemplate.findOne(Query.query(criteria), TemporaryUserModel.class); if (temporaryUserModels != null) { temporaryUser.setModified(new Date()); + // temporaryUser.setYn("1"); temporaryUser.setBirth(DateUtil.parseYMD(temporaryUser.getBirthday())); temporaryUser.setLastMenses(DateUtil.parseYMD(temporaryUser.getLastMenstrualPeriod())); -- 1.8.3.1