Forráskód Böngészése

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

# Conflicts:
#	common/common-entity/sql记录
yeshijie 4 éve
szülő
commit
b242f1cd17

+ 41 - 0
common/common-entity/sql记录

@ -507,10 +507,16 @@ CREATE TABLE `base_course` (
  `fee` decimal(10,2) DEFAULT NULL COMMENT '费用',
  `introduction` varchar(3000) DEFAULT NULL COMMENT '课程简介',
  `create_time` datetime DEFAULT NULL,
  `create_user` varchar(50) DEFAULT NULL,
  `create_user_name` varchar(50) DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  `update_user` varchar(50) DEFAULT NULL,
  `update_user_name` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='课程表';
CREATE TABLE `base_course_catalogue` (
  `id` varchar(50) NOT NULL,
  `course_id` varchar(50) DEFAULT NULL,
@ -564,3 +570,38 @@ CREATE TABLE `base_customer_service` (
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='机构客服团队表';
CREATE TABLE `base_children_examination_record` (
  `id` varchar(50) NOT NULL,
  `type` varchar(1) DEFAULT NULL COMMENT '体检类型',
  `exam_time` datetime DEFAULT NULL COMMENT '体检时间',
  `org_code` varchar(50) DEFAULT NULL COMMENT '体检机构code',
  `org_name` varchar(50) DEFAULT NULL COMMENT '体检机构',
  `month_age` varchar(10) DEFAULT NULL COMMENT '月龄',
  `height` varchar(10) DEFAULT NULL COMMENT '身高',
  `weight` varchar(10) DEFAULT NULL COMMENT '体重',
  `head_circumference` varchar(10) DEFAULT NULL COMMENT '头围',
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='儿童体检记录表';
-- 计算2点距离函数
CREATE FUNCTION funDistance(lat1 DOUBLE,lon1 DOUBLE,lat2 DOUBLE,lon2 DOUBLE) RETURNS DOUBLE
BEGIN DECLARE juli DOUBLE;
SET juli = acos(sin(lat1 * PI() / 180) * sin(lat2 * PI() / 180) + cos(lat1 * PI() / 180) * cos(lat2 * PI() / 180) * cos(lon1 * PI() / 180 - lon2 * PI() / 180)) * 6378.137;
RETURN juli;
END;
CREATE TABLE `base_business_sys_dict` (
  `id` varchar(50) NOT NULL,
  `dict_name` varchar(50) DEFAULT NULL COMMENT '所属字典',
  `dict_code` varchar(300) DEFAULT NULL COMMENT '字典项代码',
  `dict_value` text COMMENT '字典项所属值',
  `py_code` varchar(50) DEFAULT NULL COMMENT '拼音缩写码',
  `sort` int(11) DEFAULT NULL COMMENT '排序',
  `create_time` varchar(50) DEFAULT NULL,
  `update_time` varchar(50) DEFAULT NULL,
  `img_url` varchar(1000) DEFAULT NULL COMMENT '图片地址',
  `model_name` varchar(50) DEFAULT NULL COMMENT '模块名称',
  PRIMARY KEY (`id`),
  KEY `dict_name` (`dict_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='托育业务字典表';

+ 105 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/common/BusinessSysDictDO.java

@ -0,0 +1,105 @@
package com.yihu.jw.entity.care.common;
import com.yihu.jw.entity.UuidIdentityEntityWithTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/10
 * @Description:
 */
@Entity
@Table(name = "base_business_sys_dict")
public class BusinessSysDictDO extends UuidIdentityEntityWithTime {
    /**
     * 所属字典
     */
    private String dictName;
    /**
     * 字典项代码
     */
    private String dictCode;
    /**
     * 字典项所属值
     */
    private String dictValue;
    /**
     * 拼音缩写码
     */
    private String pyCode;
    /**
     * 排序
     */
    private Integer sort;
    private String imgUrl;
    private String modelName;
    @Column(name = "model_name")
    public String getModelName() {
        return modelName;
    }
    public void setModelName(String modelName) {
        this.modelName = modelName;
    }
    @Column(name = "img_url")
    public String getImgUrl() {
        return imgUrl;
    }
    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }
    @Column(name = "dict_name")
    public String getDictName() {
        return dictName;
    }
    public void setDictName(String dictName) {
        this.dictName = dictName;
    }
    @Column(name = "dict_code")
    public String getDictCode() {
        return dictCode;
    }
    public void setDictCode(String dictCode) {
        this.dictCode = dictCode;
    }
    @Column(name = "dict_value")
    public String getDictValue() {
        return dictValue;
    }
    public void setDictValue(String dictValue) {
        this.dictValue = dictValue;
    }
    @Column(name = "py_code")
    public String getPyCode() {
        return pyCode;
    }
    public void setPyCode(String pyCode) {
        this.pyCode = pyCode;
    }
    @Column(name = "sort")
    public Integer getSort() {
        return sort;
    }
    public void setSort(Integer sort) {
        this.sort = sort;
    }
}

+ 2 - 2
common/common-entity/src/main/java/com/yihu/jw/entity/care/course/CourseDO.java

@ -1,6 +1,6 @@
package com.yihu.jw.entity.care.course;
import com.yihu.jw.entity.UuidIdentityEntityWithTime;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
@ -17,7 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name="base_course")
public class CourseDO extends UuidIdentityEntityWithTime{
public class CourseDO extends UuidIdentityEntityWithOperator {
    /**
     * '课程类型'

+ 20 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/BusinessSysDictDao.java

@ -0,0 +1,20 @@
package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.care.common.BusinessSysDictDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/10
 * @Description:
 */
public interface BusinessSysDictDao extends PagingAndSortingRepository<BusinessSysDictDO, String>, JpaSpecificationExecutor<BusinessSysDictDO> {
    List<BusinessSysDictDO> findByDictName(String dictName);
}

+ 79 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/BusinessSysDictEndpoint.java

@ -0,0 +1,79 @@
package com.yihu.jw.base.endpoint.dict;
import com.yihu.jw.base.service.dict.BusinessSysDictService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
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;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/10
 * @Description:
 */
@RestController
@RequestMapping(value = "businessSysDict")
@Api(value = "托育业务字典管理", description = "托育业务字典管理", tags = {"基础服务 - 托育业务字典管理"})
public class BusinessSysDictEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BusinessSysDictService businessSysDictService;
    @ApiOperation("查询字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.findDict)
    public MixEnvelop findDict(@ApiParam(name = "name", value = "name", required = false)
                               @RequestParam(value = "name", required = false)String name,
                               @ApiParam(name = "modelName", value = "modelName", required = false)
                               @RequestParam(value = "modelName", required = false)String modelName,
                               @ApiParam(name = "code", value = "code", required = false)
                               @RequestParam(value = "code", required = false)String code,
                               @ApiParam(name = "value", value = "value", required = false)
                               @RequestParam(value = "value", required = false)String value,
                               @ApiParam(name = "page", value = "page", required = false)
                               @RequestParam(value = "page", required = false) Integer page,
                               @ApiParam(name = "pageSize", value = "pageSize", required = false)
                               @RequestParam(value = "pageSize", required = false)Integer pageSize){
        return businessSysDictService.findDictsByNameCode(modelName,name,code,value,page,pageSize);
    }
    @ApiOperation("新增/修改字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.createOrUpdateDict)
    public Envelop createOrUpdateDict(@ApiParam(name = "json", value = "id", required = true)
                                      @RequestParam(value = "json", required = true)String json) throws Exception{
        return success(businessSysDictService.updateOrCreateDict(json));
    }
    @ApiOperation("删除字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.delDict)
    public Envelop delDict(@ApiParam(name = "id", value = "id", required = true)
                           @RequestParam(value = "id", required = true)String id){
        return success(businessSysDictService.deleteDictById(id));
    }
    @ApiOperation("查字典模块")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.findModelDict)
    public MixEnvelop findModelDict(@ApiParam(name = "modelName", value = "modelName", required = false)
                                    @RequestParam(value = "modelName", required = false)String modelName,
                                    @ApiParam(name = "dictName", value = "dictName", required = false)
                                    @RequestParam(value = "dictName", required = false)String dictName,
                                    @ApiParam(name = "page", value = "page", required = false)
                                    @RequestParam(value = "page", required = false) Integer page,
                                    @ApiParam(name = "pageSize", value = "pageSize", required = false)
                                    @RequestParam(value = "pageSize", required = false)Integer pageSize) throws Exception{
        return businessSysDictService.findModel(modelName,dictName,page,pageSize);
    }
}

+ 157 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/BusinessSysDictService.java

@ -0,0 +1,157 @@
package com.yihu.jw.base.service.dict;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.dao.dict.BusinessSysDictDao;
import com.yihu.jw.entity.care.common.BusinessSysDictDO;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import java.util.Map;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/10
 * @Description:
 */
public class BusinessSysDictService extends BaseJpaService<BusinessSysDictDO, BusinessSysDictDao> {
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private BusinessSysDictDao businessSysDictDao;
    //根据id修改或新增字典
    public BusinessSysDictDO updateOrCreateDict(String json) throws  Exception{
        BusinessSysDictDO  businessSysDictDO = objectMapper.readValue(json, BusinessSysDictDO.class);
        String modelName = "";
        if (StringUtils.isNoneBlank(businessSysDictDO.getDictName())){
            List<BusinessSysDictDO> modelNameList=businessSysDictDao.findByDictName(businessSysDictDO.getDictName());
            if (modelNameList!=null&&modelNameList.size()>0){
                modelName= modelNameList.get(0).getModelName();
            }
        }
        businessSysDictDO.setModelName(modelName);
        if(StringUtils.isNoneBlank(businessSysDictDO.getId())){
            BusinessSysDictDO businessSysDictDO1 = businessSysDictDao.findOne(businessSysDictDO.getId());
            if (businessSysDictDO1!=null){
                businessSysDictDO1.setDictValue(businessSysDictDO.getDictValue());
                businessSysDictDO1.setDictCode(businessSysDictDO.getDictCode());
                businessSysDictDO1.setDictName(businessSysDictDO.getDictName());
                businessSysDictDO1.setPyCode(businessSysDictDO.getPyCode());
                businessSysDictDO1.setImgUrl(businessSysDictDO.getImgUrl());
                businessSysDictDO1.setSort(businessSysDictDO.getSort());
                businessSysDictDO1.setModelName(modelName);
            }else {
                businessSysDictDO1 = new BusinessSysDictDO();
                businessSysDictDO1.setDictValue(businessSysDictDO.getDictValue());
                businessSysDictDO1.setDictCode(businessSysDictDO.getDictCode());
                businessSysDictDO1.setDictName(businessSysDictDO.getDictName());
                businessSysDictDO1.setPyCode(businessSysDictDO.getPyCode());
                businessSysDictDO1.setImgUrl(businessSysDictDO.getImgUrl());
                businessSysDictDO1.setSort(businessSysDictDO.getSort());
                businessSysDictDO1.setModelName(modelName);
            }
            return businessSysDictDao.save(businessSysDictDO1);
        }
        return businessSysDictDao.save(businessSysDictDO);
    }
    //根据id删除字典
    public String  deleteDictById(String id){
        String msg = "";
        if (StringUtils.isNoneBlank(id)){
            BusinessSysDictDO businessSysDictDO = businessSysDictDao.findOne(id);
            if (businessSysDictDO!=null) {
                businessSysDictDao.delete(id);
                msg = "删除成功";
            }else {
                msg = "没有这条记录";
            }
        }else{
            msg = "id为空";
        }
        return msg;
    }
    //查字典
    public MixEnvelop findDictsByNameCode(String modelName,String name,String code,String value,Integer page ,Integer pageSize){
        String  sql = "select t.id as \"id\"," +
                " t.dict_name  as \"dictName\","+
                " t.model_name  as \"modelName\","+
                " t.dict_code  as \"dictCode\","+
                " t.dict_value   as \"dictValue\","+
                " t.sort   as \"sort\","+
                " t.py_code  as \"pyCode\","+
                " t.img_url  as \"imgUrl\","+
                " t.create_time as \"createTime\""+
                " from base_business_sys_dict t where 1=1 ";
        if (StringUtils.isNoneBlank(name)){
            sql+=" and t.dict_name like '%"+name+"%'";
        }
        if (StringUtils.isNoneBlank(modelName)){
            sql+=" and t.model_name like '%"+modelName+"%'";
        }
        if (StringUtils.isNoneBlank(code)){
            sql+=" and t.dict_code like '%"+code+"%'";
        }
        if (StringUtils.isNoneBlank(value)){
            sql+=" and t.dict_value like '%"+value+"%'";
        }
        sql+=" and t.dict_code is not null and  t.dict_code != ''";
        if (page==null||page==null){
            List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
            MixEnvelop mixEnvelop = new MixEnvelop();
            mixEnvelop.setTotalCount(list==null?0:list.size());
            mixEnvelop.setDetailModelList(list);
            return  mixEnvelop;
        }else {
            List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
            List<Map<String,Object>> listCount = hibenateUtils.createSQLQuery(sql);
            MixEnvelop mixEnvelop = new MixEnvelop();
            mixEnvelop.setTotalCount(listCount==null?0:listCount.size());
            mixEnvelop.setCurrPage(page);
            mixEnvelop.setPageSize(pageSize);
            mixEnvelop.setDetailModelList(list);
            return  mixEnvelop;
        }
    }
    //查字典
    public MixEnvelop findModel(String modelName, String name, Integer page , Integer pageSize){
        MixEnvelop mixEnvelop = new MixEnvelop();
        String  sql = "select " +
                " t.dict_name  as \"dictName\","+
                " t.model_name  as \"modelName\""+
                " from base_business_sys_dict t where 1=1 ";
        if (StringUtils.isNoneBlank(name)){
            sql+=" and t.dict_name like '%"+name+"%'";
        }
        if (StringUtils.isNoneBlank(modelName)){
            sql+=" and t.model_name like '%"+modelName+"%'";
        }
        sql+=" group by t.dict_name,t.model_name ";
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
        List<Map<String,Object>> listCount = hibenateUtils.createSQLQuery(sql);
        if (listCount!=null){
            mixEnvelop.setTotalCount(listCount.size());
        }else {
            mixEnvelop.setTotalCount(0);
        }
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        return  mixEnvelop;
    }
}

+ 3 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/patient/PatientContactsEndpoint.java

@ -74,7 +74,7 @@ public class PatientContactsEndpoint extends EnvelopRestEndpoint {
     * @return
     */
    @RequestMapping(value = "getContactsOrg", method = RequestMethod.GET)
    @ApiOperation(value = "联系人查询")
    @ApiOperation(value = "查找居民联系服务站")
    public Envelop getContactsOrg(@RequestParam(required = true) String patient) {
        try {
            BaseOrgDO result = contactsService.getContactsOrg(patient);
@ -105,12 +105,12 @@ public class PatientContactsEndpoint extends EnvelopRestEndpoint {
    }
    /**
     * 查找居民联系服务站
     * 查找居民联系服务站列表
     * @param patient
     * @return
     */
    @RequestMapping(value = "findSignOrg", method = RequestMethod.GET)
    @ApiOperation(value = "联系人查询")
    @ApiOperation(value = "查找居民签约服务站")
    public Envelop findSignOrg(@RequestParam(required = true) String patient,
                               @RequestParam(required = true) String lng,
                               @RequestParam(required = true) String lat) {

+ 9 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/contacts/ContactsService.java

@ -100,6 +100,7 @@ public class ContactsService {
        if(isContacts == 1){
            sql += " and t1.is_contacts = "+ isContacts;
        }
        sql += " order by t1.is_contacts desc";
        List<Map<String, Object>> result = jdbcTemplate.queryForList(sql, new Object[]{patient, patient});
        if (result != null && result.size() > 0) {
@ -157,6 +158,8 @@ public class ContactsService {
     */
    public List<Map<String,Object>> findSignOrg(String patient,String lng,String lat){
        List<Map<String,Object>> result = new ArrayList<>();
        List<Map<String,Object>> result1 = new ArrayList<>();
        BasePatientContactsOrgDO contactsOrgDO = contactsOrgDao.findByPatient(patient);
        List<BaseOrgDO> orgDOList = servicePackageService.findSignOrg(patient,"3");
        for (BaseOrgDO orgDO : orgDOList){
            Map<String,Object> map = new HashedMap();
@ -167,8 +170,13 @@ public class ContactsService {
            map.put("photo",orgDO.getPhoto());
            map.put("mobile",orgDO.getMobile());
            map.put("address",orgDO.getAddress());
            result.add(map);
            if(contactsOrgDO!=null&&contactsOrgDO.getOrgCode().equals(orgDO.getCode())){
                result.add(map);
            }else {
                result1.add(map);
            }
        }
        result1.addAll(result1);
        return result;
    }