diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java index 8cba66fb..7d76b9a4 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java @@ -13,7 +13,6 @@ import java.util.stream.Stream; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import com.openhis.web.datadictionary.dto.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -26,10 +25,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; import com.core.common.core.domain.entity.SysDictData; -import com.core.common.utils.MessageUtils; -import com.core.common.utils.SecurityUtils; +import com.core.common.utils.*; import com.core.common.utils.bean.BeanUtils; import com.core.system.service.ISysDictTypeService; +import com.openhis.administration.domain.ChargeItemDefinition; import com.openhis.administration.domain.DeviceDefinition; import com.openhis.administration.domain.Organization; import com.openhis.administration.mapper.DeviceDefinitionMapper; @@ -37,6 +36,7 @@ import com.openhis.administration.service.IDeviceDefinitionService; import com.openhis.administration.service.IOrganizationService; import com.openhis.common.constant.CommonConstants; import com.openhis.common.constant.PromptMsgConstant; +import com.openhis.common.enums.AssignSeqEnum; import com.openhis.common.enums.OrganizationType; import com.openhis.common.enums.PublicationStatus; import com.openhis.common.enums.Whether; @@ -44,6 +44,7 @@ import com.openhis.common.utils.EnumUtils; import com.openhis.common.utils.HisQueryUtils; import com.openhis.web.datadictionary.appservice.IDeviceManageAppService; import com.openhis.web.datadictionary.appservice.IItemDefinitionService; +import com.openhis.web.datadictionary.dto.*; import com.openhis.web.datadictionary.mapper.DeviceManageMapper; /** @@ -73,6 +74,9 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { @Autowired private IItemDefinitionService itemDefinitionServic; + @Autowired(required = false) + AssignSeqUtil assignSeqUtil; + /** * 器材目录初始化 * @@ -136,17 +140,6 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { - // // 构建查询条件 - // QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(deviceManageSelParam, - // searchKey, - // new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request); - // // 设置排序 - // queryWrapper.orderByAsc("bus_no"); - // - // // 分页查询 - // Page deviceManagePage = - // HisPageUtils.selectPage(deviceDefinitionMapper, queryWrapper, pageNo, pageSize, DeviceManageDto.class); - // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(deviceManageSelParam, searchKey, new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request); @@ -166,6 +159,7 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { e.setAllergenFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getAllergenFlag())); // 器材分类 // e.setCategoryEnum_enumText(EnumUtils.getInfoByValue(DeviceCategory.class, e.getCategoryEnum())); + // 器材状态 e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum())); }); @@ -184,11 +178,24 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { DeviceDefinition deviceDefinition = new DeviceDefinition(); BeanUtils.copyProperties(deviceManageDto, deviceDefinition); + // 拼音码 + deviceDefinition.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(deviceDefinition.getName())); + // 五笔码 + deviceDefinition.setWbStr(ChineseConvertUtils.toWBFirstLetter(deviceDefinition.getName())); // 更新器材信息 - return deviceDefinitionService.updateById(deviceDefinition) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"器材目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + if (deviceDefinitionService.updateById(deviceDefinition)) { + ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition(); + chargeItemDefinition.setYbType(deviceManageDto.getItemTypeCode()).setTypeCode(deviceManageDto.getTypeCode()) + .setInstanceTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setInstanceId(deviceDefinition.getId()); + + // 更新价格表 + return itemDefinitionServic.updateItem(chargeItemDefinition) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"器材目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + } + return R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** @@ -269,12 +276,26 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { DeviceDefinition deviceDefinition = new DeviceDefinition(); BeanUtils.copyProperties(deviceManageUpDto, deviceDefinition); + // 使用10位数基础采番 + String code = assignSeqUtil.getSeq(AssignSeqEnum.DEVICE_NUM.getPrefix(), 10); + deviceDefinition.setBusNo(code); + // 拼音码 + deviceDefinition.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(deviceDefinition.getName())); + // 五笔码 + deviceDefinition.setWbStr(ChineseConvertUtils.toWBFirstLetter(deviceDefinition.getName())); + // 新增外来器材目录 deviceDefinition.setStatusEnum(PublicationStatus.DRAFT.getValue()); if (deviceDefinitionService.addDevice(deviceDefinition)) { - ItemUpFromDirectoryDto itemUpFromDirectoryDto =new ItemUpFromDirectoryDto(); + ItemUpFromDirectoryDto itemUpFromDirectoryDto = new ItemUpFromDirectoryDto(); BeanUtils.copyProperties(deviceManageUpDto, itemUpFromDirectoryDto); + itemUpFromDirectoryDto.setTypeCode(deviceManageUpDto.getItemTypeCode()) + .setInstanceTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setEffectiveStart(DateUtils.getNowDate()).setStatusEnum(PublicationStatus.ACTIVE.getValue()) + .setConditionFlag(Whether.YES.getValue()).setChargeName(deviceManageUpDto.getName()) + .setInstanceId(deviceDefinition.getId()) + .setPrice(deviceManageUpDto.getRetailPrice()); return itemDefinitionServic.addItem(itemUpFromDirectoryDto) ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"器材目录"})) diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DeviceManageController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DeviceManageController.java index de991a38..01b99d24 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DeviceManageController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DeviceManageController.java @@ -121,9 +121,6 @@ public class DeviceManageController { public R getDeviceOne(@RequestParam Long id) { return deviceManageAppService.getDeviceOne(id); - // // 根据ID查询【器材目录】 - // DeviceDefinition byId = iDeviceDefinitionService.getById(id); - // return R.ok(byId); } /** @@ -137,13 +134,6 @@ public class DeviceManageController { return deviceManageAppService.editDevice(deviceManageDto); - // DeviceDefinition DeviceDefinition = new DeviceDefinition(); - // BeanUtils.copyProperties(deviceManageDto, DeviceDefinition); - // - // // 更新器材信息 - // return iDeviceDefinitionService.updateById(DeviceDefinition) - // ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"器材目录"})) - // : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageDto.java index 7d421fb9..23e4cb25 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageDto.java @@ -47,7 +47,9 @@ public class DeviceManageDto { private String typeCode_dictText; /** 包装单位 */ + @Dict(dictCode = "unit_code") private String unitCode; + private String unitCode_dictText; /** 包装规格 */ private String size; @@ -56,7 +58,9 @@ public class DeviceManageDto { private BigDecimal partPercent; /** 最小使用单位 */ + @Dict(dictCode = "unit_code") private String minUnitCode; + private String minUnitCode_dictText; /** 所属科室 */ @Dict(dictTable = "adm_organization", dictCode = "id", dictText = "name") diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageSelParam.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageSelParam.java index fd0196ed..06ed6a10 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageSelParam.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/DeviceManageSelParam.java @@ -21,7 +21,5 @@ public class DeviceManageSelParam { /** 状态 */ private Integer statusEnum; - - /** 执行科室 */ - private Long ruleId; + } diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java index e210d902..a3507485 100644 --- a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java @@ -54,7 +54,12 @@ public enum AssignSeqEnum { /** * 药品项目编码 */ - MEDICATION_NUM("8", "药品项目编码", "MD"); + MEDICATION_NUM("9", "药品项目编码", "MD"), + + /** + * 器材项目编码 + */ + DEVICE_NUM("10", "项目编码", "DD"); private final String code; private final String info;