|
@ -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条处方状态");
|
|
|
}
|