diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java index 3697338..54e8dbd 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java @@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; +import java.util.Map; public interface MasterUsersMapper { public void addUsers(Users obj); @@ -39,4 +40,8 @@ public interface MasterUsersMapper { void updateSeq(String yearStr); String getUsersByDept(String hospitalId); + + Map getSmnSeq(String hospitalId); + void insertSmnSeq(Map map); + void updateSmnSeq(Map map); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java index f3a1c7e..0b9c30f 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java @@ -32,4 +32,6 @@ public interface UsersService { Long getBabySeq(String year); String getUsersByDept(String hospitalId); + + String getSmnSeq(String hospitalId); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java index e25816e..a62db07 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java @@ -19,7 +19,9 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service("usersServiceImpl1") public class UsersServiceImpl extends DataAccessLayerService implements UsersService { @@ -132,5 +134,36 @@ public class UsersServiceImpl extends DataAccessLayerService implements UsersSer return usersMapper.getUsersByDept(hospitalId); } + @Override + public synchronized String getSmnSeq(String hospitalId) { + + String currentYear = DateUtil.getYearStr(); + Map map = usersMapper.getSmnSeq(hospitalId); + if (map != null && map.size() > 0) + { + String seq = map.get("seq"); + if (!currentYear.equals(seq.substring(0,4))) + { + String seq1 = currentYear+"00001"; + Map dbMap = new HashMap<>(); + dbMap.put("seq",seq1); + dbMap.put("hospital_id",hospitalId); + usersMapper.updateSmnSeq(dbMap); + return seq1; + } + Long seqNum = Long.parseLong(seq)+1; + String newSeq = String.valueOf(seqNum); + map.put("seq",newSeq); + usersMapper.updateSmnSeq(map); + return newSeq; + } + String seq = currentYear+"00001"; + Map dbMap = new HashMap<>(); + dbMap.put("seq",seq); + dbMap.put("hospital_id",hospitalId); + usersMapper.insertSmnSeq(dbMap); + return seq; + } + } \ No newline at end of file diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml index d2b68e7..17831eb 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml @@ -368,4 +368,17 @@ select id,logincenter_id,type,org_id,dept_id,name,account,pwd,phone,publish_id,p d.`name` LIKE '%儿%' LIMIT 1 + + + + + insert into lyms_smn_seq(hospital_id,seq) values (#{hospitalId},#{seq}) + + + + update lyms_smn_seq set seq = #{seq} where hospital_id=#{hospitalId} + + \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index 24f84ca..6981766 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -1982,6 +1982,7 @@ public class DateUtil { // BigDecimal bg = new BigDecimal(1.0/30*a); // double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); // + System.out.println("211022199403243920".substring("211022199403243920".length() - 6)); System.out.println(DateUtil.getyyyy_MM_dd_hms(DateUtil.parseYMDHMS("2022-8-4 9:49:48"))); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java index 2ea73ca..aa97b1e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java @@ -14,6 +14,7 @@ import com.lyms.platform.operate.web.request.SmnRequest; import com.lyms.platform.operate.web.result.SmnResult; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.SmnModel; import com.lyms.platform.query.PatientsQuery; @@ -28,6 +29,7 @@ import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Component; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -46,6 +48,9 @@ public class SmnFacade { @Autowired private PatientsService patientsService; + @Autowired + private UsersService usersService; + public BaseResponse addSmn(SmnRequest param, Integer userId) { String hospitalId = autoMatchFacade.getHospitalId(userId); @@ -56,6 +61,7 @@ public class SmnFacade { BeanUtils.copyProperties(smnModel,param, com.lyms.platform.common.utils.BeanUtils.getNullPropertyNames(smnModel)); param.setHospitalId(hospitalId); param.setStatus(2); + param.setYbNum(smnModel.getCardNo().substring(smnModel.getCardNo().length() - 6)+usersService.getSmnSeq(hospitalId)); Query query1 = Query.query(Criteria.where("id").is(smnModel.getId())); Update update = MongoConvertHelper .convertToNativeUpdate(ReflectionUtils.getUpdateField(param)); @@ -68,6 +74,7 @@ public class SmnFacade { BeanUtils.copyProperties(patients,param); param.setHospitalId(hospitalId); param.setStatus(2); + param.setYbNum(patients.getCardNo().substring(patients.getCardNo().length() - 6)+usersService.getSmnSeq(hospitalId)); param.setCreated(new Date()); param.setPatientId(patients.getId()); param.setId(null); @@ -130,7 +137,15 @@ public class SmnFacade { if(param.getQueryType() == 1) { - query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); + if ("2100001291".equals(hospitalId)) + { + //承德市妇幼保健院 双桥区妇幼保健计划生育服务中心 营子区妇幼保健计划生育服务中心 + query.addCriteria(Criteria.where("hospitalId").in(Arrays.asList("2100001291","2100001409","2100001414"))); + } + else + { + query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); + } } else if (param.getQueryType() == 3) {