LAPTOP-KB9HII50\70708 2 år sedan
förälder
incheckning
f4ed19a517

+ 9 - 0
common/common-util/src/main/java/com/yihu/jw/util/date/DateUtil.java

@ -1481,6 +1481,15 @@ public class DateUtil {
        return seconds;
    }
    public static long getDifferenceOfMillis(Date dateFrom, Date dateTo) {
        if(dateFrom==null||dateTo==null){
            return 0L;
        }
        long seconds = dateTo.getTime() - dateFrom.getTime();
        seconds = seconds>0?seconds:0;
        return seconds;
    }
    public static int getDifferenceOfDays(String dateFromStr, String dateToStr, String dateFormat) {
        Date dateFrom = parseDate(dateFromStr, dateFormat);

+ 0 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorRoleDictDao.java

@ -1,7 +1,6 @@
package com.yihu.jw.base.dao.doctor;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDictDO;
import com.yihu.jw.entity.hospital.message.BaseBannerDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.jpa.repository.JpaRepository;

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/menu/BaseAppMenuDao.java

@ -19,6 +19,8 @@ public interface BaseAppMenuDao extends JpaRepository<BaseAppMenu, String>, JpaS
    @Query(" FROM BaseAppMenu rc WHERE rc.pid = '0' and rc.type=?1")
    List<BaseAppMenu> getTopParents(Integer type);
    List<BaseAppMenu> findAllByType(Integer type);
    @Query(" FROM BaseAppMenu rc WHERE rc.id <> :id AND rc.code = :code ")
    BaseAppMenu isUniqueCode(@Param("id") String id, @Param("code") String code);

+ 13 - 16
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/menu/BaseAppMenuEndPoint.java

@ -11,9 +11,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
@ -42,7 +40,7 @@ public class BaseAppMenuEndPoint extends EnvelopRestEndpoint {
        statusName.put(null,"失效");
    }
    @RequestMapping("/save")
    @PostMapping("/save")
    @ApiOperation(value = "保存或修改")
    public Envelop save(@ApiParam(name = "data", value = "data",required = true)
                        @RequestParam(value = "data") String data) {
@ -104,7 +102,7 @@ public class BaseAppMenuEndPoint extends EnvelopRestEndpoint {
    }
    @RequestMapping("/delete")
    @PostMapping("/delete")
    @ApiOperation(value = "删除")
    public Envelop delete(@ApiParam(name = "id", value = "id",required = true)
                          @RequestParam(value = "id") String id) {
@ -117,11 +115,12 @@ public class BaseAppMenuEndPoint extends EnvelopRestEndpoint {
        }
    }
    @RequestMapping("/getComboTreeData")
    @GetMapping("/getComboTreeData")
    @ApiOperation(value = "获取资源报表分类下拉框数据")
    public Envelop getComboTreeData() {
    public Envelop getComboTreeData(@ApiParam(name = "type", value = "type",required = true)
                                    @RequestParam(value = "type") Integer type) {
        try {
            List<BaseAppMenu> list = baseAppMenuDao.findAll();
            List<BaseAppMenu> list = baseAppMenuDao.findAllByType(type);
            list.forEach(one->{
                one.setStatusName(statusName.get(one.getStatus()));
            });
@ -132,7 +131,7 @@ public class BaseAppMenuEndPoint extends EnvelopRestEndpoint {
        }
    }
    @RequestMapping(value = "detail")
    @GetMapping(value = "detail")
    @ApiOperation(value = "获取详情")
    public Envelop detail(@ApiParam(name = "id", value = "id",required = true)
                              @RequestParam(value = "id") String id) {
@ -149,7 +148,7 @@ public class BaseAppMenuEndPoint extends EnvelopRestEndpoint {
        }
    }
    @RequestMapping("/getTreeData")
    @GetMapping("/getTreeData")
    @ApiOperation(value = "根据条件,获取菜单列表(树形结构)")
    public Envelop getTreeData(@ApiParam(name = "codeName", value = "资源报表分类编码或名称")
                               @RequestParam(value = "codeName",required = false) String codeName,
@ -157,7 +156,10 @@ public class BaseAppMenuEndPoint extends EnvelopRestEndpoint {
                               @RequestParam(value = "type") Integer type) {
        try {
            List<BaseAppMenu> resultList = new ArrayList<>();
            if (StringUtils.isEmpty(codeName)) {
                List<BaseAppMenu> treeList = baseAppMenuService.getAllTree(type);
                return ListEnvelop.getSuccess("查询成功",treeList);
            }
            // 获取最顶层的资源报表分类集合
            List<BaseAppMenu> topNodeList = baseAppMenuService.getChildrenByPid(BaseAppMenu.topPid,type);
            if (topNodeList.size() == 0) {
@ -169,11 +171,6 @@ public class BaseAppMenuEndPoint extends EnvelopRestEndpoint {
            // 暂存最顶层资源报表分类中,不满足条件的集合
            List<BaseAppMenu> topNodeListOut = new ArrayList<>();
            if (StringUtils.isEmpty(codeName)) {
                List<BaseAppMenu> treeList = baseAppMenuService.getTreeByParents(topNodeList,type);
                return ListEnvelop.getSuccess("查询成功",treeList);
            }
            for (BaseAppMenu reportCategory : topNodeList) {
                if (reportCategory.getCode().contains(codeName) || reportCategory.getName().contains(codeName)) {
                    topNodeListIn.add(reportCategory);

+ 36 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/service/menu/BaseAppMenuService.java

@ -7,14 +7,14 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
 * Created by yeshijie on 2022/9/27.
 */
@Service
public class BaseAppMenuService extends BaseJpaService {
public class BaseAppMenuService extends BaseJpaService<BaseAppMenu,BaseAppMenuDao> {
    @Resource
    private BaseAppMenuDao baseAppMenuDao;
@ -60,9 +60,42 @@ public class BaseAppMenuService extends BaseJpaService {
            parent.setChildren(childTreeList);
            resultList.add(parent);
        }
        return resultList;
    }
    public List<BaseAppMenu> getAllTree(Integer type){
        //获取所有菜单
        List<BaseAppMenu> menus = baseAppMenuDao.findAllByType(type);
        //菜单按pid分组
        Map<String,List<BaseAppMenu>> pidMap = menus.stream().collect(Collectors.groupingBy(BaseAppMenu::getPid));
        //排序
        for (List<BaseAppMenu> list:pidMap.values()){
            list.sort(Comparator.comparingInt(BaseAppMenu::getSort));
        }
        //设置自己的子菜单
        menus.forEach(menu->menu.setChildren(pidMap.get(menu.getId())));
        //过滤 保留顶级菜单
        return menus.stream().filter(m-> BaseAppMenu.topPid.equals(m.getPid())).collect(Collectors.toList());
    }
    /**
     * 递归查询子节点
     * @param root  根节点
     * @param all   所有节点
     * @return 根节点信息
     */
    private List<BaseAppMenu> getChildrens(BaseAppMenu root, List<BaseAppMenu> all) {
        List<BaseAppMenu> children = all.stream().filter(m -> {
            return Objects.equals(m.getPid(), root.getId());
        }).map((m) -> {
                    m.setChildren(getChildrens(m, all));
                    return m;
                }
        ).collect(Collectors.toList());
        return children;
    }
    /**
     * 递归不满足条件的父级集合,获取其满足条件的子集,并返回子集及其父级的树形结构
     *

+ 3 - 3
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/nurse/NursingCardEndpoint.java

@ -102,6 +102,9 @@ public class NursingCardEndpoint extends EnvelopRestEndpoint {
            for (BaseNursingCardDO cardDO:list){
                cardDO.setStatusName(BaseNursingCardDO.Status.getStatusName(cardDO.getStatus()));
                cardDO.setHasNucleicReport(hasNucleicReport);
                if(cardDO.getStatus()==1){
                    cardDO.setRemainingTimes(DateUtil.getDifferenceOfMillis(new Date(),cardDO.getEndTime()));
                }
            }
            int count = (int)nursingCardService.getCount(filters);
            return success(list, count, page, size, BaseNursingCardDO.class);
@ -147,9 +150,6 @@ public class NursingCardEndpoint extends EnvelopRestEndpoint {
                }
                cardDO.setRemainingNum(remainingNum);
                cardDO.setNursingNum(nursingCardService.countByPatientAndStatus(cardDO.getPatient()));
                if(cardDO.getStatus()==1){
                    cardDO.setRemainingTimes(DateUtil.getDifferenceOfSeconds(cardDO.getEndTime(),new Date()));
                }
            }
            int count = (int)nursingCardService.getCount(filters);
            return success(list, count, page, size, BaseNursingCardDO.class);