Browse Source

修改定时获取待结账数据接口,修改查询待结账接口,修改待结账导出接口

liu 1 year ago
parent
commit
c50946b880

+ 2 - 2
src/main/java/com/template/api/HouseOrderAPI.java

@@ -65,11 +65,11 @@ public interface HouseOrderAPI {
 
     @GetMapping("/reportStatistics")
     @ApiOperation(value = "统计报表", notes = "统计报表", httpMethod = "GET")
-    CommonResult reportStatistics(String permissionSettingId, String state, String keyWord, String startTime, String endTime, int page, int size);
+    CommonResult reportStatistics(String permissionSettingId, String state, String keyWord, String startTime, String endTime, int page, int size,String dateBill);
 
     @GetMapping("/reportStatisticsExport")
     @ApiOperation(value = "统计报表导出", notes = "统计报表导出", httpMethod = "GET")
-    void reportStatisticsExport(HttpServletResponse response,String permissionSettingId, String state, String keyWord, String startTime, String endTime);
+    void reportStatisticsExport(HttpServletResponse response,String permissionSettingId, String state, String keyWord, String startTime, String endTime,String dateBill);
 
 
     @GetMapping("/orderPage")

+ 40 - 20
src/main/java/com/template/controller/HouseOrderController.java

@@ -1790,7 +1790,7 @@ public class HouseOrderController implements HouseOrderAPI {
     }
 
     @Override
-    public CommonResult reportStatistics(String permissionSettingId, String state, String keyWord, String startTime, String endTime, int page, int size) {
+    public CommonResult reportStatistics(String permissionSettingId, String state, String keyWord, String startTime, String endTime, int page, int size,String dateBill) {
         PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
         if (ObjectUtils.isEmpty(permissionSetting)) {
             return CommonResult.fail("非法进入");
@@ -1813,7 +1813,7 @@ public class HouseOrderController implements HouseOrderAPI {
             s = "5";
         }
 
-        PageUtils<ReportStatisticsVo> pageUtils = houseOrderService.reportStatisticsPage(s, keyWord, startTime, endTime, page, size);
+        PageUtils<ReportStatisticsVo> pageUtils = houseOrderService.reportStatisticsPage(s, keyWord, startTime, endTime, page, size,dateBill);
 
         return CommonResult.ok(pageUtils);
 
@@ -1821,7 +1821,7 @@ public class HouseOrderController implements HouseOrderAPI {
     }
 
     @Override
-    public void reportStatisticsExport(HttpServletResponse response, String permissionSettingId, String state, String keyWord, String startTime, String endTime) {
+    public void reportStatisticsExport(HttpServletResponse response, String permissionSettingId, String state, String keyWord, String startTime, String endTime,String dateBill) {
 //        PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
 //        if (ObjectUtils.isEmpty(permissionSetting)) {
 //            return CommonResult.fail("非法进入");
@@ -1844,14 +1844,13 @@ public class HouseOrderController implements HouseOrderAPI {
             s = "5";
         }
 
-        List<ReportStatisticsExportVo> vos = houseOrderService.reportStatisticsExport(s, keyWord, startTime, endTime);
+        List<ReportStatisticsExportVo> vos = houseOrderService.reportStatisticsExport(s, keyWord, startTime, endTime,dateBill);
 
         //        导出
         Workbook workbook = new XSSFWorkbook();
         Sheet sheet = workbook.createSheet("报表统计");
         Row headerRow = sheet.createRow(0);
         headerRow.createCell(0).setCellValue("序号");
-        headerRow.createCell(1).setCellValue("订单编号");
         headerRow.createCell(2).setCellValue("入住人");
         headerRow.createCell(3).setCellValue("部门");
         headerRow.createCell(4).setCellValue("职工卡号");
@@ -1866,6 +1865,7 @@ public class HouseOrderController implements HouseOrderAPI {
 
         if (ObjectUtils.isNotEmpty(vos) && vos.size() > 0) {
             if ("5".equals(s)) {
+                headerRow.createCell(1).setCellValue("账期");
                 headerRow.createCell(11).setCellValue("订单详情");
                 //水:2.1元/吨,电:0.62元/度
                 BigDecimal waterPrice = new BigDecimal(2.1);
@@ -1882,7 +1882,7 @@ public class HouseOrderController implements HouseOrderAPI {
                     Row dataRow1 = sheet.createRow(i + 1);
 
                     dataRow1.createCell(0).setCellValue(i + 1);
-                    dataRow1.createCell(1).setCellValue(vo.getOrderNumber());
+                    dataRow1.createCell(1).setCellValue(vo.getDateBill());
                     dataRow1.createCell(2).setCellValue(vo.getLiveName());
 //                房型是房间名称加房间类型
                     String roomName = vo.getRoomName();
@@ -1977,6 +1977,7 @@ public class HouseOrderController implements HouseOrderAPI {
 
 
             } else {
+                headerRow.createCell(1).setCellValue("订单编号");
                 for (int i = 0; i < vos.size(); i++) {
                     ReportStatisticsExportVo vo = vos.get(i);
                     Row dataRow1 = sheet.createRow(i + 1);
@@ -3851,23 +3852,35 @@ public class HouseOrderController implements HouseOrderAPI {
     public static void main(String[] args) throws Exception {
 //        获取签名
         //        随机字符串
-        String nonceStr = WxUtil.getWxNonceStr();
-        // 时间戳
-        long timestamp = System.currentTimeMillis() / 1000;
-//        构造签名串
-        String qmc = "GET" + "\n"
-                + "/v3/pay/transactions/h5" + "\n"
-                + timestamp + "\n"
-                + nonceStr + "\n";
-//      使用商户私钥对待签名串进行SHA256 with RSA签名,并对签名结果进行Base64编码得到签名值
-        Signature sign = Signature.getInstance("SHA256withRSA");
-//        sign.initSign(privateKey);
-//        sign.update(qmc.getBytes());
-        String signature = RSATest.sign("KReLfbAgGZKc3slfEW9Jnhn7RLKqyrGF", qmc);
-        System.out.println("signature = " + signature);
+//        String nonceStr = WxUtil.getWxNonceStr();
+//        // 时间戳
+//        long timestamp = System.currentTimeMillis() / 1000;
+////        构造签名串
+//        String qmc = "GET" + "\n"
+//                + "/v3/pay/transactions/h5" + "\n"
+//                + timestamp + "\n"
+//                + nonceStr + "\n";
+////      使用商户私钥对待签名串进行SHA256 with RSA签名,并对签名结果进行Base64编码得到签名值
+//        Signature sign = Signature.getInstance("SHA256withRSA");
+////        sign.initSign(privateKey);
+////        sign.update(qmc.getBytes());
+//        String signature = RSATest.sign("KReLfbAgGZKc3slfEW9Jnhn7RLKqyrGF", qmc);
+//        System.out.println("signature = " + signature);
 //        String a="第一个订单"+"\n"+"第二个订单";
 //        System.out.println(a);
 
+        DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM");
+
+//        计算上个免费的订单
+        LocalDateTime end = LocalDateTime.now().withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0);
+        LocalDateTime start = end.minusMonths(1);
+
+        String dateBill=start.toLocalDate().format(dateTimeFormatter2);
+        String dateBill2=start.format(dateTimeFormatter2);
+        System.out.println("dateBill = " + dateBill);
+        System.out.println("dateBill2 = " + dateBill2);
+
     }
 
     /**
@@ -4056,11 +4069,15 @@ public class HouseOrderController implements HouseOrderAPI {
 //        electric = electric.multiply(electricPrice);
 
         DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM");
 
 //        计算上个免费的订单
         LocalDateTime end = LocalDateTime.now().withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0);
         LocalDateTime start = end.minusMonths(1);
 
+        String dateBill=start.toLocalDate().format(dateTimeFormatter2);
+
+
         LambdaQueryWrapper<HouseOrder> wrapper = new LambdaQueryWrapper<>();
         wrapper.between(HouseOrder::getLeaveTime, start, end)
                 .eq(HouseOrder::getPayPrice, 0)
@@ -4173,6 +4190,9 @@ public class HouseOrderController implements HouseOrderAPI {
                 houseOrder.setLeaveTime(Date.from(end.atZone(ZoneId.systemDefault()).toInstant()));
                 houseOrder.setHouseOrderSource(houseOrderSource);
 
+//                结账日期
+                houseOrder.setDateBill(dateBill);
+
                 houseOrders.add(houseOrder);
             }
 

+ 2 - 2
src/main/java/com/template/mapper/HouseOrderMapper.java

@@ -36,9 +36,9 @@ public interface HouseOrderMapper extends BaseMapper<HouseOrder> {
 
     HouseOrderCheckInShowVo getOrderNumber(@Param("orderNumber") String orderNumber);
 
-    IPage<ReportStatisticsVo> reportStatisticsPage(Page<ReportStatisticsVo> pageVo,@Param("s") String s,@Param("keyWord") String keyWord,@Param("startTime") String startTime,@Param("endTime") String endTime);
+    IPage<ReportStatisticsVo> reportStatisticsPage(Page<ReportStatisticsVo> pageVo,@Param("s") String s,@Param("keyWord") String keyWord,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("dateBill") String dateBill);
 
-    List<ReportStatisticsExportVo> reportStatisticsExport(@Param("s") String s,@Param("keyWord") String keyWord,@Param("startTime") String startTime,@Param("endTime") String endTime);
+    List<ReportStatisticsExportVo> reportStatisticsExport(@Param("s") String s,@Param("keyWord") String keyWord,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("dateBill") String dateBill);
 
     List<String> payHouseOrderUser(@Param("start") LocalDateTime start,@Param("end") LocalDateTime end);
 

+ 3 - 0
src/main/java/com/template/model/pojo/HouseOrder.java

@@ -139,6 +139,9 @@ public class HouseOrder implements Serializable {
     @ApiModelProperty(value = "免费订单来源id,1.课表,2.流程管理")
     private String sourceId;
 
+    @ApiModelProperty(value = "账单日期")
+    private String dateBill;
+
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     private String createTime;

+ 3 - 0
src/main/java/com/template/model/vo/ReportStatisticsExportVo.java

@@ -42,4 +42,7 @@ public class ReportStatisticsExportVo {
 
     @ApiModelProperty(value = "订单来源:多个用,隔开")
     private String houseOrderSource;
+
+    @ApiModelProperty(value = "账单日期")
+    private String dateBill;
 }

+ 3 - 0
src/main/java/com/template/model/vo/ReportStatisticsVo.java

@@ -109,4 +109,7 @@ public class ReportStatisticsVo {
 
     private String roomName;
 
+    @ApiModelProperty(value = "账单日期")
+    private String dateBill;
+
 }

+ 2 - 2
src/main/java/com/template/services/HouseOrderService.java

@@ -46,9 +46,9 @@ public interface HouseOrderService extends IService<HouseOrder> {
 
     HouseOrderCheckInShowVo getOrderNumbre(String orderNumber);
 
-    PageUtils<ReportStatisticsVo> reportStatisticsPage(String s, String keyWord, String startTime, String endTime, int page, int size);
+    PageUtils<ReportStatisticsVo> reportStatisticsPage(String s, String keyWord, String startTime, String endTime, int page, int size,String dateBill);
 
-    List<ReportStatisticsExportVo> reportStatisticsExport(String s, String keyWord, String startTime, String endTime);
+    List<ReportStatisticsExportVo> reportStatisticsExport(String s, String keyWord, String startTime, String endTime,String dateBill);
 
     List<String> payHouseOrderUser(LocalDateTime start, LocalDateTime end);
 

+ 4 - 4
src/main/java/com/template/services/impl/HouseOrderServziceImpl.java

@@ -482,15 +482,15 @@ public class HouseOrderServziceImpl extends ServiceImpl<HouseOrderMapper, HouseO
     }
 
     @Override
-    public PageUtils<ReportStatisticsVo> reportStatisticsPage(String s, String keyWord, String startTime, String endTime, int page, int size) {
+    public PageUtils<ReportStatisticsVo> reportStatisticsPage(String s, String keyWord, String startTime, String endTime, int page, int size,String dateBill) {
         Page<ReportStatisticsVo> pageVo = new Page<>(page, size);
-        IPage<ReportStatisticsVo> result = houseOrderMapper.reportStatisticsPage(pageVo, s, keyWord, startTime, endTime);
+        IPage<ReportStatisticsVo> result = houseOrderMapper.reportStatisticsPage(pageVo, s, keyWord, startTime, endTime,dateBill);
         return new PageUtils(result);
     }
 
     @Override
-    public List<ReportStatisticsExportVo> reportStatisticsExport(String s, String keyWord, String startTime, String endTime) {
-        return houseOrderMapper.reportStatisticsExport(s, keyWord, startTime, endTime);
+    public List<ReportStatisticsExportVo> reportStatisticsExport(String s, String keyWord, String startTime, String endTime,String dateBill) {
+        return houseOrderMapper.reportStatisticsExport(s, keyWord, startTime, endTime,dateBill);
     }
 
     @Override

+ 1 - 1
src/main/resources/application.yml

@@ -5,7 +5,7 @@ server:
 
 spring:
   profiles:
-      active: dev
+      active: test
   main:
     allow-circular-references: true
   servlet:

+ 10 - 2
src/main/resources/mapper/template/HouseOrderMapper.xml

@@ -273,7 +273,8 @@
         ho.create_time as createTime,
         hn.room_number AS roomNumber,
         h.room_type AS roomType,
-        h.room_name as roomName
+        h.room_name as roomName,
+        ho.date_bill as dateBill
         FROM
         `house_order` ho
         LEFT JOIN house_number hn on ho.house_number_id=hn.id
@@ -290,6 +291,9 @@
         <if test="keyWord != null and keyWord != ''">
             AND ( ho.order_number LIKE '%' #{keyWord} '%' or ho.live_name LIKE '%' #{keyWord} '%' )
         </if>
+        <if test="dateBill != null and dateBill != ''">
+            AND ho.date_bill = #{dateBill}
+        </if>
         ORDER BY ho.create_time DESC
     </select>
 
@@ -306,7 +310,8 @@
         ho.pay_time as payTime,
         ho.order_status as orderStatus,
         ho.create_time as createTime,
-        ho.house_order_source as houseOrderSource
+        ho.house_order_source as houseOrderSource,
+        ho.date_bill as dateBill
         FROM
         `house_order` ho
         LEFT JOIN house_number hn on ho.house_number_id=hn.id
@@ -323,6 +328,9 @@
         <if test="keyWord != null and keyWord != ''">
             AND ( ho.order_number LIKE '%' #{keyWord} '%' or ho.live_name LIKE '%' #{keyWord} '%' )
         </if>
+        <if test="dateBill != null and dateBill != ''">
+            AND ho.date_bill = #{dateBill}
+        </if>
         ORDER BY ho.create_time DESC
 
     </select>