From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 14 十月 2025 16:34:22 +0800 Subject: [PATCH] 改bug --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java | 288 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 244 insertions(+), 44 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 a08a5ab..03f044d 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,23 +11,31 @@ 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.wms.model.response.WmsCarInParkDataResponse; +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; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +56,8 @@ @Autowired private MemberMapper memberMapper; @Autowired + private SystemUserMapper systemUserMapper; + @Autowired private PlatformJobMapper platformJobMapper; @Autowired private PlatformWmsDetailMapper platformWmsDetailMapper; @@ -63,6 +73,10 @@ private EmayService emayService; @Autowired private RetentionMapper retentionMapper; + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; + @Autowired + private PlatformLogMapper platformLogMapper; /** * 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊 * @param job 鍙傛暟 @@ -71,7 +85,6 @@ @Override public WmsBaseResponse<WmsBaseDataResponse> orderPlatformBind(PlatformJob job) { if(StringUtils.isBlank(job.getBillCode()) || StringUtils.isBlank(job.getPlatformWmsCode())){ - return null; } int type = 0; @@ -86,60 +99,88 @@ }else{ return null; } - WmsOrderPlatformRequest param = new WmsOrderPlatformRequest(); - param.setData(new ArrayList<>()); - List<PlatformWmsDetail> platformWmsDetailList = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda() .eq(PlatformWmsDetail::getJobId,job.getId()) .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO) ); + String url = type == 0?systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_INBOUND_PLATFROM_URL).getCode(): + systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_OUTBOUND_PLATFROM_URL).getCode();; + String name = type ==0?"銆怶MS銆戝叆搴撲綔涓氬崟鍒嗛厤鏈堝彴":"銆怶MS銆戝嚭搴撲綔涓氱殑鍒嗛厤鏈堝彴"; +// int sendSuccess = 0; +// int sendError = 0; + List<String> errorMassge = new ArrayList<>(); + List<String> successMassge = new ArrayList<>(); + WmsBaseResponse<WmsBaseDataResponse> response = null; if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformWmsDetailList)){ for (PlatformWmsDetail platformWmsDetail:platformWmsDetailList) { if(StringUtils.isNotBlank(platformWmsDetail.getIocode())){ + //鍙鐞嗘湭鍙戦�佺殑璇锋眰 + WmsOrderPlatformRequest param = new WmsOrderPlatformRequest(); + param.setData(new ArrayList<>()); WmsOrderPlatformInfoRequest o = new WmsOrderPlatformInfoRequest(); o.setCarrierBillCode(platformWmsDetail.getIocode()); o.setRailwayNo(job.getPlatformWmsCode()); param.getData().add(o); + response = sendHttpRequest(url,name,JSONObject.toJSONString(param),new TypeReference< WmsBaseResponse<WmsBaseDataResponse>>(){}); + if(response!=null && response.getData() !=null + && response.getData().size()>0 && StringUtils.equals(response.getData().get(0).getSuccess(),WmsBaseResponse.CODE_SUCCESS)){ + //濡傛灉鎴愬姛 + successMassge.add(o.getRailwayNo()); + }else{ + //濡傛灉澶辫触 + errorMassge.add(o.getRailwayNo()); + } } } } + if(successMassge.size()>0 || errorMassge.size()>0){ + PlatformJob update = new PlatformJob(); + update.setId(job.getId()); + update.setWmsSendDate(new Date()); + if(Objects.isNull(job.getWmsSendNum())){ + job.setWmsSendNum(1); + }else{ + update.setWmsSendNum(job.getWmsSendNum() + 1); + } + update.setWmsSendPlatformCode(job.getPlatformWmsCode()); + if(successMassge.size()>0 && errorMassge.size() ==0){ + //濡傛灉鎴愬姛 + update.setWmsSendStatus(Constants.ONE); + }else if(successMassge.size()==0 && errorMassge.size() >1){ + //濡傛灉澶辫触 + update.setWmsSendStatus(Constants.TWO); + } + Map<String ,Object> info= new HashMap<>(); + info.put("success", successMassge); + info.put("error", errorMassge); + update.setWmsSendInfo(JSONObject.toJSONString(info)); + platformJobMapper.updateById(update); + } - String url = type == 0?systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_INBOUND_PLATFROM_URL).getCode(): - systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_OUTBOUND_PLATFROM_URL).getCode();; - String name = type ==0?"銆怶MS銆戝叆搴撲綔涓氬崟鍒嗛厤鏈堝彴":"銆怶MS銆戝嚭搴撲綔涓氱殑鍒嗛厤鏈堝彴"; - WmsBaseResponse<WmsBaseDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(param),new TypeReference< WmsBaseResponse<WmsBaseDataResponse>>(){}); - PlatformJob update = new PlatformJob(); - update.setId(job.getId()); - update.setWmsSendDate(new Date()); - if(Objects.isNull(job.getWmsSendNum())){ - job.setWmsSendNum(1); - }else{ - update.setWmsSendNum(job.getWmsSendNum() + 1); - } - update.setWmsSendPlatformCode(job.getPlatformWmsCode()); - if(response!=null && response.getData() !=null - && response.getData().size()>0 && StringUtils.equals(response.getData().get(0).getSuccess(),WmsBaseResponse.CODE_SUCCESS)){ - //濡傛灉鎴愬姛 - update.setWmsSendStatus(Constants.ONE); - update.setWmsSendInfo("閫氱煡WMS浣滀笟鍗曞垎閰嶆湀鍙版垚鍔�"); - }else{ - //濡傛灉澶辫触 - update.setWmsSendStatus(Constants.TWO); - update.setWmsSendInfo("閫氱煡WMS浣滀笟鍗曞垎閰嶆湀鍙板け璐�:"+(response!=null?JSONObject.toJSONString(response):"鎺ュ彛璋冪敤澶辫触")); - } - platformJobMapper.updateById(update); return response; } + + private boolean notSendedCode(String iocode, List<String> doneIoCode) { + if(doneIoCode!=null){ + for(String s : doneIoCode){ + if(StringUtils.equals(iocode,s)){ + return false; + } + } + } + return true; + } + /** * 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊 * @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 @@ -205,6 +246,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); @@ -214,9 +256,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)); } } /** @@ -232,6 +274,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()){ @@ -254,6 +297,7 @@ job.setIsdeleted(Constants.ZERO); job.setIsNew(Constants.ONE); job.setStatus(Constants.ONE); + job.setContractNum(param.getContractNum()); job.setCarryBillCode(param.getCarrierBillCode()); job.setIocode(param.getIoCode()); job.setCarrierName(param.getCarrierName()); @@ -261,11 +305,13 @@ job.setPlateNumber(param.getPlateNumber()); job.setType(Constants.ZERO); job.setIoCreatedate(param.getCreateDate()); +// job.setOrigin(Constants.ONE); job.setJobId(model.getId()); job.setDriverPhone(param.getDriverPhone()); platformWmsJobMapper.insert(job); jobList.add(model); } + jobIdList.add(job.getJobId()); if(param.getDetails()!=null && param.getDetails().size()>0){ for(WmsInboundDetailRequest d :param.getDetails()){ PlatformWmsDetail entity = new PlatformWmsDetail(); @@ -273,10 +319,11 @@ entity.setIsdeleted(Constants.ZERO); entity.setIocode(d.getIoCode()); entity.setJobId(job.getJobId()); + entity.setContractNum(param.getContractNum()); entity.setWmsJobId(job.getId()); - entity.setIoQty(d.getIoQty()); entity.setStatus(Constants.ZERO); - entity.setRate(d.getRate()); + entity.setIoQty(Constants.formatBigdecimal(d.getIoQty()).multiply(Constants.formatBigdecimal( d.getRate()))); + entity.setRate(Objects.nonNull(d.getRate())?Constants.formatBigdecimal(d.getRate()).doubleValue()+"":"1"); entity.setMaterialName(d.getMaterialName()); entity.setInRepertotyCode(d.getInRepertotyCode()); iocodeList.add(d.getIoCode()); @@ -296,6 +343,7 @@ if(details.size()>0){ platformWmsDetailMapper.insert(details); } + list.setJobIdList(jobIdList); if(jobList.size()>0){ startEndNoticeToDriver(jobList); } @@ -309,13 +357,29 @@ 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, + Arrays.asList(driver.getOpenid().split(",")) + ); + } + } } } } @@ -331,6 +395,7 @@ job.setCarCodeFront(param.getPlateNumber()); job.setDrivierPhone(param.getDriverPhone()); job.setDriverName(param.getDriverName()); + job.setOrigin(Constants.ONE); //澶勭悊浣滀笟鐨勮溅杈嗐�佸徃鏈恒�佹湀鍙扮粍鍏宠仈鍏崇郴锛屽嵏璐� dealCarPlatformAndDriverInfo(job,0); // platformJobMapper.insert(job); @@ -340,8 +405,17 @@ 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.OVER_NUMBER.getKey()+","+ + Constants.PlatformJobStatus.EXCEPTION.getKey()+","+ + Constants.PlatformJobStatus.WORKING.getKey()+")) as jobNum") .lambda() .eq(Cars::getIsdeleted,Constants.ZERO) .eq(Cars::getType,Constants.ONE) @@ -350,8 +424,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()); @@ -369,6 +445,7 @@ } } PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda() + .eq(PlatformGroup::getIsVirtual,Constants.ZERO)//闈炶櫄鎷熸湀鍙� .eq(PlatformGroup::getIsdeleted,Constants.ZERO) .eq(PlatformGroup::getType,type==0?Constants.ZERO:Constants.ONE) .last("limit 1") );//鏌ヨ鍗歌揣鏈堝彴缁勭紪鐮� @@ -386,6 +463,22 @@ job.setCompanyNamePath(driver.getCompanyNamePath()); } platformJobMapper.insert(job); + if(car !=null){ + //瀛樺偍鎿嶄綔鏃ュ織 + PlatformLog platformLog = new PlatformLog(); + platformLog.setIsdeleted(Constants.ZERO); + platformLog.setCreateDate(new Date()); + platformLog.setJobId(job.getId()); + platformLog.setObjType(Constants.PlatformJobLogType.SIGN.getKey()); + platformLog.setContent("鑷姩绛惧埌"); + platformLog.setParam4(job.getCarCodeFront()); + platformLog.setAfterContent(JSONObject.toJSONString(job)); + platformLog.setObjId(job.getId().toString()); + platformLog.setParam3("0"); + platformLogMapper.insert(platformLog); + } + + } private PlatformJob dealJobBizOutbound(WmsOutboundNoticeRequest param) { @@ -399,6 +492,7 @@ job.setCarCodeFront(param.getPlateNumber()); job.setDrivierPhone(param.getDriverPhone()); job.setDriverName(param.getDriverName()); + job.setOrigin(Constants.ONE); //澶勭悊浣滀笟鐨勮溅杈嗐�佸徃鏈恒�佹湀鍙扮粍鍏宠仈鍏崇郴锛岃璐� dealCarPlatformAndDriverInfo(job,1); return job; @@ -416,6 +510,7 @@ return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖"); } List<PlatformJob> jobList = new ArrayList<>(); + List<Integer> jobIdList = new ArrayList<>(); List<PlatformWmsDetail> details = new ArrayList<>(); List<String> iocodeList = new ArrayList<>(); for(WmsOutboundNoticeRequest param : list.getData()){ @@ -451,8 +546,8 @@ job.setDriverPhone(param.getDriverPhone()); job.setDriverName(param.getDriverName()); platformWmsJobMapper.insert(job); - jobList.add(model); } + jobIdList.add(job.getJobId()); if(param.getDetails()!=null && param.getDetails().size()>0){ for(WmsOutboundDetailRequest d :param.getDetails()){ PlatformWmsDetail entity = new PlatformWmsDetail(); @@ -461,10 +556,14 @@ entity.setIocode(d.getIoCode()); entity.setJobId(job.getJobId()); entity.setWmsJobId(job.getId()); - entity.setIoQty(d.getIoQty()); + entity.setContractNum(param.getContractNum()); + entity.setRepertotyAddress(param.getRepertotyAddress()); entity.setWmsJobId(job.getId()); entity.setStatus(Constants.ZERO); - entity.setRate(d.getRate()); + entity.setIoQty(Constants.formatBigdecimal(d.getIoQty()).multiply(Constants.formatBigdecimal( d.getRate()))); + entity.setRate(Objects.nonNull(d.getRate())?Constants.formatBigdecimal(d.getRate()).doubleValue()+"":"1"); +// entity.setIoQty(d.getIoQty()); +// entity.setRate(d.getRate()); entity.setMaterialName(d.getMaterialName()); iocodeList.add(d.getIoCode()); details.add(entity); @@ -478,11 +577,13 @@ .in(PlatformWmsDetail::getIocode,iocodeList) ); } + jobIdList.add(job.getId()); } } if(details.size()>0){ platformWmsDetailMapper.insert(details); } + list.setJobIdList(jobIdList); if(jobList.size()>0){ startEndNoticeToDriver(jobList); } @@ -537,12 +638,34 @@ .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, + Arrays.asList(driver.getOpenid().split(",")) + ); + } + } + } } } @@ -603,6 +726,24 @@ 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, + Arrays.asList(driver.getOpenid().split(",")) + ); + } + } } } } @@ -613,6 +754,32 @@ return returnFailReuslt("涓氬姟澶勭悊寮傚父"); } return returnSuccessReuslt(null); + } + /** + * 澶勭悊浣滀笟琛屾暟鎹殑杩愯緭鎬婚噺淇℃伅 + * @param jobList 鍙傛暟 + * @return + */ + @Override + public void computjobTotalNum(List<Integer> jobList) { + if(jobList==null || jobList.size()==0){ + return; + } + for(Integer jobId : jobList){ + BigDecimal num = new BigDecimal(0); + List<PlatformWmsDetail> details = platformWmsDetailMapper.selectList( new QueryWrapper<PlatformWmsDetail>().lambda() + .eq(PlatformWmsDetail::getJobId,jobId) + .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO)); + if(details!=null && details.size()>0){ + for(PlatformWmsDetail d :details){ + num = num.add(Constants.formatBigdecimal(d.getIoQty())); + } + } + platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() + .set(PlatformJob::getTotalNum,num) + .eq(PlatformJob::getOrigin, Constants.ONE) + .eq(PlatformJob::getId, jobId)); + } } /** * 浣滀笟瀹屾垚閫氱煡浠诲姟涓氬姟澶勭悊 @@ -679,4 +846,37 @@ response.getData().add(rData); return response; } + + + @Override + public WmsBaseResponse<List<WmsCarInParkDataResponse>> getCarInPark(WmsBaseRequest<String> param) { + try { + WmsBaseResponse<List<WmsCarInParkDataResponse>> wmsBaseResponse = new WmsBaseResponse(); + List<Retention> retentionList = retentionMapper.selectList(new QueryWrapper<Retention>().lambda() + .eq(Retention::getIsdeleted,Constants.ZERO) + .in(Retention::getCarNo,param.getData())); + List list = new ArrayList<>(); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(retentionList)){ + for (String carNo:param.getData()) { + WmsCarInParkDataResponse wmsCarInParkDataResponse = new WmsCarInParkDataResponse(); + wmsCarInParkDataResponse.setCarNo(carNo); + List<Retention> retentions = retentionList.stream().filter(i->i.getCarNo().equals(carNo)).collect(Collectors.toList()); + wmsCarInParkDataResponse.setInPark(retentions.size()>Constants.ZERO?true:false); + if(wmsCarInParkDataResponse.getInPark()){ + wmsCarInParkDataResponse.setEventDate(retentions.get(Constants.ZERO).getEventDate()); + } + list.add(wmsCarInParkDataResponse); + } + + } + wmsBaseResponse.setSuccess(true); + wmsBaseResponse.setMessage("鑾峰彇鎴愬姛"); + wmsBaseResponse.setData(list); + return wmsBaseResponse; + }catch (Exception e){ + log.error("銆怶MS銆戝嚭搴撳彇娑堥�氱煡浠诲姟涓氬姟澶勭悊===============涓氬姟澶勭悊寮傚父"+e.getMessage()); + return returnFailReuslt("涓氬姟澶勭悊寮傚父"); + } + } + } -- Gitblit v1.9.3