From 10c28ce3d0b384584c77ce9111a66a0641250752 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 27 二月 2025 18:30:32 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 100 insertions(+), 18 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java index 05bc494..b04182f 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java @@ -11,12 +11,17 @@ import com.doumee.core.wms.model.request.*; import com.doumee.core.wms.model.response.WmsBaseDataResponse; import com.doumee.core.wms.model.response.WmsBaseResponse; -import com.doumee.core.wms.model.response.WmsInventoryDataResponse; +import com.doumee.core.wx.wxPlat.WxPlatConstants; +import com.doumee.core.wx.wxPlat.WxPlatNotice; import com.doumee.dao.business.*; +import com.doumee.dao.business.dao.MemberMapper; import com.doumee.dao.business.dao.SmsConfigMapper; import com.doumee.dao.business.dao.SmsEmailMapper; import com.doumee.dao.business.model.*; +import com.doumee.dao.business.model.Member; +import com.doumee.dao.system.SystemUserMapper; +import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.impl.SmsEmailServiceImpl; import com.doumee.service.business.third.EmayService; import com.doumee.service.business.third.WmsService; @@ -49,6 +54,8 @@ @Autowired private MemberMapper memberMapper; @Autowired + private SystemUserMapper systemUserMapper; + @Autowired private PlatformJobMapper platformJobMapper; @Autowired private PlatformWmsDetailMapper platformWmsDetailMapper; @@ -64,6 +71,8 @@ private EmayService emayService; @Autowired private RetentionMapper retentionMapper; + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; /** * 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊 * @param job 鍙傛暟 @@ -137,10 +146,10 @@ * @return */ @Override - public WmsBaseResponse<WmsInventoryDataResponse> getInventoryList(){ + public WmsBaseResponse<WmsBaseDataResponse> getInventoryList(){ String url = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_GET_INVENTORYLIST_URL).getCode() ; String name = "銆怶MS銆戝簱瀛樻煡璇�" ; - WmsBaseResponse<WmsInventoryDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(new JSONObject()),new TypeReference< WmsBaseResponse<WmsInventoryDataResponse>>(){}); + WmsBaseResponse<WmsBaseDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(new JSONObject()),new TypeReference< WmsBaseResponse<WmsBaseDataResponse>>(){}); if(response!=null && response.getData() !=null && response.getData().size()>0 @@ -206,6 +215,7 @@ return result; }catch (Exception e){ success = 1; + e.printStackTrace(); log.error("銆�"+name+"銆�================澶辫触===="+ JSONObject.toJSONString(param)); }finally { saveInterfaceLog(url,name,param,success,res,Constants.ZERO); @@ -215,9 +225,9 @@ } private static void logResult(WmsBaseResponse<WmsBaseDataResponse> res,String name) { if(StringUtils.equals(res.getData().get(0).getSuccess(), WmsBaseResponse.CODE_SUCCESS)){ - log.info("銆怶MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+res); + log.info("銆怶MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+ JSONObject.toJSONString(res)); }else{ - log.error("銆怶MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ res); + log.error("銆怶MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ JSONObject.toJSONString(res)); } } /** @@ -233,6 +243,7 @@ return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖"); } List<PlatformJob> jobList = new ArrayList<>(); + List<Integer> jobIdList = new ArrayList<>(); List<PlatformWmsDetail> details = new ArrayList<>(); List<String> iocodeList = new ArrayList<>(); for(WmsInboundNoticeRequest param : list.getData()){ @@ -268,6 +279,7 @@ platformWmsJobMapper.insert(job); jobList.add(model); } + jobIdList.add(job.getId()); if(param.getDetails()!=null && param.getDetails().size()>0){ for(WmsInboundDetailRequest d :param.getDetails()){ PlatformWmsDetail entity = new PlatformWmsDetail(); @@ -298,6 +310,7 @@ if(details.size()>0){ platformWmsDetailMapper.insert(details); } + list.setJobIdList(jobIdList); if(jobList.size()>0){ startEndNoticeToDriver(jobList); } @@ -311,13 +324,30 @@ private void startEndNoticeToDriver(List<PlatformJob> jobList) { for(PlatformJob job : jobList){ - //-----TODO-----------浠诲悍锛屽彂閫佸徃鏈哄叕浼楀彿鍜� //鐭俊閫氱煡 if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())){ SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz, emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,job.getId(), SmsConstants.platformJobContent.platformJobNewJob,null,null ); + //鏌ヨ鍙告満淇℃伅 鍙戦�佸叕浼楀彿閫氱煡 + if(Objects.nonNull(job.getDriverId())){ + //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉 + SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() + .eq(SystemUser::getDeleted, Constants.ZERO) + .eq(SystemUser::getType, Constants.ZERO) + .eq(SystemUser::getMobile,job.getDrivierPhone()) + .last(" limit 1 ")); + if(Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())){ + WxPlatNotice wxPlatNotice = new WxPlatNotice(); + wxPlatNotice.sendWmsTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper,job, + WxPlatConstants.platformJobContent.platformJobNewJob, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), + Arrays.asList(driver.getOpenid().split(",")) + ); + } + } } } } @@ -343,8 +373,16 @@ private void dealCarPlatformAndDriverInfo(PlatformJob job,int type) { //鏌ヨ杞﹁締鏄惁鑷湁杞︼紝浠ュ強jobNum琛ㄧず浣嗘眰浣滀笟鏁伴噺锛堥潪宸茬鍥殑浣滀笟鏁�) Cars car = carsMapper.selectOne(new QueryWrapper<Cars>() - .select("*,(select count(1) from platform_job b where b.plate_num='"+job.getCarCodeFront()+"' and b.status in("+ - Constants.PlatformJobStatus.LEAVED.getKey()+")) as jobNum") + .select("*,(select count(1) from platform_job b where b.plate_num='"+job.getCarCodeFront()+"' " + + "and b.status in("+ + Constants.PlatformJobStatus.WART_SIGN_IN.getKey()+","+ + Constants.PlatformJobStatus.WART_SIGN_IN.getKey()+","+ + Constants.PlatformJobStatus.WAIT_CALL.getKey()+","+ + Constants.PlatformJobStatus.IN_WAIT.getKey()+","+ + Constants.PlatformJobStatus.CALLED.getKey()+","+ + Constants.PlatformJobStatus.TRANSFERING.getKey()+","+ + Constants.PlatformJobStatus.EXCEPTION.getKey()+","+ + Constants.PlatformJobStatus.WORKING.getKey()+")) as jobNum") .lambda() .eq(Cars::getIsdeleted,Constants.ZERO) .eq(Cars::getType,Constants.ONE) @@ -353,8 +391,10 @@ //濡傛灉鏄嚜鏈夌墿娴佽溅 job.setType(type==0?Constants.platformJobType.zycxh:Constants.platformJobType.zyczh);//鑷湁杞﹀嵏璐�/瑁呰揣 job.setCarCodeBack(job.getCarCodeFront());//鑷湁杞﹂粯璁ゅ墠鍚庤溅鐗屼竴鏍� - if(retentionMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,Constants.THREE) - .eq(Retention::getCarNo,car.getCode()))>Constants.ZERO && car.getJobNum() == 0){ + if(job.getType() ==Constants.platformJobType.zyczh + && retentionMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,Constants.THREE) + .eq(Retention::getCarNo,car.getCode()))>Constants.ZERO + && car.getJobNum() == 0){ //濡傛灉杞﹁締鍦ㄥ洯 job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//鍦ㄥ洯鏃犱綔涓氱姸鎬侊紝鍒欒嚜鍔ㄣ�愬凡绛惧埌銆戝鐞� job.setArriveDate(new Date()); @@ -455,7 +495,6 @@ job.setContractNum(param.getContractNum()); job.setDriverPhone(param.getDriverPhone()); job.setDriverName(param.getDriverName()); -// job.setOrigin(Constants.ONE); platformWmsJobMapper.insert(job); } jobIdList.add(job.getId()); @@ -467,6 +506,7 @@ entity.setIocode(d.getIoCode()); entity.setJobId(job.getJobId()); entity.setWmsJobId(job.getId()); + entity.setContractNum(param.getContractNum()); entity.setIoQty(d.getIoQty()); entity.setRepertotyAddress(job.getRepertotyAddress()); entity.setWmsJobId(job.getId()); @@ -491,8 +531,8 @@ if(details.size()>0){ platformWmsDetailMapper.insert(details); } + list.setJobIdList(jobIdList); if(jobList.size()>0){ - list.setJobIdList(jobIdList); startEndNoticeToDriver(jobList); } }catch (Exception e){ @@ -546,12 +586,35 @@ .set(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey()) .in(PlatformJob::getId,setJobIds) ); + for (Integer jobId:setJobIds ) { + //鐭俊閫氱煡 SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz, emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,jobId, SmsConstants.platformJobContent.platformJobStopJob,null,null ); + //鍏紬鍙烽�氱煡鍙告満 浠诲姟鍙栨秷 + PlatformJob job = platformJobMapper.selectById(jobId); + if(Objects.nonNull(job)){ + + //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉 + SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() + .eq(SystemUser::getDeleted, Constants.ZERO) + .eq(SystemUser::getType, Constants.ZERO) + .eq(SystemUser::getMobile,job.getDrivierPhone()) + .last(" limit 1 ")); + if(Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())){ + WxPlatNotice wxPlatNotice = new WxPlatNotice(); + wxPlatNotice.sendWmsCancelTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper,job, + WxPlatConstants.platformJobContent.platformJobCancel, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), + Arrays.asList(driver.getOpenid().split(",")) + ); + } + } + } } } @@ -612,6 +675,25 @@ emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,jobId, SmsConstants.platformJobContent.platformJobStopJob,null,null ); + + //鍏紬鍙烽�氱煡鍙告満 浠诲姟鍙栨秷 + PlatformJob job = platformJobMapper.selectById(jobId); + if(Objects.nonNull(job)){ //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉 + SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() + .eq(SystemUser::getDeleted, Constants.ZERO) + .eq(SystemUser::getType, Constants.ZERO) + .eq(SystemUser::getMobile,job.getDrivierPhone()) + .last(" limit 1 ")); + if(Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())){ + WxPlatNotice wxPlatNotice = new WxPlatNotice(); + wxPlatNotice.sendWmsCancelTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper,job, + WxPlatConstants.platformJobContent.platformJobCancel, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), + Arrays.asList(driver.getOpenid().split(",")) + ); + } + } } } } @@ -640,14 +722,14 @@ .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO)); if(details!=null && details.size()>0){ for(PlatformWmsDetail d :details){ - num.add(Constants.formatBigdecimal(d.getIoQty())); + num = num.add(Constants.formatBigdecimal(d.getIoQty())); } - platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() - .set(PlatformJob::getTotalNum,num) - .eq(PlatformJob::getOrigin, Constants.ZERO) - .eq(PlatformJob::getId, jobId)); - } + } + platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() + .set(PlatformJob::getTotalNum,num) + .eq(PlatformJob::getOrigin, Constants.ONE) + .eq(PlatformJob::getId, jobId)); } } /** -- Gitblit v1.9.3