Browse Source

update bug

wangzhinan 2 years ago
parent
commit
776302bf25

+ 32 - 42
business/base-service/src/main/java/com/yihu/jw/file_upload/FileUploadService.java

@ -529,51 +529,41 @@ public class FileUploadService {
        return url;
    }
    public String request(String remote_url, MultipartFile file, String type) {
    public String request(String remote_url, MultipartFile file, String type) throws IOException {
        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
        String result = "";
        try {
            String fileName = file.getOriginalFilename();
            HttpPost httpPost = new HttpPost(remote_url);
            MultipartEntityBuilder builder = MultipartEntityBuilder.create();
            builder.addBinaryBody("file", file.getInputStream(), ContentType.MULTIPART_FORM_DATA, fileName);// 文件流
            builder.addTextBody("filename", fileName);// 类似浏览器表单提交,对应input的name和value
            if (!org.springframework.util.StringUtils.isEmpty(type)) {
                builder.addTextBody("type", type); //发送类型
            }
            logger.info("type===="+type);
            if (!isFileFlag(type)){
                throw new FileWrongFormatException("不符合文件上传格式");
            }
            HttpEntity entity = builder.build();
            httpPost.setEntity(entity);
            HttpResponse response = httpClient.execute(httpPost);// 执行提交
            HttpEntity responseEntity = response.getEntity();
            if (responseEntity != null) {
                // 将响应内容转换为字符串
                result = EntityUtils.toString(responseEntity, Charset.forName("UTF-8"));
            }
            WlyyHttpLogDO wlyyHttpLogDO  = new WlyyHttpLogDO();
            wlyyHttpLogDO.setCode("uploadImg");
            wlyyHttpLogDO.setName("图片上传-转发");
            wlyyHttpLogDO.setPatient(null);
            wlyyHttpLogDO.setDoctor(null);
            wlyyHttpLogDO.setResponse(result);
            wlyyHttpLogDO.setRequest("remote_url="+remote_url+"&type="+type);
            wlyyHttpLogDO.setCreateTime(new Date());
            wlyyHttpLogDao.save(wlyyHttpLogDO);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                httpClient.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        String fileName = file.getOriginalFilename();
        HttpPost httpPost = new HttpPost(remote_url);
        MultipartEntityBuilder builder = MultipartEntityBuilder.create();
        builder.addBinaryBody("file", file.getInputStream(), ContentType.MULTIPART_FORM_DATA, fileName);// 文件流
        builder.addTextBody("filename", fileName);// 类似浏览器表单提交,对应input的name和value
        if (!org.springframework.util.StringUtils.isEmpty(type)) {
            builder.addTextBody("type", type); //发送类型
        }
        logger.info("type===="+type);
        if (!isFileFlag(type)){
            throw new FileWrongFormatException("不符合文件上传格式");
        }
        HttpEntity entity = builder.build();
        httpPost.setEntity(entity);
        HttpResponse response = httpClient.execute(httpPost);// 执行提交
        HttpEntity responseEntity = response.getEntity();
        if (responseEntity != null) {
            // 将响应内容转换为字符串
            result = EntityUtils.toString(responseEntity, Charset.forName("UTF-8"));
        }
        WlyyHttpLogDO wlyyHttpLogDO  = new WlyyHttpLogDO();
        wlyyHttpLogDO.setCode("uploadImg");
        wlyyHttpLogDO.setName("图片上传-转发");
        wlyyHttpLogDO.setPatient(null);
        wlyyHttpLogDO.setDoctor(null);
        wlyyHttpLogDO.setResponse(result);
        wlyyHttpLogDO.setRequest("remote_url="+remote_url+"&type="+type);
        wlyyHttpLogDO.setCreateTime(new Date());
        wlyyHttpLogDao.save(wlyyHttpLogDO);
        httpClient.close();
        return result;
    }

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

@ -1680,3 +1680,10 @@ alter table t_mediicine_order add column reviewer_doctor_name varchar(255) defau
 -- 2022-11-11
 alter table base_ylz_medical_recharge add column pay_url varchar(255) default null comment '支付地址';
 --2023-03-15
 alter table t_mediicine_device_print_message add column  fee_info varchar(1000) DEFAULT NULL COMMENT '结算字段';
 alter table t_mediicine_device_print_message add column  fee_remark varchar(500) DEFAULT NULL COMMENT '结算备注';
 alter table base_ylz_medical_relation add column equ_num varchar(100) DEFAULT NULL COMMENT '设备号';

+ 26 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/MedicineDevicePrintMessage.java

@ -47,6 +47,32 @@ public class MedicineDevicePrintMessage extends UuidIdentityEntityWithCreateTime
     */
    private String deviceId;
    /**
     * 结算字段
     */
    private String feeInfo;
    /**
     * 结算备注
     */
    private String feeRemark;
    public String getFeeInfo() {
        return feeInfo;
    }
    public void setFeeInfo(String feeInfo) {
        this.feeInfo = feeInfo;
    }
    public String getFeeRemark() {
        return feeRemark;
    }
    public void setFeeRemark(String feeRemark) {
        this.feeRemark = feeRemark;
    }
    public String getInfo() {
        return info;

+ 10 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/healthCare/YlzMedicalRelationDO.java

@ -102,6 +102,16 @@ public class YlzMedicalRelationDO extends UuidIdentityEntity {
    private String applyTime; //开单时间
    private String cardSn; //卡识别码 医保
    private String equNum;//设备号
    public String getEquNum() {
        return equNum;
    }
    public void setEquNum(String equNum) {
        this.equNum = equNum;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name="settle_date")
    public Date getSettleDate() {

+ 21 - 1
gateway/ag-basic/src/main/resources/application.yml

@ -45,7 +45,27 @@ hystrix:
          thread:
            timeoutInMilliseconds: 4800000
endpoints:
  env:
    enabled: false
  trace:
    enabled: false
  mappings:
    enabled: false
  heapdump:
    enabled: false
  configprops:
    enabled: false
  metrics:
    enabled: false
  features:
    enabled: false
  beans:
    enabled: false
  autoconfig:
    enabled: false
  loggers:
    enabled: false
#Ribbon
ribbon:

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/a2dao/MedicineDevicePrintMessageDao.java

@ -12,4 +12,6 @@ public interface MedicineDevicePrintMessageDao extends PagingAndSortingRepositor
    @Query("select a from MedicineDevicePrintMessage a where a.deviceId = ?1")
    MedicineDevicePrintMessage findDeviceId(String deviceId);
}

+ 11 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineDevicePrintMessageEndpoint.java

@ -41,6 +41,17 @@ public class MedicineDevicePrintMessageEndpoint extends EnvelopRestEndpoint {
        return success(printMessageService.saveAndUpdate(medicineDevicePrintMessage,flag));
    }
    @PostMapping(value = "/saveAndUpdateFee")
    @ApiOperation(value = "新增和修改设备费用打印设置")
    public Envelop saveAndUpdateFee(
            @ApiParam(name = "json", value = "设备打印实体", required = true)
            @RequestParam(value = "json") String json,
            @ApiParam(name = "flag", value = "0全部1单个", required = true)
            @RequestParam(value = "flag") Integer flag) throws Exception {
        MedicineDevicePrintMessage medicineDevicePrintMessage = toEntity(json,MedicineDevicePrintMessage.class);
        return success(printMessageService.saveAndUpdateFee(medicineDevicePrintMessage,flag));
    }
    @GetMapping(value = "/selectById")
    @ApiOperation(value = "查询单个设备打印设置详情")
    public Envelop selectById(

+ 82 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedOrderService.java

@ -2,8 +2,13 @@ package com.yihu.jw.base.service.a3service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.tencentcloudapi.dayu.v20180709.models.IpUnBlockData;
import com.yihu.jw.base.dao.a2dao.MedicineDevicePrintMessageDao;
import com.yihu.jw.base.dao.a2dao.MedicineorderDao;
import com.yihu.jw.base.dao.a2dao.MediicineDeviceDao;
import com.yihu.jw.base.dao.a2dao.MediicineorderdetailDao;
import com.yihu.jw.entity.a1entity.MedicineDevicePrintMessage;
import com.yihu.jw.entity.a1entity.Mediicinedevice;
import com.yihu.jw.entity.a1entity.Mediicineorder;
import com.yihu.jw.entity.a1entity.Mediicineorderdetail;
import com.yihu.jw.entity.hospital.DmHospitalDO;
@ -71,6 +76,10 @@ public class MedOrderService {
    private YlzService ylzService;
    @Autowired
    private MedicineOrderService orderService;
    @Autowired
    private MedicineDevicePrintMessageDao medicineDevicePrintMessageDao;
    @Autowired
    private MediicineDeviceDao deviceDao;
    /**
     * 获取续方订单及药方
@ -376,6 +385,7 @@ public class MedOrderService {
        }if (StringUtils.isNotBlank(idcard)){
            ylzMedicalRelationDO.setIdcard(idcard);
        }
        ylzMedicalRelationDO.setEquNum(equ_num);
        ylzMedicailRelationDao.save(ylzMedicalRelationDO);
        input.put("data",inputDetail);
        dataDetail.put("input",input);
@ -752,6 +762,78 @@ public class MedOrderService {
            result.put("message","核对金额无误!");
            ylzMedicailRelationDao.save(ylzMedicalRelationDO);
        }
        MedicineDevicePrintMessage medicineDevicePrintMessage = medicineDevicePrintMessageDao.findDeviceId(ylzMedicalRelationDO.getEquNum());
        JSONObject jsonObject =new JSONObject();
        if (medicineDevicePrintMessage==null){
            jsonObject.put("status","500");
            jsonObject.put("data","此药柜尚未设置打印模板!");
        }else {
            jsonObject.put("status","200");
            JSONObject object = new JSONObject();
            String feeInfo = medicineDevicePrintMessage.getFeeInfo();
            object.put("feeRemark",medicineDevicePrintMessage.getFeeRemark());
            Mediicinedevice mediicinedevice = deviceDao.findMediicinedeviceByEquNum(ylzMedicalRelationDO.getEquNum());
            if (feeInfo.contains("hospital")){
                object.put("hospital",mediicinedevice.getCommunity());
            }
            if (feeInfo.contains("cardno")){
                object.put("cardno",ylzMedicalRelationDO.getCardNo());
            }
            if (feeInfo.contains("name")){
                object.put("name",ylzMedicalRelationDO.getName());
            }
            if (feeInfo.contains("deptName")){
                object.put("deptName",ylzMedicalRelationDO.getDeptName());
            }
            if (feeInfo.contains("doctorName")){
                object.put("doctorName",ylzMedicalRelationDO.getDrName());
            }
            if (feeInfo.contains("hisSettleNo")){
                object.put("hisSettleNo",ylzMedicalRelationDO.getRelationCode());
            }
            if (feeInfo.contains("applyTime")){
                object.put("applyTime",ylzMedicalRelationDO.getApplyTime());
            }
            if (feeInfo.contains("total")){
                object.put("total",ylzMedicalRelationDO.getTotalAmount());
            }
            if (feeInfo.contains("personAccount")){
                object.put("personAccount",ylzMedicalRelationDO.getPersonAccount());
            }
            if (feeInfo.contains("medicarePrice")){
                object.put("medicarePrice",ylzMedicalRelationDO.getMedicalPrice());
            }
            if (feeInfo.contains("tcjjPay")){
                object.put("tcjjPay",ylzMedicalRelationDO.getTcjjPay()==null?0:ylzMedicalRelationDO.getTcjjPay());
            }
            if (feeInfo.contains("personCash")){
                object.put("personCash",ylzMedicalRelationDO.getPersonCash());
            }
            if (feeInfo.contains("balance")){
                object.put("balance",ylzMedicalRelationDO.getBalance());
            }
            if (feeInfo.contains("accountBalance")){
                object.put("accountBalance",ylzMedicalRelationDO.getAccountBalance());
            }
            if (feeInfo.contains("drugName")){
                List<YlzMedicalMxDO> medicalMxDOS = ylzMedicailMxDao.findByMedicalId(ylzMedicalRelationDO.getId());
                JSONArray array = new JSONArray();
                for (YlzMedicalMxDO mxDO:medicalMxDOS){
                    JSONObject mxObj = new JSONObject();
                    mxObj.put("drugName",mxDO.getItemName());
                    mxObj.put("money",mxDO.getTotalMoney());
                    mxObj.put("count",mxDO.getAmount());
                    mxObj.put("unit",mxDO.getChargeUnitName());
                    mxObj.put("specification",mxDO.getSpecificationType());
                    array.add(mxObj);
                }
                object.put("itemList",array);
            }else {
                object.put("itemList",null);
            }
            jsonObject.put("data",object);
        }
        result.put("printMessage",jsonObject);
        result.put("getSettleInfo",ylzMedicalRelationDO);
        return result;

+ 69 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedevicePrintMessageService.java

@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -56,15 +57,25 @@ public class MedicinedevicePrintMessageService extends BaseJpaService<Medicinede
     */
    public MedicineDevicePrintMessage saveAndUpdate(MedicineDevicePrintMessage printMessage,int flag) throws Exception {
        if (flag==0){
            printMessageDao.deleteAll();
            List<Mediicinedevice> mediicinedeviceList = mediicineDeviceDao.selectByBelongComminity();
            for (Mediicinedevice mediicinedevice:mediicinedeviceList){
                MedicineDevicePrintMessage medicineDevicePrintMessage = new MedicineDevicePrintMessage();
                medicineDevicePrintMessage = printMessage;
                medicineDevicePrintMessage.setId(null);
                medicineDevicePrintMessage.setDeviceId(mediicinedevice.getEquNum());
                printMessageDao.save(medicineDevicePrintMessage);
                MedicineDevicePrintMessage medicineDevicePrintMessage = printMessageDao.findDeviceId(mediicinedevice.getEquNum());
                if (medicineDevicePrintMessage==null){
                    medicineDevicePrintMessage = new MedicineDevicePrintMessage();
                    medicineDevicePrintMessage = printMessage;
                    medicineDevicePrintMessage.setId(null);
                    medicineDevicePrintMessage.setDeviceId(mediicinedevice.getEquNum());
                    medicineDevicePrintMessage.setCreateTime(new Date());
                    printMessageDao.save(medicineDevicePrintMessage);
                }else {
                    medicineDevicePrintMessage.setRemark(printMessage.getRemark());
                    medicineDevicePrintMessage.setInfo(printMessage.getInfo());
                    medicineDevicePrintMessage.setPhone(printMessage.getPhone());
                    medicineDevicePrintMessage.setPicture(printMessage.getPicture());
                    medicineDevicePrintMessage.setRemarkEnd(printMessage.getRemarkEnd());
                    medicineDevicePrintMessage.setCreateTime(new Date());
                    printMessageDao.save(medicineDevicePrintMessage);
                }
            }
            return printMessage;
        }else {
@ -93,6 +104,57 @@ public class MedicinedevicePrintMessageService extends BaseJpaService<Medicinede
        }
    }
    /**
     * 新增和修改设备费用打印设置
     * @param printMessage
     * @param flag(0全部,1单个)
     * @return
     * @throws Exception
     */
    public MedicineDevicePrintMessage saveAndUpdateFee(MedicineDevicePrintMessage printMessage,int flag) throws Exception {
        if (flag==0){
            List<Mediicinedevice> mediicinedeviceList = mediicineDeviceDao.selectByBelongComminity();
            for (Mediicinedevice mediicinedevice:mediicinedeviceList){
                MedicineDevicePrintMessage medicineDevicePrintMessage = printMessageDao.findDeviceId(mediicinedevice.getEquNum());
                if (medicineDevicePrintMessage==null){
                    medicineDevicePrintMessage = new MedicineDevicePrintMessage();
                    medicineDevicePrintMessage = printMessage;
                    medicineDevicePrintMessage.setId(null);
                    medicineDevicePrintMessage.setDeviceId(mediicinedevice.getEquNum());
                    medicineDevicePrintMessage.setCreateTime(new Date());
                    printMessageDao.save(medicineDevicePrintMessage);
                }else {
                    medicineDevicePrintMessage.setFeeInfo(printMessage.getFeeInfo());
                    medicineDevicePrintMessage.setFeeRemark(printMessage.getFeeRemark());
                    medicineDevicePrintMessage.setCreateTime(new Date());
                    printMessageDao.save(medicineDevicePrintMessage);
                }
            }
            return printMessage;
        }else {
            MedicineDevicePrintMessage devicePrintMessage = printMessageDao.findDeviceId(printMessage.getDeviceId());
            if (devicePrintMessage!=null){
                devicePrintMessage.setFeeInfo(printMessage.getFeeInfo());
                devicePrintMessage.setFeeRemark(printMessage.getFeeRemark());
                devicePrintMessage.setCreateTime(new Date());
                return printMessageDao.save(devicePrintMessage);
            }else {
                Mediicinedevice device = mediicineDeviceDao.findByEquNum2(printMessage.getDeviceId());
                if (null==device){
                    throw new Exception("该打印设备设置找不到!");
                }
                devicePrintMessage = new MedicineDevicePrintMessage();
                devicePrintMessage.setFeeInfo(printMessage.getFeeInfo());
                devicePrintMessage.setFeeRemark(printMessage.getFeeRemark());
                devicePrintMessage.setDeviceId(printMessage.getDeviceId());
                devicePrintMessage.setCreateTime(new Date());
                return printMessageDao.save(devicePrintMessage);
            }
        }
    }
    /**
     * 根据id查询单个设备打印详情
     * @param id

+ 0 - 8
svr/svr-base/src/main/java/com/yihu/jw/base/service/advrtisement/AdvertisementLaunchService.java

@ -79,14 +79,10 @@ public class AdvertisementLaunchService extends BaseJpaService<AdvertisementLaun
                            if (count > 0) {
                                continue;
                            }
                            AdvertisementPuttingAdminDO adminDO=adminDAO.findAdvertisementPuttingAdminDOById(advId);
                            AdvertisementLaunchDO launchDO = new AdvertisementLaunchDO();
                            launchDO.setDevId(mediicinedevice.getId());
                            launchDO.setAdvId(advId);
                            advertisementLaunchDAO.save(launchDO);
                            adminDO.setDel(0);
                            adminDO.setForbidden(0);
                            adminDAO.save(adminDO);
                        }
                    }
                } else {
@ -130,10 +126,6 @@ public class AdvertisementLaunchService extends BaseJpaService<AdvertisementLaun
                            advertisementLaunchDO.setDevId(deviceId);
                            advertisementLaunchDO.setAdvId(advId);
                            advertisementLaunchDAO.save(advertisementLaunchDO);
                            AdvertisementPuttingAdminDO adminDO=adminDAO.findAdvertisementPuttingAdminDOById(advId);
                            adminDO.setDel(0);
                            adminDO.setForbidden(0);
                            adminDAO.save(adminDO);
                        }
                    }
                }

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/advrtisement/AdvrtisementService.java

@ -64,11 +64,11 @@ public class AdvrtisementService extends BaseJpaService<AdvertisementPuttingAdmi
            return "广告不存在!";
        }
        if (advertisementExist(id).getDel()==0) {
            advertisementPuttingAdminDAO.updateDelStatusTo1(id);
            advertisementPuttingAdminDAO.delete(id);
            launchDAO.deleteByAdvId(id);
            return "删除成功";
        }else {
            advertisementPuttingAdminDAO.updateDelStatus(id);
            advertisementPuttingAdminDAO.delete(id);
            return "广告恢复成功";
        }