From 767e25b35c688a8642c299065e4fe8421534b7df Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 03 四月 2025 17:56:12 +0800 Subject: [PATCH] 小程序接口 --- ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java | 1 ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml | 60 +++++++++++++++ ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java | 128 ++++++++++++++++++++++++++++++++ ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCustomerMapper.java | 4 + 4 files changed, 193 insertions(+), 0 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java new file mode 100644 index 0000000..399ea2e --- /dev/null +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java @@ -0,0 +1,128 @@ +package com.ltkj.web.controller.api; + +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.ltkj.common.core.domain.AjaxResult; +import com.ltkj.hosp.mapper.TjCustomerMapper; +import com.ltkj.web.controller.system.TjCheckController; +import com.ltkj.web.controller.system.TjReportController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 + * @Author: zhaowenxuan + * @Date: 2025/2/18 10:59 + */ +@RequestMapping("/api") +@RestController +public class DefaultController { + + @Autowired + private TjReportController tjReportController; + @Autowired + private TjCheckController tjCheckController; + @Autowired + private TjCustomerMapper tjCustomerMapper; + + /** + * 鎻愪緵缁欎笁鏂硅皟鐢ㄧ殑鎶ュ憡鏌ョ湅鎺ュ彛 + * @param response + * @param json + */ + @PostMapping("/viewReport") + public void viewReport(HttpServletResponse response, @RequestBody String json){ + JSONObject entries = JSONUtil.parseObj(json); + String tjNum = entries.getStr("tjNum"); + tjReportController.preview(response,true,tjNum); + } + + /** + * 鎻愪緵缁欎笁鏂硅皟鐢ㄧ殑鎶ュ憡鏁版嵁鎺ュ彛 + * @param json + * @return + */ + @PostMapping("/reportData") + public AjaxResult reportData(@RequestBody String json){ + String tjNum = JSONUtil.parseObj(json).getStr("tjNum"); + JSONObject entries = JSONUtil.parseObj(tjCheckController.updateCheckType(tjNum)); + removeNullFields(entries); + return JSONUtil.toBean(entries, AjaxResult.class); + } + + /** + * 瀵逛簬HIS鎻愪緵 + * 鏍规嵁韬唤璇佸彿鏌ヨ杩斿洖浣撴璁板綍锛氬寘鍚鍚嶃�佽韩浠借瘉鍙枫�佹�у埆銆佸嚭鐢熸棩鏈熴�佸勾榫勩�佷綋妫�鍙枫�佽仈绯荤數璇濓紝浣撴鏃ユ湡锛屾姤鍛婄姸鎬� + * @param json + * @return + */ + @PostMapping("/getInfo") + public AjaxResult getInfo(@RequestBody String json){ + JSONObject entries = JSONUtil.parseObj(json); + String card = entries.getStr("card"); +// TjCustomer customer = tjCustomerMapper.getCusInfo(card); + List<Map<String ,Object>> customer = tjCustomerMapper.getCusInfoList(card); + return AjaxResult.success(customer); + } + + /** + * 瀵逛簬灏忕▼搴忔彁渚� + * 鏍规嵁韬唤璇佸彿鏌ヨ杩斿洖浣撴璁板綍锛氬寘鍚鍚嶃�佽韩浠借瘉鍙枫�佹�у埆銆佸嚭鐢熸棩鏈熴�佸勾榫勩�佷綋妫�鍙枫�佽仈绯荤數璇濓紝浣撴鏃ユ湡锛屾姤鍛婄姸鎬� + * @param json + * @return + */ + @PostMapping("/getCusInfo") + public AjaxResult getInfoCus(@RequestBody String json){ + JSONObject entries = JSONUtil.parseObj(json); + String card = entries.getStr("card"); + String name = entries.getStr("name"); + List<Map<String ,Object>> customer = tjCustomerMapper.getCusInfoListByCardAndName(card,name); + return AjaxResult.success(customer); + } + + public static void removeNullFields(JSONObject jsonObject) { + ArrayList<String> strings = new ArrayList<>(); + strings.add("orderId"); + strings.add("updateTime"); + strings.add("orderDetailId"); + strings.add("flowingWaterId"); + strings.add("createBy"); + strings.add("deleted"); + strings.add("createTime"); + strings.add("updateBy"); + strings.add("createId"); + strings.add("prosId"); + strings.add("params"); + + List<String> keysToRemove = new ArrayList<>(); + jsonObject.forEach((key, value) -> { + if (strings.contains(key)) { + keysToRemove.add(key); + } else if (value == null) { + keysToRemove.add(key); + } else if (value instanceof JSONObject) { + removeNullFields((JSONObject) value); + } else if (value instanceof JSONArray) { + JSONArray jsonArray = (JSONArray) value; + for (Object arrayItem : jsonArray) { + if (arrayItem instanceof JSONObject) { + removeNullFields((JSONObject) arrayItem); + } + } + } + }); + for (String key : keysToRemove) { + jsonObject.remove(key); + } + } + +} diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java index 23c0d40..b4b8eeb 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java @@ -117,6 +117,7 @@ // 闈欐�佽祫婧愶紝鍙尶鍚嶈闂� .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() + .antMatchers("/api/viewReport","/api/reportData","/api/getInfo").permitAll() .antMatchers("/jmreport/**","/lis/**","/pacs/**","/callBack/**","/hosp/order/signOrderInfo").anonymous() // 闄や笂闈㈠鐨勬墍鏈夎姹傚叏閮ㄩ渶瑕侀壌鏉冭璇� .anyRequest().authenticated() diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCustomerMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCustomerMapper.java index e8a7e94..cba88aa 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCustomerMapper.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCustomerMapper.java @@ -104,4 +104,8 @@ List<Map<String, Object>> vcustomerlist(@Param("name")String name, @Param("sjh")String sjh, @Param("sfzh") String sfzh); List<TjCustomer> getcusList(TjCustomer tjCustomer); + + List<Map<String ,Object >> getCusInfoList(String card); + + List<Map<String ,Object >> getCusInfoListByCardAndName(@Param("card") String card,@Param("name") String name); } diff --git a/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml b/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml index c821a51..8fbc575 100644 --- a/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml +++ b/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml @@ -251,4 +251,64 @@ and deleted =0 </where> </select> + <select id="getCusInfoList" resultType="java.util.Map"> + SELECT + c.cus_name as name, + c.cus_idcard as card, + CASE c.cus_sex + WHEN 0 THEN '鐢�' + WHEN 1 THEN '濂�' + ELSE '鏈煡' + END AS sex, + c.cus_brithday as csrq, + o.tj_number as tjNum, + c.cus_phone as phone, + DATE_FORMAT(o.create_time, '%Y-%m-%d %H:%i:%s') as time, + TIMESTAMPDIFF(YEAR, c.cus_brithday, CURDATE()) - + CASE + WHEN MONTH(c.cus_brithday) > MONTH(CURDATE()) + OR (MONTH(c.cus_brithday) = MONTH(CURDATE()) AND DAY(c.cus_brithday) > DAY(CURDATE())) + THEN 1 + ELSE 0 + END AS age, + CASE WHEN r.re_id IS NOT NULL THEN 1 ELSE 0 END AS type +FROM + tj_order o + JOIN tj_customer c ON o.user_id = c.cus_id + LEFT JOIN tj_report r ON o.tj_number = r.tj_number +WHERE + c.cus_idcard = #{card} + ORDER BY + o.create_time DESC + </select> + <select id="getCusInfoListByCardAndName" resultType="java.util.Map"> + SELECT + c.cus_name as name, + c.cus_idcard as card, + CASE c.cus_sex + WHEN 0 THEN '鐢�' + WHEN 1 THEN '濂�' + ELSE '鏈煡' + END AS sex, + c.cus_brithday as csrq, + o.tj_number as tjNum, + c.cus_phone as phone, + DATE_FORMAT(o.create_time, '%Y-%m-%d %H:%i:%s') as time, + TIMESTAMPDIFF(YEAR, c.cus_brithday, CURDATE()) - + CASE + WHEN MONTH(c.cus_brithday) > MONTH(CURDATE()) + OR (MONTH(c.cus_brithday) = MONTH(CURDATE()) AND DAY(c.cus_brithday) > DAY(CURDATE())) + THEN 1 + ELSE 0 + END AS age, + CASE WHEN r.re_id IS NOT NULL THEN 1 ELSE 0 END AS type +FROM + tj_order o + JOIN tj_customer c ON o.user_id = c.cus_id + LEFT JOIN tj_report r ON o.tj_number = r.tj_number +WHERE + c.cus_idcard = #{card} AND c.cus_name = #{name} AND c.deleted = 0 + ORDER BY + o.create_time DESC + </select> </mapper> -- Gitblit v1.8.0