|  | @ -36,6 +36,7 @@ import com.yihu.mysql.query.BaseJpaService;
 | 
	
		
			
				|  |  | import com.ylzinfo.onepay.sdk.utils.StringUtil;
 | 
	
		
			
				|  |  | import jxl.format.VerticalAlignment;
 | 
	
		
			
				|  |  | import jxl.write.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import org.apache.commons.collections.map.HashedMap;
 | 
	
		
			
				|  |  | import org.apache.commons.collections4.IterableUtils;
 | 
	
		
			
				|  |  | import org.apache.http.NameValuePair;
 | 
	
	
		
			
				|  | @ -53,6 +54,8 @@ import java.lang.Boolean;
 | 
	
		
			
				|  |  | import java.math.BigDecimal;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | import java.util.logging.Logger;
 | 
	
		
			
				|  |  | import java.util.regex.*;
 | 
	
		
			
				|  |  | import java.util.regex.Pattern;
 | 
	
		
			
				|  |  | import java.util.stream.Collectors;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import static jxl.biff.BaseCellFeatures.logger;
 | 
	
	
		
			
				|  | @ -848,8 +851,14 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
 | 
	
		
			
				|  |  |             if (Integer.compare(totalShipmentLog, shipped + 1) == 0) {
 | 
	
		
			
				|  |  |                 Mediicineorder order = orderDao.findOne(medicineShipmentLog.getOrderId());
 | 
	
		
			
				|  |  |                 order.setSellState("1");
 | 
	
		
			
				|  |  |                 Boolean flag = scanQrdispensaryCode(order.getPickUpNum());
 | 
	
		
			
				|  |  |                 logger.info("flag"+flag);
 | 
	
		
			
				|  |  |                 if (org.apache.commons.lang.StringUtils.isNotBlank(order.getApplyNo())){
 | 
	
		
			
				|  |  |                     Boolean flag = sickPhysicDosage(order.getBelongCommunity(),order.getApplyNo());
 | 
	
		
			
				|  |  |                     logger.info("flag"+flag);
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     Boolean flag = scanQrdispensaryCode(order.getPickUpNum());
 | 
	
		
			
				|  |  |                     logger.info("flag"+flag);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 orderDao.save(order);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (Integer.compare(totalShipmentLog, shipped + 1) < 0) {
 | 
	
	
		
			
				|  | @ -1285,13 +1294,13 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
 | 
	
		
			
				|  |  |      * 线下订单药柜取药回调发药
 | 
	
		
			
				|  |  |      * 线上续方  可只传处方号
 | 
	
		
			
				|  |  |      线下续方 无处方号  机构、单据号必传
 | 
	
		
			
				|  |  |      * @param recipeNo
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param orgCode
 | 
	
		
			
				|  |  |      * @param applyNo
 | 
	
		
			
				|  |  |      * @param execOperator
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public boolean sickPhysicDosage(String recipeNo,String orgCode,String applyNo,String execOperator){
 | 
	
		
			
				|  |  |     public boolean sickPhysicDosage(String orgCode,String applyNo){
 | 
	
		
			
				|  |  |         OauthWlyyConfigDO oauthWlyyConfigDO = oauthWlyyConfigDao.findOne("sickPhysicDosage");
 | 
	
		
			
				|  |  |         //token获取accesstoken
 | 
	
		
			
				|  |  |         List<NameValuePair> params = new ArrayList<>();
 | 
	
	
		
			
				|  | @ -1308,7 +1317,6 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //设置入参
 | 
	
		
			
				|  |  |             List<NameValuePair> p = new ArrayList<>();
 | 
	
		
			
				|  |  |             p.add(new BasicNameValuePair("recipeNo", recipeNo));
 | 
	
		
			
				|  |  |             p.add(new BasicNameValuePair("orgCode", orgCode));
 | 
	
		
			
				|  |  |             p.add(new BasicNameValuePair("applyNo", applyNo));
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1420,16 +1428,26 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
 | 
	
		
			
				|  |  |                                     mediicineorder.setBelongCommunity(orgCode);
 | 
	
		
			
				|  |  |                                     mediicineorder.setCommunity(community);
 | 
	
		
			
				|  |  |                                     mediicineorder.setDoctorName(jsonObject.getString("APPLY_OPERATOR_NAME"));
 | 
	
		
			
				|  |  |                                     mediicineorder.setPrescribeTime(DateUtil.strToDateLong(jsonObject.getString("APPLY_TIME")+" 00:00:00"));
 | 
	
		
			
				|  |  |                                     mediicineorder.setPayTime(DateUtil.strToDateLong(jsonObject.getString("APPLY_TIME")+" 00:00:00"));
 | 
	
		
			
				|  |  |                                     mediicineorder = orderDao.save(mediicineorder);
 | 
	
		
			
				|  |  |                                     JSONArray drugList = jsonObject.getJSONArray("APPLY_DETAIL");
 | 
	
		
			
				|  |  |                                     for (int j =0;j<drugList.size();j++){
 | 
	
		
			
				|  |  |                                         JSONObject drugObj = drugList.getJSONObject(j);
 | 
	
		
			
				|  |  |                                         String itemQc = drugObj.getString("ITEM_QUANTITY_C");
 | 
	
		
			
				|  |  |                                         String quantity = getNumbers(itemQc);
 | 
	
		
			
				|  |  |                                         String packageName = splitNotNumber(itemQc);
 | 
	
		
			
				|  |  |                                         if (!org.apache.commons.lang3.StringUtils.isNoneBlank(quantity)){
 | 
	
		
			
				|  |  |                                             mediicineorder.setOrderState("-1");
 | 
	
		
			
				|  |  |                                             mediicineorder.setSellState("-3");
 | 
	
		
			
				|  |  |                                             orderDao.save(mediicineorder);
 | 
	
		
			
				|  |  |                                         }
 | 
	
		
			
				|  |  |                                         Mediicineorderdetail mediicineorderdetail = new Mediicineorderdetail();
 | 
	
		
			
				|  |  |                                         mediicineorderdetail.setIdOrder(mediicineorder.getId());
 | 
	
		
			
				|  |  |                                         mediicineorderdetail.setDrugCode(drugObj.getString("ITEM_CODE"));
 | 
	
		
			
				|  |  |                                         mediicineorderdetail.setOrderNo(realOrder);
 | 
	
		
			
				|  |  |                                         mediicineorderdetail.setPrice(drugObj.getFloat("ITEM_PRICE"));
 | 
	
		
			
				|  |  |                                         mediicineorderdetail.setQuantity(drugObj.getString("ITEM_QUANTITY"));
 | 
	
		
			
				|  |  |                                         mediicineorderdetail.setQuantity(quantity);
 | 
	
		
			
				|  |  |                                         mediicineorderdetail.setGoodsName(drugObj.getString("ITEM_NAME"));
 | 
	
		
			
				|  |  |                                         mediicineorderdetail.setOrderState("1");
 | 
	
		
			
				|  |  |                                         mediicineorderdetail.setPickUpNum(realOrder);
 | 
	
	
		
			
				|  | @ -1460,6 +1478,26 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
 | 
	
		
			
				|  |  |         return false;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     //截取数字
 | 
	
		
			
				|  |  |     public String getNumbers(String content) {
 | 
	
		
			
				|  |  |         Pattern pattern = Pattern.compile("\\d+");
 | 
	
		
			
				|  |  |         Matcher matcher = pattern.matcher(content);
 | 
	
		
			
				|  |  |         while (matcher.find()) {
 | 
	
		
			
				|  |  |             return matcher.group(0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return "";
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     // 截取非数字
 | 
	
		
			
				|  |  |     public String splitNotNumber(String content) {
 | 
	
		
			
				|  |  |         Pattern pattern = Pattern.compile("\\D+");
 | 
	
		
			
				|  |  |         Matcher matcher = pattern.matcher(content);
 | 
	
		
			
				|  |  |         while (matcher.find()) {
 | 
	
		
			
				|  |  |             return matcher.group(0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return "";
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 根据处方号获取处方状态
 |