diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java index d45cb09f..20e15952 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java @@ -6,22 +6,25 @@ package com.openhis.web.basicservice.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; +import com.openhis.administration.domain.ChargeItemDefinition; +import com.openhis.administration.domain.HealthcareService; import com.openhis.administration.domain.Location; import com.openhis.administration.mapper.LocationMapper; +import com.openhis.administration.service.IChargeItemDefinitionService; import com.openhis.administration.service.IHealthcareServiceService; import com.openhis.common.enums.AccountStatus; +import com.openhis.common.enums.WhetherContainUnknown; import com.openhis.common.utils.HisPageUtils; import com.openhis.common.utils.HisQueryUtils; import com.openhis.medication.domain.Medication; import com.openhis.medication.domain.MedicationQueryDto; +import com.openhis.web.basicservice.dto.HealthcareServiceAddOrUpdateParam; import com.openhis.web.basicservice.dto.HealthcareServiceInitDto; import com.openhis.web.basicservice.mapper.HealthcareServiceBizMapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.HashSet; @@ -39,6 +42,9 @@ import java.util.stream.Stream; public class HealthcareServiceController { private final IHealthcareServiceService iHealthcareServiceService; + private final IChargeItemDefinitionService iChargeItemDefinitionService; + + private final HealthcareServiceBizMapper healthcareServiceBizMapper; private final LocationMapper locationMapper; @@ -66,8 +72,28 @@ public class HealthcareServiceController { .map(location -> new HealthcareServiceInitDto.locationIdOption(location.getId(), location.getName())) .collect(Collectors.toList()); healthcareServiceInitDto.setLocationIdOptions(locationIdOptions); + // 是否需要预约 + List appointmentRequiredFlagOptions = Stream.of(WhetherContainUnknown.values()) + .map(wh -> new HealthcareServiceInitDto.appointmentRequiredFlagOption(wh.getValue(), wh.getInfo())) + .collect(Collectors.toList()); + healthcareServiceInitDto.setAppointmentRequiredFlagOptions(appointmentRequiredFlagOptions); return R.ok(healthcareServiceInitDto); } + /** + * 服务管理 新增 + */ + @PostMapping(value = "/healthcare-service") + public R add(@Validated @RequestBody HealthcareServiceAddOrUpdateParam healthcareServiceAddOrUpdateParam){ + // 服务管理-表单数据 + HealthcareService healthcareServiceFormData = healthcareServiceAddOrUpdateParam.getHealthcareServiceFormData(); + // 费用定价-表单数据 + ChargeItemDefinition chargeItemDefinitionFormData = healthcareServiceAddOrUpdateParam.getChargeItemDefinitionFormData(); + // 服务管理-新增 + HealthcareService healthcareService = iHealthcareServiceService.addHealthcareService(healthcareServiceFormData); + + return null; + } + } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceAddOrUpdateParam.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceAddOrUpdateParam.java new file mode 100644 index 00000000..f5c6f77e --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceAddOrUpdateParam.java @@ -0,0 +1,25 @@ +package com.openhis.web.basicservice.dto; + +import com.openhis.administration.domain.ChargeItemDefinition; +import com.openhis.administration.domain.HealthcareService; +import lombok.Data; + +/** + * 服务项目管理 新增修改参数类 + * + * @author system + * @date 2025-02-20 + */ +@Data +public class HealthcareServiceAddOrUpdateParam{ + /** + * 服务管理 + */ + private HealthcareService healthcareServiceFormData; + + /** + * 费用定价 + */ + private ChargeItemDefinition chargeItemDefinitionFormData; + +} \ No newline at end of file diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceInitDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceInitDto.java index 4dc1b3ce..300f963a 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceInitDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceInitDto.java @@ -15,6 +15,7 @@ public class HealthcareServiceInitDto { private List activeFlagOptions; private List locationIdOptions; + private List appointmentRequiredFlagOptions; /** @@ -45,4 +46,18 @@ public class HealthcareServiceInitDto { } } + /** + * 是否需要预约 + */ + @Data + public static class appointmentRequiredFlagOption { + private Integer value; + private String label; + + public appointmentRequiredFlagOption(Integer value, String label) { + this.value = value; + this.label = label; + } + } + } diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/WhetherContainUnknown.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/WhetherContainUnknown.java new file mode 100644 index 00000000..9a85df41 --- /dev/null +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/WhetherContainUnknown.java @@ -0,0 +1,20 @@ +package com.openhis.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 是否 + */ +@Getter +@AllArgsConstructor +public enum WhetherContainUnknown { + NO(0, "no", "否"), + YES(1, "yes", "是"), + UNKNOWN(2, "unknown", "未知"); + @EnumValue + private final Integer value; + private final String code; + private final String info; +} diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IHealthcareServiceService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IHealthcareServiceService.java index 04f7770a..c06822dc 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IHealthcareServiceService.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IHealthcareServiceService.java @@ -11,4 +11,6 @@ import com.openhis.administration.domain.HealthcareService; */ public interface IHealthcareServiceService extends IService { + HealthcareService addHealthcareService(HealthcareService healthcareService); + } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/HealthcareServiceServiceImpl.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/HealthcareServiceServiceImpl.java index 42ed36d5..caf6c4eb 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/HealthcareServiceServiceImpl.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/HealthcareServiceServiceImpl.java @@ -16,4 +16,10 @@ import com.openhis.administration.service.IHealthcareServiceService; @Service public class HealthcareServiceServiceImpl extends ServiceImpl implements IHealthcareServiceService { + @Override + public HealthcareService addHealthcareService(HealthcareService healthcareService){ + baseMapper.insert(healthcareService); + return healthcareService; + } + } \ No newline at end of file