فهرست منبع

服务包代码

suqinyi 1 سال پیش
والد
کامیت
ef42022dda

+ 0 - 2
common/common-entity/src/main/java/com/yihu/jw/entity/base/servicePackage/ServicePackageDO.java

@ -48,8 +48,6 @@ public class ServicePackageDO extends UuidIdentityEntityWithOperator implements
    private String  serverTime;//服务期限
    private String  serverTimeDescription;//服务时间说明
    private String createUserCode;//创建人
    @Column(name = "leased_code")

+ 2 - 2
common/common-entity/src/main/java/com/yihu/jw/entity/base/servicePackage/ServicePackageItemDO.java

@ -36,10 +36,10 @@ public class ServicePackageItemDO extends UuidIdentityEntity implements java.io.
    private String leasedCode;//租户code
    private String leasedName;//租户name
    private String subItemType;//是否包含子项目
    @Transient
    private String subItemId;//数据库不存在的字段
    private String subItemId;//数据库不存在的字段
    @Transient
    public String getSubItemId() {
        return subItemId;
    }

+ 103 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/qvo/ParamQvo.java

@ -0,0 +1,103 @@
package com.yihu.jw.restmodel.qvo;
/**
 * @author suqinyi
 * @Date 2023/9/21
 */
public class ParamQvo {
    private String id;
    private String leasedCode;//租户
    private String orgCode;//机构code
    private String searchKey;//机构code
    private String status;//状态
    private String jsonStr;
    private String configureIf;//是否是配置
    private String pageIf;//是否分页
    private int page;//是否分页
    private int pageSize;//数量
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getJsonStr() {
        return jsonStr;
    }
    public void setJsonStr(String jsonStr) {
        this.jsonStr = jsonStr;
    }
    public String getLeasedCode() {
        return leasedCode;
    }
    public void setLeasedCode(String leasedCode) {
        this.leasedCode = leasedCode;
    }
    public String getOrgCode() {
        return orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    public String getSearchKey() {
        return searchKey;
    }
    public void setSearchKey(String searchKey) {
        this.searchKey = searchKey;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public String getConfigureIf() {
        return configureIf;
    }
    public void setConfigureIf(String configureIf) {
        this.configureIf = configureIf;
    }
    public String getPageIf() {
        return pageIf;
    }
    public void setPageIf(String pageIf) {
        this.pageIf = pageIf;
    }
    public int getPage() {
        return page;
    }
    public void setPage(int page) {
        this.page = page;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
}

+ 25 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/servicePackage/ServicePackageEndpoint.java

@ -1,11 +1,12 @@
package com.yihu.jw.base.endpoint.servicePackage;
import com.alibaba.fastjson.JSON;
import com.yihu.jw.base.dao.servicePackage.ServicePackageDao;
import com.yihu.jw.base.dao.servicePackage.ServicePackageItemDao;
import com.yihu.jw.base.service.servicePackage.ServicePackageService;
import com.yihu.jw.entity.base.servicePackage.ServicePackageDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageItemDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.restmodel.qvo.ParamQvo;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
@ -69,6 +70,29 @@ public class ServicePackageEndpoint extends EnvelopRestEndpoint {
        return success("操作成功");
    }
    @PostMapping(value = "deleteById")
    @ApiOperation(value = "删除服务包")
    public Envelop deleteById(
            @ApiParam(name = "jsonStr", value = "Json数据", required = false) @RequestParam String jsonStr
    ) throws Exception {
        ParamQvo qvo = JSON.parseObject(jsonStr, ParamQvo.class);
        servicePackageService.deleteById(qvo);
        return success("删除成功");
    }
    @PostMapping(value = "changeState")
    @ApiOperation(value = "改变服务包状态")
    public Envelop changeState(
            @ApiParam(name = "jsonStr", value = "Json数据", required = false) @RequestParam String jsonStr
    ) throws Exception {
        ParamQvo qvo = JSON.parseObject(jsonStr, ParamQvo.class);
        servicePackageService.changeState(qvo);
        return success("删除成功");
    }
    //--------------------------------------------------------------------------------------
    //
    //--------------------------------------------------------------------------------------

+ 10 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/servicePackage/ServicePackageItemEndpoint.java

@ -1,11 +1,13 @@
package com.yihu.jw.base.endpoint.servicePackage;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.servicePackage.ServicePackageItemService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.base.servicePackage.ServicePackageItemDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.restmodel.qvo.ParamQvo;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
@ -46,11 +48,12 @@ public class ServicePackageItemEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "orgCode", value = "机构code") @RequestParam(value = "orgCode", required = false) String orgCode,
            @ApiParam(name = "itemName", value = "服务项名称") @RequestParam(value = "itemName", required = false) String itemName,
            @ApiParam(name = "status", value = "状态") @RequestParam(value = "status", required = false) String status,
            @ApiParam(name = "configureIf", value = "是否配置项") @RequestParam(value = "configureIf", required = false) String configureIf,
            @ApiParam(name = "pageIf", value = "是否分页") @RequestParam(value = "pageIf", required = false) String pageIf,
            @ApiParam(name = "page", value = "页码") @RequestParam(value = "page", required = false) int page,
            @ApiParam(name = "pageSize", value = "数量") @RequestParam(value = "pageSize", required = false) int pageSize
    ) throws Exception {
        Map<String, Object> map = servicePackageItemService.getItemList(leasedCode, orgCode, itemName, status, pageIf, page, pageSize);
        Map<String, Object> map = servicePackageItemService.getItemList(leasedCode, orgCode, itemName, status, configureIf,pageIf, page, pageSize);
        List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("list");
        Integer count = (Integer) map.get("count");
        return success(list, count, page, pageSize);
@ -75,14 +78,15 @@ public class ServicePackageItemEndpoint extends EnvelopRestEndpoint {
     * 失效 del改成0
     * lapse
     */
    @PostMapping(value = "lapseItem")
    @PostMapping(value = "changeState")
    @ApiOperation(value = "失效")
    public ObjEnvelop lapseItem(
            @ApiParam(name = "itemId", value = "itemId", required = true) @RequestParam String itemId) throws Exception {
        if (org.apache.commons.lang3.StringUtils.isBlank(itemId)) {
    public ObjEnvelop changeState(
            @ApiParam(name = "jsonStr", value = "jsonStr", required = true) @RequestParam String jsonStr) throws Exception {
        ParamQvo qvo = JSON.parseObject(jsonStr, ParamQvo.class);
        if (org.apache.commons.lang3.StringUtils.isBlank(qvo.getId())) {
            return failed("ID不能为空", ObjEnvelop.class);
        }
        ServicePackageItemDO entity = servicePackageItemService.lapseItem(itemId);
        ServicePackageItemDO entity = servicePackageItemService.changeState(qvo);
        return success(entity);
    }

+ 15 - 10
svr/svr-base/src/main/java/com/yihu/jw/base/service/servicePackage/ServicePackageItemService.java

@ -7,6 +7,7 @@ import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.base.servicePackage.ServicePackageItemDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageItemRelationalDO;
import com.yihu.jw.mysql.query.BaseJpaService;
import com.yihu.jw.restmodel.qvo.ParamQvo;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.StringUtil;
import org.apache.commons.lang3.StringUtils;
@ -74,26 +75,30 @@ public class ServicePackageItemService extends BaseJpaService<ServicePackageItem
        return result;
    }
    public HashMap<String, Object> getItemList(String leasedCode, String orgCode, String itemName, String status, String pageIf, int page, int pageSize) {
    public HashMap<String, Object> getItemList(String leasedCode, String orgCode, String itemName, String status, String configureIf, String pageIf, int page, int pageSize) {
        String detailSql = "SELECT * ";
        String countSql = "SELECT count(1) ";
        String pageSql = "";
        String sql = "FROM base_service_package_item WHERE 1=1 \n";
        String sql = " FROM base_service_package_item WHERE 1=1 \n";
        if (StringUtils.isNotBlank(configureIf)) {
            //添加的项
            sql += " AND service_package_id ='system'  ";
        }
        if (StringUtils.isNotBlank(leasedCode)) {
            sql += "AND leased_code ='" + leasedCode + "'";
            sql += " AND leased_code ='" + leasedCode + "'";
        }
        if (StringUtils.isNotBlank(orgCode)) {
            sql += "AND org_code ='" + orgCode + "'";
            sql += " AND org_code ='" + orgCode + "'";
        }
        if (StringUtils.isNotBlank(status)) {
            sql += "AND del ='" + status + "'";
            sql += " AND del ='" + status + "'";
        }
        if (StringUtils.isNotBlank(itemName)) {
            sql += "AND `name` LIKE '%" + itemName + "%'";
            sql += " AND `name` LIKE '%" + itemName + "%'";
        }
        if (StringUtils.isNotBlank(pageIf)) {
            //需要分页
            pageSql = " limit " + page * pageSize + "," + pageSize;
            pageSql = " limit " + (page-1) * pageSize + "," + pageSize;
        }
        countSql += sql;
        detailSql += sql + pageSql;
@ -105,10 +110,10 @@ public class ServicePackageItemService extends BaseJpaService<ServicePackageItem
        return map;
    }
    public ServicePackageItemDO lapseItem(String itemId) {
        ServicePackageItemDO entity = servicePackageItemDao.findById(itemId).orElse(null);
    public ServicePackageItemDO changeState(ParamQvo qvo) {
        ServicePackageItemDO entity = servicePackageItemDao.findById(qvo.getId()).orElse(null);
        if (entity != null) {
            entity.setDel("0");
            entity.setDel(qvo.getStatus());
            ServicePackageItemDO newEntity = servicePackageItemDao.save(entity);
            return newEntity;
        }

+ 55 - 58
svr/svr-base/src/main/java/com/yihu/jw/base/service/servicePackage/ServicePackageService.java

@ -3,27 +3,22 @@ package com.yihu.jw.base.service.servicePackage;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.dao.servicePackage.ServicePackageDao;
import com.yihu.jw.base.dao.servicePackage.ServicePackageItemDao;
import com.yihu.jw.base.dao.servicePackage.ServicePackageSignRecordDao;
import com.yihu.jw.base.dao.system.SystemDictEntryDao;
import com.yihu.jw.base.dao.team.BaseTeamDao;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageItemDO;
import com.yihu.jw.entity.base.system.SystemDictEntryDO;
import com.yihu.jw.mysql.query.BaseJpaService;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.restmodel.qvo.ParamQvo;
import com.yihu.jw.utils.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author yeshijie on 2018/8/17.
@ -38,73 +33,54 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
    private ServicePackageDao servicePackageDao;
    @Autowired
    private ServicePackageItemDao servicePackageItemDao;
    @Autowired
    private BaseOrgDao baseOrgDao;
    @Autowired
    private BaseTeamDao baseTeamDao;
    @Autowired
    private SystemDictEntryDao systemDictEntryDao;
    @Autowired
    private ServicePackageSignRecordDao servicePackageSignRecordDao;
    @Transactional(rollbackFor = Exception.class)
    public JSONObject create(ServicePackageDO servicePackageDO) {
    public JSONObject create(ServicePackageDO packageVo) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        JSONObject result = new JSONObject();
        //获取服务项
        List<ServicePackageItemDO> itemList = packageVo.getPackageItemDOList();
        List<ServicePackageItemDO> itemDOList = servicePackageDO.getPackageItemDOList();
        if (itemDOList == null) {
            servicePackageDO.setNum(0);
        //服务项的个数
        if (itemList == null) {
            packageVo.setNum(0);
        } else {
            servicePackageDO.setNum(itemDOList.size());
            packageVo.setNum(itemList.size());
        }
        if (StringUtil.isEmpty(servicePackageDO.getId())) {
        //数据逻辑
        if (StringUtil.isEmpty(packageVo.getId())) {
            //新增
            servicePackageDO.setCreateTime(new Date());
            servicePackageDO = servicePackageDao.save(servicePackageDO);
            packageVo.setCreateTime(new Date());
            packageVo = servicePackageDao.save(packageVo);
        } else {
            //修改
            ServicePackageDO oldDO = servicePackageDao.findById(servicePackageDO.getId()).orElse(null);
            oldDO.setName(servicePackageDO.getName());
            oldDO.setDel(servicePackageDO.getDel());
            oldDO.setType(servicePackageDO.getType());
            oldDO.setIntroduce(servicePackageDO.getIntroduce());
            oldDO.setOrgCode(servicePackageDO.getOrgCode());
            oldDO.setOrgName(servicePackageDO.getOrgName());
            servicePackageDO = servicePackageDao.save(oldDO);
            ServicePackageDO oldDO = servicePackageDao.findById(packageVo.getId()).orElse(null);
            oldDO.setName(packageVo.getName());
            oldDO.setDel(packageVo.getDel());
            oldDO.setType(packageVo.getType());
            oldDO.setIntroduce(packageVo.getIntroduce());
            oldDO.setOrgCode(packageVo.getOrgCode());
            oldDO.setOrgName(packageVo.getOrgName());
            oldDO.setLeasedCode(packageVo.getLeasedCode());
            oldDO.setLeasedName(packageVo.getLeasedName());
            //更新服务包
            packageVo = servicePackageDao.save(oldDO);
            //删除服务项-根据server_page_id
            servicePackageItemDao.deleteByServicePackageId(oldDO.getId());
        }
        List<ServicePackageItemDO> itemDOs = new ArrayList<>();
        for (ServicePackageItemDO itemDO : itemDOList) {
            BaseOrgDO baseOrgDO = baseOrgDao.findByCode(itemDO.getOrgCode());
            if (baseOrgDO != null) {
                itemDO.setOrgName(baseOrgDO.getName());
            }
            itemDO = servicePackageItemDao.findById(itemDO.getId()).orElse(null);
            ;
            ServicePackageItemDO itemDO1 = new ServicePackageItemDO();
            BeanUtils.copyProperties(itemDO, itemDO1);
            itemDO1.setId(null);
            itemDO1.setDictId(itemDO.getId());
            itemDO1.setServicePackageId(servicePackageDO.getId());
            itemDO1.setCreateTime(DateUtil.getStringDate());
            SystemDictEntryDO systemDictEntryDO = systemDictEntryDao.findByDictCodeAndCode("service_item", itemDO.getCode());
            if (systemDictEntryDO != null) {
                if (StringUtils.isNotBlank(systemDictEntryDO.getRemark())) {//服务项所属专题不为空
                    itemDO1.setTopicItem(systemDictEntryDO.getRemark());
                }
            }
            itemDOs.add(itemDO1);
        //保存服务项
        List<ServicePackageItemDO> saveItemList = new ArrayList<>();
        for (ServicePackageItemDO item : itemList) {
            item.setCreateTime(dateFormat.format(new Date()));
            saveItemList.add(item);
        }
        servicePackageItemDao.saveAll(itemDOs);
        servicePackageItemDao.saveAll(saveItemList);
        result.put("response", ConstantUtils.SUCCESS);
        result.put("msg", "操作成功");
        return result;
    }
    public HashMap<String, Object> findList(String leasedCode, String orgCode, String pageName, String status, int page, int size) {
        String detailSql = "SELECT\n" +
                "	(SELECT GROUP_CONCAT(b.`name`) FROM  base_service_package_item b WHERE b.service_package_id=a.id) 'pageItemName',\n" +
@ -135,4 +111,25 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
        map.put("count", count);
        return map;
    }
    public void deleteById(ParamQvo qvo) {
        //查出服务包的服务项
        String itemSql = "SELECT id 'itemId' FROM base_service_package_item WHERE service_package_id ='" + qvo.getId() + "'";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(itemSql);
        String collect = list.stream().map(map -> String.valueOf("'" + map.get("itemId") + "'")).collect(Collectors.joining(",", "(", ") "));
        //删除服务部
        String sql01 = " DELETE FROM base_service_package WHERE id='" + qvo.getId() + "'";
        //删除服务项
        String sql02 = " DELETE FROM base_service_package_item WHERE service_package_id='" + qvo.getId() + "'";
        //删除关联关系
        String sql03 = " DELETE FROM base_service_package_item_relational WHERE item_id IN " + collect;
        jdbcTemplate.execute(sql03);
        jdbcTemplate.execute(sql02);
        jdbcTemplate.execute(sql01);
    }
    public void changeState(ParamQvo qvo) {
        String sql = " UPDATE  base_service_package SET del='" + qvo.getStatus() + "'' WHERE id='" + qvo.getId() + "'";
        jdbcTemplate.execute(sql);
    }
}