Browse Source

增加一些设备信息

wangzhinan 3 years ago
parent
commit
3739bbba8e

+ 55 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -1211,6 +1211,61 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        }
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("device",device);
        jsonObject.put("totalCargo", device.getAisles());   //货道合并/解离
        //设备容量
        jsonObject.put("deviceCapacity", device.getCapacity());
        String tempSql = "SELECT\n" +
                "\tsum(t.qty)\n" +
                "FROM\n" +
                "\tt_mediicinecabinet_inventory t\n" +
                "WHERE\n" +
                "\tt.id_device = '"+device.getId()+"'\n" +
                "AND (t.state = '1' OR t.state = '21')\n" +
                "AND t.shelf_status = '1'";
        int inStock = jdbcTemplate.queryForObject(tempSql, Integer.class);
        //在架库存数
        jsonObject.put("inStock", inStock);
        jsonObject.put("inStockRate", new BigDecimal((inStock * 1.0) / Integer.parseInt(device.getCapacity())).setScale(2, BigDecimal.ROUND_HALF_UP));
        //缺货库存Out of stock
        tempSql = "SELECT\n" +
                "\tsum(\n" +
                "\t\tt.cargo_capacity - cast(t.qty AS UNSIGNED)\n" +
                "\t)\n" +
                "FROM\n" +
                "\tt_mediicinecabinet_inventory t\n" +
                "WHERE\n" +
                "\tt.id_device = '"+ device.getId() +"'\n" +
                "AND (t.state = '1' OR t.state = '21')";
        int outOfStock = jdbcTemplate.queryForObject(tempSql, Integer.class);
        //在架库存数
        jsonObject.put("outOfStock", outOfStock);
        tempSql = "SELECT\n" +
                "\tCOUNT(DISTINCT(t.id))\n" +
                "FROM\n" +
                "\tt_mediicinecabinet_inventory t\n" +
                "WHERE\n" +
                "\tt.id_device = '"+device.getId()+"'\n" +
                "and cast(t.qty AS UNSIGNED) < t.num\n" +
                "AND (t.state = '1'\n" +
                "OR t.state = '21')";
        //预警货道
        int earlyWarningCargo = jdbcTemplate.queryForObject(tempSql, Integer.class);
        jsonObject.put("earlyWarningCargo", earlyWarningCargo);
        tempSql = "SELECT\n" +
                "\tCOUNT(DISTINCT(t.id))\n" +
                "FROM\n" +
                "\tt_mediicinecabinet_inventory t\n" +
                "WHERE\n" +
                "\tt.id_device = '\" + device.getId() + \"'\n" +
                "and t.cargo_state = '0'\n" +
                "AND (t.state = '1'\n" +
                "OR t.state = '21')";
        //关闭货道
        int closedCargo = jdbcTemplate.queryForObject(tempSql, Integer.class);
        jsonObject.put("closedCargo", closedCargo);
        //1补货,2换货,3上架,4下架
        jsonObject.put("inventoryList",inventoryRecordDao.findMedicineDrugInventoryRecordsByDeviceIdAndEquNumAndType(device.getId(), device.getEquNum(),"1"));
        result.put("response",ConstantUtils.SUCCESS);