فهرست منبع

Merge branch 'dev' of chaoren1/wlyy2.0 into medicare

wangzhinan 3 سال پیش
والد
کامیت
5541c3f5b1
1فایلهای تغییر یافته به همراه67 افزوده شده و 11 حذف شده
  1. 67 11
      svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

+ 67 - 11
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -650,6 +650,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            result.put("response", ConstantUtils.FAIL);
            return result.toJSONString();
        }
        String deviceID = "";
        if (isMerge) {
            Boolean isFirst = true;
            String wayerNos = "";
@ -666,8 +667,10 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            MediicinecabinetInventory copyInventory = new MediicinecabinetInventory();
            for (String deviceId : cargoIds.split(",")) {
                if(!StringUtils.isEmpty(deviceId)){
                    if (isFirst) {
                        MediicinecabinetInventory inventory = inventoryDao.findOne(deviceId);
                        deviceID = inventory.getIdDevice();
                        copyInventory = inventory;
                        inventory.setMerge(wayerNos);
                        inventory.setState("21");
@ -675,6 +678,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                        isFirst = false;
                    } else {
                        MediicinecabinetInventory inventory = inventoryDao.findOne(deviceId);
                        deviceID = inventory.getIdDevice();
                        inventory.setMerge(wayerNos);
//                        inventory.setCargoCapacity(copyInventory.getCargoCapacity());
//                        inventory.setState(copyInventory.getState());
@ -689,12 +693,25 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            for (String deviceId : cargoIds.split(",")) {
                if(!StringUtils.isEmpty(deviceId)){
                    MediicinecabinetInventory inventory = inventoryDao.findOne(deviceId);
                    deviceID = inventory.getIdDevice();
                    inventory.setMerge(inventory.getWayerNo());
                    inventory.setState("1");
                    inventoryDao.save(inventory);
                }
            }
        }
        Mediicinedevice mediicinedevice = deviceDao.findOne(deviceID);
        if (mediicinedevice != null) {
            String tempSql = "SELECT\n" +
                    "\tCOUNT(DISTINCT(t.id))\n" +
                    "FROM\n" +
                    "\tt_mediicinecabinet_inventory t\n" +
                    "WHERE\n" +
                    "\tt.id_device = '"+deviceID+"'\n" +
                    "AND (t.state = '1' OR t.state = '21')";
            mediicinedevice.setAisles(String.valueOf(jdbcTemplate.queryForObject(tempSql, Integer.class)));
            deviceDao.save(mediicinedevice);
        }
        result.put("response",ConstantUtils.SUCCESS);
        return result.toJSONString();
    }
@ -1215,13 +1232,19 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        //设备容量
        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'";
                "\tIFNULL(\n" +
                "\t\t(\n" +
                "\t\t\tSELECT\n" +
                "\t\t\t\tsum(t.qty)\n" +
                "\t\t\tFROM\n" +
                "\t\t\t\tt_mediicinecabinet_inventory t\n" +
                "\t\t\tWHERE\n" +
                "\t\t\t\tt.id_device = '"+device.getId()+"'\n" +
                "\t\t\tAND (t.state = '1' OR t.state = '21')\n" +
                "\t\t\tAND t.shelf_status = '1'\n" +
                "\t\t),\n" +
                "\t\t0\n" +
                "\t)";
        int inStock = jdbcTemplate.queryForObject(tempSql, Integer.class);
        //在架库存数
        jsonObject.put("inStock", inStock);
@ -3135,13 +3158,29 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        inventory.setSku(mediicinedrugs.getDrugSku());
        inventory.setShelfStatus("1");
        inventory.setDrugId(drugId);
        inventory.setQty(qty);
        inventory.setPic(mediicinedrugs.getPic());
        boolean cargoCapacityChanged = false;
        //更换药品,货道容量跟着药品数量变动
        if (Integer.parseInt(qty) > Integer.parseInt(inventory.getCargoCapacity())) {
            cargoCapacityChanged = true;
            inventory.setCargoCapacity(qty);
        }
        inventory.setQty(qty);
        inventory.setPic(mediicinedrugs.getPic());
        return inventoryDao.save(inventory);
        inventoryDao.save(inventory);
        if (cargoCapacityChanged) {
            //重算设备容量
            Mediicinedevice mediicinedevice = deviceDao.findOne(inventory.getIdDevice());
            String tempSql = "SELECT\n" +
                    "\tsum(t.cargo_capacity)\n" +
                    "FROM\n" +
                    "\tt_mediicinecabinet_inventory t\n" +
                    "WHERE\n" +
                    "\tt.id_device = '"+inventory.getIdDevice()+"'\n" +
                    "AND (t.state = '1' OR t.state = '21')";
            mediicinedevice.setCapacity(String.valueOf(jdbcTemplate.queryForObject(tempSql, Integer.class)));
            deviceDao.save(mediicinedevice);
        }
        return inventory;
    }
    /**
@ -3165,6 +3204,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
     */
    public MediicinecabinetInventory updateMediicinecabineInventoryInfoById(String id,String qty,String cargoCapacity,String status,String userId) throws Exception {
        MediicinecabinetInventory inventory =  inventoryDao.findOne(id);
        boolean cargoCapacityChanged = false;
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(qty)){
            //有药品时的补货
            MedicineDrugInventoryRecord inventoryRecord = new MedicineDrugInventoryRecord();
@ -3183,12 +3223,14 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            inventoryRecordDao.save(inventoryRecord);
            //提升容量至库存数(修改的库存数大于容量时)
            if (Integer.parseInt(qty) > Integer.parseInt(inventory.getCargoCapacity())) {
                cargoCapacityChanged = true;
                inventory.setCargoCapacity(qty);
            }
            inventory.setQty(qty);
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(cargoCapacity)){
            inventory.setCargoCapacity(cargoCapacity);
            cargoCapacityChanged = true;
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(status)){
            //下架时,清空库存
@ -3212,7 +3254,21 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            inventoryRecordDao.save(inventoryRecord);
        }
        inventory.setUpdateTime(new Date());
        return inventoryDao.save(inventory);
        inventoryDao.save(inventory);
        if (cargoCapacityChanged) {
            //重算设备容量
            Mediicinedevice mediicinedevice = deviceDao.findOne(inventory.getIdDevice());
            String tempSql = "SELECT\n" +
                    "\tsum(t.cargo_capacity)\n" +
                    "FROM\n" +
                    "\tt_mediicinecabinet_inventory t\n" +
                    "WHERE\n" +
                    "\tt.id_device = '"+inventory.getIdDevice()+"'\n" +
                    "AND (t.state = '1' OR t.state = '21')";
            mediicinedevice.setCapacity(String.valueOf(jdbcTemplate.queryForObject(tempSql, Integer.class)));
            deviceDao.save(mediicinedevice);
        }
        return inventory;
    }
}