瀏覽代碼

OTC药品生成处方单 获取医生平均操作时间

wjj 5 天之前
父節點
當前提交
8e5cad8b99

+ 12 - 0
fs-doctor-app/src/main/java/com/fs/app/controller/DoctorController.java

@@ -69,6 +69,9 @@ public class DoctorController extends  AppBaseController {
     private OpenIMService openIMService;
     @Autowired
     private SmsService smsService;
+
+    @Autowired
+    private IFsPrescribeService fsPrescribeService;
     @ApiOperation("登录")
     @PostMapping("/login")
     public R login(@Validated  @RequestBody DoctorLoginParam param) {
@@ -249,11 +252,20 @@ public class DoctorController extends  AppBaseController {
             FsDoctor doctor=doctorService.selectFsDoctorByDoctorId(Long.parseLong(getDoctorId()));
             FsHospital hospital=hospitalService.selectFsHospitalByHospitalId(doctor.getHospitalId());
             FsDepartment department=departmentService.selectFsDepartmentByDeptId(doctor.getDeptId());
+            //获取医生平均操作时间
+            Long avgOperateTime = fsPrescribeService.selectDoctorAvgOperateTime(Long.parseLong(getDoctorId()));
+            String time = null;
+            if (avgOperateTime != null) {
 
+                long minutes = TimeUnit.SECONDS.toMinutes(avgOperateTime);
+                long seconds = avgOperateTime - TimeUnit.MINUTES.toSeconds(minutes);
+                time = minutes + "分" + seconds + "秒";
+            }
             Map<String,Object> map=new HashMap<>();
             map.put("doctor",doctor);
             map.put("hospital",hospital);
             map.put("department",department);
+            map.put("time",time);
             return R.ok(map);
         } catch (Exception e){
             return R.error("操作异常");

+ 3 - 0
fs-service/src/main/java/com/fs/his/mapper/FsPrescribeMapper.java

@@ -290,4 +290,7 @@ public interface FsPrescribeMapper
     List<FsPrescribeListVO> selectFsPrescribeListVOWithConfirm(FsPrescribeParam fsPrescribe);
     @Update("UPDATE fs_prescribe SET prescribe_img_url = NULL WHERE prescribe_id = #{prescribeId}")
     void delUrl(Long prescribeId);
+
+    @Select("SELECT AVG(operate_second),doctor_id FROM fs_prescribe WHERE doctor_id = #{doctorId}  ")
+    Long selectDoctorAvgOperateTime(Long doctorId);
 }

+ 3 - 0
fs-service/src/main/java/com/fs/his/service/IFsPrescribeService.java

@@ -114,4 +114,7 @@ public interface IFsPrescribeService
     void collectionPrescribe(Long prescribeId);
 
     void delUrl(Long prescribeId);
+
+    //获取医生平均操作时间
+    Long selectDoctorAvgOperateTime(Long doctorId);
 }

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsPackageOrderServiceImpl.java

@@ -663,7 +663,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
         FsPatient patient=null;
         FsDoctor doctor=null;
         FsPackage fsPackage=fsPackageMapper.selectFsPackageByPackageId(param.getPackageId());
-        if(fsPackage.getProductType()==1 || fsPackage.getProductType()==2){
+        if(fsPackage.getProductType()==1 || fsPackage.getProductType()==2 || fsPackage.getProductType()==3){
             if(param.getPatientId()!=null){
                 patient=fsPatientMapper.selectFsPatientByPatientId(param.getPatientId());
                 if (patient==null){

+ 5 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsPrescribeServiceImpl.java

@@ -1100,4 +1100,9 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
 
     }
 
+    @Override
+    public Long selectDoctorAvgOperateTime(Long doctorId) {
+        return fsPrescribeMapper.selectDoctorAvgOperateTime(doctorId);
+    }
+
 }

+ 2 - 2
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -874,7 +874,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
             }
         }
         Long prescribeId =null;
-        if (productType==1 || productType==2){
+        if (productType==1 || productType==2 || productType == 3){
             if (packageOrder.getDoctorId() == null) {
                 Long doctorID = iFsDoctorService.selectFsDoctorDoctorByPackage();
                 packageOrder.setDoctorId(doctorID);
@@ -1962,7 +1962,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
         Integer productType = (Integer) packageJson.get("productType");
         FsStoreOrder order = new FsStoreOrder();
         Long prescribeId =null;
-        if (productType==1 || packageSubType==2){
+        if (productType==1 || packageSubType==2 || productType==2 || productType==3){
             if (packageOrder.getDoctorId() == null) {
                 Long doctorID = iFsDoctorService.selectFsDoctorDoctorByPackage();
                 packageOrder.setDoctorId(doctorID);

+ 1 - 1
fs-service/src/main/java/com/fs/hisStore/service/impl/FsUserInformationCollectionServiceImpl.java

@@ -432,7 +432,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
                     FsPackage fsPackage = JSON.parseObject(fsPackageOrder.getPackageJson(), FsPackage.class);
 
                     //套餐包为药品生成处方信息
-                    if(fsPackage != null && (fsPackage.getProductType() == 1 || fsPackage.getProductType() == 2)) {
+                    if(fsPackage != null && (fsPackage.getProductType() == 1 || fsPackage.getProductType() == 2 || fsPackage.getProductType() == 3)) {
                         FsStoreOrder fsStoreOrder = storeOrderService.selectFsStoreOrderByOrderCode(fsUserInformationCollection.getPackageOrderCode());
                         if (fsStoreOrder != null && fsStoreOrder.getIsPay() == 1 ) {
                             if (fsStoreOrder.getPrescribeId() != null) {