|
@@ -384,54 +384,8 @@ public class RecycleAssignLogic {
|
|
|
.lt(ItfTblRecycleAssignBatchDownloadRec::getSynTimes, 10)
|
|
|
.list());
|
|
|
}
|
|
|
+
|
|
|
|
|
|
- /**
|
|
|
- * 批量同步反馈明细
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public List<GreeResponseHelper> updateFeedback() throws Exception {
|
|
|
- List<GreeResponseHelper> responseList = new ArrayList<>();
|
|
|
- // 任务记录表中提取待获取反馈明细的数据
|
|
|
- List<ItfTblRecycleAssignBatchDownloadRec> recList = recycleAssignBatchDownloadRecService.lambdaQuery()
|
|
|
- .in(ItfTblRecycleAssignBatchDownloadRec::getFkmxSynStatus, 0,99)
|
|
|
- .le(ItfTblRecycleAssignBatchDownloadRec::getFkmxSynTimes,10).list();
|
|
|
- if(CollectionUtils.isNotEmpty(recList)) {
|
|
|
- // 提取回收工单主表、过程反馈、明细表中数据 组装下载请求时相同的报文信息
|
|
|
- List<RecycleAssignDownloadBean> unSynList = copyEntities2Bean(recList);
|
|
|
- // 与总数进行确认 成功时同步反馈明细表数据,下载记录表置标识为 syn_status=44 代表已同步反馈明细数据
|
|
|
- // 失败时 下载记录表、反馈明细表、新产品明细表置syn_status=99
|
|
|
- // 按单获取反馈明细数据
|
|
|
- for (RecycleAssignDownloadBean recycleAssignDownloadBean : unSynList) {
|
|
|
- responseList.add(assignDetail(recycleAssignDownloadBean));
|
|
|
- }
|
|
|
- }
|
|
|
- return responseList;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * @param bean
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @Transactional
|
|
|
- public GreeResponseHelper updateExtendReq(RecycleAssignDownloadBean bean) throws Exception {
|
|
|
- final String apiPath = Constant.GreeApiPath.RECYCLE_ASSIGN;
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("type", "updateExtend");
|
|
|
- map.put("pgguid", bean.getPgguid());
|
|
|
- map.put("taskNo", bean.getTaskNo());
|
|
|
- map.put("batchNo", bean.getBatchNo());
|
|
|
- GreeResponseHelper response = greeLogic.greePost(apiPath, map, 1);
|
|
|
- if( 200 == response.getStatus()) {
|
|
|
- // 更新记录表,主表及产品明细表的状态为greeStatSynStatus=1
|
|
|
- updateGreeStatSynStatus(response);
|
|
|
- }else {
|
|
|
- // 更新记录表synStatus=greeStatSynStatus=99,主表greeStatSynStatus=1,产品明细表的状态为greeStatSynStatus=99
|
|
|
- errorUpdateGreeStatSynStatus(bean, response);
|
|
|
- }
|
|
|
- return response;
|
|
|
- }
|
|
|
|
|
|
private void errorUpdateGreeStatSynStatus(RecycleAssignDownloadBean bean, GreeResponseHelper response) {
|
|
|
// 记录表
|
|
@@ -510,97 +464,8 @@ public class RecycleAssignLogic {
|
|
|
}*/
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 批量上传更新过的数据pgguid
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public List<GreeResponseHelper> updateExtend() throws Exception {
|
|
|
- List<GreeResponseHelper> responseList = new ArrayList<>();
|
|
|
- // 提取已成功下载采集数据且未与总部确认的回收工单数据
|
|
|
- List<RecycleAssignDownloadBean> unSynList = queryUnSynList();
|
|
|
- if(CollectionUtils.isNotEmpty(unSynList)) {
|
|
|
- // 按单与总部同步确认并修改记录表
|
|
|
- for (RecycleAssignDownloadBean recycleAssignDownloadBean : unSynList) {
|
|
|
- responseList.add(updateExtendReq(recycleAssignDownloadBean));
|
|
|
- }
|
|
|
- }
|
|
|
- return responseList;
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
- @Transactional
|
|
|
- public GreeResponseHelper assignDetail(RecycleAssignBean bean) throws Exception {
|
|
|
- final String apiPath = Constant.GreeApiPath.RECYCLE_ASSIGN_DETAIL;
|
|
|
- Map<String, Object> param = mapper.readValue(mapper.writeValueAsString(bean), Map.class);
|
|
|
- // 获取反馈明细数据
|
|
|
- GreeResponseHelper response = greeLogic.greePost(apiPath, param, 1);
|
|
|
- ItfTblRecycleAssignBatchDownloadRec rec = recycleAssignBatchDownloadRecService.lambdaQuery()
|
|
|
- .eq(ItfTblRecycleAssignBatchDownloadRec::getDownloadTaskNo, bean.getTaskNo()).one();
|
|
|
- if( 200 == response.getStatus()) {
|
|
|
- RecycleAssignDetailDownloadBean responseBean = mapper.readValue((String)response.getData(), RecycleAssignDetailDownloadBean.class);
|
|
|
- // 提取获取回收工单时已下载的反馈明细数据
|
|
|
- List<ItfTblRecycleAssignFkmxDownload> fkmxList= recycleAssignFkmxDownloadService.lambdaQuery()
|
|
|
- .eq(ItfTblRecycleAssignFkmxDownload::getDownloadTaskNo, bean.getTaskNo())
|
|
|
- .eq(ItfTblRecycleAssignFkmxDownload::getPgguid, bean.getPgguid()).list();
|
|
|
- // 反馈明细表处理
|
|
|
- if(null != responseBean.getFkmx() && !responseBean.getFkmx().isEmpty()) {
|
|
|
- // 与总部返回的反馈明细表数据比较 不存在增加,存在不处理
|
|
|
- for(RecycleAssignFkmxDownloadBean fkmxBean: responseBean.getFkmx()) {
|
|
|
- if(!fkmxList.stream().filter(o->o.getFkid().equals(fkmxBean.getFkid())).findAny().isPresent()) {
|
|
|
- ItfTblRecycleAssignFkmxDownload newFkmx = mapper.readValue(mapper.writeValueAsString(fkmxBean), ItfTblRecycleAssignFkmxDownload.class);
|
|
|
- newFkmx.setDownloadBatchNo(bean.getBatchNo());
|
|
|
- newFkmx.setDownloadTaskNo(bean.getTaskNo());
|
|
|
- fkmxList.add(newFkmx);
|
|
|
- }
|
|
|
- }
|
|
|
- recycleAssignFkmxDownloadService.saveOrUpdateBatch(fkmxList);
|
|
|
- }
|
|
|
- //更新记录表已同步反馈明细状态为已同步
|
|
|
- rec.setSynStatus(Constant.SynStatus.SYN_FEEDBACK.getCode());//增加一个中间状态,代表反馈明细已更新
|
|
|
- rec.setFkmxSynStatus(Constant.SynStatus.SYN.getCode());// 同步反馈明细数据成功
|
|
|
- rec.setSynErrMsg("");
|
|
|
- rec.setSynReqTime(new Date());
|
|
|
- rec.setLastModifiedDate(new Date());
|
|
|
- recycleAssignBatchDownloadRecService.saveOrUpdate(rec);
|
|
|
- }else {
|
|
|
- // 记录表同步失败
|
|
|
- // rec.setSynStatus(Constant.SynStatus.FAIL.getCode());
|
|
|
- rec.setFkmxSynStatus(Constant.SynStatus.FAIL.getCode());
|
|
|
- rec.setFkmxSynTimes(rec.getFkmxSynTimes()+1);
|
|
|
- rec.setSynErrMsg(response.getMsg());
|
|
|
- rec.setSynReqTime(new Date());
|
|
|
- rec.setLastModifiedDate(new Date());
|
|
|
- recycleAssignBatchDownloadRecService.saveOrUpdate(rec);
|
|
|
|
|
|
-/*
|
|
|
- List<ItfTblRecycleAssignFkmxDownload> fkmxList = recycleAssignFkmxDownloadService.lambdaQuery()
|
|
|
- .eq(ItfTblRecycleAssignFkmxDownload::getDownloadTaskNo, bean.getTaskNo()).list();
|
|
|
- List<ItfTblRecycleAssignMxDownload> mxList = recycleAssignMxDownloadService.lambdaQuery()
|
|
|
- .eq(ItfTblRecycleAssignMxDownload::getDownloadTaskNo, bean.getTaskNo()).list();
|
|
|
- // 反馈明细表数据做同样处理,同步失败
|
|
|
- if(null != fkmxList && !fkmxList.isEmpty()) {
|
|
|
- fkmxList.stream().forEach(o->{
|
|
|
- o.setSynStatus(rec.getSynStatus());
|
|
|
- o.setSynErrMsg(rec.getSynErrMsg());
|
|
|
- o.setLastModifiedDate(new Date());
|
|
|
- o.setSynReqTime(new Date());
|
|
|
- });
|
|
|
- recycleAssignFkmxDownloadService.saveOrUpdateBatch(fkmxList);
|
|
|
- }
|
|
|
- // 产品明细表数据做同样处理,同步失败
|
|
|
- if(null != mxList && !mxList.isEmpty()) {
|
|
|
- mxList.stream().forEach(o->{
|
|
|
- o.setSynStatus(rec.getSynStatus());
|
|
|
- o.setSynErrMsg(rec.getSynErrMsg());
|
|
|
- o.setLastModifiedDate(new Date());
|
|
|
- o.setSynReqTime(new Date());
|
|
|
- });
|
|
|
- recycleAssignMxDownloadService.saveOrUpdateBatch(mxList);
|
|
|
- }*/
|
|
|
- }
|
|
|
- return response;
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
public void processBusiness() {
|
|
|
//查找未同步到广佛系统且已经和总部同步的数据
|