Browse Source

Merge branch 'medicare' of http://27.154.233.186:10080/Amoy2/wlyy2.0 into medicare

wangzhinan 3 years ago
parent
commit
bf817f9463

+ 10 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineDeviceEndpoint.java

@ -703,9 +703,11 @@ public class MedicineDeviceEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "drugId", required = true) String drugId,
            @ApiParam(name = "qty", value = "库存", required = true)
            @RequestParam(value = "qty", required = true) String qty,
            @ApiParam(name = "refreshStatus", value = "是否设置不缺货状态,默认false,通过规则判断,true,则直接设置,不缺货")
            @RequestParam(value = "refreshStatus", required = false, defaultValue = "false") Boolean refreshStatus,
            @ApiParam(name = "userId", value = "用户id", required = true)
            @RequestParam(value = "userId", required = true) String userId) throws Exception {
        return success(deviceService.updateMediicinecabineInventoryById(id, drugId, qty, userId));
        return success(deviceService.updateMediicinecabineInventoryById(id, drugId, qty, refreshStatus, userId));
    }
    @GetMapping(value = BaseRequestMapping.BaseDevice.selectMediicinecabineInventoryById)
@ -737,9 +739,11 @@ public class MedicineDeviceEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "cargoCapacity", required = false) String cargoCapacity,
            @ApiParam(name = "status", value = "下架状态0", required = false)
            @RequestParam(value = "status", required = false) String status,
            @ApiParam(name = "refreshStatus", value = "是否设置不缺货状态,默认false,通过规则判断,true,则直接设置,不缺货")
            @RequestParam(value = "refreshStatus", required = false, defaultValue = "false") Boolean refreshStatus,
            @ApiParam(name = "userId", value = "用户id", required = true)
            @RequestParam(value = "userId") String userId) throws Exception {
        return success(deviceService.updateMediicinecabineInventoryInfoById(id, qty, cargoCapacity, status, userId));
        return success(deviceService.updateMediicinecabineInventoryInfoById(id, qty, cargoCapacity, status,refreshStatus, userId));
    }
@ -886,8 +890,10 @@ public class MedicineDeviceEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "userId", value = "用户id", required = true)
            @RequestParam(value = "userId") String userId,
            @ApiParam(name = "outDetailId", value = "出库id", required = false)
            @RequestParam(value = "outDetailId",required = false) String outDetailId) throws Exception {
        String str = deviceService.batchAddInventory(json, userId,outDetailId);
            @RequestParam(value = "outDetailId",required = false) String outDetailId,
            @ApiParam(name = "refreshStatus", value = "是否设置不缺货状态,默认false,通过规则判断,true,则直接设置,不缺货")
            @RequestParam(value = "refreshStatus",required = false, defaultValue = "false") Boolean refreshStatus) throws Exception {
        String str = deviceService.batchAddInventory(json, userId,outDetailId, refreshStatus);
        JSONObject jsonObject = JSONObject.parseObject(str);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));

+ 49 - 24
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineOrderService.java

@ -910,30 +910,30 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
        //不缺货
        mediicinedevice.setStatus("1");
        //bug:13663
        if (rules == null || rules.size() == 0) {
            int isZeroNum = 0;
            for (Map<String, Object> stringObjectMap : collect) {
                if (isExit) {
                    if (inventoryDO.getDrugCode() != null && inventoryDO.getOrgCode() != null) {
                        if (inventoryDO.getDrugCode().equals(stringObjectMap.get("drugCode")) && inventoryDO.getOrgCode().equals(stringObjectMap.get("orgCode"))) {
                            stringObjectMap.put("qty", (int) Double.parseDouble(stringObjectMap.get("qty") + "") + inventoryDO.getQty());
                            stringObjectMap.put("ratedInventory", (int) Double.parseDouble(stringObjectMap.get("ratedInventory") + "") + inventoryDO.getRatedInventory());
                        }
                    }
                }
                Integer tempQty = (int) Double.parseDouble(stringObjectMap.get("qty") + "");
                if (tempQty == 0) {
                    isZeroNum++;
//                    mediicinedevice.setStatus("0");
                } /*else {
                    mediicinedevice.setStatus("1");
                }*/
            }
            if (isZeroNum == collect.size()) {
                mediicinedevice.setStatus("0");
            }
            deviceDao.save(mediicinedevice);
        }
//        if (rules == null || rules.size() == 0) {
//            int isZeroNum = 0;
//            for (Map<String, Object> stringObjectMap : collect) {
//                if (isExit) {
//                    if (inventoryDO.getDrugCode() != null && inventoryDO.getOrgCode() != null) {
//                        if (inventoryDO.getDrugCode().equals(stringObjectMap.get("drugCode")) && inventoryDO.getOrgCode().equals(stringObjectMap.get("orgCode"))) {
//                            stringObjectMap.put("qty", (int) Double.parseDouble(stringObjectMap.get("qty") + "") + inventoryDO.getQty());
//                            stringObjectMap.put("ratedInventory", (int) Double.parseDouble(stringObjectMap.get("ratedInventory") + "") + inventoryDO.getRatedInventory());
//                        }
//                    }
//                }
//                Integer tempQty = (int) Double.parseDouble(stringObjectMap.get("qty") + "");
//                if (tempQty == 0) {
//                    isZeroNum++;
////                    mediicinedevice.setStatus("0");
//                } /*else {
//                    mediicinedevice.setStatus("1");
//                }*/
//            }
//            if (isZeroNum == collect.size()) {
//                mediicinedevice.setStatus("0");
//            }
//            deviceDao.save(mediicinedevice);
//        }
        //bug:end
        quit:for (MedicineWarrayRule rule : rules) {
            for (Map<String, Object> stringObjectMap : collect) {
@ -964,6 +964,31 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
                }
            }
        }
        if (rules == null || rules.size() == 0) {
            for (Map<String, Object> stringObjectMap : collect) {
                if (isExit) {
                    if (inventoryDO.getDrugCode() != null && inventoryDO.getOrgCode() != null) {
                        if (inventoryDO.getDrugCode().equals(stringObjectMap.get("drugCode")) && inventoryDO.getOrgCode().equals(stringObjectMap.get("orgCode"))) {
                            stringObjectMap.put("qty", (int) Double.parseDouble(stringObjectMap.get("qty") + "") + inventoryDO.getQty());
                            stringObjectMap.put("ratedInventory", (int) Double.parseDouble(stringObjectMap.get("ratedInventory") + "") + inventoryDO.getRatedInventory());
                        }
                    }
                }
            }
        }
        int isZeroNum = 0;
        for (Map<String, Object> stringObjectMap : collect) {
            Integer tempQty = (int) Double.parseDouble(stringObjectMap.get("qty") + "");
            if (tempQty == 0) {
                isZeroNum++;
//                    mediicinedevice.setStatus("0");
            } /*else {
                    mediicinedevice.setStatus("1");
                }*/
        }
        if (isZeroNum == collect.size()) {
            mediicinedevice.setStatus("0");
        }
        deviceDao.save(mediicinedevice);
    }
//    public void updateDeviceState(MedicineShipmentLog medicineShipmentLog) {

+ 91 - 27
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -4273,7 +4273,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public MediicinecabinetInventory updateMediicinecabineInventoryById(String id,String drugId,String qty,String userId) throws Exception {
    public MediicinecabinetInventory updateMediicinecabineInventoryById(String id,String drugId,String qty,Boolean refreshStatus,String userId) throws Exception {
        MediicinecabinetInventory inventory = inventoryDao.findOne(id);
        if (inventory==null){
            throw new Exception("不存在改货道!");
@ -4336,9 +4336,17 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        }
        //设置额定库存
        inventory.setRatedInventory(Integer.parseInt(qty));
        //更改设备缺货状态
        updateDeviceState(inventory.getId(), inventoryDO);
        //true直接设置设备为不缺货状态
        if (refreshStatus) {
            Mediicinedevice mediicinedevice = deviceDao.findOne(inventory.getIdDevice());
            mediicinedevice.setStatus("1");
            deviceDao.save(mediicinedevice);
        }
        //默认false,通过规则判断是否缺货
        if (!refreshStatus) {
            //更改设备缺货状态
            updateDeviceState(inventory.getId(), inventoryDO);
        }
        inventoryDao.save(inventory);
@ -4442,6 +4450,31 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                }
            }
        }
        if (rules == null || rules.size() == 0) {
            for (Map<String, Object> stringObjectMap : collect) {
                if (isExit) {
                    if (inventoryDO.getDrugCode() != null && inventoryDO.getOrgCode() != null) {
                        if (inventoryDO.getDrugCode().equals(stringObjectMap.get("drugCode")) && inventoryDO.getOrgCode().equals(stringObjectMap.get("orgCode"))) {
                            stringObjectMap.put("qty", (int) Double.parseDouble(stringObjectMap.get("qty") + "") + inventoryDO.getQty());
                            stringObjectMap.put("ratedInventory", (int) Double.parseDouble(stringObjectMap.get("ratedInventory") + "") + inventoryDO.getRatedInventory());
                        }
                    }
                }
            }
        }
        int isZeroNum = 0;
        for (Map<String, Object> stringObjectMap : collect) {
            Integer tempQty = (int) Double.parseDouble(stringObjectMap.get("qty") + "");
            if (tempQty == 0) {
                isZeroNum++;
//                    mediicinedevice.setStatus("0");
            } /*else {
                    mediicinedevice.setStatus("1");
                }*/
        }
        if (isZeroNum == collect.size()) {
            mediicinedevice.setStatus("0");
        }
        deviceDao.save(mediicinedevice);
    }
@ -4477,19 +4510,19 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        //不缺货
        mediicinedevice.setStatus("1");
        //bug:13663
        if (rules == null || rules.size() == 0) {
            int isZeroNum = 0;
            for (Map<String, Object> stringObjectMap : collect) {
                Integer tempQty = (int) Double.parseDouble(stringObjectMap.get("qty") + "");
                if (tempQty == 0) {
                    isZeroNum++;
                }
            }
            if (isZeroNum == collect.size()) {
                mediicinedevice.setStatus("0");
            }
            deviceDao.save(mediicinedevice);
        }
//        if (rules == null || rules.size() == 0) {
//            int isZeroNum = 0;
//            for (Map<String, Object> stringObjectMap : collect) {
//                Integer tempQty = (int) Double.parseDouble(stringObjectMap.get("qty") + "");
//                if (tempQty == 0) {
//                    isZeroNum++;
//                }
//            }
//            if (isZeroNum == collect.size()) {
//                mediicinedevice.setStatus("0");
//            }
//            deviceDao.save(mediicinedevice);
//        }
        //bug:end
        quit:for (MedicineWarrayRule rule : rules) {
            for (Map<String, Object> stringObjectMap : collect) {
@ -4512,6 +4545,19 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                }
            }
        }
        int isZeroNum = 0;
        for (Map<String, Object> stringObjectMap : collect) {
            Integer tempQty = (int) Double.parseDouble(stringObjectMap.get("qty") + "");
            if (tempQty == 0) {
                isZeroNum++;
//                    mediicinedevice.setStatus("0");
            } /*else {
                    mediicinedevice.setStatus("1");
                }*/
        }
        if (isZeroNum == collect.size()) {
            mediicinedevice.setStatus("0");
        }
        deviceDao.save(mediicinedevice);
    }
@ -4526,7 +4572,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,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();
@ -4633,8 +4679,17 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                }
                inventory.setUpdateTime(new Date());
                //更改设备缺货状态
                updateDeviceState(inventory.getId(), inventoryDO);
                //true直接设置设备为不缺货状态
                if (refreshStatus) {
                    Mediicinedevice mediicinedevice = deviceDao.findOne(inventory.getIdDevice());
                    mediicinedevice.setStatus("1");
                    deviceDao.save(mediicinedevice);
                }
                //默认false,通过规则判断是否缺货
                if (!refreshStatus) {
                    //更改设备缺货状态
                    updateDeviceState(inventory.getId(), inventoryDO);
                }
                mediicinecabinetInventory = inventoryDao.save(inventory);
                //重算设备容量
@ -4763,8 +4818,17 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            }
            inventory.setUpdateTime(new Date());
            //更改设备缺货状态
            updateDeviceState(inventory.getId(), inventoryDO);
            //true直接设置设备为不缺货状态
            if (refreshStatus) {
                Mediicinedevice mediicinedevice = deviceDao.findOne(inventory.getIdDevice());
                mediicinedevice.setStatus("1");
                deviceDao.save(mediicinedevice);
            }
            //默认false,通过规则判断是否缺货
            if (!refreshStatus) {
                //更改设备缺货状态
                updateDeviceState(inventory.getId(), inventoryDO);
            }
            inventoryDao.save(inventory);
            //重算设备容量
@ -5532,7 +5596,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
    @Transactional(rollbackFor = Exception.class)
    public String batchAddInventory(String json, String userId,String outDetailId) throws Exception{
    public String batchAddInventory(String json, String userId,String outDetailId, Boolean refreshStatus) throws Exception{
        JSONObject result = new JSONObject();
        JSONObject jsonObject = JSONObject.parseObject(json);
        JSONArray cargoList = jsonObject.getJSONArray("list");
@ -5559,7 +5623,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                if (mediicinecabinetInventory.getOrgCode() != null && !StringUtils.isEmpty(mediicinecabinetInventory.getOrgCode())
                        && mediicinecabinetInventory.getDrugCode() != null && !StringUtils.isEmpty(mediicinecabinetInventory.getDrugCode())) {
                    //下架商品
                    updateMediicinecabineInventoryInfoById(inventoryDO.getCargoId(), null, null, "0", userId);
                    updateMediicinecabineInventoryInfoById(inventoryDO.getCargoId(), null, null, "0", refreshStatus, userId);
                }
                continue;
            }
@ -5567,15 +5631,15 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            if (mediicinecabinetInventory.getDrugCode() == null && mediicinecabinetInventory.getDrugCode() == null) {
                //新增药品
                updateMediicinecabineInventoryById(inventoryDO.getCargoId(), inventoryDO.getDrugId(), inventoryDO.getQty() + "", userId);
                updateMediicinecabineInventoryById(inventoryDO.getCargoId(), inventoryDO.getDrugId(), inventoryDO.getQty() + "", refreshStatus,  userId);
            } else {
                Mediicinedrugs mediicinedrugs = mediicinedrugsDao.findOne(inventoryDO.getDrugId());
                //更换前后药品相同
                if (mediicinecabinetInventory.getDrugCode().equals(mediicinedrugs.getDrugCode()) && mediicinecabinetInventory.getOrgCode().equals(mediicinedrugs.getOrgCode())) {
                    updateMediicinecabineInventoryInfoById(inventoryDO.getCargoId(), inventoryDO.getQty() + "", null, null, userId);
                    updateMediicinecabineInventoryInfoById(inventoryDO.getCargoId(), inventoryDO.getQty() + "", null, null,refreshStatus,  userId);
                } else {
                    //更换药品
                    updateMediicinecabineInventoryById(inventoryDO.getCargoId(), inventoryDO.getDrugId(), inventoryDO.getQty() + "", userId);
                    updateMediicinecabineInventoryById(inventoryDO.getCargoId(), inventoryDO.getDrugId(), inventoryDO.getQty() + "", refreshStatus, userId);
                }
            }