|
@@ -18,11 +18,14 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.alibaba.csp.sentinel.util.StringUtil;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaDistribution;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmDaHospital;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
@@ -35,6 +38,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.util.MapUtil;
|
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
@@ -151,9 +155,18 @@ public class WmDaDistributionServiceImpl extends ServiceImpl<WmDaDistributionMap
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 获取商业公司经纬度
|
|
|
+ WmDaDistribution latAndLng = this.getLatAndLng(wmTaskContent.getTemp4().replace("-","") + wmTaskContent.getTemp7());
|
|
|
+ if (latAndLng != null){
|
|
|
+ wmDaDistribution.setLatitude(latAndLng.getLatitude());
|
|
|
+ wmDaDistribution.setLongitude(latAndLng.getLongitude());
|
|
|
+ }
|
|
|
+
|
|
|
//Temp29对应医院ID
|
|
|
if(exist){
|
|
|
newinfo.setId(wmDaDistribution.getId());
|
|
|
+ newinfo.setLatitude(wmDaDistribution.getLatitude());
|
|
|
+ newinfo.setLongitude(wmDaDistribution.getLongitude());
|
|
|
compareList=compareData(wmDaDistribution,wmTaskContent,newinfo);
|
|
|
if(null!=compareList&&compareList.size()>0){
|
|
|
wmTask.setCompareResult("2");//信息不一致
|
|
@@ -481,6 +494,67 @@ public class WmDaDistributionServiceImpl extends ServiceImpl<WmDaDistributionMap
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 解析商业公司地址
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void parseAddress() {
|
|
|
+ LambdaQueryWrapper<WmDaDistribution> wmDaHospitalLambdaQueryWrapper = Wrappers.lambdaQuery();
|
|
|
+
|
|
|
+ wmDaHospitalLambdaQueryWrapper.isNull(WmDaDistribution::getLatitude);
|
|
|
+
|
|
|
+ List<WmDaDistribution> wmDaDistributionList = this.list(wmDaHospitalLambdaQueryWrapper);
|
|
|
+
|
|
|
+ if (wmDaDistributionList.size() > 0) {
|
|
|
+ for (WmDaDistribution wmDaDistribution : wmDaDistributionList) {
|
|
|
+ WmDaDistribution daDistribution = this.getLatAndLng(wmDaDistribution.getAddress());
|
|
|
+ if (null == daDistribution) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ wmDaDistribution.setProvince(daDistribution.getProvince());
|
|
|
+ wmDaDistribution.setCity(daDistribution.getCity());
|
|
|
+ wmDaDistribution.setArea(daDistribution.getArea());
|
|
|
+ wmDaDistribution.setSygsdz(daDistribution.getSygsdz());
|
|
|
+ wmDaDistribution.setLongitude(daDistribution.getLongitude());
|
|
|
+ wmDaDistribution.setLatitude(daDistribution.getLatitude());
|
|
|
+
|
|
|
+
|
|
|
+ this.saveOrUpdate(wmDaDistribution);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据地址获取商业公司经纬度
|
|
|
+ * @param address 地址
|
|
|
+ * @return 商业公司信息
|
|
|
+ */
|
|
|
+ private WmDaDistribution getLatAndLng(String address){
|
|
|
+
|
|
|
+ JSONObject jsonObject = MapUtil.getLatAndLogByName(address);
|
|
|
+ if (null == jsonObject) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ WmDaDistribution wmDaDistribution = new WmDaDistribution();
|
|
|
+ wmDaDistribution.setProvince(jsonObject.getString("province"));
|
|
|
+ wmDaDistribution.setCity(jsonObject.getString("city"));
|
|
|
+ wmDaDistribution.setArea(jsonObject.getString("district"));
|
|
|
+ String sygsdz = jsonObject.getString("province");
|
|
|
+ if(StringUtils.isNotEmpty(jsonObject.getString("city"))){
|
|
|
+ sygsdz = sygsdz + jsonObject.getString("city");
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(jsonObject.getString("district"))){
|
|
|
+ sygsdz = sygsdz + jsonObject.getString("district");
|
|
|
+ }
|
|
|
+ wmDaDistribution.setSygsdz(sygsdz);
|
|
|
+ String location = jsonObject.getString("location");
|
|
|
+ if (null != location && location.split(",").length > 0) {
|
|
|
+ wmDaDistribution.setLongitude(location.split(",")[0]);
|
|
|
+ wmDaDistribution.setLatitude(location.split(",")[1]);
|
|
|
+ }
|
|
|
+ return wmDaDistribution;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
public WmDaDistribution generateDistribution(Map<String,String> map){
|
|
@@ -512,8 +586,8 @@ public class WmDaDistributionServiceImpl extends ServiceImpl<WmDaDistributionMap
|
|
|
// wmDaDistribution.setMedicineTraceability(StringUtils.isEmpty(map.get("medicineTraceability")) ? null : map.get("medicineTraceability"));
|
|
|
// wmDaDistribution.setMedicineTraceabilityOther(StringUtils.isEmpty(map.get("medicineTraceabilityOther")) ? null : map.get("medicineTraceabilityOther"));
|
|
|
//
|
|
|
-// wmDaDistribution.setLongitude(StringUtil.isEmpty(map.get("longitude"))?null:map.get("longitude"));//经度
|
|
|
-// wmDaDistribution.setLatitude(StringUtil.isEmpty(map.get("latitude"))?null:map.get("latitude"));//纬度
|
|
|
+ wmDaDistribution.setLongitude(StringUtil.isEmpty(map.get("longitude"))?null:map.get("longitude"));//经度
|
|
|
+ wmDaDistribution.setLatitude(StringUtil.isEmpty(map.get("latitude"))?null:map.get("latitude"));//纬度
|
|
|
|
|
|
return wmDaDistribution;
|
|
|
}
|