Browse Source

[物联网大屏统计接口]

wangzhinan 3 years ago
parent
commit
6a96d87ff1
16 changed files with 561 additions and 17 deletions
  1. 99 0
      common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/MedicineDevicePrintMessage.java
  2. 40 0
      common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicinestockout.java
  3. 39 0
      common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicinestockup.java
  4. 5 5
      common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicinestockupdetail.java
  5. 10 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/a2dao/MedicineDevicePrintMessageDao.java
  6. 62 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineDevicePrintMessageEndpoint.java
  7. 98 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/open/nologin/BaseServiceNoEntryPoint.java
  8. 11 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/open/nologin/ServiceNoLoginEndPoint.java
  9. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedOrderService.java
  10. 78 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineOrderService.java
  11. 16 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineStockOutService.java
  12. 12 8
      svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineStockUpService.java
  13. 3 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineWarrayService.java
  14. 80 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedevicePrintMessageService.java
  15. 5 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java
  16. 2 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java

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

@ -0,0 +1,99 @@
package com.yihu.jw.entity.a1entity;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
@Entity
@Table(name="t_mediicine_device_print_message")
public class MedicineDevicePrintMessage extends UuidIdentityEntityWithCreateTime {
    /**
     * 单据信息
     */
    private String info;
    /**
     * 备注
     */
    private String remark;
    /**
     * 客服电话
     */
    private String phone;
    /**
     * 结尾致言
     */
    private String remarkEnd;
    /**
     * 图片二维码
     */
    private String picture;
    /**
     * 设备id
     */
    private String deviceId;
    public String getInfo() {
        return info;
    }
    public void setInfo(String info) {
        this.info = info;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getRemarkEnd() {
        return remarkEnd;
    }
    public void setRemarkEnd(String remarkEnd) {
        this.remarkEnd = remarkEnd;
    }
    public String getPicture() {
        return picture;
    }
    public void setPicture(String picture) {
        this.picture = picture;
    }
    public String getDeviceId() {
        return deviceId;
    }
    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }
}

+ 40 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicinestockout.java

@ -25,11 +25,21 @@ public class Mediicinestockout extends UuidIdentityEntityWithOperator implements
     */
    private String community;
    /**
     * 社区名字
     */
    private String communityName;
    /**
     * replenisher
     */
    private String replenishEr;
    /**
     * replenishErName
     */
    private String replenishErName;
    /**
     * state
     */
@ -40,6 +50,11 @@ public class Mediicinestockout extends UuidIdentityEntityWithOperator implements
     */
    private String replenishEqu;
    /**
     * 设备名称
     */
    private String replenishEquName;
    /**
     * replenishcate
     */
@ -200,4 +215,29 @@ public class Mediicinestockout extends UuidIdentityEntityWithOperator implements
    public void setUpNum(String upNum) {
        this.upNum = upNum;
    }
    public String getCommunityName() {
        return communityName;
    }
    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }
    public String getReplenishErName() {
        return replenishErName;
    }
    public void setReplenishErName(String replenishErName) {
        this.replenishErName = replenishErName;
    }
    public String getReplenishEquName() {
        return replenishEquName;
    }
    public void setReplenishEquName(String replenishEquName) {
        this.replenishEquName = replenishEquName;
    }
}

+ 39 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicinestockup.java

@ -20,11 +20,21 @@ public class Mediicinestockup extends UuidIdentityEntityWithOperator implements
     */
    private String community;
    /**
     *
     */
    private String communityName;
    /**
     * replenisher
     */
    private String replenishEr;
    /**
     * replenishErName
     */
    private String replenishErName;
    /**
     * state, 1已生成,2未生成,3已删除
     */
@ -35,6 +45,11 @@ public class Mediicinestockup extends UuidIdentityEntityWithOperator implements
     */
    private String replenishEqu;
    /**
     * replenishName
     */
    private String replenishEquName;
    /**
     * replenishcate
     */
@ -150,4 +165,28 @@ public class Mediicinestockup extends UuidIdentityEntityWithOperator implements
    public void setTrackNum(Integer trackNum) {
        this.trackNum = trackNum;
    }
    public String getCommunityName() {
        return communityName;
    }
    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }
    public String getReplenishEquName() {
        return replenishEquName;
    }
    public void setReplenishEquName(String replenishEquName) {
        this.replenishEquName = replenishEquName;
    }
    public String getReplenishErName() {
        return replenishErName;
    }
    public void setReplenishErName(String replenishErName) {
        this.replenishErName = replenishErName;
    }
}

+ 5 - 5
common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicinestockupdetail.java

@ -87,7 +87,7 @@ public class Mediicinestockupdetail extends UuidIdentityEntityWithOperator imple
    /**
     * 审核出库数
     */
    private String warehouses;
    private String wareHouses;
    private String orgCode;
@ -224,11 +224,11 @@ public class Mediicinestockupdetail extends UuidIdentityEntityWithOperator imple
        this.claim = claim;
    }
    public String getWarehouses() {
        return warehouses;
    public String getWareHouses() {
        return wareHouses;
    }
    public void setWarehouses(String warehouses) {
        this.warehouses = warehouses;
    public void setWareHouses(String wareHouses) {
        this.wareHouses = wareHouses;
    }
}

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

@ -0,0 +1,10 @@
package com.yihu.jw.base.dao.a2dao;
import com.yihu.jw.entity.a1entity.MedicineDeviceDelivery;
import com.yihu.jw.entity.a1entity.MedicineDevicePrintMessage;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface MedicineDevicePrintMessageDao extends PagingAndSortingRepository<MedicineDevicePrintMessage, String> {
}

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

@ -0,0 +1,62 @@
package com.yihu.jw.base.endpoint.a4endpoint;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.a3service.MedicineOrderService;
import com.yihu.jw.base.service.a3service.MedicinedevicePrintMessageService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.a1entity.MedicineDevicePrintMessage;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/devicePrintMessage")
@Api(value = "设备打印设置", description = "设备打印设置", tags = {"设备打印设置"})
public class MedicineDevicePrintMessageEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private MedicinedevicePrintMessageService printMessageService;
    @PostMapping(value = "/saveAndUpdate")
    @ApiOperation(value = "新增和修改设备打印设置")
    public Envelop saveAndUpdate(
            @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.saveAndUpdate(medicineDevicePrintMessage,flag));
    }
    @GetMapping(value = "/selectById")
    @ApiOperation(value = "查询单个设备打印设置详情")
    public Envelop selectById(
            @ApiParam(name = "id", value = "设备打印Id", required = true)
            @RequestParam(value = "id") String id) throws Exception {
        return success(printMessageService.selectById(id));
    }
    @GetMapping(value = "/selectByCondition")
    @ApiOperation(value = "根据设备名称/设备编码查询设备打印列表")
    public Envelop selectByCondition(
            @ApiParam(name = "condition", value = "设备名称/设备编码", required = true)
            @RequestParam(value = "condition") String condition,
            @ApiParam(name = "page", value = "page", required = false)
            @RequestParam(value = "page", required = false)Integer page,
            @ApiParam(name = "size", value = "size", required = false)
            @RequestParam(value = "size", required = false)Integer size) throws Exception {
        return success(printMessageService.selectByCondition(condition,page,size));
    }
}

+ 98 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/open/nologin/BaseServiceNoEntryPoint.java

@ -0,0 +1,98 @@
package com.yihu.jw.base.endpoint.open.nologin;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.a3service.MedicineOrderService;
import com.yihu.jw.base.service.a3service.MedicineWarrayService;
import com.yihu.jw.base.service.a3service.MedicinedeviceService;
import com.yihu.jw.base.service.advrtisement.AdvertisementLaunchService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.a1entity.MedicineShipmentLog;
import com.yihu.jw.entity.adv.AdvertisementPuttingAdminDO;
import com.yihu.jw.file_upload.FileUploadService;
import com.yihu.jw.restmodel.iot.common.UploadVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
/**
 * @author zmk
 * 业务不用加密访问居民PC端控制类
 * Created at 2019/12/25。
 */
@RestController
@RequestMapping(value = "/open/noEntry")
@Api(value = "业务不用登陆访问居民PC端控制类", description = "业务不用登陆访问居民PC端控制类")
public class BaseServiceNoEntryPoint extends EnvelopRestEndpoint {
    private static final Logger logger = LoggerFactory.getLogger(BaseServiceNoEntryPoint.class);
    @Autowired
    FileUploadService fileUploadService;
    @Value("${fastDFS.fastdfs_file_url}")
    private String fastdfs_file_url;
    @Value("${testPattern.sign}")
    private String isClose;
    @Value("${testPattern.remote_inner_url}")
    private String remote_inner_url;
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_IMG)
    @ApiOperation(value = "文件流上传图片", notes = "文件流上传图片")
    public ObjEnvelop<UploadVO> uploadImg(@ApiParam(value = "文件", required = true)
                                          @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
        // 得到文件的完整名称  xxx.txt
//        String originalFilename = file.getOriginalFilename();
//        InputStream inputStream = file.getInputStream();
//        UploadVO uploadVO = fileUploadService.uploadImg(inputStream,originalFilename,file.getSize(),fastdfs_file_url);
//        return success("上传成功", uploadVO);
        UploadVO uploadVO = new UploadVO();
        if (isClose.equalsIgnoreCase("1")){
            Map<String, Object> map = fileUploadService.uploadImg(file);
            uploadVO.setFullUri(map.get("accessory").toString());
        }else if(isClose.equals("2")){
            String originalFilename = file.getOriginalFilename();
            String[] fs = originalFilename.split("\\.");
            String type = fs[1];
            //内网上传
            String rs = fileUploadService.request(remote_inner_url,file,type);
            logger.info(rs);
            JSONObject json = JSON.parseObject(rs);
            uploadVO = objectMapper.readValue(json.getJSONObject("obj").toJSONString(),UploadVO.class);
        }else {
            // 得到文件的完整名称  xxx.txt
            String originalFilename = file.getOriginalFilename();
            InputStream inputStream = file.getInputStream();
            uploadVO = fileUploadService.uploadStream(inputStream,originalFilename,fastdfs_file_url);
        }
        return success("上传成功", uploadVO);
    }
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STRING)
    @ApiOperation(value = "base64上传图片",notes = "base64上传图片")
    public ObjEnvelop<UploadVO> uploadImages(@ApiParam(name = "jsonData", value = "头像转化后的输入流")
                                             @RequestBody String jsonData) throws Exception {
        UploadVO uploadVO = fileUploadService.uploadImages(jsonData,fastdfs_file_url);
        return success("上传成功", uploadVO);
    }
}

+ 11 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/open/nologin/ServiceNoLoginEndPoint.java

@ -16,6 +16,7 @@ import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.utils.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -99,8 +100,16 @@ public class ServiceNoLoginEndPoint extends EnvelopRestEndpoint {
            @ApiParam(name = "pickUpNum", value = "取药码")
            @RequestParam(value = "pickUpNum", required = false) String pickUpNum,
            @ApiParam(name = "cardNum", value = "社保卡号")
            @RequestParam(value = "cardNum", required = false) String cardNum
    ) {
            @RequestParam(value = "cardNum", required = false) String cardNum,
            @ApiParam(name = "ehcCard", value = "电子健康卡")
            @RequestParam(value = "ehcCard", required = false) String ehcCard
    ) throws Exception {
        if (StringUtils.isNoneBlank(ehcCard)){
            cardNum = orderservice.getEhcCardInfo(ehcCard);
            if (!StringUtils.isNoneBlank(cardNum)){
                return failed("电子健康卡扫码失败");
            }
        }
        JSONObject jsonObject =  orderservice.checkOrderAndReturn(deviceId, pickUpNum, cardNum);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));

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

@ -81,6 +81,7 @@ public class MedOrderService {
            mediicineorder.setDoctorAdvice(params.getString("rx_doctoradvice"));
            mediicineorder.setAllergyInfo(params.getString("rx_allergy_info"));
            mediicineorder.setPickUpNum(order);
            mediicineorder.setOrderSource("厦门i健康");
            mediicineorder.setAmount(params.getString("orderAmount"));
            mediicineorder.setSocialSecurityCardNum(params.getString("SecurityCardNum"));
            mediicineorder.setSocialinsurPayment(params.getString("socialinsurPayment"));

+ 78 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineOrderService.java

@ -12,17 +12,28 @@ import com.yihu.jw.entity.a1entity.*;
import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.hospital.DmHospitalDO;
import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
import com.yihu.jw.entity.hospital.httplog.YlzHttpLogDO;
import com.yihu.jw.entity.wlyyinfo.OauthWlyyConfigDO;
import com.yihu.jw.hospital.HospitalDao;
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
import com.yihu.jw.hospital.prescription.dao.OauthCaConfigDao;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.jw.wlyy.dao.OauthWlyyConfigDao;
import com.yihu.mysql.query.BaseJpaService;
import jxl.format.VerticalAlignment;
import jxl.write.*;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.collections4.IterableUtils;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -37,12 +48,16 @@ import java.util.*;
import java.util.logging.Logger;
import java.util.stream.Collectors;
import static jxl.biff.BaseCellFeatures.logger;
/**
 * Created by Bing on 2021/9/23.
 */
@Service
public class MedicineOrderService extends BaseJpaService<Mediicineorder, MediicineorderDao> {
    private final org.slf4j.Logger logger = LoggerFactory.getLogger(getClass());
    @Autowired
    private MediicineorderDao orderDao;
    @Autowired
@ -79,6 +94,14 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private OauthWlyyConfigDao oauthWlyyConfigDao;
    @Autowired
    private HttpClientUtil httpClientUtil;
    @Autowired
    private WlyyHttpLogDao httpLogDao;
    /**
     * 新增药品信息
@ -894,6 +917,61 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
    }
    public String getEhcCardInfo(String ehealthCode) throws Exception {
        OauthWlyyConfigDO oauthWlyyConfigDO = oauthWlyyConfigDao.findOne("EHCVerify");
        //token获取accesstoken
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("appid", oauthWlyyConfigDO.getAppId()));
        params.add(new BasicNameValuePair("appSecret",oauthWlyyConfigDO.getAppSecret()));
        String res = httpClientUtil.post(oauthWlyyConfigDO.getTokenUrl(),params,"UTF-8");
        String token = null;
        JSONObject rsjson = JSONObject.parseObject(res);
        logger.info("checkWlyyDoctor token :"+rsjson.toString());
        Integer status = rsjson.getInteger("status");
        if(status==10000){
            //设置入参
            List<NameValuePair> p = new ArrayList<>();
            p.add(new BasicNameValuePair("ehealthCode", ehealthCode));
            //设置头部
            token = rsjson.getJSONObject("result").getString("accesstoken");
            Map<String,Object> headerMap = new HashedMap();
            headerMap.put("accesstoken",token);
            String rs = httpClientUtil.headerPost(oauthWlyyConfigDO.getUrl(),p,"UTF-8",headerMap);
            WlyyHttpLogDO wlyyHttpLogDO = new WlyyHttpLogDO();
            wlyyHttpLogDO.setCode("EHCVerify");
            wlyyHttpLogDO.setRequest(p.toString());
            wlyyHttpLogDO.setResponse(rs);
            wlyyHttpLogDO.setName("电子健康卡扫码读取");
            wlyyHttpLogDO.setStatus("1");
            wlyyHttpLogDO.setCreateTime(new Date());
            httpLogDao.save(wlyyHttpLogDO);
            logger.info("checkWlyyDoctor EHCVerify :"+rs);
            if (rs!=null&&rs!=""){
                JSONObject ehc = JSONObject.parseObject(rs);
                if (ehc.getString("ret_code").equalsIgnoreCase("0000")){
                    JSONObject biz = ehc.getJSONObject("biz_content");
                    String cardNo = biz.getString("card_no");
                    if (cardNo!=null&&cardNo!=""){
                        return cardNo;
                    }else {
                        return null;
                    }
                }else {
                    return null;
                }
            }else {
                return null;
            }
        }else {
            return null;
        }
    }
    /**
     * 检查订单&返回订单出货单列表           deviceId ---->equNum
     *

+ 16 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineStockOutService.java

@ -46,6 +46,9 @@ public class MedicineStockOutService extends BaseJpaService<Mediicinestockout, M
    @Autowired
    private MediicinestockupDao upDao;
    @Autowired
    private MediicinestockupdetailDao mediicinestockupdetailDao;
    @Autowired
    private UserDao userDao;
    @Autowired
@ -97,6 +100,8 @@ public class MedicineStockOutService extends BaseJpaService<Mediicinestockout, M
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        UserDO userDO = userDao.findById(obj.getReplenishEr());
        mediicinestockup.setReplenishErName(userDO.getName());
        mediicinestockup.setState("1");
        mediicinestockup.setReplenishEr(obj.getReplenishEr());
        upDao.save(mediicinestockup);
@ -107,10 +112,14 @@ public class MedicineStockOutService extends BaseJpaService<Mediicinestockout, M
        mediicinestockout.setReceiveState("0");
        mediicinestockout.setRemark(obj.getRemark());
        mediicinestockout.setReplenishEr(obj.getReplenishEr());
        mediicinestockout.setReplenishErName(userDO.getName());
        mediicinestockout.setReplenishEqu(mediicinedevice.getId());
        mediicinestockout.setReplenishEquName(mediicinedevice.getEquName());
        mediicinestockout.setDocNum(String.valueOf(System.currentTimeMillis()));
        mediicinestockout.setDocTime(new Date());
        mediicinestockout.setCommunity(mediicinedevice.getBelongCommunity());
        mediicinestockout.setCommunityName(mediicinedevice.getCommunity());
        mediicinestockout.setAddress(mediicinedevice.getDetailAddress());
        //待补品类
        mediicinestockout.setReplenishCate(String.valueOf(obj.getDrugs().size()));
@ -119,6 +128,7 @@ public class MedicineStockOutService extends BaseJpaService<Mediicinestockout, M
        //备货单号
        mediicinestockout.setUpNum(obj.getUpId());
        outDao.save(mediicinestockout);
        List<Mediicinestockupdetail> mediicinestockupdetailList = mediicinestockupdetailDao.getoutdetail(obj.getUpId());
        for (DrugDO drug : obj.getDrugs()) {
            Mediicinedrugs mediicinedrugs = drugsDao.findOne(drug.getDrugId());
            Mediicinestockoutdetail mediicinestockoutdetail = new Mediicinestockoutdetail();
@ -130,6 +140,12 @@ public class MedicineStockOutService extends BaseJpaService<Mediicinestockout, M
            mediicinestockoutdetail.setQuantity(drug.getQty().toString());
            mediicinestockoutdetail.setProductPic(mediicinedrugs.getPic());
            outdetailDao.save(mediicinestockoutdetail);
            for (Mediicinestockupdetail mediicinestockupdetail:mediicinestockupdetailList){
                if (mediicinedrugs.getDrugCode().equalsIgnoreCase(mediicinestockupdetail.getDrugCode())){
                    mediicinestockupdetail.setWareHouses(drug.getQty().toString());
                    mediicinestockupdetailDao.save(mediicinestockupdetail);
                }
            }
        }
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",ConstantUtils.SUCCESS);

+ 12 - 8
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineStockUpService.java

@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -89,11 +90,13 @@ public class MedicineStockUpService extends BaseJpaService<Mediicinestockup, Med
            Mediicinestockup mediicinestockup = new Mediicinestockup();
            //社区
            mediicinestockup.setCommunity(mediicinedevice.getBelongCommunity());
            mediicinestockup.setCommunityName(mediicinedevice.getCommunity());
            mediicinestockup.setDocTime(new Date());
            mediicinestockup.setDocNum(String.valueOf(System.currentTimeMillis()));
            //待补品类,
            mediicinestockup.setReplenishCate(String.valueOf(upDO.getDrugs().size()));
            mediicinestockup.setReplenishEqu(upDO.getDeviceId());
            mediicinestockup.setReplenishEquName(mediicinedevice.getEquName());
            //备货单状态, 1已生成, 2未生成, 3 删除
            mediicinestockup.setState("2");
            mediicinestockup.setReplenishInventory(String.valueOf(upDO.getDrugs().stream().mapToInt(DrugDO::getQty).sum()));
@ -110,7 +113,10 @@ public class MedicineStockUpService extends BaseJpaService<Mediicinestockup, Med
                mediicinestockupdetail.setOrgCode(mediicinedrugs.getOrgCode());
                mediicinestockupdetail.setDrugId(mediicinedrugs.getId());
                mediicinestockupdetail.setDrugName(mediicinedrugs.getDrugName());
                BigDecimal b = new BigDecimal(String.valueOf(mediicinedrugs.getPrice()));
                mediicinestockupdetail.setPrice(b.doubleValue());
                mediicinestockupdetail.setProductPic(mediicinedrugs.getPic());
                mediicinestockupdetail.setMedInfo(mediicinedrugs.getPackUnit());
                mediicinestockupdetail.setOutofstock(drug.getQty().toString());
                mediicinestockupdetail.setClaim(drug.getQty().toString());
                mediicinestockupdetail.setQuantity(drug.getQty().toString());
@ -303,6 +309,7 @@ public class MedicineStockUpService extends BaseJpaService<Mediicinestockup, Med
        String sql = "SELECT\n" +
                "bu.name AS replenishErName,\n" +
                "tmd.equ_name AS replenishEquName,\n" +
                "tmd.equ_num AS replenishEquNum,\n" +
                "t.id AS id,\n" +
                "t.community AS community,\n" +
                "t.doc_time AS docTime,\n" +
@ -329,7 +336,7 @@ public class MedicineStockUpService extends BaseJpaService<Mediicinestockup, Med
                    " AND t.doc_time <= '" + endTime + "'";
        }
        if (!StringUtils.isEmpty(content)){
            conditionSql += " and concat(ifnull(t.`doc_num`,''),ifnull(bu.`name`, '')) like '%" + content + "%'";
            conditionSql += " and concat(ifnull(t.doc_num,''),ifnull(bu.name, '')) like '%" + content + "%'";
        }
        if (!StringUtils.isEmpty(community)){
            conditionSql += " and t.community = '" + community + "'";
@ -337,7 +344,7 @@ public class MedicineStockUpService extends BaseJpaService<Mediicinestockup, Med
        if (!StringUtils.isEmpty(state)){
            conditionSql += " and t.state = '" + state + "'";
        }
        sql = sql + conditionSql;
        sql = sql + conditionSql +" order by t.state asc,t.doc_time desc  ";
        List<Map<String,Object>> list=null;
        list = hibenateUtils.createSQLQuery(sql,page,size);
@ -394,12 +401,9 @@ public class MedicineStockUpService extends BaseJpaService<Mediicinestockup, Med
        }
        JSONObject jsonObject = new JSONObject();
        Mediicinestockup mediicinestockup = upDao.findOne(idstockup);
        //备货单详情页,设备地址,从code,转化为name
        mediicinestockup.setCommunity(hospitalDao.findByCode(mediicinestockup.getCommunity()).getName());
        jsonObject.put("info", upDao.findOne(idstockup));
        jsonObject.put("list", updetailDao.getoutdetail(idstockup));
        List<Mediicinestockupdetail> detailList = updetailDao.getoutdetail(idstockup);
        jsonObject.put("info", mediicinestockup);
        jsonObject.put("list", detailList);
        result.put("msg", jsonObject);
        result.put("response", ConstantUtils.SUCCESS);
        return result;

+ 3 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineWarrayService.java

@ -745,6 +745,7 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
                    type="温度异常";
                }
            }
            mediicinedevice.setTemperature(temperature+"");
        }
        if (!StringUtils.isEmpty(mediicinedevice.getWaringHumidityHeight())&&!StringUtils.isEmpty(mediicinedevice.getWaringHumidityLow())){
            Float humidityHeight = Float.parseFloat(mediicinedevice.getWaringHumidityHeight());
@ -758,7 +759,9 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
                    }
                }
            }
            mediicinedevice.setTemperature(humidity+"");
        }
        deviceDao.save(mediicinedevice);
        if (!StringUtils.isEmpty(type)) {
            Mediicinewarray mediicinewarray = medicinedeviceService.uploadDeviceInfo(equNum, temperature, humidity, type);
            result.put("msg",mediicinewarray);

+ 80 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedevicePrintMessageService.java

@ -0,0 +1,80 @@
package com.yihu.jw.base.service.a3service;
import com.yihu.jw.base.dao.a2dao.*;
import com.yihu.jw.entity.a1entity.*;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
 * Created by Bing on 2021/9/23.
 */
@Service
public class MedicinedevicePrintMessageService extends BaseJpaService<MedicinedevicePrintMessageService, MedicineDevicePrintMessageDao> {
    @Autowired
    private MedicineDevicePrintMessageDao printMessageDao;
    @Autowired
    private MediicineDeviceDao mediicineDeviceDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    //{"community":"社区名称","phone":"客服电话","equName":"设备名称","equNum":"设备编号","saleTime":"销售日期","shipTime":"取药时间","public":"公共信息","coding":"自编码","specifications":"规格","batchNo":"批次号","manufacturer":"生产厂家","validTime":"有效期","sourceCode":"溯源码","publicName":"药品通用名称","dosage":"剂型","holder":"上市许可持有人","approvalNumber":"批准文号"}
    /**
     * 保存和修改设备打印设置
     * @param printMessage
     * @param flag(0全部,1单个)
     * @return
     * @throws Exception
     */
    public MedicineDevicePrintMessage saveAndUpdate(MedicineDevicePrintMessage printMessage,int flag) throws Exception {
        if (flag==0){
            printMessageDao.deleteAll();
            List<Mediicinedevice> mediicinedeviceList = mediicineDeviceDao.selectByBelongComminity();
            for (Mediicinedevice mediicinedevice:mediicinedeviceList){
               printMessage.setDeviceId(mediicinedevice.getId());
               printMessageDao.save(printMessage);
            }
            return printMessage;
        }else {
            return printMessageDao.save(printMessage);
        }
    }
    /**
     * 根据id查询单个设备打印详情
     * @param id
     * @return
     */
    public MedicineDevicePrintMessage selectById(String id){
        return printMessageDao.findOne(id);
    }
    /**
     *
     * @param condition
     * @param page
     * @param size
     * @return
     */
    public List<Map<String,Object>> selectByCondition(String condition,Integer page,Integer size){
        String sql = " SELECT d.equ_name as equName,d.equ_num as equNum,pm.picture,pm.remark_end as remarkEnd,pm.id as id from  t_mediicine_device_print_message pm LEFT JOIN t_mediicine_device d ON pm.device_id = d.id " +
                "where (d.equ_name LIKE '%"+condition+"%' OR d.equ_num LIKE '%"+condition+"%') order by create_time desc ";
        List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql,page,size);
        return mapList;
    }
}

+ 5 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -859,11 +859,11 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                "    t.layer as layer,\n" +
                "    t.wayer as wayer\n" +
                "FROM\n" +
                "    t_mediicine_device AS t where 1=1 AND t.del = 1\n";
                "    t_mediicine_device AS t where 1=1 AND t.del = 1 \n";
        String conditionSql = "";
        if (!StringUtils.isEmpty(content)){
            conditionSql += " AND CONCAT(IFNULL(t.`equ_name`,''), IFNULL(t.`equ_num`,'')) like '%" + content + "%'";
            conditionSql += " AND CONCAT(IFNULL(t.equ_name,''), IFNULL(t.equ_num,'')) like '%" + content + "%'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " AND t.equ_class = '"+equClass + "'";
@ -3475,6 +3475,9 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        MediicinecabinetInventory inventory =  inventoryDao.findOne(id);
        boolean cargoCapacityChanged = false;
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(qty)){
            if (Integer.parseInt(qty) > 99) {
                throw new RuntimeException("库存数量最多99个,请重新设置");
            }
            //有药品时的补货
            MedicineDrugInventoryRecord inventoryRecord = new MedicineDrugInventoryRecord();
            inventoryRecord.setDeviceId(inventory.getIdDevice());

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java

@ -556,6 +556,8 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
                userAreaDO=userAreaDao.save(userAreaDO);
                list.add(userAreaDO);
            }
        }else {
            userAreaDao.deleteByUserId(userDO.getId());
        }
        result.put("area",list);