Compare commits

...

3 Commits

  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. 38
      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 java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.acupuncture.common.core.domain.entity.SysUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; 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.enums.BusinessType;
import com.acupuncture.common.utils.poi.ExcelUtil; import com.acupuncture.common.utils.poi.ExcelUtil;
import com.acupuncture.system.service.ISysDictTypeService; 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)); 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 结果 * @return 结果
*/ */
public boolean checkDictTypeUnique(SysDictType dictType); 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 org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -252,8 +253,8 @@ public class ExternalServiceImpl implements ExternalService {
// double height = Double.parseDouble(hValue); // double height = Double.parseDouble(hValue);
HmsWeightHeight hmsWeightHeight = new HmsWeightHeight(); HmsWeightHeight hmsWeightHeight = new HmsWeightHeight();
hmsWeightHeight.setHeight(height + ""); hmsWeightHeight.setHeight(new BigDecimal(height).toString());
hmsWeightHeight.setWeight(width + ""); hmsWeightHeight.setWeight(new BigDecimal(width) + "");
hmsWeightHeight.setId(IdUtil.getSnowflakeNextId()); hmsWeightHeight.setId(IdUtil.getSnowflakeNextId());
hmsWeightHeight.setTestId(testId); hmsWeightHeight.setTestId(testId);
hmsWeightHeightMapper.insertSelective(hmsWeightHeight); hmsWeightHeightMapper.insertSelective(hmsWeightHeight);

38
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.io.IoUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.pinyin.PinyinUtil; import cn.hutool.extra.pinyin.PinyinUtil;
import cn.hutool.poi.excel.BigExcelWriter; import cn.hutool.poi.excel.BigExcelWriter;
@ -66,7 +67,7 @@ public class PmsPatientServiceImpl implements PmsPatientService {
PmsPatientExample.Criteria criteria = pmsPatientExample.createCriteria().andDelFlagEqualTo((byte) 0); PmsPatientExample.Criteria criteria = pmsPatientExample.createCriteria().andDelFlagEqualTo((byte) 0);
if (StrUtil.isNotEmpty(dto.getIdCard())) { if (StrUtil.isNotEmpty(dto.getIdCard())) {
criteria.andIdCardEqualTo(dto.getIdCard()).andIdCardTypeEqualTo(dto.getIdCardType()); criteria.andIdCardEqualTo(dto.getIdCard()).andIdCardTypeEqualTo(dto.getIdCardType());
}else { } else {
criteria.andPhoneEqualTo(dto.getPhone()).andNameEqualTo(dto.getName()); criteria.andPhoneEqualTo(dto.getPhone()).andNameEqualTo(dto.getName());
} }
List<PmsPatient> pmsPatients = pmsPatientMapper.selectByExample(pmsPatientExample); List<PmsPatient> pmsPatients = pmsPatientMapper.selectByExample(pmsPatientExample);
@ -190,22 +191,24 @@ public class PmsPatientServiceImpl implements PmsPatientService {
} }
} }
writer.writeCellValue(8, row, patientList.get(i).getIdCard()); 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(); Integer source = patientList.get(i).getSource();
if (source != null) { if (source != null) {
switch (source) { switch (source) {
case 0: case 0:
writer.writeCellValue(9, row, "筛查"); writer.writeCellValue(11, row, "筛查");
break; break;
case 1: case 1:
writer.writeCellValue(9, row, "录入"); writer.writeCellValue(11, row, "录入");
break; break;
case 2: case 2:
writer.writeCellValue(9, row, "HIS"); writer.writeCellValue(11, row, "HIS");
} }
} }
writer.writeCellValue(10, row, patientList.get(i).getCurrentIllnessHistory()); writer.writeCellValue(12, row, patientList.get(i).getCurrentIllnessHistory());
writer.writeCellValue(11, row, patientList.get(i).getCurrentIllnessHistoryQt()); writer.writeCellValue(13, row, patientList.get(i).getCurrentIllnessHistoryQt());
writer.writeCellValue(12, row, patientList.get(i).getTenantName()); writer.writeCellValue(14, row, patientList.get(i).getTenantName());
} }
String filename = StrUtil.format("患者档案-{}.xlsx", DateUtil.date().toString("yyyyMMdd")); String filename = StrUtil.format("患者档案-{}.xlsx", DateUtil.date().toString("yyyyMMdd"));
@ -248,9 +251,9 @@ public class PmsPatientServiceImpl implements PmsPatientService {
patient.setEthnicity(rowList.get(4).toString()); patient.setEthnicity(rowList.get(4).toString());
patient.setEducationYears(Integer.parseInt(rowList.get(5).toString())); patient.setEducationYears(Integer.parseInt(rowList.get(5).toString()));
patient.setPhone(rowList.get(6).toString()); patient.setPhone(rowList.get(6).toString());
patient.setIdCardType(rowList.get(7).toString().trim().equals("身份证") ? (byte) 0 : rowList.get(7).toString().trim().equals("护照或外国人永居证") ? (byte) 1: rowList.get(7).toString().trim().equals("港澳居民来往内地通行证") ? (byte) 2 : rowList.get(7).toString().trim().equals("台湾居民来往大陆通行证") ? (byte) 3 : (byte) 4); patient.setIdCardType(rowList.get(7).toString().trim().equals("身份证") ? (byte) 0 : rowList.get(7).toString().trim().equals("护照或外国人永居证") ? (byte) 1 : rowList.get(7).toString().trim().equals("港澳居民来往内地通行证") ? (byte) 2 : rowList.get(7).toString().trim().equals("台湾居民来往大陆通行证") ? (byte) 3 : (byte) 4);
patient.setIdCard(rowList.get(8).toString()); patient.setIdCard(rowList.get(8).toString());
patient.setSource(rowList.get(9).toString().trim().equals("筛查")? (byte) 0 : rowList.get(9).toString().trim().equals("录入")? (byte) 1 : (byte) 2); patient.setSource(rowList.get(9).toString().trim().equals("筛查") ? (byte) 0 : rowList.get(9).toString().trim().equals("录入") ? (byte) 1 : (byte) 2);
patient.setCurrentIllnessHistory(rowList.get(10).toString()); patient.setCurrentIllnessHistory(rowList.get(10).toString());
patient.setCreateBy(SecurityUtils.getUsername()); patient.setCreateBy(SecurityUtils.getUsername());
patient.setId(IdUtil.getSnowflakeNextId()); patient.setId(IdUtil.getSnowflakeNextId());
@ -278,18 +281,23 @@ public class PmsPatientServiceImpl implements PmsPatientService {
//中铝新材料有限公司电解厂2024年度职工健康体检统计表(非高温) //中铝新材料有限公司电解厂2024年度职工健康体检统计表(非高温)
//序号 姓名 性别 出生日期 身份证号 婚姻状况 联系电话 部门 工号 工种 民族 国籍 防护措施 总工龄(年) 总工龄(月) 接害工龄(年) 接害工龄(月) 体检类别 //序号 姓名 性别 出生日期 身份证号 婚姻状况 联系电话 部门 工号 工种 民族 国籍 防护措施 总工龄(年) 总工龄(月) 接害工龄(年) 接害工龄(月) 体检类别
try { try {
if (rowIndex < 4) { if (rowIndex < 5) {
return; return;
} }
PmsPatient patient = new PmsPatient(); PmsPatient patient = new PmsPatient();
patient.setName(rowList.get(1).toString() + "-" + rowList.get(2).toString()); patient.setName(ObjUtil.isEmpty(rowList.get(1)) ? "" : rowList.get(1) + "-" + rowList.get(2));
patient.setGender(rowList.get(3).toString().trim().equals("男") ? (byte) 0 : (byte) 1); patient.setGender(ObjUtil.isEmpty(rowList.get(3)) ? (byte) 0 : rowList.get(3).toString().trim().equals("男") ? (byte) 0 : (byte) 1);
patient.setPinyinFull(PinyinUtil.getPinyin(rowList.get(2).toString(), "")); patient.setPinyinFull(ObjUtil.isEmpty(rowList.get(2)) ? null : PinyinUtil.getPinyin(rowList.get(2).toString(), ""));
patient.setPinyinSimple(PinyinUtil.getFirstLetter(rowList.get(2).toString(), "")); patient.setPinyinSimple(ObjUtil.isEmpty(rowList.get(2)) ? null : PinyinUtil.getFirstLetter(rowList.get(2).toString(), ""));
patient.setBirthDate(DateUtil.parse(rowList.get(4).toString())); try {
patient.setBirthDate(DateUtil.parseDate(rowList.get(4).toString()));
}catch (Exception e) {
patient.setBirthDate(new Date("2020-01-01"));
}
patient.setCreateBy(SecurityUtils.getUsername()); patient.setCreateBy(SecurityUtils.getUsername());
patient.setId(IdUtil.getSnowflakeNextId()); patient.setId(IdUtil.getSnowflakeNextId());
patient.setTenantId(SecurityUtils.getTenantId()); patient.setTenantId(SecurityUtils.getTenantId());
patient.setPhone(ObjUtil.isEmpty(rowList.get(9)) ? null : rowList.get(9).toString());
patient.setDelFlag((byte) 0); patient.setDelFlag((byte) 0);
patient.setCreateTime(new Date()); patient.setCreateTime(new Date());
pmsPatientList.add(patient); 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.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.PostConstruct; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -24,6 +29,7 @@ import com.acupuncture.system.service.ISysDictTypeService;
* @author acupuncture * @author acupuncture
*/ */
@Service @Service
@Transactional
public class SysDictTypeServiceImpl implements ISysDictTypeService public class SysDictTypeServiceImpl implements ISysDictTypeService
{ {
@Autowired @Autowired
@ -220,4 +226,23 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
} }
return UserConstants.UNIQUE; 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