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

+ 76 - 33
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/processGuidance/BaseProcessGuidanceEndpoint.java

@ -15,9 +15,12 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@ -50,6 +53,8 @@ public class BaseProcessGuidanceEndpoint extends EnvelopRestEndpoint {
    private BaseProcessGuidancePushLogService processGuidancePushLogService;
    @Resource
    private BaseProcessGuidancePresetDao processGuidancePresetDao;
    @Resource
    private JdbcTemplate jdbcTemplate;
    @PostMapping(value = "saveProcessGuidance")
    @ApiOperation(value = "保存或更新流程")
@ -76,27 +81,32 @@ public class BaseProcessGuidanceEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<BaseProcessGuidancePushLogDO> processGuidancePushLogDOS = processGuidancePushLogService.search(fields, filters, sorts, page, size);
        processGuidancePushLogDOS.forEach(one->{
            if(one.getSendType()==1){
                one.setSendTypeName("wx模板");
            }else {
                one.setSendTypeName("短信");
            }
            if(one.getUserType()==1){
                one.setUserTypeName("居民");
            }else {
                one.setUserTypeName("医生");
            }
            if(one.getStatus()==1){
                one.setStatusName("成功");
            }else {
                one.setStatusName("失败");
            }
        });
        int count = (int) processGuidancePushLogService.getCount(filters);
        return success(processGuidancePushLogDOS, count, page, size, BaseProcessGuidancePushLogDO.class);
            @RequestParam(value = "size") int size){
        try {
            List<BaseProcessGuidancePushLogDO> processGuidancePushLogDOS = processGuidancePushLogService.search(fields, filters, sorts, page, size);
            processGuidancePushLogDOS.forEach(one->{
                if(one.getSendType()==1){
                    one.setSendTypeName("wx模板");
                }else {
                    one.setSendTypeName("短信");
                }
                if(one.getUserType()==1){
                    one.setUserTypeName("居民");
                }else {
                    one.setUserTypeName("医生");
                }
                if(one.getStatus()==1){
                    one.setStatusName("成功");
                }else {
                    one.setStatusName("失败");
                }
            });
            int count = (int) processGuidancePushLogService.getCount(filters);
            return success(processGuidancePushLogDOS, count, page, size, BaseProcessGuidancePushLogDO.class);
        }catch (Exception e){
            e.printStackTrace();
        }
        return PageEnvelop.getError("查询失败");
    }
    @PostMapping(value = "saveProcessGuidanceNodeSms")
@ -250,24 +260,57 @@ public class BaseProcessGuidanceEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "deptName", value = "部门名称")
            @RequestParam(value = "deptName", required = false) String deptName,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<BaseProcessGuidanceDO> processGuidanceDOList = processGuidanceService.search(fields, filters, sorts, page, size);
        processGuidanceDOList.forEach(one->{
            if(one.getStatus()==1){
                one.setStatusName("生效");
            }else {
                one.setStatusName("失效");
            @RequestParam(value = "size") int size){
        try {
            if(StringUtils.isBlank(deptName)){
                List<BaseProcessGuidanceDO> processGuidanceDOList = processGuidanceService.search(fields, filters, sorts, page, size);
                processGuidanceDOList.forEach(one->{
                    if(one.getStatus()==1){
                        one.setStatusName("生效");
                    }else {
                        one.setStatusName("失效");
                    }
                    List<BaseProcessGuidanceDeptDO> deptDOList = processGuidanceDeptDao.findByProcessGuidanceId(one.getId());
                    one.setDeptDOList(deptDOList);
                });
                int count = (int) processGuidanceService.getCount(filters);
                return success(processGuidanceDOList, count, page, size, BaseProcessGuidanceDO.class);
            }
            String sql = "SELECT DISTINCT g.* ";
            String sqlCount = "SELECT count(DISTINCT g.id) ";
            String filter = " FROM base_process_guidance g " +
                    "LEFT JOIN base_process_guidance_dept d on g.id = d.process_guidance_id " +
                    "WHERE (g.is_all_dept = 1 or d.dept_name like '%"+deptName+"%') ";
            if(StringUtils.isNotBlank(filters)){
                filter += " and g.name like '%"+filters.split("\\?")[1]+"%'";
            }
            List<BaseProcessGuidanceDeptDO> deptDOList = processGuidanceDeptDao.findByProcessGuidanceId(one.getId());
            one.setDeptDOList(deptDOList);
        });
        int count = (int) processGuidanceService.getCount(filters);
        return success(processGuidanceDOList, count, page, size, BaseProcessGuidanceDO.class);
            String limit = " limit "+(page-1)*size+","+size;
            Integer count = jdbcTemplate.queryForObject(sqlCount + filter,Integer.class);
            List<BaseProcessGuidanceDO> processGuidanceDOList = new ArrayList<>();
            if(count>0){
                processGuidanceDOList = jdbcTemplate.query(sql+filter+limit,new BeanPropertyRowMapper<>(BaseProcessGuidanceDO.class));
                processGuidanceDOList.forEach(one->{
                    if(one.getStatus()==1){
                        one.setStatusName("生效");
                    }else {
                        one.setStatusName("失效");
                    }
                    List<BaseProcessGuidanceDeptDO> deptDOList = processGuidanceDeptDao.findByProcessGuidanceId(one.getId());
                    one.setDeptDOList(deptDOList);
                });
            }
            return success(processGuidanceDOList, count, page, size, BaseProcessGuidanceDO.class);
        }catch (Exception e){
            e.printStackTrace();
        }
        return PageEnvelop.getError("查询失败");
    }
    @GetMapping(value = "getProcessGuidanceById")

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/processGuidance/BaseProcessGuidanceService.java

@ -136,6 +136,7 @@ public class BaseProcessGuidanceService extends BaseJpaService<BaseProcessGuidan
            old.setStatus(guidanceDO.getStatus());
            old.setName(guidanceDO.getName());
            old.setIsAllDept(guidanceDO.getIsAllDept());
            guidanceDO = processGuidanceDao.save(old);
            if(deptDOList!=null&&deptDOList.size()>0){