Parcourir la source

医保局二期护理计划安排时区问题修复

fyz il y a 5 mois
Parent
commit
40e7895da0

+ 22 - 5
mjava-yibaoju/src/main/java/com/malk/yibaoju/controller/YBJController.java

@@ -370,6 +370,16 @@ public class YBJController {
         return McR.success(ybjService.boardQuery(data));
     }
 
+    /**
+     * 护理地图点击护理机构查询
+     * @param data 护理计划看板筛选条件
+     * @return
+     */
+    @PostMapping("mapQuery")
+    McR mapQuery(@RequestBody Map<String,Object> data) {
+        return McR.success(ybjService.mapQuery(data));
+    }
+
     /**
      * 看板和地图获取去重的过滤条件
      * @param column
@@ -457,9 +467,11 @@ public class YBJController {
      * @param
      */
     @PostMapping("deleteCarePlan")
-    void breakPersonUpdate(HttpServletRequest request) {
-        Map data = UtilServlet.getParamMap(request);
-        ybjService.breakPersonUpdate(data);
+    void breakPersonUpdate(String card) {
+//        Map data = UtilServlet.getParamMap(request);
+        Map<String, Object> map = new HashMap<>();
+        map.put("card",card);
+        ybjService.breakPersonUpdate(map);
     }
 
     /**
@@ -468,8 +480,13 @@ public class YBJController {
      * @param response 响应头
      * @param request  请求头
      */
-    @PostMapping("exportExecl")
-    void exportAttendance(@RequestBody Map<String,Object> data, HttpServletResponse response, HttpServletRequest request) {
+    @PostMapping("execlExport")
+    void execlExport(@RequestBody Map<String,Object> data, HttpServletResponse response, HttpServletRequest request) {
         ybjService.execlExport(data,response,request);
     }
+
+    @PostMapping("testLocalDate")
+    void testLocalDate(){
+        ybjService.testLocalDate();
+    }
 }

+ 3 - 0
mjava-yibaoju/src/main/java/com/malk/yibaoju/service/YBJService.java

@@ -133,4 +133,7 @@ public interface YBJService {
      * @return
      */
     IPage<Plan> boardQuery(Map<String, Object> data);
+
+    IPage<Plan> mapQuery(Map<String, Object> data);
+    void testLocalDate();
 }

+ 63 - 96
mjava-yibaoju/src/main/java/com/malk/yibaoju/service/impl/YBJServiceImpl.java

@@ -38,14 +38,13 @@ import java.sql.*;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.time.format.TextStyle;
 import java.time.temporal.TemporalAdjusters;
 import java.util.Date;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static java.lang.Integer.parseInt;
-
 
 @Service
 @Slf4j
@@ -1104,103 +1103,30 @@ public class YBJServiceImpl implements YBJService {
         if (data.isEmpty()){
             return;
         }
-        List<Plan> records = boardQuery(data).getRecords();
+        QueryWrapper<Plan> planQuery = new QueryWrapper<>();
+        data.forEach((k,v)->{
+            if (k.equals("date_between")){
+                Map<String,Object> formInstId = (Map<String,Object>) data.get("date_between");
+                planQuery.ge("care_start_time",formInstId.get("start"));
+                planQuery.le("care_start_time",formInstId.get("end"));
+            }else{
+                planQuery.eq(k,v);
+            }
+        });
+        planQuery.eq("is_delete",0);
+        planQuery.orderByAsc("care_start_time");
+//        List<Plan> records = boardQuery(data).getRecords();
+        List<Plan> records = planMapper.selectList(planQuery);
         if (ArrayUtil.isNotEmpty(records)){
             log.info("records:{}",records.toString());
         }
-        String formInstId = data.get("formInstId").toString();
-        log.info("已获取流程实例ID为:{}",data.get("formInstId").toString());
-        // 动态表头模板导出
-        Map formData = ydClient.queryData(YDParam.builder()
-                        .appType("APP_ERBDTFS82HOVBPL3NFH0")
-                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
-                        .formInstanceId(formInstId)
-                        .build(),
-                YDConf.FORM_QUERY.retrieve_id).getFormData();
-        log.info("formData:{}",formData);
-        //获取主表字段
-        final String[] keys = {""};
-        final String[] valuses = {""};
-        formData.forEach((k,v)->{
-            if (!k.toString().equals("pageSection_lr3gzi9i") && !k.toString().equals("pageSection_ltxyt76g")){
-                keys[0] = keys[0] + k + ", ";
-                valuses[0] = valuses[0] + v.toString() + ", ";
-            }
-        });
-        Map<String, String> dataMain = UtilMap.map(keys[0], valuses[0]);
-        log.info("dataMain:{}",dataMain);
+
         //获取订单日期
-        long dateFiled = Long.parseLong(formData.get("dateField_lr26l3h2").toString());
-        if (ObjectUtil.isNotEmpty(dateFiled)){
-            String dateStr = DateUtil.date(dateFiled).toString("yyyy-MM-dd");
-            dataMain.put("dateField_lr26l3h2",dateStr);
-        }
-        //获取供应商名称
-        String association = formData.get("associationFormField_lr26l3he_id").toString();
-        log.info(association);
-        if (ObjectUtil.isNotEmpty(association)){
-            association = JSON.parse(association).toString();
-            JSONArray jsonArray = JSON.parseArray(association);
-            JSONObject jsonObject = (JSONObject) jsonArray.get(0);
-            String title = jsonObject.get("title").toString();
-            dataMain.put("title",title);
-        }
+
         //获取文件标题
-        String fileName = dataMain.get("textField_lr26y1io") + dataMain.get("textField_lz2fk0wc") + "采购订单";
-
-        List<Map> dataList = ydService.queryDetails(YDParam.builder().
-                appType("APP_ERBDTFS82HOVBPL3NFH0")
-                .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
-                .formInstanceId(formInstId)
-                .formUuid("FORM-61F329A9DFFE4CF0BBEC0FDC34C42C03QJKQ")
-                //测试
-//                .formUuid("FORM-44AF067BF733464F8431620612726615RNNV")
-                .tableFieldId("tableField_ltxyt76f")
-                .build());
-        log.info("dataList1:{}",dataList);
-        for (int i = 0; i < dataList.size(); i++) {
-            dataList.get(i).put("row",i+1);
-            String person = dataList.get(i).get("textField_lu2gzzab").toString();
-            String phone = dataList.get(i).get("textField_lu2gzzac").toString();
-            final String[] address = {""};
-            if (ObjectUtil.isNotNull(dataList.get(i).get("addressField_m1mxnnno"))){
-                Object parse = JSON.parse(dataList.get(i).get("addressField_m1mxnnno").toString());
-                JSONObject jsonObject = (JSONObject) parse;
-                JSONArray jsonArray = JSON.parseArray(jsonObject.get("regionText").toString());
-                jsonArray.forEach(e->{
-                    JSONObject object = (JSONObject) e;
-                    String zhCn = object.get("zh_CN").toString();
-                    address[0]  =  address[0] + zhCn + "/";
-                });
-                String substring = address[0].substring(0, address[0].length() - 1);
-                dataList.get(i).put("addressField_m1mxnnno",substring);
-            }
-            String information = person + " " + phone;
-            dataList.get(i).put("information",information);
-        }
-        log.info("dataList:{}",dataList);
-        String text = "一、订单说明:\n" +
-                "1.供应商需按订单内容,向采购方按时、按量提供质量合格的商品(如一张订单分多次送货的,将以末次送货时间作为该订单的送货时间)。\n" +
-                "2.供应商配送物品与订单不符,采购方接收人有权拒收、要求换货或给与相应的赔偿。\n" +
-                "3.供应商未按订单约定时间配送物品,需按照订单总价的5%作为单日违约金,按照延迟天数向采购方支付。\n" +
-                "4.供应商送货时,需向采购方接收人提供供应商送货签收单据的客户联,采购方将作为付款的书面依据留存。\n" +
-                "5.供应商完成物品配送后,5个工作日内需向采购方提交与订单内容相符的增值税专用发票。\n" +
-                "6.采购方在收到供应商提供的与订单相符的物品及相应发票和单据后,将按照双方约定的付款周期支付货款。\n" +
-                "7.采购方以传真和邮件方式,向供应商提供《采购订单》;供应商接收《采购订单》后,需以传真或邮件方式进行签收。\n" +
-                "8.采购方以供应商传真或邮件签收,作为该《采购订单》正式履行的依据。\n" +
-                "9.采购订单作为供需双方的日常业务办理依据,双方合作的相关法律依据以双方签订的合作协议为准。\n" +
-                "10.严禁除采购以外的任何人员直接向供应商订购物资,如供应商在未收到采购订单的情况下进行物资配送,采购一律不予结算该账款。\n" +
-                "严禁供应商向除采购方以外的任何第三方泄露采购单价,造成采购方名誉、信誉、财产的一切损失将由供应商承担。\n" +
-                "二、备注:采购订单敲章后与发票一起寄回,以便后期确认。\n" +
-                "发票寄送地址:上海市宝山区双城路803弄宝莲城9号楼27层\n" +
-                "联系人:浦水菊  联系电话:60671366  转 828";
-        dataMain.put("text",text);
-        int numSum = dataList.stream().mapToInt(e -> e.get("numberField_ltxyt75z").toString().equals("") ? 0 : parseInt(e.get("numberField_ltxyt75z").toString())).sum();
-        Double sumTotal = dataList.stream().mapToDouble(e -> e.get("numberField_ltxyt764").toString().equals("") ? 0 : Double.parseDouble(e.get("numberField_ltxyt764").toString())).sum();
-        dataMain.put("num_sum",String.valueOf(numSum));
-        dataMain.put("sum_total",String.valueOf(sumTotal));
-
-        UtilExcel.exportMapAndListByTemplate(response, dataMain, dataList, Map.class, fileName, "Template.xlsx");
+        String fileName = data.get("caregiver_department").toString() + data.get("care_date_text") + "护理计划";
+
+        UtilExcel.exportMapAndListByTemplate(response, null, records, Plan.class, fileName, "Template.xlsx");
     }
 
     @Override
@@ -1225,6 +1151,44 @@ public class YBJServiceImpl implements YBJService {
         return planMapper.selectPage(planPage, planQuery);
     }
 
+    @Override
+    public IPage<Plan> mapQuery(Map<String, Object> data) {
+        QueryWrapper<Plan> planQuery = new QueryWrapper<>();
+        IPage<Plan> planPage = new Page<>();
+        data.forEach((k,v)->{
+            if (k.equals("currentPage")){
+                planPage.setCurrent(Long.parseLong(v.toString()));
+            } else if (k.equals("pageSize")) {
+                planPage.setSize(Long.parseLong(v.toString()));
+            } else if (k.equals("date_between")){
+                Map<String,Object> formInstId = (Map<String,Object>) data.get("date_between");
+                planQuery.ge("care_start_time",formInstId.get("start"));
+                planQuery.le("care_start_time",formInstId.get("end"));
+            }else{
+                planQuery.eq(k,v);
+            }
+        });
+        planQuery.eq("is_delete",0);
+        planQuery.isNotNull("clock_in_date");
+        planQuery.isNull("clock_out_date");
+        planQuery.orderByAsc("care_start_time");
+        return planMapper.selectPage(planPage, planQuery);
+    }
+
+    @Override
+    public void testLocalDate() {
+
+        // 创建一个 LocalDate 对象,表示 2025-01-09
+        LocalDate localDate = LocalDate.of(2025, 1, 9);
+        // 输出 LocalDate 对象的值
+        log.info("LocalDate: " + localDate);
+
+        // 获取并输出 day of month
+        int dayOfMonth = localDate.getDayOfMonth();
+        log.info("Day of Month: " + dayOfMonth);
+
+    }
+
     /**
      * 定时任务同步数据库到宜搭
      */
@@ -1415,10 +1379,13 @@ public class YBJServiceImpl implements YBJService {
         List<Map> mapList = (List<Map>) formData.get("tableField_lo3pmohx");
         Connection connection = null;
         //获取当前日期是本月几号
-        int dayOfMonth = currentDate.getDayOfMonth();
+        LocalDateTime now = LocalDateTime.now();
+        int dayOfMonth = now.getDayOfMonth();
+//        log.info("currentDate:{}",currentDate);
+        log.info("now:{}",now);
         log.info("dayOfMonth:{}",dayOfMonth);
         //获取本月天数
-        int daysInMonth = currentDate.lengthOfMonth();
+        int daysInMonth = now.toLocalDate().lengthOfMonth();
         log.info("daysInMonth:{}",daysInMonth);
 
         try {

BIN
mjava-yibaoju/src/main/resources/templates/Template.xlsx


+ 3 - 1
mjava/src/main/java/com/malk/utils/UtilExcel.java

@@ -242,7 +242,9 @@ public class UtilExcel {
         FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
         // 先单组数据填充,再多组数据填充
         workBook.fill(dataList, fillConfig, sheet);
-        workBook.fill(dataMain, sheet);
+        if (ObjectUtil.isNotNull(dataMain)){
+            workBook.fill(dataMain, sheet);
+        }
         workBook.finish();
     }