Browse Source

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

wangzhinan 3 years ago
parent
commit
c1adb7cea3

+ 76 - 35
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -1610,25 +1610,29 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("device",device);
        //货道总数----->行*列计算得出货道总数
        String tempSql = "SELECT\n" +
                "\tcount(distinct(t.layer_no)) as layerNum\n" +
                "FROM\n" +
                "\tt_mediicinecabinet_inventory t\n" +
                "WHERE\n" +
                "\tt.id_device = '"+device.getId()+"'";
        int layerNum = jdbcTemplate.queryForObject(tempSql, Integer.class);
        tempSql = "SELECT\n" +
                "\tcount(distinct(t.wayer_no)) as wayerNum\n" +
                "FROM\n" +
                "\tt_mediicinecabinet_inventory t\n" +
                "WHERE\n" +
                "\tt.id_device = '"+device.getId()+"'\n" +
                "AND t.layer_no = '1'";
        int wayerNum = jdbcTemplate.queryForObject(tempSql, Integer.class);
        jsonObject.put("totalCargo", layerNum * wayerNum);
//        String tempSql = "SELECT\n" +
//                "\tcount(distinct(t.layer_no)) as layerNum\n" +
//                "FROM\n" +
//                "\tt_mediicinecabinet_inventory t\n" +
//                "WHERE\n" +
//                "\tt.id_device = '"+device.getId()+"'";
//        int layerNum = jdbcTemplate.queryForObject(tempSql, Integer.class);
//        tempSql = "SELECT\n" +
//                "\tcount(distinct(t.wayer_no)) as wayerNum\n" +
//                "FROM\n" +
//                "\tt_mediicinecabinet_inventory t\n" +
//                "WHERE\n" +
//                "\tt.id_device = '"+device.getId()+"'\n" +
//                "AND t.layer_no = '1'";
//        int wayerNum = jdbcTemplate.queryForObject(tempSql, Integer.class);
        //补货员端设备页面上的总货道
//        jsonObject.put("totalCargo", layerNum * wayerNum);
        //设备总货道容量---初始1200
        jsonObject.put("deviceCapacity", device.getCapacity());
        tempSql = "SELECT\n" +
        String tempSql = "SELECT\n" +
                "\tIFNULL(\n" +
                "\t\t(\n" +
                "\t\t\tSELECT\n" +
@ -1685,6 +1689,10 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        int drugNumber = list.stream()
                .filter(item -> "1".equals(String.valueOf(item.get("cargoState")))  && "0".equals(String.valueOf(item.get("faultState"))))
                .mapToInt(item -> Integer.parseInt(String.valueOf(item.get("qty")))).sum();
        //总货道(合并货道的算一道)
        jsonObject.put("totalCargo", list.size());
        //关闭容量
//        tempSql = "SELECT\n" +
//                "\tifnull(sum(t.cargo_capacity), 0) AS closedCapacity\n" +
@ -2351,6 +2359,8 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                    "\tifnull(t.cargo_capacity, 0) AS cargoCapacity,\n" +
                    "\tifnull(t.qty, 0) AS qty,\n" +
                    "\tt.cargo_state AS cargoState,\n" +
                    "\tt.drug_code AS drugCode,\n" +
                    "\tt.org_code AS orgCode,\n" +
                    "\tt.fault_state AS faultState\n" +
                    "FROM\n" +
                    "\tt_mediicinecabinet_inventory t\n" +
@ -2397,14 +2407,28 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
//            //空置率
//            stringObjectMap.put("kongzhilv",
//                    new BigDecimal((number * 1.0) / Integer.parseInt(stringObjectMap.get("aisles").toString())).setScale(2, BigDecimal.ROUND_HALF_UP));
            //newVersion
            //正常货道数(正常的、开启的)
            int normalCargoNumber = ((int) list.stream()
                    .filter(item -> "1".equals(String.valueOf(item.get("cargoState"))) && "0".equals(String.valueOf(item.get("faultState")))).count());
            //已用货道数
            //关闭的货道数
//            int closedCargoNumber = ((int) list.stream()
//                    .filter(item -> "0".equals(String.valueOf(item.get("cargoState")))).count());
            //已经设置药品的货道数
            int alreadySetDrugNumber = ((int) list.stream()
                    .filter(item  -> "1".equals(String.valueOf(item.get("cargoState"))) &&
                            "0".equals(String.valueOf(item.get("faultState"))) &&
                            !StringUtils.isEmpty(item.get("orgCode")) &&
                            !StringUtils.isEmpty(item.get("drugCode"))).count());
            //未设置药品的货道数--->正常的开启的货道数--(单纯关闭的-故障即关闭的)(就关闭的)-已经设置药品的货道数,
            int noSetDrugCargoNumber =  normalCargoNumber  - alreadySetDrugNumber;
            stringObjectMap.put("weishezhishangpinhuodao", noSetDrugCargoNumber);
            //newVersion
            //已用货道数(有绑定数量的就行)
            int usedCargoNumber = ((int) list.stream()
                    .filter(item -> "1".equals(String.valueOf(item.get("cargoState"))) &&
                            "0".equals(String.valueOf(item.get("faultState"))) &&
                                    !StringUtils.isEmpty(item.get("orgCode")) &&
                                    !StringUtils.isEmpty(item.get("drugCode")) &&
                            Integer.parseInt(String.valueOf(item.get("qty"))) > 0).count());
            stringObjectMap.put("kongzhilv",
                    new BigDecimal(((normalCargoNumber-usedCargoNumber) * 1.0) / normalCargoNumber).setScale(2, BigDecimal.ROUND_HALF_UP));
@ -2668,6 +2692,8 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                    "\tifnull(t.cargo_capacity, 0) AS cargoCapacity,\n" +
                    "\tifnull(t.qty, 0) AS qty,\n" +
                    "\tt.cargo_state AS cargoState,\n" +
                    "\tt.drug_code AS drugCode,\n" +
                    "\tt.org_code AS orgCode,\n" +
                    "\tt.fault_state AS faultState\n" +
                    "FROM\n" +
                    "\tt_mediicinecabinet_inventory t\n" +
@ -2717,28 +2743,43 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            //在架库存数
            stringObjectMap.put("shangPinKuCun", inStock);
            //未设置商品货道
            tempSql = "SELECT\n" +
                    "\tcount(DISTINCT(t.id))\n" +
                    "FROM\n" +
                    "\tt_mediicinecabinet_inventory t\n" +
                    "WHERE\n" +
                    "\tt.id_device = '" + stringObjectMap.get("id").toString() + "'\n" +
                    "AND t.org_code IS NULL\n" +
                    "AND t.drug_code IS NULL\n" +
                    "AND (t.state = '1' OR t.state = '21')";
            int number = jdbcTemplate.queryForObject(tempSql, Integer.class);
            stringObjectMap.put("weishezhishangpinhuodao", number);
//            tempSql = "SELECT\n" +
////                    "\tcount(DISTINCT(t.id))\n" +
////                    "FROM\n" +
////                    "\tt_mediicinecabinet_inventory t\n" +
////                    "WHERE\n" +
////                    "\tt.id_device = '" + stringObjectMap.get("id").toString() + "'\n" +
////                    "AND t.org_code IS NULL\n" +
////                    "AND t.drug_code IS NULL\n" +
////                    "AND (t.state = '1' OR t.state = '21')";
////            int number = jdbcTemplate.queryForObject(tempSql, Integer.class);
//            stringObjectMap.put("weishezhishangpinhuodao", number);
            //正常货道数(正常的、开启的)
            int normalCargoNumber = ((int) list.stream()
                    .filter(item -> "1".equals(String.valueOf(item.get("cargoState"))) && "0".equals(String.valueOf(item.get("faultState")))).count());
            //关闭的货道数
//            int closedCargoNumber = ((int) list.stream()
//                    .filter(item -> "0".equals(String.valueOf(item.get("cargoState")))).count());
            //已经设置药品的货道数
            int alreadySetDrugNumber = ((int) list.stream()
                    .filter(item  -> "1".equals(String.valueOf(item.get("cargoState"))) &&
                            "0".equals(String.valueOf(item.get("faultState"))) &&
                            !StringUtils.isEmpty(item.get("orgCode")) &&
                            !StringUtils.isEmpty(item.get("drugCode"))).count());
            //未设置药品的货道数--->正常的开启的货道数--(单纯关闭的-故障即关闭的)(就关闭的)-已经设置药品的货道数,
            int noSetDrugCargoNumber =  normalCargoNumber  - alreadySetDrugNumber;
            stringObjectMap.put("weishezhishangpinhuodao", noSetDrugCargoNumber);
            //空置率
//            stringObjectMap.put("kongzhilv",
//                    new BigDecimal((number * 1.0) / Integer.parseInt(stringObjectMap.get("aisles").toString())).setScale(2, BigDecimal.ROUND_HALF_UP));
            //newVersion
            //正常货道数(正常的、开启的)
            int normalCargoNumber = ((int) list.stream()
                    .filter(item -> "1".equals(String.valueOf(item.get("cargoState"))) && "0".equals(String.valueOf(item.get("faultState")))).count());
            //已用货道数
            //已用货道数,正常的开启的有药品数量的
            int usedCargoNumber = ((int) list.stream()
                    .filter(item -> "1".equals(String.valueOf(item.get("cargoState"))) &&
                            "0".equals(String.valueOf(item.get("faultState"))) &&
                            !StringUtils.isEmpty(item.get("orgCode")) &&
                            !StringUtils.isEmpty(item.get("drugCode")) &&
                            Integer.parseInt(String.valueOf(item.get("qty"))) > 0).count());
            stringObjectMap.put("kongzhilv",
@ -4764,7 +4805,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public MediicinecabinetInventory updateMediicinecabineInventoryInfoById(String id,String qty,String cargoCapacity,String status,Boolean refreshStatus,String userId) throws Exception {
    public MediicinecabinetInventory updateMediicinecabineInventoryInfoById(String id,String qty,String cargoCapacity,String status, Boolean refreshStatus, String userId) throws Exception {
        if (id.contains(",")){
            String str[] = id.split(",");
            MediicinecabinetInventory mediicinecabinetInventory = new MediicinecabinetInventory();