|
@@ -27,8 +27,9 @@ import com.qunzhixinxi.hnqz.admin.util.MapUtil;
|
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
|
-import lombok.AllArgsConstructor;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -47,87 +48,92 @@ import java.util.stream.Collectors;
|
|
|
*/
|
|
|
@Slf4j
|
|
|
@Service
|
|
|
-@AllArgsConstructor
|
|
|
+@RequiredArgsConstructor
|
|
|
public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmDaPharmacy> implements WmDaPharmacyService {
|
|
|
|
|
|
|
|
|
- private final WmDaPharmacyMapper wmDaPharmacyMapper;
|
|
|
- private final WmTaskService wmTaskService;
|
|
|
- private final WmTaskContentMapper wmTaskContentMapper;
|
|
|
- private final WmScorePackageService wmScorePackageService;
|
|
|
- private final WmScorePackageStatusService packageStatusService;
|
|
|
-
|
|
|
- @Override
|
|
|
- public R approvalPharmacy(String taskId) {
|
|
|
- WmDaPharmacy wmDaPharmacy=new WmDaPharmacy();
|
|
|
- //获取任务信息
|
|
|
- WmTask wmTask=wmTaskService.getById(taskId);
|
|
|
- if(null==wmTask){
|
|
|
- return R.failed("未查询到调研信息");
|
|
|
- }
|
|
|
- // if("1".equals(wmTask.getPlatAuditStatus())){
|
|
|
- // return R.failed("信息已审核,请重新查询后操作");
|
|
|
- // }
|
|
|
- WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
|
|
|
- if(null==wmTaskContent){
|
|
|
- return R.failed("调研信息为空");
|
|
|
- }
|
|
|
- // 根据省市区+详情地址+药店名称查询药店
|
|
|
- WmDaPharmacy query = new WmDaPharmacy();
|
|
|
- // 省市区
|
|
|
- if (StringUtil.isNotBlank(wmTaskContent.getTemp7())) {
|
|
|
- if (StrUtil.contains(wmTaskContent.getTemp7(), "-")) {
|
|
|
- String[] citys = wmTaskContent.getTemp7().split("-");
|
|
|
- query.setProvince(ArrayUtil.get(citys, 0));
|
|
|
- query.setCity(ArrayUtil.get(citys, 1));
|
|
|
- query.setArea(ArrayUtil.get(citys, 2));
|
|
|
- } else if (StrUtil.contains(wmTaskContent.getTemp7(), ",")) {
|
|
|
- String[] citys = wmTaskContent.getTemp7().split(",");
|
|
|
- query.setProvince(ArrayUtil.get(citys, 0));
|
|
|
- query.setCity(ArrayUtil.get(citys, 1));
|
|
|
- query.setArea(ArrayUtil.get(citys, 2));
|
|
|
- }
|
|
|
- }
|
|
|
- // 详细地址
|
|
|
- query.setAddress(wmTaskContent.getTemp4());
|
|
|
- // 药店名称
|
|
|
- query.setPharmacyName(wmTaskContent.getTemp3());
|
|
|
- query.setDelFlag("0");
|
|
|
- List<WmDaPharmacy> wdplist = wmDaPharmacyMapper.selectList(Wrappers.query(query));
|
|
|
- if(CollectionUtil.isNotEmpty(wdplist)) {
|
|
|
- wmDaPharmacy = wdplist.get(0);
|
|
|
- wmTask.setCompareResult("2");//信息不一致
|
|
|
- } else {
|
|
|
- wmTask.setCompareResult("1");//新增
|
|
|
- }
|
|
|
-
|
|
|
- // 获取经纬度
|
|
|
- this.convertToLatAndLong(query);
|
|
|
- wmDaPharmacy.setLatitude(query.getLatitude());
|
|
|
- wmDaPharmacy.setLongitude(query.getLongitude());
|
|
|
-
|
|
|
-
|
|
|
- Map<String,Object> result = new HashMap();
|
|
|
- result.put("info", wmDaPharmacy);//数据
|
|
|
- result.put("_wmTask", wmTask);
|
|
|
- result.put("wmTask", wmTaskContent);
|
|
|
- result.put("wmTaskContent", wmTaskContent);
|
|
|
- result.put("compareResult", wmTask.getCompareResult());//数据
|
|
|
- return R.ok(result);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public R updateByapprovalForManualOperation(Map<String, String> map) {
|
|
|
- String taskId=map.get("taskId");
|
|
|
- WmTask wmTask=wmTaskService.getById(taskId);
|
|
|
- if(wmTask==null){
|
|
|
- return R.failed("未查询到调查信息");
|
|
|
- }
|
|
|
- String approvalInfo=map.get("approvalInfo");
|
|
|
- String approvalOpinion=map.get("approvalOpinion");
|
|
|
- String compareResult=map.get("compareResult");
|
|
|
- //更新时,同一个task_content_id和createtime下的数据,都要更新状态为已审核
|
|
|
+ private final WmDaPharmacyMapper wmDaPharmacyMapper;
|
|
|
+ private final WmTaskService wmTaskService;
|
|
|
+ private final WmTaskContentMapper wmTaskContentMapper;
|
|
|
+ private final WmScorePackageService wmScorePackageService;
|
|
|
+ private final WmScorePackageStatusService packageStatusService;
|
|
|
+
|
|
|
+
|
|
|
+ @Value("${spring.datasource.druid.driver-class-name}")
|
|
|
+ private String driverClassName;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R approvalPharmacy(String taskId) {
|
|
|
+ WmDaPharmacy wmDaPharmacy = new WmDaPharmacy();
|
|
|
+ //获取任务信息
|
|
|
+ WmTask wmTask = wmTaskService.getById(taskId);
|
|
|
+ if (null == wmTask) {
|
|
|
+ return R.failed("未查询到调研信息");
|
|
|
+ }
|
|
|
+ // if("1".equals(wmTask.getPlatAuditStatus())){
|
|
|
+ // return R.failed("信息已审核,请重新查询后操作");
|
|
|
+ // }
|
|
|
+ WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
|
|
|
+ if (null == wmTaskContent) {
|
|
|
+ return R.failed("调研信息为空");
|
|
|
+ }
|
|
|
+ // 根据省市区+详情地址+药店名称查询药店
|
|
|
+ WmDaPharmacy query = new WmDaPharmacy();
|
|
|
+ // 省市区
|
|
|
+ if (StringUtil.isNotBlank(wmTaskContent.getTemp7())) {
|
|
|
+ if (StrUtil.contains(wmTaskContent.getTemp7(), "-")) {
|
|
|
+ String[] citys = wmTaskContent.getTemp7().split("-");
|
|
|
+ query.setProvince(ArrayUtil.get(citys, 0));
|
|
|
+ query.setCity(ArrayUtil.get(citys, 1));
|
|
|
+ query.setArea(ArrayUtil.get(citys, 2));
|
|
|
+ } else if (StrUtil.contains(wmTaskContent.getTemp7(), ",")) {
|
|
|
+ String[] citys = wmTaskContent.getTemp7().split(",");
|
|
|
+ query.setProvince(ArrayUtil.get(citys, 0));
|
|
|
+ query.setCity(ArrayUtil.get(citys, 1));
|
|
|
+ query.setArea(ArrayUtil.get(citys, 2));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 详细地址
|
|
|
+ query.setAddress(wmTaskContent.getTemp4());
|
|
|
+ // 药店名称
|
|
|
+ query.setPharmacyName(wmTaskContent.getTemp3());
|
|
|
+ query.setDelFlag("0");
|
|
|
+ List<WmDaPharmacy> wdplist = wmDaPharmacyMapper.selectList(Wrappers.query(query));
|
|
|
+ if (CollectionUtil.isNotEmpty(wdplist)) {
|
|
|
+ wmDaPharmacy = wdplist.get(0);
|
|
|
+ wmTask.setCompareResult("2");//信息不一致
|
|
|
+ } else {
|
|
|
+ wmTask.setCompareResult("1");//新增
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取经纬度
|
|
|
+ this.convertToLatAndLong(query);
|
|
|
+ wmDaPharmacy.setLatitude(query.getLatitude());
|
|
|
+ wmDaPharmacy.setLongitude(query.getLongitude());
|
|
|
+
|
|
|
+
|
|
|
+ Map<String, Object> result = new HashMap();
|
|
|
+ result.put("info", wmDaPharmacy);//数据
|
|
|
+ result.put("_wmTask", wmTask);
|
|
|
+ result.put("wmTask", wmTaskContent);
|
|
|
+ result.put("wmTaskContent", wmTaskContent);
|
|
|
+ result.put("compareResult", wmTask.getCompareResult());//数据
|
|
|
+ return R.ok(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public R updateByapprovalForManualOperation(Map<String, String> map) {
|
|
|
+ String taskId = map.get("taskId");
|
|
|
+ WmTask wmTask = wmTaskService.getById(taskId);
|
|
|
+ if (wmTask == null) {
|
|
|
+ return R.failed("未查询到调查信息");
|
|
|
+ }
|
|
|
+ String approvalInfo = map.get("approvalInfo");
|
|
|
+ String approvalOpinion = map.get("approvalOpinion");
|
|
|
+ String compareResult = map.get("compareResult");
|
|
|
+ //更新时,同一个task_content_id和createtime下的数据,都要更新状态为已审核
|
|
|
// LambdaUpdateWrapper<WmTask> updateWrapper=new LambdaUpdateWrapper<WmTask>();
|
|
|
// updateWrapper.set(WmTask::getPlatAuditStatus,"1");
|
|
|
// updateWrapper.set(WmTask::getApprovalOpinion,approvalOpinion);
|
|
@@ -143,43 +149,43 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
|
|
|
// updateTask.setCompareResult(compareResult);
|
|
|
// updateTask.setApprovalInfo(approvalInfo);
|
|
|
|
|
|
- if("1".equals(approvalOpinion)){//采纳
|
|
|
- //updateWrapper.set(WmTask::getTaskStatus,"3");//审核通过
|
|
|
- // TODO 根据任务积分修改积分包状态
|
|
|
+ if ("1".equals(approvalOpinion)) {//采纳
|
|
|
+ //updateWrapper.set(WmTask::getTaskStatus,"3");//审核通过
|
|
|
+ // TODO 根据任务积分修改积分包状态
|
|
|
// updateWrapper.set(WmTask::getRealFlag,"0");//0审核通过
|
|
|
// updateTask.setRealFlag("0");
|
|
|
|
|
|
- WmDaPharmacy wmDaPharmacy = new WmDaPharmacy();
|
|
|
- WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
|
|
|
- //更新审核信息
|
|
|
- LocalDateTime now = LocalDateTime.now();
|
|
|
+ WmDaPharmacy wmDaPharmacy = new WmDaPharmacy();
|
|
|
+ WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
|
|
|
+ //更新审核信息
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
// Integer userId = SecurityUtils.getUser().getId();
|
|
|
- if("1".equals(compareResult)){//新增
|
|
|
- //新增
|
|
|
- wmDaPharmacy.setPharmacyName(wmTaskContent.getTemp3());//名称
|
|
|
- wmDaPharmacy.setAddress(wmTaskContent.getTemp4());//名称
|
|
|
- if (!StringUtil.isEmpty(wmTaskContent.getTemp7())) {//省市区
|
|
|
- String[] citys = wmTaskContent.getTemp7().split("-");
|
|
|
- if(citys.length==3) {
|
|
|
- wmDaPharmacy.setProvince(citys[0]);
|
|
|
- wmDaPharmacy.setCity(citys[1]);
|
|
|
- wmDaPharmacy.setArea(citys[2]);
|
|
|
- }else {
|
|
|
- String[] citys1=wmTaskContent.getTemp7().split(",");
|
|
|
- if(citys1.length==3) {
|
|
|
- wmDaPharmacy.setProvince(citys1[0]);
|
|
|
- wmDaPharmacy.setCity(citys1[1]);
|
|
|
- wmDaPharmacy.setArea(citys1[2]);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- wmDaPharmacy.setCreateTime(now);
|
|
|
- wmDaPharmacy.setCreateUser(0);
|
|
|
- // 根据地址转换经纬度
|
|
|
- this.convertToLatAndLong(wmDaPharmacy);
|
|
|
- this.save(wmDaPharmacy);
|
|
|
- }else if("2".equals(compareResult)){//信息不一致
|
|
|
- //对比药店和调研信息,只有所属地区不一样
|
|
|
+ if ("1".equals(compareResult)) {//新增
|
|
|
+ //新增
|
|
|
+ wmDaPharmacy.setPharmacyName(wmTaskContent.getTemp3());//名称
|
|
|
+ wmDaPharmacy.setAddress(wmTaskContent.getTemp4());//名称
|
|
|
+ if (!StringUtil.isEmpty(wmTaskContent.getTemp7())) {//省市区
|
|
|
+ String[] citys = wmTaskContent.getTemp7().split("-");
|
|
|
+ if (citys.length == 3) {
|
|
|
+ wmDaPharmacy.setProvince(citys[0]);
|
|
|
+ wmDaPharmacy.setCity(citys[1]);
|
|
|
+ wmDaPharmacy.setArea(citys[2]);
|
|
|
+ } else {
|
|
|
+ String[] citys1 = wmTaskContent.getTemp7().split(",");
|
|
|
+ if (citys1.length == 3) {
|
|
|
+ wmDaPharmacy.setProvince(citys1[0]);
|
|
|
+ wmDaPharmacy.setCity(citys1[1]);
|
|
|
+ wmDaPharmacy.setArea(citys1[2]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wmDaPharmacy.setCreateTime(now);
|
|
|
+ wmDaPharmacy.setCreateUser(0);
|
|
|
+ // 根据地址转换经纬度
|
|
|
+ this.convertToLatAndLong(wmDaPharmacy);
|
|
|
+ this.save(wmDaPharmacy);
|
|
|
+ } else if ("2".equals(compareResult)) {//信息不一致
|
|
|
+ //对比药店和调研信息,只有所属地区不一样
|
|
|
// List<WmDaPharmacy> wdplist=wmDaPharmacyMapper.slectByParam(wmTaskContent.getTemp3());
|
|
|
// if(null!=wdplist&&wdplist.size()>0){
|
|
|
// wmDaPharmacy=wdplist.get(0);
|
|
@@ -205,21 +211,21 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
|
|
|
// wmDaPharmacy.setAddress(wmTaskContent.getTemp4());
|
|
|
// wmDaPharmacy.setUpdateTime(now);
|
|
|
// wmDaPharmacy.setUpdateUser(userId);
|
|
|
- // 根据地址转换经纬度
|
|
|
+ // 根据地址转换经纬度
|
|
|
// this.convertToLatAndLong(wmDaPharmacy);
|
|
|
- //更新药店信息;
|
|
|
+ //更新药店信息;
|
|
|
// this.updateById(wmDaPharmacy);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- }else{
|
|
|
- //updateWrapper.set(WmTask::getTaskStatus,"2");//审核不通过
|
|
|
+ } else {
|
|
|
+ //updateWrapper.set(WmTask::getTaskStatus,"2");//审核不通过
|
|
|
// updateWrapper.set(WmTask::getRealFlag,"1");//1不通过
|
|
|
|
|
|
// updateTask.setRealFlag("1");
|
|
|
- }
|
|
|
- //提交
|
|
|
+ }
|
|
|
+ //提交
|
|
|
// updateTask.setTaskStatus("2");
|
|
|
- WmScorePackage wmScorePackage = wmScorePackageService.getById(wmTask.getScorePackageId());
|
|
|
+ WmScorePackage wmScorePackage = wmScorePackageService.getById(wmTask.getScorePackageId());
|
|
|
// if("1".equals(approvalOpinion)){
|
|
|
// if("1".equals(wmScorePackage.getPackageType1())){
|
|
|
// Boolean fullFlag = wmTaskService.checkUserTaskSubScore(wmTask.getTaskUserId());
|
|
@@ -237,41 +243,41 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
|
|
|
//
|
|
|
// }else {
|
|
|
|
|
|
- /**
|
|
|
- * 审核不通过可能需要释放积分
|
|
|
- */
|
|
|
- //更新积分包状态
|
|
|
+ /**
|
|
|
+ * 审核不通过可能需要释放积分
|
|
|
+ */
|
|
|
+ //更新积分包状态
|
|
|
// WmScorePackage wmScorePackage = wmScorePackageService.getById(wmTask.getScorePackageId());
|
|
|
- WmScorePackageStatus query = new WmScorePackageStatus();
|
|
|
- query.setUserId(wmTask.getTaskUserId());
|
|
|
- query.setPackageId(wmTask.getScorePackageId());
|
|
|
- query.setStatus("2");
|
|
|
- WmScorePackageStatus scorePackageStatus = packageStatusService.getOne(Wrappers.query(query));
|
|
|
-
|
|
|
- /**
|
|
|
- * 不需要释放 直接返回
|
|
|
- */
|
|
|
+ WmScorePackageStatus query = new WmScorePackageStatus();
|
|
|
+ query.setUserId(wmTask.getTaskUserId());
|
|
|
+ query.setPackageId(wmTask.getScorePackageId());
|
|
|
+ query.setStatus("2");
|
|
|
+ WmScorePackageStatus scorePackageStatus = packageStatusService.getOne(Wrappers.query(query));
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 不需要释放 直接返回
|
|
|
+ */
|
|
|
// if("1".equals(wmScorePackage.getTaskAddFlag()) && "1".equals(scorePackageStatus.getTaskAddFlag())){
|
|
|
// return R.ok();
|
|
|
// }
|
|
|
|
|
|
// packageStatusService.updatePackageAndStatus(wmTask, wmScorePackage, scorePackageStatus);
|
|
|
// }
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public R updateByapproval(Map<String, String> map) {
|
|
|
- String taskId=map.get("taskId");
|
|
|
- WmTask wmTask=wmTaskService.getById(taskId);
|
|
|
- if(wmTask==null){
|
|
|
- return R.failed("未查询到调查信息");
|
|
|
- }
|
|
|
- String approvalInfo=map.get("approvalInfo");
|
|
|
- String approvalOpinion=map.get("approvalOpinion");
|
|
|
- String compareResult=map.get("compareResult");
|
|
|
- //更新时,同一个task_content_id和createtime下的数据,都要更新状态为已审核
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public R updateByapproval(Map<String, String> map) {
|
|
|
+ String taskId = map.get("taskId");
|
|
|
+ WmTask wmTask = wmTaskService.getById(taskId);
|
|
|
+ if (wmTask == null) {
|
|
|
+ return R.failed("未查询到调查信息");
|
|
|
+ }
|
|
|
+ String approvalInfo = map.get("approvalInfo");
|
|
|
+ String approvalOpinion = map.get("approvalOpinion");
|
|
|
+ String compareResult = map.get("compareResult");
|
|
|
+ //更新时,同一个task_content_id和createtime下的数据,都要更新状态为已审核
|
|
|
// LambdaUpdateWrapper<WmTask> updateWrapper=new LambdaUpdateWrapper<WmTask>();
|
|
|
// updateWrapper.set(WmTask::getPlatAuditStatus,"1");
|
|
|
// updateWrapper.set(WmTask::getApprovalOpinion,approvalOpinion);
|
|
@@ -287,43 +293,43 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
|
|
|
// updateTask.setCompareResult(compareResult);
|
|
|
// updateTask.setApprovalInfo(approvalInfo);
|
|
|
|
|
|
- if("1".equals(approvalOpinion)){//采纳
|
|
|
- //updateWrapper.set(WmTask::getTaskStatus,"3");//审核通过
|
|
|
- // TODO 根据任务积分修改积分包状态
|
|
|
+ if ("1".equals(approvalOpinion)) {//采纳
|
|
|
+ //updateWrapper.set(WmTask::getTaskStatus,"3");//审核通过
|
|
|
+ // TODO 根据任务积分修改积分包状态
|
|
|
// updateWrapper.set(WmTask::getRealFlag,"0");//0审核通过
|
|
|
// updateTask.setRealFlag("0");
|
|
|
|
|
|
- WmDaPharmacy wmDaPharmacy = new WmDaPharmacy();
|
|
|
- WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
|
|
|
- //更新审核信息
|
|
|
- LocalDateTime now = LocalDateTime.now();
|
|
|
- Integer userId = SecurityUtils.getUser().getId();
|
|
|
- if("1".equals(compareResult)){//新增
|
|
|
- //新增
|
|
|
- wmDaPharmacy.setPharmacyName(wmTaskContent.getTemp3());//名称
|
|
|
- wmDaPharmacy.setAddress(wmTaskContent.getTemp4());//名称
|
|
|
- if (!StringUtil.isEmpty(wmTaskContent.getTemp7())) {//省市区
|
|
|
- String[] citys = wmTaskContent.getTemp7().split("-");
|
|
|
- if(citys.length==3) {
|
|
|
- wmDaPharmacy.setProvince(citys[0]);
|
|
|
- wmDaPharmacy.setCity(citys[1]);
|
|
|
- wmDaPharmacy.setArea(citys[2]);
|
|
|
- }else {
|
|
|
- String[] citys1=wmTaskContent.getTemp7().split(",");
|
|
|
- if(citys1.length==3) {
|
|
|
- wmDaPharmacy.setProvince(citys1[0]);
|
|
|
- wmDaPharmacy.setCity(citys1[1]);
|
|
|
- wmDaPharmacy.setArea(citys1[2]);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- wmDaPharmacy.setCreateTime(now);
|
|
|
- wmDaPharmacy.setCreateUser(userId);
|
|
|
- // 根据地址转换经纬度
|
|
|
- this.convertToLatAndLong(wmDaPharmacy);
|
|
|
- this.save(wmDaPharmacy);
|
|
|
- }else if("2".equals(compareResult)){//信息不一致
|
|
|
- //对比药店和调研信息,只有所属地区不一样
|
|
|
+ WmDaPharmacy wmDaPharmacy = new WmDaPharmacy();
|
|
|
+ WmTaskContent wmTaskContent = wmTaskContentMapper.selectById(wmTask.getTaskContentId());
|
|
|
+ //更新审核信息
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ Integer userId = SecurityUtils.getUser().getId();
|
|
|
+ if ("1".equals(compareResult)) {//新增
|
|
|
+ //新增
|
|
|
+ wmDaPharmacy.setPharmacyName(wmTaskContent.getTemp3());//名称
|
|
|
+ wmDaPharmacy.setAddress(wmTaskContent.getTemp4());//名称
|
|
|
+ if (!StringUtil.isEmpty(wmTaskContent.getTemp7())) {//省市区
|
|
|
+ String[] citys = wmTaskContent.getTemp7().split("-");
|
|
|
+ if (citys.length == 3) {
|
|
|
+ wmDaPharmacy.setProvince(citys[0]);
|
|
|
+ wmDaPharmacy.setCity(citys[1]);
|
|
|
+ wmDaPharmacy.setArea(citys[2]);
|
|
|
+ } else {
|
|
|
+ String[] citys1 = wmTaskContent.getTemp7().split(",");
|
|
|
+ if (citys1.length == 3) {
|
|
|
+ wmDaPharmacy.setProvince(citys1[0]);
|
|
|
+ wmDaPharmacy.setCity(citys1[1]);
|
|
|
+ wmDaPharmacy.setArea(citys1[2]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wmDaPharmacy.setCreateTime(now);
|
|
|
+ wmDaPharmacy.setCreateUser(userId);
|
|
|
+ // 根据地址转换经纬度
|
|
|
+ this.convertToLatAndLong(wmDaPharmacy);
|
|
|
+ this.save(wmDaPharmacy);
|
|
|
+ } else if ("2".equals(compareResult)) {//信息不一致
|
|
|
+ //对比药店和调研信息,只有所属地区不一样
|
|
|
// List<WmDaPharmacy> wdplist=wmDaPharmacyMapper.slectByParam(wmTaskContent.getTemp3());
|
|
|
// if(null!=wdplist&&wdplist.size()>0){
|
|
|
// wmDaPharmacy=wdplist.get(0);
|
|
@@ -349,19 +355,19 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
|
|
|
// wmDaPharmacy.setAddress(wmTaskContent.getTemp4());
|
|
|
// wmDaPharmacy.setUpdateTime(now);
|
|
|
// wmDaPharmacy.setUpdateUser(userId);
|
|
|
- // 根据地址转换经纬度
|
|
|
+ // 根据地址转换经纬度
|
|
|
// this.convertToLatAndLong(wmDaPharmacy);
|
|
|
- //更新药店信息;
|
|
|
+ //更新药店信息;
|
|
|
// this.updateById(wmDaPharmacy);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- }else{
|
|
|
- //updateWrapper.set(WmTask::getTaskStatus,"2");//审核不通过
|
|
|
+ } else {
|
|
|
+ //updateWrapper.set(WmTask::getTaskStatus,"2");//审核不通过
|
|
|
// updateWrapper.set(WmTask::getRealFlag,"1");//1不通过
|
|
|
|
|
|
// updateTask.setRealFlag("1");
|
|
|
- }
|
|
|
- //提交
|
|
|
+ }
|
|
|
+ //提交
|
|
|
// updateTask.setTaskStatus("2");
|
|
|
// WmScorePackage wmScorePackage = wmScorePackageService.getById(wmTask.getScorePackageId());
|
|
|
// if("1".equals(approvalOpinion)){
|
|
@@ -381,10 +387,10 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
|
|
|
//
|
|
|
// }else {
|
|
|
|
|
|
- /**
|
|
|
- * 审核不通过可能需要释放积分
|
|
|
- */
|
|
|
- //更新积分包状态
|
|
|
+ /**
|
|
|
+ * 审核不通过可能需要释放积分
|
|
|
+ */
|
|
|
+ //更新积分包状态
|
|
|
// WmScorePackage wmScorePackage = wmScorePackageService.getById(wmTask.getScorePackageId());
|
|
|
// WmScorePackageStatus query = new WmScorePackageStatus();
|
|
|
// query.setUserId(wmTask.getTaskUserId());
|
|
@@ -392,166 +398,170 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
|
|
|
// query.setStatus("2");
|
|
|
// WmScorePackageStatus scorePackageStatus = packageStatusService.getOne(Wrappers.query(query));
|
|
|
|
|
|
- /**
|
|
|
- * 不需要释放 直接返回
|
|
|
- */
|
|
|
+ /**
|
|
|
+ * 不需要释放 直接返回
|
|
|
+ */
|
|
|
// if("1".equals(wmScorePackage.getTaskAddFlag()) && "1".equals(scorePackageStatus.getTaskAddFlag())){
|
|
|
// return R.ok();
|
|
|
// }
|
|
|
|
|
|
// packageStatusService.updatePackageAndStatus(wmTask, wmScorePackage, scorePackageStatus);
|
|
|
// }
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据经纬度查询
|
|
|
- *
|
|
|
- * @param wmDaPharmacy
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public List<WmDaPharmacy> listByPoint(WmDaPharmacy wmDaPharmacy) {
|
|
|
- return wmDaPharmacyMapper.listByPoint(wmDaPharmacy);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 批量转换经纬度
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void parseAddress() {
|
|
|
- List<WmDaPharmacy> list = this.list(Wrappers.<WmDaPharmacy>lambdaQuery().isNull(WmDaPharmacy::getLatitude));
|
|
|
- if (CollectionUtil.isNotEmpty(list)) {
|
|
|
- list.forEach(wmDaPharmacy -> {
|
|
|
- this.convertToLatAndLong(wmDaPharmacy);
|
|
|
- this.saveOrUpdate(wmDaPharmacy);
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 批量导入
|
|
|
- *
|
|
|
- * @param excelModelList 药店列表
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public Map<String, String> batchByExcel(List<BatchPharmacyExcelModel> excelModelList) {
|
|
|
-
|
|
|
- // 变量
|
|
|
- Map<String, String> errorMap = new HashMap<>();
|
|
|
- List<WmDaPharmacy> currentList = new ArrayList<>();
|
|
|
-
|
|
|
- // 获取操作员
|
|
|
- HnqzUser creator = SecurityUtils.getUser();
|
|
|
-
|
|
|
- log.info("开始校验数据:{}", excelModelList);
|
|
|
- // 业务值校验
|
|
|
- Map<String, List<BatchPharmacyExcelModel>> nameMap = excelModelList.stream()
|
|
|
- .filter(excelModel -> StrUtil.isNotBlank(excelModel.getName()))
|
|
|
- .collect(Collectors.groupingBy(BatchPharmacyExcelModel::getName));
|
|
|
-
|
|
|
- for (String nameStr : nameMap.keySet()) {
|
|
|
- List<BatchPharmacyExcelModel> excelModels = nameMap.get(nameStr);
|
|
|
- if (excelModels.size() > 1) {
|
|
|
- log.error("名称重复");
|
|
|
- String idStr = excelModels.stream().map(BatchPharmacyExcelModel::getNumber).collect(Collectors.joining(","));
|
|
|
- errorMap(errorMap, "名称重复", idStr);
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- BatchPharmacyExcelModel excelModel = excelModels.get(0);
|
|
|
-
|
|
|
- WmDaPharmacy pharmacy = new WmDaPharmacy();
|
|
|
- // 校验名称
|
|
|
- String name = StrUtil.cleanBlank(excelModel.getName());
|
|
|
- if (StrUtil.isBlank(name)) {
|
|
|
- log.error("名称为空");
|
|
|
- errorMap(errorMap, "名称为空", excelModel.getNumber());
|
|
|
- } else {
|
|
|
- pharmacy.setPharmacyName(name);
|
|
|
- }
|
|
|
-
|
|
|
- // 校验地址
|
|
|
- String address = StrUtil.cleanBlank(excelModel.getAddress());
|
|
|
- if (StrUtil.isBlank(address)) {
|
|
|
- log.error("地址为空");
|
|
|
- errorMap(errorMap, "地址为空", excelModel.getNumber());
|
|
|
- } else {
|
|
|
- pharmacy.setAddress(address);
|
|
|
- }
|
|
|
-
|
|
|
- // 药店类型设置默认值
|
|
|
- if (StrUtil.isNotBlank(excelModel.getPharmacyType())) {
|
|
|
- UpmsType.PharmacyType pharmacyType = UpmsType.PharmacyType.getByDescription(excelModel.getPharmacyType());
|
|
|
- pharmacy.setPharmacyType(pharmacyType);
|
|
|
- } else {
|
|
|
- pharmacy.setPharmacyType(UpmsType.PharmacyType.ORDINARY);
|
|
|
- }
|
|
|
-
|
|
|
- // 重复校验
|
|
|
- int count = this.count(Wrappers.<WmDaPharmacy>lambdaQuery()
|
|
|
- .eq(WmDaPharmacy::getPharmacyName, name)
|
|
|
- .eq(WmDaPharmacy::getDelFlag, DelEnum.NOT_DEL.val()));
|
|
|
- if (count > 0) {
|
|
|
- log.error("{} 已存在", name);
|
|
|
- errorMap(errorMap, "名称已存在", excelModel.getNumber());
|
|
|
- }
|
|
|
-
|
|
|
- // 记录正确的结果
|
|
|
- pharmacy.setProvince("");
|
|
|
- pharmacy.setCity("");
|
|
|
- pharmacy.setArea("");
|
|
|
- LocalDateTime now = LocalDateTime.now();
|
|
|
- pharmacy.setCreateTime(now);
|
|
|
- pharmacy.setCreateUser(creator.getId());
|
|
|
- // 根据地址转换经纬度
|
|
|
- this.convertToLatAndLong(pharmacy);
|
|
|
- currentList.add(pharmacy);
|
|
|
- }
|
|
|
-
|
|
|
- // 上传结果
|
|
|
- if (CollUtil.isEmpty(errorMap)) {
|
|
|
- this.saveBatch(currentList);
|
|
|
- }
|
|
|
-
|
|
|
- return errorMap;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据地址转换经纬度
|
|
|
- *
|
|
|
- * @param wmDaPharmacy
|
|
|
- */
|
|
|
- private void convertToLatAndLong(WmDaPharmacy wmDaPharmacy) {
|
|
|
- String fullAddress = wmDaPharmacy.getProvince() + wmDaPharmacy.getCity() + wmDaPharmacy.getArea()
|
|
|
- + wmDaPharmacy.getAddress();
|
|
|
- JSONObject jsonObject = MapUtil.getLatAndLogByName(fullAddress);
|
|
|
- if (jsonObject != null) {
|
|
|
- wmDaPharmacy.setProvince(jsonObject.getString("province"));
|
|
|
- wmDaPharmacy.setCity(jsonObject.getString("city"));
|
|
|
- wmDaPharmacy.setArea(jsonObject.getString("district"));
|
|
|
- String location = jsonObject.getString("location");
|
|
|
- if (null != location && location.split(",").length > 0) {
|
|
|
- wmDaPharmacy.setLongitude(location.split(",")[0]);
|
|
|
- wmDaPharmacy.setLatitude(location.split(",")[1]);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 封装错误信息
|
|
|
- *
|
|
|
- * @param errorMap 记录错误信息map
|
|
|
- * @param key 原因
|
|
|
- * @param idStr 错误id
|
|
|
- */
|
|
|
- private void errorMap(Map<String, String> errorMap, String key, String idStr) {
|
|
|
- if (errorMap.containsKey(key)) {
|
|
|
- String val = errorMap.get(key);
|
|
|
- idStr = String.join(";", val, idStr);
|
|
|
- }
|
|
|
- errorMap.put(key, idStr);
|
|
|
- }
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据经纬度查询
|
|
|
+ *
|
|
|
+ * @param wmDaPharmacy
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<WmDaPharmacy> listByPoint(WmDaPharmacy wmDaPharmacy) {
|
|
|
+
|
|
|
+
|
|
|
+ return "dm.jdbc.driver.DmDriver".equals(driverClassName) ?
|
|
|
+ wmDaPharmacyMapper.listByPointForDM(wmDaPharmacy) :
|
|
|
+ wmDaPharmacyMapper.listByPoint(wmDaPharmacy);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量转换经纬度
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void parseAddress() {
|
|
|
+ List<WmDaPharmacy> list = this.list(Wrappers.<WmDaPharmacy>lambdaQuery().isNull(WmDaPharmacy::getLatitude));
|
|
|
+ if (CollectionUtil.isNotEmpty(list)) {
|
|
|
+ list.forEach(wmDaPharmacy -> {
|
|
|
+ this.convertToLatAndLong(wmDaPharmacy);
|
|
|
+ this.saveOrUpdate(wmDaPharmacy);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量导入
|
|
|
+ *
|
|
|
+ * @param excelModelList 药店列表
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Map<String, String> batchByExcel(List<BatchPharmacyExcelModel> excelModelList) {
|
|
|
+
|
|
|
+ // 变量
|
|
|
+ Map<String, String> errorMap = new HashMap<>();
|
|
|
+ List<WmDaPharmacy> currentList = new ArrayList<>();
|
|
|
+
|
|
|
+ // 获取操作员
|
|
|
+ HnqzUser creator = SecurityUtils.getUser();
|
|
|
+
|
|
|
+ log.info("开始校验数据:{}", excelModelList);
|
|
|
+ // 业务值校验
|
|
|
+ Map<String, List<BatchPharmacyExcelModel>> nameMap = excelModelList.stream()
|
|
|
+ .filter(excelModel -> StrUtil.isNotBlank(excelModel.getName()))
|
|
|
+ .collect(Collectors.groupingBy(BatchPharmacyExcelModel::getName));
|
|
|
+
|
|
|
+ for (String nameStr : nameMap.keySet()) {
|
|
|
+ List<BatchPharmacyExcelModel> excelModels = nameMap.get(nameStr);
|
|
|
+ if (excelModels.size() > 1) {
|
|
|
+ log.error("名称重复");
|
|
|
+ String idStr = excelModels.stream().map(BatchPharmacyExcelModel::getNumber).collect(Collectors.joining(","));
|
|
|
+ errorMap(errorMap, "名称重复", idStr);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ BatchPharmacyExcelModel excelModel = excelModels.get(0);
|
|
|
+
|
|
|
+ WmDaPharmacy pharmacy = new WmDaPharmacy();
|
|
|
+ // 校验名称
|
|
|
+ String name = StrUtil.cleanBlank(excelModel.getName());
|
|
|
+ if (StrUtil.isBlank(name)) {
|
|
|
+ log.error("名称为空");
|
|
|
+ errorMap(errorMap, "名称为空", excelModel.getNumber());
|
|
|
+ } else {
|
|
|
+ pharmacy.setPharmacyName(name);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 校验地址
|
|
|
+ String address = StrUtil.cleanBlank(excelModel.getAddress());
|
|
|
+ if (StrUtil.isBlank(address)) {
|
|
|
+ log.error("地址为空");
|
|
|
+ errorMap(errorMap, "地址为空", excelModel.getNumber());
|
|
|
+ } else {
|
|
|
+ pharmacy.setAddress(address);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 药店类型设置默认值
|
|
|
+ if (StrUtil.isNotBlank(excelModel.getPharmacyType())) {
|
|
|
+ UpmsType.PharmacyType pharmacyType = UpmsType.PharmacyType.getByDescription(excelModel.getPharmacyType());
|
|
|
+ pharmacy.setPharmacyType(pharmacyType);
|
|
|
+ } else {
|
|
|
+ pharmacy.setPharmacyType(UpmsType.PharmacyType.ORDINARY);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 重复校验
|
|
|
+ int count = this.count(Wrappers.<WmDaPharmacy>lambdaQuery()
|
|
|
+ .eq(WmDaPharmacy::getPharmacyName, name)
|
|
|
+ .eq(WmDaPharmacy::getDelFlag, DelEnum.NOT_DEL.val()));
|
|
|
+ if (count > 0) {
|
|
|
+ log.error("{} 已存在", name);
|
|
|
+ errorMap(errorMap, "名称已存在", excelModel.getNumber());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 记录正确的结果
|
|
|
+ pharmacy.setProvince("");
|
|
|
+ pharmacy.setCity("");
|
|
|
+ pharmacy.setArea("");
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ pharmacy.setCreateTime(now);
|
|
|
+ pharmacy.setCreateUser(creator.getId());
|
|
|
+ // 根据地址转换经纬度
|
|
|
+ this.convertToLatAndLong(pharmacy);
|
|
|
+ currentList.add(pharmacy);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 上传结果
|
|
|
+ if (CollUtil.isEmpty(errorMap)) {
|
|
|
+ this.saveBatch(currentList);
|
|
|
+ }
|
|
|
+
|
|
|
+ return errorMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据地址转换经纬度
|
|
|
+ *
|
|
|
+ * @param wmDaPharmacy
|
|
|
+ */
|
|
|
+ private void convertToLatAndLong(WmDaPharmacy wmDaPharmacy) {
|
|
|
+ String fullAddress = wmDaPharmacy.getProvince() + wmDaPharmacy.getCity() + wmDaPharmacy.getArea()
|
|
|
+ + wmDaPharmacy.getAddress();
|
|
|
+ JSONObject jsonObject = MapUtil.getLatAndLogByName(fullAddress);
|
|
|
+ if (jsonObject != null) {
|
|
|
+ wmDaPharmacy.setProvince(jsonObject.getString("province"));
|
|
|
+ wmDaPharmacy.setCity(jsonObject.getString("city"));
|
|
|
+ wmDaPharmacy.setArea(jsonObject.getString("district"));
|
|
|
+ String location = jsonObject.getString("location");
|
|
|
+ if (null != location && location.split(",").length > 0) {
|
|
|
+ wmDaPharmacy.setLongitude(location.split(",")[0]);
|
|
|
+ wmDaPharmacy.setLatitude(location.split(",")[1]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 封装错误信息
|
|
|
+ *
|
|
|
+ * @param errorMap 记录错误信息map
|
|
|
+ * @param key 原因
|
|
|
+ * @param idStr 错误id
|
|
|
+ */
|
|
|
+ private void errorMap(Map<String, String> errorMap, String key, String idStr) {
|
|
|
+ if (errorMap.containsKey(key)) {
|
|
|
+ String val = errorMap.get(key);
|
|
|
+ idStr = String.join(";", val, idStr);
|
|
|
+ }
|
|
|
+ errorMap.put(key, idStr);
|
|
|
+ }
|
|
|
|
|
|
}
|