Browse Source

三院医生圈

wangzhinan 1 year ago
parent
commit
60d4ba3091

+ 3 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/integrate/dao/BaseHospitalGoodsExchageDao.java

@ -16,4 +16,7 @@ public interface BaseHospitalGoodsExchageDao extends JpaRepository<BaseHospitalG
    @Query("from BaseHospitalGoodsExchageDO p where p.user = ?1 and p.goodsCode= ?2")
    List<BaseHospitalGoodsExchageDO> selectByUserAndGoodsCode(String user,String relationCode);
    @Query("from BaseHospitalGoodsExchageDO p where  p.goodsCode= ?1 and status=1 ")
    List<BaseHospitalGoodsExchageDO> selectByGoodsCode(String relationCode);
}

+ 29 - 4
business/base-service/src/main/java/com/yihu/jw/hospital/integrate/service/BaseHospitalActivityService.java

@ -2,7 +2,9 @@ package com.yihu.jw.hospital.integrate.service;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.hospital.integrate.BaseHospitalActivityDO;
import com.yihu.jw.entity.hospital.integrate.BaseHospitalGoodsDO;
import com.yihu.jw.entity.hospital.integrate.BaseHospitalIntegrateDO;
@ -35,6 +37,8 @@ public class BaseHospitalActivityService extends BaseJpaService<BaseHospitalActi
    private BaseHospitalUserActivityDao userActivityDao;
    @Autowired
    private BaseDoctorDao doctorDao;
    @Autowired
    private BaseDoctorHospitalDao doctorHospitalDao;
    /**
     * 新增或者修改活动
@ -79,7 +83,7 @@ public class BaseHospitalActivityService extends BaseJpaService<BaseHospitalActi
                    }
                    conditionSql = " and d.id IN(SELECT dh.doctor_code from base_doctor_hospital dh where dh.dept_code in("+deptCode+") and dh.del=1) ";
                }
                String doctorSql = " SELECT d.id,d.name FROM base_doctor d where 1=1 and d.del=1  ";
                String doctorSql = " SELECT d.id,d.name FROM base_doctor d where 1=1 and d.del=1 and d.name is not null  ";
                List<Map<String,Object>> mapList = jdbcTemplate.queryForList(doctorSql+conditionSql);
                for (Map<String,Object> map:mapList){
                    String id= map.get("id").toString();
@ -164,7 +168,7 @@ public class BaseHospitalActivityService extends BaseJpaService<BaseHospitalActi
    /**
     * 查询活动列表
     */
    public MixEnvelop selectByCondition(String title, Integer page, Integer size,Integer flag,Integer status,String startTime,String endTime){
    public MixEnvelop selectByCondition(String title, Integer page, Integer size,Integer flag,Integer status,String startTime,String endTime,String user,String userId){
        String orderBy = "  order by sort asc,create_time desc  ";
        String condition = " ";
        String sql = "SELECT\n" +
@ -235,7 +239,26 @@ public class BaseHospitalActivityService extends BaseJpaService<BaseHospitalActi
        }
        if (StringUtils.isNoneBlank(endTime)){
            condition +=" and start_time >= '"+endTime+"' ";
            condition +=" and start_time <= '"+endTime+"' ";
        }
        if (StringUtils.isNoneBlank(user)){
            condition +=" and id IN(SELECT relation_code FROM `base_hospital_user_activity` where user ='"+user+"') ";
        }
        if (StringUtils.isNoneBlank(userId)){
            List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(userId);
            String deptCondition = "";
            if (doctorHospitalDOS.size()==1){
                deptCondition +=" participants_code like '%"+doctorHospitalDOS.get(0).getDeptCode()+"%' ";
            }else {
                for (BaseDoctorHospitalDO doctorHospitalDO:doctorHospitalDOS){
                    deptCondition +=" participants_code like '%"+doctorHospitalDO.getDeptCode()+"%' or ";
                }
                deptCondition = deptCondition.substring(0,deptCondition.length()-3);
            }
            condition +=" and (("+deptCondition+") or participants_code is null  or participants_code ='' ) ";
        }
        List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql+condition+orderBy, page, size);
@ -267,7 +290,9 @@ public class BaseHospitalActivityService extends BaseJpaService<BaseHospitalActi
                activityDO.setStatus(1);
            }else if (date.compareTo(startTime)>0&&date.compareTo(endTime)<0){
                activityDO.setStatus(1);
            }else if (date.compareTo(startTime)<0||date.compareTo(endTime)>0){
            }else if (date.compareTo(startTime)<0){
                activityDO.setStatus(0);
            }else if (date.compareTo(endTime)>0){
                activityDO.setStatus(2);
            }
            hospitalActivityDao.save(activityDO);

+ 4 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/integrate/service/BaseHospitalGoodsService.java

@ -36,8 +36,12 @@ public class BaseHospitalGoodsService extends BaseJpaService<BaseHospitalGoodsDO
     */
    public BaseHospitalGoodsDO insertAndUpdate(BaseHospitalGoodsDO goodsDO){
        if (StringUtils.isNoneBlank(goodsDO.getId())){
            BaseHospitalGoodsDO hospitalGoodsDO = hospitalGoodsDao.findById(goodsDO.getId()).get();
            List<BaseHospitalGoodsExchageDO> exchageDOList = goodsExchageDao.selectByGoodsCode(goodsDO.getId());
            goodsDO.setRemainingInventory(hospitalGoodsDO.getInventory()-exchageDOList.size());
            goodsDO.setUpdateTime(new Date());
        }else {
            goodsDO.setRemainingInventory(goodsDO.getInventory());
            goodsDO.setCreateTime(new Date());
            goodsDO.setUpdateTime(new Date());
        }

+ 39 - 3
business/base-service/src/main/java/com/yihu/jw/hospital/integrate/service/BaseHospitalUserActivityService.java

@ -153,8 +153,36 @@ public class BaseHospitalUserActivityService extends BaseJpaService<BaseHospital
     * @param userActivityId
     * @return
     */
    public BaseHospitalUserActivityDO findUserActivityById(String userActivityId){
        return hospitalUserActivityDao.findById(userActivityId).get();
    public JSONObject findUserActivityById(String userActivityId){
        JSONObject object = new JSONObject();
        BaseHospitalUserActivityDO userActivityDO = hospitalUserActivityDao.findById(userActivityId).get();
        String user = userActivityDO.getUser();
        String type = userActivityDO.getType()+"";
        if (type.equalsIgnoreCase("1")){
            BaseDoctorDO doctorDO = doctorDao.findByIdAndDel(user);
            object.put("name",doctorDO.getName());
            object.put("sex",doctorDO.getSex());
            object.put("age", DateUtil.getAgeForIdcard(doctorDO.getIdcard()));
            object.put("mobile",doctorDO.getMobile());
            object.put("idcard",doctorDO.getIdcard());
        }else if (type.equalsIgnoreCase("2")){
            BasePatientDO patientDO = patientDao.findById(user).get();
            object.put("name",patientDO.getName());
            object.put("sex",patientDO.getSex());
            object.put("age", DateUtil.getAgeForIdcard(patientDO.getIdcard()));
            object.put("mobile",patientDO.getMobile());
            object.put("idcard",patientDO.getIdcard());
        }
        String integrateSql ="SELECT IFNULL(SUM(integrate),0) as total FROM base_hospital_user_integrate where user='"+user+"' and relation_code='"+userActivityDO.getRelationCode()+"' ";
        List<Map<String, Object>> rstotal = hibenateUtils.createSQLQuery(integrateSql);
        Double count = 0.0;
        if (rstotal != null && rstotal.size() > 0) {
            count = Double.parseDouble(rstotal.get(0).get("total").toString());
        }
        object.put("total",count);
        object.put("actvityName",userActivityDO.getRelationName());
        object.put("createTime",DateUtil.dateToStrLong(userActivityDO.getCreateTime()));
        return object;
    }
@ -410,6 +438,14 @@ public class BaseHospitalUserActivityService extends BaseJpaService<BaseHospital
                ||date.compareTo(activityDO.getRegistrationEndTime())==0)){
            throw new Exception("还未到报名时间!");
        }
        List<BaseHospitalUserActivityDO> userActivityDOS = hospitalUserActivityDao.selectByRelationCode(activityId);
        if (userActivityDOS.size()>=activityDO.getCount()){
            throw new Exception("报名人数够了。");
        }
        BaseHospitalUserActivityDO hospitalUserActivityDO = hospitalUserActivityDao.selectByUserAndRelationCode(user,activityId);
        if (hospitalUserActivityDO!=null){
            throw new Exception("已报名。");
        }
        BaseHospitalUserActivityDO userActivityDO = new BaseHospitalUserActivityDO();
        userActivityDO.setType(type);
        userActivityDO.setName(name);
@ -683,7 +719,7 @@ public class BaseHospitalUserActivityService extends BaseJpaService<BaseHospital
                "\t\tFROM\n" +
                "\t\t\tbase_hospital_user_integrate ui\n" +
                "\t\t\tLEFT JOIN base_doctor_hospital dh ON \n" +
                "\t\t\tui.user=dh.doctor_code\n" +
                "\t\t\tui.user=dh.doctor_code and dh.del =1 \n" +
                "\t\tWHERE\n" +
                "\t\t\tui.status = 1\n" +
                "\t\t\tAND ui.type=1\n" +

+ 6 - 2
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/integrate/BaseHospitalActivityController.java

@ -96,9 +96,13 @@ public class BaseHospitalActivityController extends EnvelopRestEndpoint {
                                     @ApiParam(name = "startTime", value = "开始时间", required = false)
                                         @RequestParam(value = "startTime", required = false) String startTime,
                                     @ApiParam(name = "endTime", value = "结束时间", required = false)
                                         @RequestParam(value = "endTime", required = false) String endTime) {
                                         @RequestParam(value = "endTime", required = false) String endTime,
                                     @ApiParam(name = "user", value = "用户编码", required = false)
                                         @RequestParam(value = "user", required = false) String user,
                                     @ApiParam(name = "userId", value = "当前用户id(医生查看活动需要传)", required = false)
                                         @RequestParam(value = "userId", required = false) String userId) {
        try {
            return success(hospitalActivityService.selectByCondition(title,page,size,flag,status,startTime,endTime));
            return success(hospitalActivityService.selectByCondition(title,page,size,flag,status,startTime,endTime,user,userId));
        }catch (Exception e){
            return failedException(e);
        }