Browse Source

xinzeng jiekou

wangzhinan 3 years ago
parent
commit
11ad29ea3d

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

@ -79,6 +79,12 @@ public class Mediicinestockout extends UuidIdentityEntityWithOperator implements
     */
    private String receiveState;
    /**
     * 备货单号
     */
    private String upNum;
    public Mediicinestockout() {
    }
@ -185,4 +191,12 @@ public class Mediicinestockout extends UuidIdentityEntityWithOperator implements
    public void setReceiveState(String receiveState) {
        this.receiveState = receiveState;
    }
    public String getUpNum() {
        return upNum;
    }
    public void setUpNum(String upNum) {
        this.upNum = upNum;
    }
}

+ 77 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/OutDO.java

@ -0,0 +1,77 @@
package com.yihu.jw.entity.a1entity;
import java.io.Serializable;
import java.util.List;
public class OutDO implements Serializable {
    /**
     * 备货单id
     */
    private String upId;
    /**
     * 备注
     */
    private String remark;
    /**
     * 设备
     */
    private String deviceId;
    /**
     * 补货员
     */
    private String replenishEr;
    /**
     * 名称
     */
    private List<DrugDO> drugs;
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getDeviceId() {
        return deviceId;
    }
    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }
    public String getReplenishEr() {
        return replenishEr;
    }
    public void setReplenishEr(String replenishEr) {
        this.replenishEr = replenishEr;
    }
    public List<DrugDO> getDrugs() {
        return drugs;
    }
    public void setDrugs(List<DrugDO> drugs) {
        this.drugs = drugs;
    }
    public String getUpId() {
        return upId;
    }
    public void setUpId(String upId) {
        this.upId = upId;
    }
}

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -82,6 +82,7 @@ public class BaseRequestMapping {
        public static final String PREFIX  = "/baseOut";
        public static final String DOCINFO  = "/docInfo";
        public static final String CREATE  = "/create";
        public static final String CREATEUP  = "/createUp";
        public static final String changeReceiveState  = "/changeReceiveState";
        public static final String getOutDetailListById  = "/getOutDetailListById";
        public static final String getOrgListByTown  = "/getOrgListByTown";
@ -141,6 +142,7 @@ public class BaseRequestMapping {
        public static final String getUserListByDeviceId  = "/getUserListByDeviceId";
        public static final String getOutOfStockDeviceList  = "/getOutOfStockDeviceList";
        public static final String getDetialOutOfStock  = "/getDetialOutOfStock";
        public static final String getDevInventory  = "/getDevInventory";
        public static final String countall  = "/countall";
        public static final String countOnline  = "/countOnline";
        public static final String getDevicesByMoreContent  = "/getDevicesByMoreContent";

+ 14 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineDeviceEndpoint.java

@ -225,4 +225,18 @@ public class MedicineDeviceEndpoint extends EnvelopRestEndpoint {
        return success(jsonObject.getJSONArray("msg"));
    }
    @GetMapping(value = BaseRequestMapping.BaseDevice.getDevInventory)
    @ApiOperation(value = "获取设备库存")
    public Envelop getDevInventory(
            @ApiParam(name = "belongCommunity", value = "社区")
            @RequestParam(value = "belongCommunity", required = false) String belongCommunity,
            @ApiParam(name = "deviceId", value = "所属设备")
            @RequestParam(value = "deviceId", required = false) String deviceId,
            @ApiParam(name = "netStatus", value = "网络状态")
            @RequestParam(value = "netStatus", required = false) String netStatus) throws Exception {
        JSONObject jsonObject = deviceService.getDevInventory(belongCommunity, deviceId, netStatus);
        return success(jsonObject.getJSONArray("msg"));
    }
}

+ 15 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineOutEndpoint.java

@ -38,6 +38,21 @@ public class MedicineOutEndpoint extends EnvelopRestEndpoint {
    @Value("${wechat.id}")
    private String wechatId;
    @PostMapping(value = BaseRequestMapping.BaseOut.CREATEUP)
    @ApiOperation(value = "生成出库单信息")
    public Envelop createUp(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) throws Exception {
        JSONObject jsonObject = null;
        String str = stockoutService.createDetailOut(jsonData);
        jsonObject = JSONObject.parseObject(str);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.getString("response"));
    }
    @PostMapping(value = BaseRequestMapping.BaseOut.CREATE)
    @ApiOperation(value = "新增出货单信息")
    public Envelop create(

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

@ -226,16 +226,16 @@ public class MedicineDrugsService extends BaseJpaService<Mediicinedrugs, Mediici
        String conditionSql = "";
        if (!StringUtils.isEmpty(state)){
            conditionSql += " and t.state = " + state;
            conditionSql += " and t.state = '" + state + "'";
        }
        if (!StringUtils.isEmpty(content)){
            conditionSql += " and CONCAT(t.drug_code, t.drug_bar_code, drug_name, t.drug_short_code) like '%"+content+"%'";
        }
        if (!StringUtils.isEmpty(drugClass)){
            conditionSql += " and t.drug_class_code = " + drugClass;
            conditionSql += " and t.drug_class_code = '" + drugClass + "'";
        }
        if (!StringUtils.isEmpty(drugType)){
            conditionSql += " and t.drug_type_code = " + drugType;
            conditionSql += " and t.drug_type_code = '" + drugType + "'";
        }
        if (!StringUtils.isEmpty(lowVolume)){
            conditionSql += " and t.sale_volume >= " + lowVolume;

+ 96 - 9
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineOrderService.java

@ -7,10 +7,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.dao.a2dao.*;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.jw.entity.a1entity.Mediicinedrugs;
import com.yihu.jw.entity.a1entity.Mediicineorder;
import com.yihu.jw.entity.a1entity.Mediicineorderdetail;
import com.yihu.jw.entity.a1entity.Mediicinestockoutdetail;
import com.yihu.jw.entity.a1entity.*;
import com.yihu.jw.entity.patient.Message;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
@ -40,6 +38,9 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
    @Autowired
    private MediicinestockoutdetailDao stockoutdetailDao;
    @Autowired
    private MediicineDeviceDao deviceDao;
    @Autowired
    private ObjectMapper objectMapper;
@ -190,10 +191,10 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
        String conditionSql = "";
        if (!StringUtils.isEmpty(orderNum)){
            conditionSql += " and t.order_num = " + orderNum;
            conditionSql += " and t.order_num = '" + orderNum + "'";
        }
        if (!StringUtils.isEmpty(equNum)){
            conditionSql += " and t.equ_num = " + equNum;
            conditionSql += " and t.equ_num = '" + equNum + "'";
        }
        if (!StringUtils.isEmpty(contact)){
            conditionSql += " and t.contact like '%" + contact + "%'";
@ -205,13 +206,13 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
                    " AND t.prescribe_time <= '" + endTime + "'";
        }
        if (!StringUtils.isEmpty(sellState)){
            conditionSql += " and t.sell_state = " + sellState;
            conditionSql += " and t.sell_state = '" + sellState + "'";
        }
        if (!StringUtils.isEmpty(orderState)){
            conditionSql += " and t.order_state = " + orderState;
            conditionSql += " and t.order_state = '" + orderState + "'";
        }
        if (!StringUtils.isEmpty(dispensingWindow)){
            conditionSql += " and t.dispensing_window = " + dispensingWindow;
            conditionSql += " and t.dispensing_window = '" + dispensingWindow + "'";
        }
        sql = sql + conditionSql;
@ -311,4 +312,90 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
        return stockoutdetailDao.getoutdetailbyorderid(idorder);
    }
    /**
     * 检查设备订单是否有药品
     * @param deviceId
     * @param orderId
     * @return
     */
    public JSONObject checkOrder(String deviceId, String orderId) {
        JSONObject result = new JSONObject();
        if (deviceId == null || orderId == null || StringUtils.isEmpty(deviceId) || StringUtils.isEmpty(orderId)) {
            result.put("msg","parameter deviceId and orderId is null or empty");
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        String sql = "SELECT\n" +
                "    t.id AS id,\n" +
                "    t.batch_num AS batchNum,\n" +
                "    t.cargo_info AS cargoInfo,\n" +
                "    t.drug_code AS drugCode,\n" +
                "    t.id_order AS idOrder,\n" +
                "    t.med_info AS medInfo,\n" +
                "    t.order_no AS orderNo,\n" +
                "    t.price AS price,\n" +
                "    t.quantity AS quantity,\n" +
                "    t.address AS address,\n" +
                "    t.age AS age,\n" +
                "    t.amount AS amount,\n" +
                "    t.contact AS contact,\n" +
                "    t.dispensing_window AS dispensingWindow,\n" +
                "    t.equ_address AS equAddress,\n" +
                "    t.equ_num AS equNum,\n" +
                "    t.goods_name AS goodsName,\n" +
                "    t.goods_total_amount AS goodsTotalAmount,\n" +
                "    t.id_num AS idNum,\n" +
                "    t.info_access AS infoAccess,\n" +
                "    t.`name` AS `name`,\n" +
                "    t.net_sale_amount AS netSaleAmount,\n" +
                "    t.order_amount AS orderAmount,\n" +
                "    t.order_num AS orderNum,\n" +
                "    t.order_source AS orderSource,\n" +
                "    t.order_state AS orderState,\n" +
                "    t.order_type AS orderType,\n" +
                "    t.pay_time AS payTime,\n" +
                "    t.pick_up_num AS pickUpNum,\n" +
                "    t.prescribe_num AS prescribeNum,\n" +
                "    t.prescribe_time AS prescribeTime,\n" +
                "    t.sell_state AS sellState,\n" +
                "    t.sex AS sex,\n" +
                "    t.shipping_equ AS shippingEqu,\n" +
                "    t.shipping_time AS shippingTime,\n" +
                "    t.socialinsurpayment AS socialinsurpayment,\n" +
                "    t.create_time AS createTime,\n" +
                "    t.create_user AS createUser,\n" +
                "    t.create_user_name AS createUserName,\n" +
                "    t.update_time AS updateTime,\n" +
                "    t.update_user AS updateUser,\n" +
                "    t.update_user_name AS updateUserName,\n" +
                "    t.drug_sku AS drugSku,\n" +
                "    t.drug_num AS drugNum,\n" +
                "    t.specif AS specif,\n" +
                "    t.use_num AS useNum,\n" +
                "    t.use_way AS useWay,\n" +
                "    t.use_rate AS useRate,\n" +
                "    t.use_dose AS useDose,\n" +
                "    t.unit AS unit,\n" +
                "    t.use_way_add AS useWayAdd,\n" +
                "    t.manufactor AS manufactor\n" +
                "FROM\n" +
                "    t_mediicine_order_detail AS t\n" +
                "WHERE t.id_order = '" + orderId + "'";
        List<Map<String,Object>> list = null;
        list = hibenateUtils.createSQLQuery(sql);
        for (Map<String, Object> stringObjectMap : list) {
            String secondSql = "SELECT * FROM t_mediicinecabinet_inventory where barcode = '" + stringObjectMap.get("drugId") + "' AND id_device  = '" + deviceId + "'";
        }
        Mediicinedevice mediicinedevice = deviceDao.findOne(deviceId);
        result.put("response", ConstantUtils.SUCCESS);
        return result;
    }
}

+ 64 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineStockOutService.java

@ -4,14 +4,10 @@ package com.yihu.jw.base.service.a3service;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.dao.a2dao.MediicineorderDao;
import com.yihu.jw.base.dao.a2dao.MediicinestockoutDao;
import com.yihu.jw.base.dao.a2dao.MediicinestockoutdetailDao;
import com.yihu.jw.base.dao.a2dao.*;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.jw.entity.a1entity.Mediicineorder;
import com.yihu.jw.entity.a1entity.Mediicinestockout;
import com.yihu.jw.entity.a1entity.Mediicinestockoutdetail;
import com.yihu.jw.entity.a1entity.*;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
@ -36,12 +32,73 @@ public class MedicineStockOutService extends BaseJpaService<Mediicinestockout, M
    private MediicinestockoutDao outDao;
    @Autowired
    private MediicinestockoutdetailDao outdetailDao;
    @Autowired
    private MediicineDeviceDao deviceDao;
    @Autowired
    private MediicinedrugsDao drugsDao;
    @Autowired
    private MediicinestockupDao upDao;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Transactional(rollbackFor = Exception.class)
    public String createDetailOut(String jsonData) {
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(jsonData)){
            result.put("msg","jsonData is null");
            result.put("response", ConstantUtils.FAIL);
            return result.toJSONString();
        }
        JSONObject out = JSONObject.parseObject(jsonData);
        OutDO obj = JSONObject.parseObject(out.getJSONObject("obj").toJSONString(), OutDO.class);
        if (obj == null ) {
            result.put("msg", "obj is null!");
            result.put("response", ConstantUtils.FAIL);
            return result.toJSONString();
        }
        //需要补货的设备
        Mediicinedevice mediicinedevice = deviceDao.findOne(obj.getDeviceId());
        Mediicinestockout mediicinestockout = new Mediicinestockout();
        mediicinestockout.setReceiveState("1");
        mediicinestockout.setRemark(obj.getRemark());
        mediicinestockout.setReplenishEr(obj.getReplenishEr());
        mediicinestockout.setReplenishEqu(mediicinedevice.getId());
        mediicinestockout.setDocNum(String.valueOf(System.currentTimeMillis()));
        mediicinestockout.setDocTime(new Date());
        mediicinestockout.setCommunity(mediicinedevice.getBelongCommunity());
        mediicinestockout.setAddress(mediicinedevice.getDetailAddress());
        mediicinestockout.setReplenishCate("药品");
        mediicinestockout.setState("1");
        mediicinestockout.setReplenishInventory(obj.getDrugs().stream().reduce(0, (sum, p) -> sum += p.getQty() , Integer::sum).toString());
        //备货单号
        mediicinestockout.setUpNum(upDao.findOne(obj.getUpId()).getDocNum());
        outDao.save(mediicinestockout);
        for (DrugDO drug : obj.getDrugs()) {
            Mediicinedrugs mediicinedrugs = drugsDao.findOne(drug.getDrugId());
            Mediicinestockoutdetail mediicinestockoutdetail = new Mediicinestockoutdetail();
            mediicinestockoutdetail.setIdStockOut(mediicinestockout.getId());
            mediicinestockoutdetail.setDrugCode(mediicinedrugs.getDrugCode());
            mediicinestockoutdetail.setQuantity(drug.getQty().toString());
            mediicinestockoutdetail.setProductPic(mediicinedrugs.getPic());
            outdetailDao.save(mediicinestockoutdetail);
        }
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",ConstantUtils.SUCCESS);
        return result.toJSONString();
    }
    /**
     * 新增药品信息
     * @param jsonData
@ -193,7 +250,7 @@ public class MedicineStockOutService extends BaseJpaService<Mediicinestockout, M
                    " AND t.doc_time <= '" + endTime + "'";
        }
        if (!StringUtils.isEmpty(replenishEr)){
            conditionSql += " and t.replenish_er = " + replenishEr;
            conditionSql += " and t.replenish_er = '" + replenishEr + "'";
        }
        if (!StringUtils.isEmpty(docNum)){
            conditionSql += " and t.doc_num like '%" + docNum + "%'";

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

@ -225,7 +225,7 @@ public class MedicineStockUpService extends BaseJpaService<Mediicinestockup, Med
            conditionSql += " and t.doc_num like '%" + replenishErAndTrackNum + "%'";
        }
        if (!StringUtils.isEmpty(community)){
            conditionSql += " and t.community = " + community;
            conditionSql += " and t.community = '" + community + "'";
        }
        sql = sql + conditionSql;
@ -307,10 +307,10 @@ public class MedicineStockUpService extends BaseJpaService<Mediicinestockup, Med
        String conditionSql = "";
        //社区
        if (!StringUtils.isEmpty(community)){
            conditionSql += " and t.community = " + community;
            conditionSql += " and t.community = '" + community + "'";
        }
        if (!StringUtils.isEmpty(equId)){
            conditionSql += " and t.replenish_equ = " + equId;
            conditionSql += " and t.replenish_equ = '" + equId + "'";
        }
        if (!StringUtils.isEmpty(equName)){
            conditionSql += " and tmd.equ_name like '%" + equName + "%'";
@ -370,7 +370,7 @@ public class MedicineStockUpService extends BaseJpaService<Mediicinestockup, Med
                "    t.update_user AS updateUser,\n" +
                "    t.update_user_name AS updateUserName\n" +
                "FROM\n" +
                "    t_mediicine_stockrecord_detail AS t where idstockup = " + idstockup;
                "    t_mediicine_stockrecord_detail AS t where idstockup = '" + idstockup + "'";
        List<Map<String,Object>> list=null;
        list = hibenateUtils.createSQLQuery(sql);
        result.put("msg", JavaBeanUtils.getInstance().mapListJson(list));

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

@ -86,13 +86,13 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        conditionSql += " and t.type='temperature'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = " + idDevice;
            conditionSql += " and t.id_device = '" + idDevice + "'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = " + equClass;
            conditionSql += " and t.equ_class = '" + equClass + "'";
        }
        if (!StringUtils.isEmpty(netStatus)){
            conditionSql += " and t.network_status = " + netStatus;
            conditionSql += " and t.network_status = '" + netStatus + "'";
        }
        if (!StringUtils.isEmpty(lowT)) {
            conditionSql += " and t.temperature >= " + lowT;
@ -179,13 +179,13 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        conditionSql += " and t.type='humidity'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = " + idDevice;
            conditionSql += " and t.id_device = '" + idDevice + "'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = " + equClass;
            conditionSql += " and t.equ_class = '" + equClass + "'";
        }
        if (!StringUtils.isEmpty(netStatus)){
            conditionSql += " and t.network_status = " + netStatus;
            conditionSql += " and t.network_status = '" + netStatus + "'";
        }
        if (!StringUtils.isEmpty(lowT)) {
            conditionSql += " and t.humidity >= " + lowT;
@ -273,13 +273,13 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        conditionSql += " and t.type='offline'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = " + idDevice;
            conditionSql += " and t.id_device = '" + idDevice + "'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = " + equClass;
            conditionSql += " and t.equ_class = '" + equClass + "'";
        }
        if (!StringUtils.isEmpty(netStatus)){
            conditionSql += " and t.network_status = " + netStatus;
            conditionSql += " and t.network_status = '" + netStatus + "'";
        }
        if (!StringUtils.isEmpty(content)){
            conditionSql += " and CONCAT(t.equ_name, t.equ_num) like '%" + content + "%'";
@ -361,13 +361,13 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        conditionSql += " and t.type='fault'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = " + idDevice;
            conditionSql += " and t.id_device = '" + idDevice + "'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = " + equClass;
            conditionSql += " and t.equ_class = '" + equClass + "'";
        }
        if (!StringUtils.isEmpty(netStatus)){
            conditionSql += " and t.network_status = " + netStatus;
            conditionSql += " and t.network_status = '" + netStatus + "'";
        }
        if (!StringUtils.isEmpty(content)){
            conditionSql += " and CONCAT(t.equ_name, t.equ_num) like '%" + content + "%'";
@ -447,13 +447,13 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        String conditionSql = "";
        conditionSql += " and t.type='flow'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = " + idDevice;
            conditionSql += " and t.id_device = '" + idDevice + "'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = " + equClass;
            conditionSql += " and t.equ_class = '" + equClass + "'";
        }
        if (!StringUtils.isEmpty(netStatus)){
            conditionSql += " and t.network_status = " + netStatus;
            conditionSql += " and t.network_status = '" + netStatus + "'";
        }
        if (!StringUtils.isEmpty(content)){
            conditionSql += " and CONCAT(t.equ_name, t.equ_num) like '%" + content + "%'";
@ -534,13 +534,13 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        conditionSql += " and t.type='network'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = " + idDevice;
            conditionSql += " and t.id_device = '" + idDevice + "'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = " + equClass;
            conditionSql += " and t.equ_class = '" + equClass + "'";
        }
        if (!StringUtils.isEmpty(netStatus)){
            conditionSql += " and t.network_status = " + netStatus;
            conditionSql += " and t.network_status = '" + netStatus + "'";
        }
        if (!StringUtils.isEmpty(content)){
            conditionSql += " and CONCAT(t.equ_name, t.equ_num) like '%" + content + "%'";
@ -621,13 +621,13 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        String conditionSql = "";
        conditionSql += " and t.type='exceed'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = " + idDevice;
            conditionSql += " and t.id_device = '" + idDevice + "'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = " + equClass;
            conditionSql += " and t.equ_class = '" + equClass + "'";
        }
        if (!StringUtils.isEmpty(netStatus)){
            conditionSql += " and t.network_status = " + netStatus;
            conditionSql += " and t.network_status = '" + netStatus + "'";
        }
        if (!StringUtils.isEmpty(content)){
            conditionSql += " and CONCAT(t.equ_name, t.equ_num) like '%" + content + "%'";

+ 155 - 18
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -190,16 +190,16 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            conditionSql += " and CONCAT(t.equ_name, t.equ_num) like '%" + content + "%'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = "+equClass;
            conditionSql += " and t.equ_class = '"+equClass + "'";
        }
        if (!StringUtils.isEmpty(belongCommunity)){
            conditionSql += " and t.belong_community = " + belongCommunity;
            conditionSql += " and t.belong_community = '" + belongCommunity+ "'";
        }
        if (!StringUtils.isEmpty(networkStatus)){
            conditionSql += " and t.network_status = " + networkStatus;
            conditionSql += " and t.network_status = '" + networkStatus + "'";
        }
        if (!StringUtils.isEmpty(saleStatus)){
            conditionSql += " and t.sale_status = " + saleStatus;
            conditionSql += " and t.sale_status = '" + saleStatus + "'";
        }
        sql = sql + conditionSql;
@ -285,35 +285,35 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            conditionSql += " and CONCAT(t.equ_name, t.equ_num) like '%" + content + "%'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = "+equClass;
            conditionSql += " and t.equ_class = '"+equClass + "'";
        }
        if (!StringUtils.isEmpty(belongCommunity)){
            conditionSql += " and t.belong_community = " + belongCommunity;
            conditionSql += " and t.belong_community = '" + belongCommunity + "'";
        }
        if (!StringUtils.isEmpty(networkStatus)){
            conditionSql += " and t.network_status = " + networkStatus;
            conditionSql += " and t.network_status = '" + networkStatus + "'";
        }
        if (!StringUtils.isEmpty(saleStatus)){
            conditionSql += " and t.sale_status = " + saleStatus;
            conditionSql += " and t.sale_status = '" + saleStatus + "'";
        }
        if (!StringUtils.isEmpty(machineCode)){
            conditionSql += " and t.machine_code like  '%" + machineCode + "%'";
        }
        if (!StringUtils.isEmpty(deviceType)){
            conditionSql += " and t.equ_type = "+deviceType;
            conditionSql += " and t.equ_type = '"+deviceType + "'";
        }
        if (!StringUtils.isEmpty(equArea)){
            conditionSql += " and t.equ_area = "+equArea;
            conditionSql += " and t.equ_area = '"+equArea + "'";
        }
        if (!StringUtils.isEmpty(del)){
            conditionSql += " and t.del = "+del;
            conditionSql += " and t.del = '"+del + "'";
        }
        if (!StringUtils.isEmpty(status)){
            conditionSql += " and t.`status` = "+status;
            conditionSql += " and t.`status` = '"+status + "'";
        }
        if (!StringUtils.isEmpty(deliveryAddress)){
            conditionSql += " and t.delivery_address = "+deliveryAddress;
            conditionSql += " and t.delivery_address = '"+deliveryAddress + "'";
        }
        sql = sql + conditionSql;
@ -404,7 +404,8 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                "FROM\n" +
                "    t_mediicine_device AS t where\n";
        String conditionSql = " t.id in (select du.device_id from t_mediicine_device_user du where del = 1 and du.user_id = " + userId + ")";
//        String conditionSql = " t.id in (select du.device_id from t_mediicine_device_user du where del = 1 and ',"+userId+",' LIKE CONCAT('%,',du.user_id,',%'))";
        String conditionSql = " t.id in (select du.device_id from t_mediicine_device_user du where del = 1 and du.user_id = '" + userId + "'";
        sql = sql + conditionSql;
@ -466,7 +467,8 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                "FROM\n" +
                "    t_mediicine_user AS t where\n";
        String conditionSql = " t.id in (select du.user_id from t_mediicine_device_user du where del = 1 and du.device_id = " + deviceId + ")";
//        String conditionSql = " t.id in (select du.user_id from t_mediicine_device_user du where del = 1 and ',"+deviceId+",' LIKE CONCAT('%,',du.device_id,',%'))";
        String conditionSql = " t.id in (select du.user_id from t_mediicine_device_user du where del = 1 and du.device_id = '" + deviceId + "'";
        sql = sql + conditionSql;
@ -744,7 +746,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                "    t.ratio AS ratio,\n" +
                "    t.cargo_capacity AS cargoCapacity\n" +
                "FROM\n" +
                "    t_mediicine_device AS t WHERE  t.id in (" + ids + ")";
                "    t_mediicine_device AS t WHERE ',"+ ids +",' LIKE CONCAT('%,',t.id,',%')";
        String sencordSql = "SELECT\n" +
                "\ttmi.layer_no AS layerNo,\n" +
                "\ttmi.wayer_no AS wayerNo,\n" +
@ -795,9 +797,11 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        List<Map<String,Object>> list=null;
        list = hibenateUtils.createSQLQuery(sql);
        for (Map<String, Object> stringObjectMap : list) {
            sencordSql += " where tmi.id_device = " + stringObjectMap.get("id");
            String tempStr = "";
//            tempStr = sencordSql + " where ',"+stringObjectMap.get("id")+",' LIKE CONCAT('%,',tmi.id_device,',%')";
            tempStr = sencordSql + " WHERE tmi.id_device = '" + stringObjectMap.get("id").toString() + "'";
            List<Map<String, Object>> childList = null;
            childList = hibenateUtils.createSQLQuery(sencordSql);
            childList = hibenateUtils.createSQLQuery(tempStr);
            if (childList != null) {
                for (Map<String, Object> objectMap : childList) {
                    objectMap.put("upInventory", Integer.parseInt(stringObjectMap.get("cargoCapacity").toString()) - Integer.parseInt(objectMap.get("qty").toString()));
@ -812,5 +816,138 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
    }
    /**
     * 获取设备库存
     * @param belongCommunity
     * @param deviceId
     * @param netStatus
     * @return
     * @throws Exception
     */
    public JSONObject getDevInventory(String belongCommunity, String deviceId, String netStatus) throws Exception {
        JSONObject result = new JSONObject();
        String sql = "SELECT\n" +
                "    t.id AS id,\n" +
                "    t.belong_community AS belongCommunity,\n" +
                "    t.community AS community,\n" +
                "    t.del AS del,\n" +
                "    t.delivery_address AS deliveryAddress,\n" +
                "    t.detail_address AS detailAddress,\n" +
                "    t.equ_area AS equArea,\n" +
                "    t.equ_class AS equClass,\n" +
                "    t.equ_info AS equInfo,\n" +
                "    t.equ_name AS equName,\n" +
                "    t.equ_num AS equNum,\n" +
                "    t.equ_type AS equType,\n" +
                "    t.fbelong_community AS fbelongCommunity,\n" +
                "    t.machine_code AS machineCode,\n" +
                "    t.network_status AS networkStatus,\n" +
                "    t.poweron_test AS poweronTest,\n" +
                "    t.reg_date AS regDate,\n" +
                "    t.sale_status AS saleStatus,\n" +
                "    t.signalintensity AS signalintensity,\n" +
                "    t.upgr_adesit AS upgrAdesit,\n" +
                "    t.`status` AS `status`,\n" +
                "    t.card_status AS cardStatus,\n" +
                "    t.operator AS operator,\n" +
                "    t.pack_age AS packAge,\n" +
                "    t.usage_flow AS usageFlow,\n" +
                "    t.flow AS flow,\n" +
                "    t.create_time AS createTime,\n" +
                "    t.create_user AS createUser,\n" +
                "    t.create_user_name AS createUserName,\n" +
                "    t.update_time AS updateTime,\n" +
                "    t.update_user AS updateUser,\n" +
                "    t.update_user_name AS updateUserName,\n" +
                "    t.aisles AS aisles,\n" +
                "    t.capacity AS capacity,\n" +
                "    t.ratio AS ratio,\n" +
                "    t.cargo_capacity AS cargoCapacity\n" +
                "FROM\n" +
                "    t_mediicine_device AS t WHERE 1=1";
        if (!StringUtils.isEmpty(deviceId)) {
            sql += " AND t.id = '" + deviceId + "'";
        }
        if (!StringUtils.isEmpty(belongCommunity)) {
            sql += " AND t.belong_community = '" + belongCommunity + "'";
        }
        if (!StringUtils.isEmpty(netStatus)) {
            sql += " AND t.network_status = '" + netStatus + "'";
        }
        String sencordSql = "SELECT\n" +
                "\ttmi.layer_no AS layerNo,\n" +
                "\ttmi.wayer_no AS wayerNo,\n" +
                "\ttmi.qty AS qty,\n" +
                "\ttmd.id AS id,\n" +
                "\ttmd.approval_num AS approvalNum,\n" +
                "\ttmd.barcode AS barcode,\n" +
                "\ttmd.brand AS brand,\n" +
                "\ttmd.dos_form AS dosForm,\n" +
                "\ttmd.state AS state,\n" +
                "\ttmd.drug_bar_code AS drugBarCode,\n" +
                "\ttmd.drug_class AS drugClass,\n" +
                "\ttmd.drug_class_code AS drugClassCode,\n" +
                "\ttmd.drug_code AS drugCode,\n" +
                "\ttmd.drug_name AS drugName,\n" +
                "\ttmd.drug_name_alies AS drugNameAlies,\n" +
                "\ttmd.drug_short_code AS drugShortCode,\n" +
                "\ttmd.drug_type_code AS drugTypeCode,\n" +
                "\ttmd.earlywarningcate AS earlywarningcate,\n" +
                "\ttmd.inventory AS inventory,\n" +
                "\ttmd.manufactor AS manufactor,\n" +
                "\ttmd.med_cabinet AS medCabinet,\n" +
                "\ttmd.pic AS pic,\n" +
                "\ttmd.price AS price,\n" +
                "\ttmd.sale_volume AS saleVolume,\n" +
                "\ttmd.self_code AS selfCode,\n" +
                "\ttmd.specif AS specif,\n" +
                "\ttmd.unit AS unit,\n" +
                "\ttmd.create_time AS createTime,\n" +
                "\ttmd.create_user AS createUser,\n" +
                "\ttmd.create_user_name AS createUserName,\n" +
                "\ttmd.update_time AS updateTime,\n" +
                "\ttmd.update_user AS updateUser,\n" +
                "\ttmd.update_user_name AS updateUserName,\n" +
                "\ttmd.drug_sku AS drugSku,\n" +
                "\ttmd.drug_num AS drugNum,\n" +
                "\ttmd.use_num AS useNum,\n" +
                "\ttmd.use_way AS useWay,\n" +
                "\ttmd.use_rate AS useRate,\n" +
                "\ttmd.use_dose AS useDose,\n" +
                "\ttmd.use_way_add AS useWayAdd,\n" +
                "\ttmd.org_code AS orgCode,\n" +
                "\ttmd.org_name AS orgName\n" +
                "FROM\n" +
                "\tt_mediicinecabinet_inventory tmi\n" +
                "LEFT JOIN t_mediicine_drugs tmd ON tmi.barcode = tmd.id";
        List<Map<String,Object>> list=null;
        list = hibenateUtils.createSQLQuery(sql);
        for (Map<String, Object> stringObjectMap : list) {
//            String tempStr = sencordSql + " where ',"+stringObjectMap.get("id").toString()+",' LIKE CONCAT('%,',tmi.id_device,',%')";
            String tempStr = sencordSql + " WHERE tmi.id_device = '" + stringObjectMap.get("id").toString() + "'";
            List<Map<String, Object>> childList = null;
            childList = hibenateUtils.createSQLQuery(tempStr);
            if (childList != null) {
                for (Map<String, Object> objectMap : childList) {
                    objectMap.put("upInventory", Integer.parseInt(stringObjectMap.get("cargoCapacity").toString()) - Integer.parseInt(objectMap.get("qty").toString()));
                }
                stringObjectMap.put("children", childList);
                stringObjectMap.put("totalQty", childList.stream().reduce(0, (sum,  p) -> sum += Integer.parseInt(p.get("qty").toString()), Integer::sum));
            }
            //历史订单数
            //总销售额
        }
        result.put("response", ConstantUtils.SUCCESS);
        result.put("msg",list);
        return result;
    }
}