Browse Source

导出患者添加身高体重字段

master^2
zzc 1 month ago
parent
commit
eb7eb807c8
  1. 15
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/system/SysDictTypeController.java
  2. 2
      acupuncture-system/src/main/java/com/acupuncture/system/service/ISysDictTypeService.java
  3. 5
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java
  4. 32
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsPatientServiceImpl.java
  5. 25
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/SysDictTypeServiceImpl.java

15
acupuncture-admin/src/main/java/com/acupuncture/web/controller/system/SysDictTypeController.java

@ -2,6 +2,8 @@ package com.acupuncture.web.controller.system;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.acupuncture.common.core.domain.entity.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
@ -21,6 +23,7 @@ import com.acupuncture.common.core.page.TableDataInfo;
import com.acupuncture.common.enums.BusinessType;
import com.acupuncture.common.utils.poi.ExcelUtil;
import com.acupuncture.system.service.ISysDictTypeService;
import org.springframework.web.multipart.MultipartFile;
/**
* 数据字典信息
@ -63,6 +66,18 @@ public class SysDictTypeController extends BaseController
return success(dictTypeService.selectDictTypeById(dictId));
}
@Log(title = "字典类型", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:dict:export')")
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
{
ExcelUtil<SysDictType> util = new ExcelUtil<SysDictType>(SysDictType.class);
List<SysDictType> sysDictTypes = util.importExcel(file.getInputStream());
String operName = getUsername();
String message = dictTypeService.importDictType(sysDictTypes, updateSupport, operName);
return success(message);
}
/**
* 新增字典类型
*/

2
acupuncture-system/src/main/java/com/acupuncture/system/service/ISysDictTypeService.java

@ -95,4 +95,6 @@ public interface ISysDictTypeService
* @return 结果
*/
public boolean checkDictTypeUnique(SysDictType dictType);
String importDictType(List<SysDictType> sysDictTypes, boolean updateSupport, String operName);
}

5
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java

@ -17,6 +17,7 @@ import org.apache.ibatis.ognl.ASTInstanceof;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
@ -252,8 +253,8 @@ public class ExternalServiceImpl implements ExternalService {
// double height = Double.parseDouble(hValue);
HmsWeightHeight hmsWeightHeight = new HmsWeightHeight();
hmsWeightHeight.setHeight(height + "");
hmsWeightHeight.setWeight(width + "");
hmsWeightHeight.setHeight(new BigDecimal(height).toString());
hmsWeightHeight.setWeight(new BigDecimal(width) + "");
hmsWeightHeight.setId(IdUtil.getSnowflakeNextId());
hmsWeightHeight.setTestId(testId);
hmsWeightHeightMapper.insertSelective(hmsWeightHeight);

32
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsPatientServiceImpl.java

@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import cn.hutool.poi.excel.BigExcelWriter;
@ -190,22 +191,24 @@ public class PmsPatientServiceImpl implements PmsPatientService {
}
}
writer.writeCellValue(8, row, patientList.get(i).getIdCard());
writer.writeCellValue(9, row, patientList.get(i).getWeight());
writer.writeCellValue(10, row, patientList.get(i).getHeight());
Integer source = patientList.get(i).getSource();
if (source != null) {
switch (source) {
case 0:
writer.writeCellValue(9, row, "筛查");
writer.writeCellValue(11, row, "筛查");
break;
case 1:
writer.writeCellValue(9, row, "录入");
writer.writeCellValue(11, row, "录入");
break;
case 2:
writer.writeCellValue(9, row, "HIS");
writer.writeCellValue(11, row, "HIS");
}
}
writer.writeCellValue(10, row, patientList.get(i).getCurrentIllnessHistory());
writer.writeCellValue(11, row, patientList.get(i).getCurrentIllnessHistoryQt());
writer.writeCellValue(12, row, patientList.get(i).getTenantName());
writer.writeCellValue(12, row, patientList.get(i).getCurrentIllnessHistory());
writer.writeCellValue(13, row, patientList.get(i).getCurrentIllnessHistoryQt());
writer.writeCellValue(14, row, patientList.get(i).getTenantName());
}
String filename = StrUtil.format("患者档案-{}.xlsx", DateUtil.date().toString("yyyyMMdd"));
@ -278,18 +281,23 @@ public class PmsPatientServiceImpl implements PmsPatientService {
//中铝新材料有限公司电解厂2024年度职工健康体检统计表(非高温)
//序号 姓名 性别 出生日期 身份证号 婚姻状况 联系电话 部门 工号 工种 民族 国籍 防护措施 总工龄(年) 总工龄(月) 接害工龄(年) 接害工龄(月) 体检类别
try {
if (rowIndex < 4) {
if (rowIndex < 5) {
return;
}
PmsPatient patient = new PmsPatient();
patient.setName(rowList.get(1).toString() + "-" + rowList.get(2).toString());
patient.setGender(rowList.get(3).toString().trim().equals("男") ? (byte) 0 : (byte) 1);
patient.setPinyinFull(PinyinUtil.getPinyin(rowList.get(2).toString(), ""));
patient.setPinyinSimple(PinyinUtil.getFirstLetter(rowList.get(2).toString(), ""));
patient.setBirthDate(DateUtil.parse(rowList.get(4).toString()));
patient.setName(ObjUtil.isEmpty(rowList.get(1)) ? "" : rowList.get(1) + "-" + rowList.get(2));
patient.setGender(ObjUtil.isEmpty(rowList.get(3)) ? (byte) 0 : rowList.get(3).toString().trim().equals("男") ? (byte) 0 : (byte) 1);
patient.setPinyinFull(ObjUtil.isEmpty(rowList.get(2)) ? null : PinyinUtil.getPinyin(rowList.get(2).toString(), ""));
patient.setPinyinSimple(ObjUtil.isEmpty(rowList.get(2)) ? null : PinyinUtil.getFirstLetter(rowList.get(2).toString(), ""));
try {
patient.setBirthDate(ObjUtil.isNotEmpty(rowList.get(4)) ? IdcardUtil.getBirthDate(rowList.get(4).toString()) : null);
}catch (Exception e) {
patient.setBirthDate(null);
}
patient.setCreateBy(SecurityUtils.getUsername());
patient.setId(IdUtil.getSnowflakeNextId());
patient.setTenantId(SecurityUtils.getTenantId());
patient.setPhone(ObjUtil.isEmpty(rowList.get(9)) ? null : rowList.get(9).toString());
patient.setDelFlag((byte) 0);
patient.setCreateTime(new Date());
pmsPatientList.add(patient);

25
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/SysDictTypeServiceImpl.java

@ -5,6 +5,11 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import cn.hutool.core.collection.CollectionUtil;
import com.acupuncture.common.core.domain.entity.SysUser;
import com.acupuncture.common.utils.SecurityUtils;
import com.acupuncture.common.utils.bean.BeanValidators;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -24,6 +29,7 @@ import com.acupuncture.system.service.ISysDictTypeService;
* @author acupuncture
*/
@Service
@Transactional
public class SysDictTypeServiceImpl implements ISysDictTypeService
{
@Autowired
@ -220,4 +226,23 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
}
return UserConstants.UNIQUE;
}
@Override
public String importDictType(List<SysDictType> sysDictTypes, boolean updateSupport, String operName) {
if (StringUtils.isNull(sysDictTypes) || sysDictTypes.size() == 0)
{
throw new ServiceException("导入用户数据不能为空!");
}
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
for (SysDictType sysDictType : sysDictTypes)
{
List<SysDictType> sysDictTypes1 = selectDictTypeList(sysDictType);
if (CollectionUtil.isNotEmpty(sysDictTypes1)) {
deleteDictTypeByIds(new Long[]{sysDictType.getDictId()});
}
insertDictType(sysDictType);
}
return successMsg.toString();
}
}

Loading…
Cancel
Save