Explorar o código

药柜job代码

suqinyi hai 1 ano
pai
achega
c179249e5b

+ 48 - 26
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/channel/MedicineService.java

@ -232,35 +232,57 @@ public class MedicineService {
        mediicineorderList.addAll(mediicineorderDao.findMediicineorderBySellState("-5"));
        int i=0;
        for (Mediicineorder mediicineorder:mediicineorderList){
            String result = getDataStatus(mediicineorder.getPickUpNum(),mediicineorder.getBelongCommunity());
            if (StringUtils.isNoneBlank(result)){
                JSONObject resObj = JSONObject.parseObject(result);
                if (resObj.getString("status").equalsIgnoreCase("200")){
                    JSONObject object = resObj.getJSONObject("data");
                    String code = object.getString("RECIPE_STATUS_CODE");
                    String  chargeCode = object.getString("CHARGE_STATUS_CODE");
                    if (chargeCode.equalsIgnoreCase("0")){
                        mediicineorder.setSellState("-1");
                        mediicineorder.setShippingEqu("线下药房");
                        mediicineorder.setShippingTime(new Date());
                        mediicineorderDao.save(mediicineorder);
                        i++;
                    }
                    if (code.equalsIgnoreCase("5")){
                        mediicineorder.setSellState("-1");
                        mediicineorder.setShippingEqu("线下药房");
                        mediicineorder.setShippingTime(new Date());
                        mediicineorderDao.save(mediicineorder);
                        i++;
                    }else if (code.equalsIgnoreCase("9")){
                        mediicineorder.setSellState("-2");
                        mediicineorder.setShippingEqu("线下作废");
                        mediicineorder.setShippingTime(new Date());
                        mediicineorderDao.save(mediicineorder);
                        i++;
            //判断订单是否完成,
            String sql = "SELECT\n" +
                    "\tcount(DISTINCT(id))\n" +
                    "FROM\n" +
                    "\tt_medicine_shipment_log\n" +
                    "WHERE\n" +
                    "\torder_id = '" + mediicineorder.getId() + "'";
            int totalShipmentLog = jdbcTemplate.queryForObject(sql, Integer.class);
            sql = "SELECT\n" +
                    "\tcount(DISTINCT(id))\n" +
                    "FROM\n" +
                    "\tt_medicine_shipment_log\n" +
                    "WHERE\n" +
                    "\torder_id = '" +  mediicineorder.getId()  + "'\n" +
                    "AND `status` = 2";
            //已出货
            int shipped = jdbcTemplate.queryForObject(sql, Integer.class);
            if (Integer.compare(totalShipmentLog, shipped ) == 0) {
                System.out.println("药柜已取药,状态已更新");
            }else {
                String result = getDataStatus(mediicineorder.getPickUpNum(),mediicineorder.getBelongCommunity());
                if (StringUtils.isNoneBlank(result)){
                    JSONObject resObj = JSONObject.parseObject(result);
                    if (resObj.getString("status").equalsIgnoreCase("200")){
                        JSONObject object = resObj.getJSONObject("data");
                        String code = object.getString("RECIPE_STATUS_CODE");
                        String  chargeCode = object.getString("CHARGE_STATUS_CODE");
                        if (chargeCode.equalsIgnoreCase("0")){
                            mediicineorder.setSellState("-1");
                            mediicineorder.setShippingEqu("线下药房");
                            mediicineorder.setShippingTime(new Date());
                            mediicineorderDao.save(mediicineorder);
                            i++;
                        }
                        if (code.equalsIgnoreCase("5")){
                            mediicineorder.setSellState("-1");
                            mediicineorder.setShippingEqu("线下药房");
                            mediicineorder.setShippingTime(new Date());
                            mediicineorderDao.save(mediicineorder);
                            i++;
                        }else if (code.equalsIgnoreCase("9")){
                            mediicineorder.setSellState("-2");
                            mediicineorder.setShippingEqu("线下作废");
                            mediicineorder.setShippingTime(new Date());
                            mediicineorderDao.save(mediicineorder);
                            i++;
                        }
                    }
                }
            }
        }
        logger.info("更新i条处方状态");
    }