Jelajahi Sumber

feature: 下载优化医院后台接口

wuyongyi 2 tahun lalu
induk
melakukan
e80b863e64

+ 9 - 9
src/main/java/com/ywt/mg/services/AuthService.java

@@ -65,8 +65,8 @@ public class AuthService {
 
     public int getCurrentAdminId() {
         int adminId = WebAppContext.current().getAdminId();
-        return adminId > 0 ? adminId : 1;
-//        return adminId ;
+//        return adminId > 0 ? adminId : 1;
+        return adminId ;
     }
 
     public MGAdmins getCurrentAdmin() {
@@ -75,21 +75,21 @@ public class AuthService {
 
     public int getCurrentHospitalId() {
         int hospitalId = WebAppContext.current().getHospitalId();
-        return hospitalId > 0 ? hospitalId : 41;
-//        return hospitalId;
+//        return hospitalId > 0 ? hospitalId : 41;
+        return hospitalId;
     }
 
     public int getCurrentPharmacyId() {
         int pharmacyId = WebAppContext.current().getPharmacyId();
-        return pharmacyId > 0 ? pharmacyId : 1;
-//        return pharmacyId ;
+//        return pharmacyId > 0 ? pharmacyId : 1;
+        return pharmacyId ;
     }
 
     public int getCurrentEnterpriseId() {
         int enterpriseId = WebAppContext.current().getEnterpriseId();
-        return enterpriseId > 0 ? enterpriseId : 1;
-//        return enterpriseId ;
-    }
+//        return enterpriseId > 0 ? enterpriseId : 1;
+        return enterpriseId ;
+    } 
 
 
     public Hospital getCurrentHospitalByCache() {

+ 1 - 1
src/main/java/com/ywt/mg/web/controllers/CheckUpOrderController.java

@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
 @MGRight
 public class CheckUpOrderController {
 
-    private static Logger logger = LoggerFactory.getLogger(DepositController.class);
+    private static Logger logger = LoggerFactory.getLogger(CheckUpOrderController .class);
 
     @Autowired
     private IdGenerator idGenerator;

+ 5 - 5
src/main/java/com/ywt/mg/web/controllers/RegisteredOrderController.java

@@ -41,11 +41,11 @@ public class RegisteredOrderController {
 //        int currentAdminId = Checker.getIntegerValue(authService.getCurrentAdminId());
 //        request.setCurrentAdminId(currentAdminId);
         // 插入记录
-        int hospital = 0;
-        if(request.getHospitalId() > 0){
-            hospital = authService.getCurrentHospitalId();
-        }
-        request.setHospitalId(hospital);
+//        int hospital = 0;
+//        if(request.getHospitalId() > 0){
+//            hospital = authService.getCurrentHospitalId();
+//        }
+//        request.setHospitalId(hospital);
         int downloadRecordId = idGenerator.genDownloadRecordId();
         String name = "公司后台-订单管理-挂号订单";
         String fileName = "挂号订单记录";

+ 68 - 0
src/main/java/com/ywt/mg/web/controllers/hospital/HospCheckUpOrderController.java

@@ -0,0 +1,68 @@
+package com.ywt.mg.web.controllers.hospital;
+
+import com.ywt.mg.core.MGRight;
+import com.ywt.mg.core.utils.Checker;
+import com.ywt.mg.core.utils.serializers.JsonSerializer;
+import com.ywt.mg.domain.models.ConstantDef;
+import com.ywt.mg.params.checkupBooking.QueryCheckUpOrderListRequest;
+import com.ywt.mg.services.AuthService;
+import com.ywt.mg.services.CheckUpOrderService;
+import com.ywt.mg.services.DownloadRecordService;
+import com.ywt.mg.services.IdGenerator;
+import com.ywt.mg.web.BaseResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController("/hosp/checkUp")
+@RequestMapping({"/hosp/checkUp"})
+@MGRight
+public class HospCheckUpOrderController {
+
+    private static Logger logger = LoggerFactory.getLogger(HospCheckUpOrderController.class);
+
+    @Autowired
+    private IdGenerator idGenerator;
+
+    @Autowired
+    private DownloadRecordService downloadRecordService;
+
+    @Autowired
+    private AuthService authService;
+
+    @Autowired
+    private CheckUpOrderService checkUpOrderService;
+
+
+    @RequestMapping({"/downloadCheckUpOrderList"})
+    public BaseResponse downloadDepositList(QueryCheckUpOrderListRequest request) {
+        int currentAdminId = Checker.getIntegerValue(authService.getCurrentAdminId());
+//        request.setCurrentAdminId(currentAdminId);
+        // 插入记录
+        Integer hospital = 0;
+        String hosp = "";
+//        if(request.getHosp()> 0){
+            hospital = authService.getCurrentHospitalId();
+            hosp = hospital.toString();
+            request.setHospitalId(hosp);
+//        }
+        int downloadRecordId = idGenerator.genDownloadRecordId();
+        String name = "医院后台-订单管理-体检缴费";
+        String fileName = "体检缴费列表";
+        String excelSuffixFormat = ConstantDef.EXCEL_SUFFIX_FORMAT;
+        String paramUrl = "/checkUp/downloadCheckUpOrderList";
+        String paramJson = JsonSerializer.toJson(request);
+        downloadRecordService.getOrInsertDownloadRecord(downloadRecordId, name, fileName + excelSuffixFormat, paramUrl, paramJson);
+        Thread t = new Thread() {
+            @Override
+            public void run() {
+                checkUpOrderService.downloadCheckUpOrderListNew(downloadRecordId, fileName, request);
+            }
+        };
+        t.start();
+        return new BaseResponse().succeed("后台下载中...");
+    }
+
+}

+ 71 - 0
src/main/java/com/ywt/mg/web/controllers/hospital/HospDepositController.java

@@ -0,0 +1,71 @@
+package com.ywt.mg.web.controllers.hospital;
+
+import com.ywt.mg.core.MGRight;
+import com.ywt.mg.core.utils.Checker;
+import com.ywt.mg.core.utils.serializers.JsonSerializer;
+import com.ywt.mg.domain.models.ConstantDef;
+import com.ywt.mg.params.deposit.QueryDepositListRequest;
+import com.ywt.mg.services.AuthService;
+import com.ywt.mg.services.DepositService;
+import com.ywt.mg.services.DownloadRecordService;
+import com.ywt.mg.services.IdGenerator;
+import com.ywt.mg.web.BaseResponse;
+import com.ywt.mg.web.controllers.DepositController;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+@RestController("/hosp/deposit")
+@RequestMapping({"/hosp/deposit"})
+@MGRight
+public class HospDepositController {
+
+    private static Logger logger = LoggerFactory.getLogger(HospDepositController.class);
+
+
+    @Autowired
+    private IdGenerator idGenerator;
+
+    @Autowired
+    private DownloadRecordService downloadRecordService;
+
+    @Autowired
+    private AuthService authService;
+
+    @Autowired
+    private DepositService depositService;
+
+
+
+
+    @RequestMapping({"/downloadDepositList"})
+    public BaseResponse downloadDepositList(QueryDepositListRequest request) {
+        int currentAdminId = Checker.getIntegerValue(authService.getCurrentAdminId());
+//        request.setCurrentAdminId(currentAdminId);
+        // 插入记录
+        int  hospital = authService.getCurrentHospitalId();
+            request.setHospitalId(hospital);
+//        if(request.getHosp() > 0){
+//            hospital = authService.getCurrentHospitalId();
+//            request.setHospitalId(hospital);
+//        }
+        int downloadRecordId = idGenerator.genDownloadRecordId();
+        String name = "医院后台-订单管理-住院押金";
+        String fileName = "押金缴费记录";
+        String excelSuffixFormat = ConstantDef.EXCEL_SUFFIX_FORMAT;
+        String paramUrl = "/deposit/downloadDepositList";
+        String paramJson = JsonSerializer.toJson(request);
+        downloadRecordService.getOrInsertDownloadRecord(downloadRecordId, name, fileName + excelSuffixFormat, paramUrl, paramJson);
+        Thread t = new Thread() {
+            @Override
+            public void run() {
+                depositService.downloadDepositList(downloadRecordId, fileName, request);
+            }
+        };
+        t.start();
+        return new BaseResponse().succeed("后台下载中...");
+    }
+}

+ 51 - 0
src/main/java/com/ywt/mg/web/controllers/hospital/HospDownloadRecordController.java

@@ -0,0 +1,51 @@
+package com.ywt.mg.web.controllers.hospital;
+
+import com.ywt.mg.core.MGRight;
+import com.ywt.mg.core.MGRightTypeDef;
+import com.ywt.mg.params.downloadRecord.DownloadFileRequest;
+import com.ywt.mg.params.downloadRecord.QueryDownloadRecordListRequest;
+import com.ywt.mg.services.AuthService;
+import com.ywt.mg.services.DownloadRecordService;
+import com.ywt.mg.web.BaseResponse;
+import com.ywt.mg.web.controllers.DownloadRecordController;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+
+@RestController("/hosp/downloadRecord")
+@RequestMapping({"/hosp/downloadRecord"})
+@MGRight
+public class HospDownloadRecordController {
+
+    private static Logger logger = LoggerFactory.getLogger(DownloadRecordController.class);
+
+    @Autowired
+    private AuthService authService;
+
+    @Autowired
+    private DownloadRecordService downloadRecordService;
+
+    @ApiOperation(value = "按条件查询下载记录列表")
+    @RequestMapping(value = {"/downloadRecordList"}, method = RequestMethod.POST)
+    @MGRight(menuCode = {"/downloadRecord/queryDownloadRecordList"}, type = MGRightTypeDef.Menu | MGRightTypeDef.Logined)
+    BaseResponse queryDownloadRecordList(@Validated @RequestBody QueryDownloadRecordListRequest request) throws Exception {
+        int hospitalId = authService.getCurrentHospitalId();
+        request.setHospitalId(hospitalId);
+        return downloadRecordService.queryDownloadRecordList(request);
+    }
+
+    @ApiOperation(value = "下载文件")
+    @RequestMapping(value = {"/downloadFile"}, method = RequestMethod.GET)
+    @MGRight(menuCode = {"/downloadRecord/downloadFile"}, type = MGRightTypeDef.Menu | MGRightTypeDef.Logined)
+    public void downloadFile(@Validated DownloadFileRequest request, HttpServletResponse httpServletResponse) {
+        downloadRecordService.downloadFile(request, httpServletResponse);
+    }
+}

+ 99 - 0
src/main/java/com/ywt/mg/web/controllers/hospital/HospMealOrderController.java

@@ -0,0 +1,99 @@
+package com.ywt.mg.web.controllers.hospital;
+
+
+import com.ywt.mg.core.exceptions.AppMessageException;
+import com.ywt.mg.core.utils.Checker;
+import com.ywt.mg.core.utils.StringHelper;
+import com.ywt.mg.core.utils.serializers.JsonSerializer;
+import com.ywt.mg.domain.models.ConstantDef;
+import com.ywt.mg.params.mealOrder.MealOrderListRequest;
+import com.ywt.mg.services.AuthService;
+import com.ywt.mg.services.DownloadRecordService;
+import com.ywt.mg.services.IdGenerator;
+import com.ywt.mg.services.MealOrderService;
+import com.ywt.mg.web.BaseResponse;
+import com.ywt.mg.web.controllers.MealOrderController;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.net.URLDecoder;
+
+@RequestMapping({"/hosp/mealOrder"})
+@RestController("/hosp/mealOrder")
+public class HospMealOrderController {
+
+    private final Logger logger = LoggerFactory.getLogger(MealOrderController.class);
+
+
+    @Autowired
+    private IdGenerator idGenerator;
+
+    @Autowired
+    private DownloadRecordService downloadRecordService;
+
+    @Autowired
+    private MealOrderService mealOrderService;
+
+    @Autowired
+    private AuthService authService;
+
+
+    @RequestMapping({"/downloadMealOrderList"})
+    public BaseResponse downloadMealOrderList(MealOrderListRequest request) {
+        int currentAdminId = Checker.getIntegerValue(authService.getCurrentAdminId());
+//        request.setCurrentAdminId(currentAdminId);
+        // 插入记录
+        int hospital = authService.getCurrentHospitalId();
+        request.setHospitalId(hospital);
+//        if(request.getHosp() > 0){
+//            hospital = authService.getCurrentHospitalId();
+//            request.setHospitalId(hospital);
+//        }
+        int downloadRecordId = idGenerator.genDownloadRecordId();
+        String name = "医院后台-订单管理-订餐订单列表列表";
+        String fileName = "订餐订单列表";
+        String excelSuffixFormat = ConstantDef.EXCEL_SUFFIX_FORMAT;
+        String paramUrl = "/mealOrder/downloadMealOrderListNew";
+        String paramJson = JsonSerializer.toJson(request);
+        downloadRecordService.getOrInsertDownloadRecord(downloadRecordId, name, fileName + excelSuffixFormat, paramUrl, paramJson);
+        Thread t = new Thread() {
+            @Override
+            public void run() {
+                try {
+                    String shopIds = "0";
+                    if (!Checker.isNone(request.getShopIds())) {
+                        shopIds = URLDecoder.decode(request.getShopIds(), "UTF-8");
+                    }
+                    request.setShopIds(shopIds);
+                    Boolean bIsStaff = getIsStaffParamCompat(request.getIsStaff());
+                    request.setbIsStaff(bIsStaff);
+                    mealOrderService.downloadMealOrderListNew(downloadRecordId, fileName, request);
+                } catch (AppMessageException e) {
+                    logger.error("MealOrderController#downloadMealOrderList(orderNo={} , name={} , mobile={} , type={} , " +
+                                    "status={} , payStatus={} , payTimeStart={} , payTimeEnd={} , httpServletResponse={} ):\n {}",
+                            e.getMessage(), e);
+                } catch (Exception e) {
+                    logger.error("MealOrderController#downloadMealOrderList(orderNo={} , name={} , mobile={} , type={} , " +
+                                    "status={} , payStatus={} , payTimeStart={} , payTimeEnd={} , httpServletResponse={} ):\n {}",
+                            request.getOrderNo(), name, request.getMobile(), request.getType(), request.getStatus(), request.getPayStatus(), request.getPayTimeStart(),
+                            request.getPayTimeEnd(), e.getMessage(), e);
+                }
+            }
+        };
+        t.start();
+        return new BaseResponse().succeed("后台下载中...");
+    }
+
+    private Boolean getIsStaffParamCompat(String isStaff) throws AppMessageException {
+        if (StringHelper.isNullOrEmpty(isStaff)) return null;
+        try {
+            int integer = Integer.parseInt(isStaff);
+            return integer == 1;
+        } catch (NumberFormatException e) {
+            throw new AppMessageException(String.format("参数有误:%s", isStaff));
+        }
+    }
+}

+ 2 - 2
src/main/java/com/ywt/mg/web/controllers/hospital/HospOutpatientOrderController.java

@@ -43,8 +43,8 @@ public class HospOutpatientOrderController {
 //        request.setCurrentAdminId(currentAdminId);
         // 插入记录
 
-           int hospital = authService.getCurrentHospitalId();
-            request.setHospitalId(hospital);
+        int hospital = authService.getCurrentHospitalId();
+        request.setHospitalId(hospital);
 
         int downloadRecordId = idGenerator.genDownloadRecordId();
         String name = "医院后台-订单管理-门诊缴费订单列表";

+ 67 - 0
src/main/java/com/ywt/mg/web/controllers/hospital/HospRegisteredOrderController.java

@@ -0,0 +1,67 @@
+package com.ywt.mg.web.controllers.hospital;
+
+import com.ywt.mg.core.MGRight;
+import com.ywt.mg.core.utils.Checker;
+import com.ywt.mg.core.utils.serializers.JsonSerializer;
+import com.ywt.mg.domain.models.ConstantDef;
+import com.ywt.mg.params.registeredOrder.RegisteredOrderListRequest;
+import com.ywt.mg.services.AuthService;
+import com.ywt.mg.services.DownloadRecordService;
+import com.ywt.mg.services.IdGenerator;
+import com.ywt.mg.services.RegisteredOrderService;
+import com.ywt.mg.web.BaseResponse;
+import com.ywt.mg.web.controllers.RegisteredOrderController;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController("/hosp/registeredOrder")
+@RequestMapping({"/hosp/registeredOrder"})
+@MGRight
+public class HospRegisteredOrderController {
+
+    private static Logger logger = LoggerFactory.getLogger(HospRegisteredOrderController.class);
+
+    @Autowired
+    private IdGenerator idGenerator;
+
+    @Autowired
+    private DownloadRecordService downloadRecordService;
+
+
+    @Autowired
+    private RegisteredOrderService registeredOrderService;
+
+    @Autowired
+    private AuthService authService;
+
+
+    @RequestMapping({"/downloadRegisteredOrderList"})
+    public BaseResponse downloadDepositList(RegisteredOrderListRequest request) {
+        int currentAdminId = Checker.getIntegerValue(authService.getCurrentAdminId());
+//        request.setCurrentAdminId(currentAdminId);
+        // 插入记录
+//        int hospital = 0;
+//        if(request.getHospitalId() > 0){
+          int  hospital = authService.getCurrentHospitalId();
+//        }
+        request.setHospitalId(hospital);
+        int downloadRecordId = idGenerator.genDownloadRecordId();
+        String name = "医院后台-订单管理-挂号订单";
+        String fileName = "挂号订单记录";
+        String excelSuffixFormat = ConstantDef.EXCEL_SUFFIX_FORMAT;
+        String paramUrl = "/registeredOrder/downloadRegisteredOrderList";
+        String paramJson = JsonSerializer.toJson(request);
+        downloadRecordService.getOrInsertDownloadRecord(downloadRecordId, name, fileName + excelSuffixFormat, paramUrl, paramJson);
+        Thread t = new Thread() {
+            @Override
+            public void run() {
+                registeredOrderService.downloadRegisteredOrderList(downloadRecordId, fileName, request);
+            }
+        };
+        t.start();
+        return new BaseResponse().succeed("后台下载中...");
+    }
+}

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

@@ -1,7 +1,7 @@
 server.port=7678
 
 #前缀
-server.contextPath=/downloadService
+#server.contextPath=/downloadService
 
 spring.jpa.hibernate.ddl-auto=none