|
|
@@ -7,9 +7,9 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.zfire.jiasm.syncdata.base.BaseService;
|
|
|
import com.zfire.jiasm.syncdata.constant.DictTypeEnum;
|
|
|
+import com.zfire.jiasm.syncdata.constant.DispatchStatusEnum;
|
|
|
import com.zfire.jiasm.syncdata.constant.ESInstallEnum;
|
|
|
import com.zfire.jiasm.syncdata.constant.OrderStatusEnum;
|
|
|
-import com.zfire.jiasm.syncdata.constant.OrderTypeEnum;
|
|
|
import com.zfire.jiasm.syncdata.dao.mapper.AzGDFYQDDownloadMapper;
|
|
|
import com.zfire.jiasm.syncdata.dao.mapper.AzGDFkMxDownloadMapper;
|
|
|
import com.zfire.jiasm.syncdata.dao.mapper.AzGDLcLsDownloadMapper;
|
|
|
@@ -160,50 +160,109 @@ public class AnzhuangGongDanBusiness {
|
|
|
// 按单处理 这里是直接生成新单到本地表,并没判断是否已存在,
|
|
|
// 按任务号download_task_no,按单来处理
|
|
|
for (ItfTblAzAssignLcLsDownload item: lcls) {
|
|
|
- if (!item.getSynReqId().equals(194L)){
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
try{
|
|
|
if (orderBaselist.contains(item.getPgguid())){
|
|
|
- // 修改
|
|
|
+ if (1==1){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
+ // 修改
|
|
|
// 提取本地订单
|
|
|
OrderBase old = orderBaseService.lambdaQuery()
|
|
|
- .eq(OrderBase::getPgguid,item.getPgguid())
|
|
|
- .one();
|
|
|
- if (old.getOrderType().equals(OrderTypeEnum.ORDER_TYPE_INSTALL.getCode())){
|
|
|
- // 本地订单已关闭 且总部的最后修改时间晚于本地数据修改时间 不可修改
|
|
|
- if (old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_A1309.getCode()) &&
|
|
|
- item.getLastModifiedDate().compareTo(old.getUpdateTime())<0){
|
|
|
- ItfTblAzAssignLcLsDownload uplcls = new ItfTblAzAssignLcLsDownload();
|
|
|
- uplcls.setSynReqId(item.getSynReqId());
|
|
|
- uplcls.setSynStatus(99);
|
|
|
- uplcls.setSynTime(new Date());
|
|
|
- uplcls.setSynErrMsg("本地工单已关闭或作废忽略更新");
|
|
|
- itfTblAzAssignLcLsDownloadService.updateById(uplcls);
|
|
|
- continue;
|
|
|
- }
|
|
|
- // 1.安装工单主表基础信息更新
|
|
|
- if (item.getLastModifiedDate().compareTo(old.getUpdateTime())>0){
|
|
|
- // 获取安装工单主表
|
|
|
- OrderBase orderBase = getOrderBase(item, brand);
|
|
|
- OrderBase upInfo = new OrderBase();
|
|
|
- BeanUtils.copyProperties(orderBase,upInfo);
|
|
|
+ .eq(OrderBase::getPgguid, item.getPgguid()).one();
|
|
|
+
|
|
|
+ // 获取安装工单主表
|
|
|
+ OrderBase newLCLS = getOrderBase(item, brand);
|
|
|
+ // 这里一定不能少
|
|
|
+ newLCLS.setId(old.getId());
|
|
|
+
|
|
|
+ // 获取工单主表要同步的数据
|
|
|
+ OrderBase upInfo = getOrderBase(old, brand, item, newLCLS);
|
|
|
+
|
|
|
+ // 获取工单师傅信息来自于工单主表数据只有修改的情况
|
|
|
+ OrderWorker own =getOrderWorkerUpdate(old.getId(), upInfo, newLCLS);
|
|
|
+
|
|
|
+ // 获取产品明细要同步的数据 -只存在修改,减少与增加的情况不存在
|
|
|
+ List<ItfTblAzAssignMxDownload> mxsynreqids = new ArrayList<>();
|
|
|
+ List<OrderProduct> orderProductsUpdate = getOrderProductsUpdate(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, old, newLCLS, item.getDownloadTaskNo(),mxsynreqids);
|
|
|
+
|
|
|
+ // 提取现有同步来的数据
|
|
|
+ List<ItfTblAzAssignFkmxDownload> synreqids = new ArrayList<>();
|
|
|
+
|
|
|
+ // 获取操作明细同步数据,即反馈明细
|
|
|
+ List<OrderInstallOperatingLog> addoiolList = getOrderInstallOperatingLogsadd(brand, item, old, newLCLS, synreqids);
|
|
|
|
|
|
- upInfo.setId(old.getId());
|
|
|
- upInfo.setOutUpdateSynReqId(item.getSynReqId());
|
|
|
- upInfo.setOutUpdateSynReqTime(new Date());
|
|
|
- upInfo.setUpdateTime(new Date());
|
|
|
+ // 获取评价同步数据
|
|
|
|
|
|
- orderBaseService.updateById(upInfo);
|
|
|
+ // 提取已同步的
|
|
|
+ List<OrderAppraise> oas = orderAppraiseService.lambdaQuery()
|
|
|
+ .select(OrderAppraise::getPid,
|
|
|
+ OrderAppraise::getPgguid)
|
|
|
+ .eq(OrderAppraise::getOrderBaseId, old.getId()).list();
|
|
|
+ List<String> oaslist = oas.stream().map(OrderAppraise::getPid).collect(Collectors.toList());
|
|
|
|
|
|
+ // 提取本次获取的
|
|
|
+ List<OrderAppraise> oanew = new ArrayList<>();
|
|
|
+ List<Long> getpjSynReqId = new ArrayList<>();
|
|
|
+ getOrderAppraise(newLCLS, sysDictRefDLMap, oanew, brand, item, getpjSynReqId);
|
|
|
+
|
|
|
+ // 移除已同步过的
|
|
|
+ List<OrderAppraise> addoalist = new ArrayList<>();
|
|
|
+ for (OrderAppraise oa:oanew){
|
|
|
+ if (!oaslist.contains(oa.getPid())){
|
|
|
+ addoalist.add(oa);
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // 同步修改订单基础表
|
|
|
+ if (upInfo !=null){
|
|
|
+ orderBaseService.updateById(upInfo);
|
|
|
+ // lc_ls同步状态改成1 同步成功
|
|
|
+ synItfTblAzAssignLcLsDownload(item.getSynReqId(),1,"更新完成");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 同步新增或修改师傅信息 own 从工单主表过来,无load表修改
|
|
|
+ if (own != null){
|
|
|
+ orderWorkerService.saveOrUpdate(own);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 同步修改产品明细表
|
|
|
+ if (orderProductsUpdate.size()>0){
|
|
|
+ orderProductService.updateBatchById(orderProductsUpdate);
|
|
|
+ orderProductsUpdate.clear();
|
|
|
+ }
|
|
|
+ if (mxsynreqids.size()>0){
|
|
|
+ itfTblAzAssignMxDownloadService.updateBatchById(mxsynreqids);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // 同步新增操作日志表
|
|
|
+ if (addoiolList.size()>0){
|
|
|
+ orderInstallOperatingLogService.saveBatch(addoiolList);
|
|
|
+ addoiolList.clear();
|
|
|
+ }
|
|
|
+ if (synreqids.size()>0){
|
|
|
+ itfTblAzAssignFkmxDownloadService.saveBatch(synreqids);
|
|
|
+ }
|
|
|
|
|
|
+ // 同步评价新增的数据
|
|
|
+ if (addoalist.size()>0){
|
|
|
+ orderAppraiseService.saveBatch(addoalist);
|
|
|
+ }
|
|
|
+ if (getpjSynReqId.size()>0){
|
|
|
+ upItfTblAzAssignSatisfactionDownload(getpjSynReqId);
|
|
|
}
|
|
|
+
|
|
|
} else {
|
|
|
// 新增
|
|
|
orderAdd(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, brand, item);
|
|
|
+ orderBaselist.add(item.getPgguid());
|
|
|
}
|
|
|
} catch (Exception ex) {
|
|
|
ex.printStackTrace();
|
|
|
@@ -214,28 +273,522 @@ public class AnzhuangGongDanBusiness {
|
|
|
log.info("安装工单落本地表完成: {}",sdf.format(new Date()));
|
|
|
}
|
|
|
|
|
|
- private void orderAdd(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap, Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item) {
|
|
|
+ private void upItfTblAzAssignSatisfactionDownload(List<Long> getpjSynReqId) {
|
|
|
+ List<ItfTblAzAssignSatisfactionDownload> sas =new ArrayList<>();
|
|
|
+ for (int i = 0; i< getpjSynReqId.size(); i++){
|
|
|
+ ItfTblAzAssignSatisfactionDownload its = new ItfTblAzAssignSatisfactionDownload();
|
|
|
+ its.setSynReqId(getpjSynReqId.get(i));
|
|
|
+ its.setSynStatus(1);
|
|
|
+ its.setSynTime(new Date());
|
|
|
+ sas.add(its);
|
|
|
+ }
|
|
|
+ itfTblAzAssignSatisfactionDownloadService.saveBatch(sas);
|
|
|
+ }
|
|
|
+
|
|
|
+ @NotNull
|
|
|
+ private List<OrderInstallOperatingLog> getOrderInstallOperatingLogsadd(Brand brand, ItfTblAzAssignLcLsDownload item, OrderBase old,
|
|
|
+ OrderBase newLCLS, List<ItfTblAzAssignFkmxDownload> synreqids) {
|
|
|
+ // 提取已同步的
|
|
|
+ List<OrderInstallOperatingLog> oiols = orderInstallOperatingLogService.lambdaQuery()
|
|
|
+ .select(OrderInstallOperatingLog::getPgguid,
|
|
|
+ OrderInstallOperatingLog::getFkid)
|
|
|
+ .eq(OrderInstallOperatingLog::getOrderBaseId, old.getId()).list();
|
|
|
+
|
|
|
+ List<String> oiolslist = oiols.stream().map(OrderInstallOperatingLog::getFkid).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<ItfTblAzAssignFkmxDownload> fkmxs = itfTblAzAssignFkmxDownloadService.lambdaQuery()
|
|
|
+ .eq(ItfTblAzAssignFkmxDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
|
+ .eq(ItfTblAzAssignFkmxDownload::getSynStatus,0)
|
|
|
+ .orderByAsc(ItfTblAzAssignFkmxDownload::getCreatedDate)
|
|
|
+ .list();
|
|
|
+
|
|
|
+ List<OrderInstallOperatingLog> oiolList = getOrderInstallOperatingLogs(fkmxs, newLCLS, brand, item);
|
|
|
+ // 移除已同步过的
|
|
|
+ List<OrderInstallOperatingLog> addoiolList = new ArrayList<>();
|
|
|
+ for (OrderInstallOperatingLog ol:oiolList){
|
|
|
+ if (!oiolslist.contains(ol.getFkid())){
|
|
|
+ addoiolList.add(ol);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (ItfTblAzAssignFkmxDownload i : fkmxs){
|
|
|
+ ItfTblAzAssignFkmxDownload n = new ItfTblAzAssignFkmxDownload();
|
|
|
+ n.setSynReqId(i.getSynReqId());
|
|
|
+ n.setSynStatus(1);
|
|
|
+ n.setSynTime(new Date());
|
|
|
+ synreqids.add(n);
|
|
|
+ }
|
|
|
+
|
|
|
+ return addoiolList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @NotNull
|
|
|
+ private OrderWorker getOrderWorkerUpdate(String id, OrderBase upInfo, OrderBase newLCLS){
|
|
|
+ OrderWorker oow = orderWorkerService.lambdaQuery()
|
|
|
+ .eq(OrderWorker::getOrderBaseId,id)
|
|
|
+ .eq(OrderWorker::getOutWorkerSource,Boolean.FALSE).one();
|
|
|
+ OrderWorker own = new OrderWorker();
|
|
|
+ Boolean uf = Boolean.FALSE;
|
|
|
+
|
|
|
+ if (upInfo !=null){
|
|
|
+ OrderWorker newow = getOrderWorker(newLCLS);
|
|
|
+ if (oow ==null){
|
|
|
+ if (newow !=null){
|
|
|
+ return newow;
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 师傅信息变更,或是改派师傅
|
|
|
+ if (!oow.getWorkerId().equals(newow.getWorkerId())) {
|
|
|
+ own.setWorkerId(newow.getWorkerId());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (!oow.getWorkerName().equals(newow.getWorkerName())) {
|
|
|
+ own.setWorkerName(newow.getWorkerName());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (!oow.getWorkerMobile().equals(newow.getWorkerMobile())) {
|
|
|
+ own.setWorkerMobile(newow.getWorkerMobile());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (!oow.getWorkerIdcard().equals(newow.getWorkerIdcard())) {
|
|
|
+ own.setWorkerIdcard(newow.getWorkerIdcard());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (uf){
|
|
|
+ own.setId(oow.getId());
|
|
|
+ own.setUpdateBy(newLCLS.getLastOperatorBy());
|
|
|
+ own.setUpdateTime(newLCLS.getLastOperatorTime());
|
|
|
+ return own;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @NotNull
|
|
|
+ private List<OrderProduct> getOrderProductsUpdate(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String,
|
|
|
+ List<SysDictRef>> sysDictRefXLMap, Map<String, List<SysDictRef>> sysDictRefXiLieMap,
|
|
|
+ OrderBase old, OrderBase newLCLS, String downloadTaskNo,
|
|
|
+ List<ItfTblAzAssignMxDownload> synreqids) {
|
|
|
+ List<OrderProduct> orderProductsNew = new ArrayList<>();
|
|
|
+ List<OrderProduct> orderProductsOld = new ArrayList<>();
|
|
|
+ List<OrderProduct> orderProductsUpdate = new ArrayList<>();
|
|
|
+ Boolean uf = Boolean.FALSE;
|
|
|
+
|
|
|
+ // 提取下载产品明细表
|
|
|
+ List<ItfTblAzAssignMxDownload> orderMx = itfTblAzAssignMxDownloadService.lambdaQuery()
|
|
|
+ .eq(ItfTblAzAssignMxDownload::getDownloadTaskNo, downloadTaskNo)
|
|
|
+ .eq(ItfTblAzAssignMxDownload::getSynStatus,0)
|
|
|
+ .orderByAsc(ItfTblAzAssignMxDownload::getSynReqId)
|
|
|
+ .list();
|
|
|
+
|
|
|
+ // 获取新同步的工单机型
|
|
|
+ getOrderProduct(newLCLS, orderProductsNew, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, orderMx);
|
|
|
+ // 产品只存在修改,减少与增加的情况不存在
|
|
|
+ // 提取本地现有的产品机型
|
|
|
+ orderProductsOld = orderProductService.lambdaQuery()
|
|
|
+ .eq(OrderProduct::getOrderBaseId, old.getId()).list();
|
|
|
+ for (OrderProduct o : orderProductsOld){
|
|
|
+ for (OrderProduct n :orderProductsNew){
|
|
|
+ if (n.getPgmxid().equals(o.getPgmxid())){
|
|
|
+ uf = Boolean.FALSE;
|
|
|
+ OrderProduct v = new OrderProduct();
|
|
|
+ // 查看有无要修改的机型信息
|
|
|
+ if (!o.getMainId().equals(n.getMainId())) {
|
|
|
+ v.setMainId(n.getMainId());
|
|
|
+ v.setMainName(n.getMainName());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (!o.getSmallId().equals(n.getSmallId())) {
|
|
|
+ v.setSmallId(n.getSmallId());
|
|
|
+ v.setSmallName(n.getSmallName());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ // 系列可不填写
|
|
|
+ if (StringUtils.isNotEmpty(o.getSeriesId()) && StringUtils.isNotEmpty(n.getSeriesId())) {
|
|
|
+ if (!o.getSeriesId().equals(n.getSeriesId())){
|
|
|
+ v.setSeriesId(n.getSeriesId());
|
|
|
+ v.setSeriesName(n.getSeriesName());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNotEmpty(o.getSeriesId())) {
|
|
|
+ v.setSeriesId("");
|
|
|
+ v.setSeriesName("");
|
|
|
+ } else {
|
|
|
+ v.setSeriesId(n.getSeriesId());
|
|
|
+ v.setSeriesName(n.getSeriesName());
|
|
|
+ }
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (!o.getProductId().equals(n.getProductId())) {
|
|
|
+ v.setProductId(n.getProductId());
|
|
|
+ v.setProductName(n.getProductName());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(o.getInsideCode()) && StringUtils.isNotEmpty(n.getInsideCode())) {
|
|
|
+ if (!o.getInsideCode().equals(n.getInsideCode())){
|
|
|
+ v.setInsideCode(n.getInsideCode());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNotEmpty(o.getInsideCode())) {
|
|
|
+ v.setInsideCode("");
|
|
|
+ } else {
|
|
|
+ v.setInsideCode(n.getInsideCode());
|
|
|
+ }
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(o.getOutCode()) && StringUtils.isNotEmpty(n.getOutCode())) {
|
|
|
+ if (!o.getOutCode().equals(n.getOutCode())){
|
|
|
+ v.setOutCode(n.getOutCode());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNotEmpty(o.getOutCode())) {
|
|
|
+ v.setOutCode("");
|
|
|
+ } else {
|
|
|
+ v.setOutCode(n.getOutCode());
|
|
|
+ }
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (o.getNum() !=null && n.getNum() !=null) {
|
|
|
+ if (!o.getOutCode().equals(n.getOutCode())){
|
|
|
+ v.setNum(n.getNum());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (o.getOutCode() !=null) {
|
|
|
+ v.setNum(null);
|
|
|
+ } else {
|
|
|
+ v.setNum(n.getNum());
|
|
|
+ }
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (o.getPrice() !=null && n.getPrice() !=null) {
|
|
|
+ if (!o.getPrice().equals(n.getPrice())){
|
|
|
+ v.setPrice(n.getPrice());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (o.getPrice() !=null) {
|
|
|
+ v.setPrice(null);
|
|
|
+ } else {
|
|
|
+ v.setPrice(n.getPrice());
|
|
|
+ }
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(o.getUnit()) && StringUtils.isNotEmpty(n.getUnit())) {
|
|
|
+ if (!o.getUnit().equals(n.getUnit())){
|
|
|
+ v.setUnit(n.getUnit());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNotEmpty(o.getUnit())) {
|
|
|
+ v.setUnit("");
|
|
|
+ } else {
|
|
|
+ v.setUnit(n.getUnit());
|
|
|
+ }
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(o.getMaterialNumber()) && StringUtils.isNotEmpty(n.getMaterialNumber())) {
|
|
|
+ if (!o.getMaterialNumber().equals(n.getMaterialNumber())){
|
|
|
+ v.setMaterialNumber(n.getMaterialNumber());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNotEmpty(o.getMaterialNumber())) {
|
|
|
+ v.setMaterialNumber("");
|
|
|
+ } else {
|
|
|
+ v.setMaterialNumber(n.getUnit());
|
|
|
+ }
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (!o.getInsideNum().equals(n.getInsideNum())) {
|
|
|
+ v.setInsideNum(n.getInsideNum());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (!o.getOutNum().equals(n.getOutNum())) {
|
|
|
+ v.setOutNum(n.getOutNum());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (!o.getUndoneNum().equals(n.getUndoneNum())) {
|
|
|
+ v.setUndoneNum(n.getUndoneNum());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(o.getSaleWebsit()) && StringUtils.isNotEmpty(n.getSaleWebsit())) {
|
|
|
+ if (!o.getSaleWebsit().equals(n.getSaleWebsit())){
|
|
|
+ v.setSaleWebsit(n.getSaleWebsit());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNotEmpty(o.getSaleWebsit())) {
|
|
|
+ v.setSaleWebsit("");
|
|
|
+ } else {
|
|
|
+ v.setSaleWebsit(n.getSaleWebsit());
|
|
|
+ }
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(o.getServiceWebsit()) && StringUtils.isNotEmpty(n.getServiceWebsit())) {
|
|
|
+ if (!o.getServiceWebsit().equals(n.getServiceWebsit())){
|
|
|
+ v.setServiceWebsit(n.getServiceWebsit());
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNotEmpty(o.getServiceWebsit())) {
|
|
|
+ v.setServiceWebsit("");
|
|
|
+ } else {
|
|
|
+ v.setServiceWebsit(n.getServiceWebsit());
|
|
|
+ }
|
|
|
+ uf = Boolean.TRUE;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (uf){
|
|
|
+ v.setId(o.getId());
|
|
|
+ v.setUpdateBy(newLCLS.getLastOperatorBy());
|
|
|
+ v.setUpdateTime(newLCLS.getLastOperatorTime());
|
|
|
+ orderProductsUpdate.add(o);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (ItfTblAzAssignMxDownload i : orderMx){
|
|
|
+ ItfTblAzAssignMxDownload n = new ItfTblAzAssignMxDownload();
|
|
|
+ n.setSynReqId(i.getSynReqId());
|
|
|
+ n.setSynStatus(1);
|
|
|
+ n.setSynTime(new Date());
|
|
|
+ synreqids.add(n);
|
|
|
+ }
|
|
|
+
|
|
|
+ return orderProductsUpdate;
|
|
|
+ }
|
|
|
+
|
|
|
+ @NotNull
|
|
|
+ private OrderBase getOrderBase(OrderBase old, Brand brand, ItfTblAzAssignLcLsDownload item, OrderBase newLCLS) {
|
|
|
+ OrderBase upInfo = new OrderBase();
|
|
|
+
|
|
|
+ // 本地订单已关闭 且总部的最后修改时间晚于本地数据修改时间 不可修改
|
|
|
+ if (old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I10.getCode()) &&
|
|
|
+ item.getLastModifiedDate().compareTo(old.getUpdateTime())<0){
|
|
|
+ synItfTblAzAssignLcLsDownload(item.getSynReqId(), 99, "本地工单已关闭或作废忽略更新");
|
|
|
+ // 这里只是不修改订单主表,其他数据表接着执行
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 1.安装工单主表基础信息更新
|
|
|
+ if (item.getLastModifiedDate().compareTo(old.getUpdateTime())>0){
|
|
|
+ BeanUtils.copyProperties(newLCLS,upInfo);
|
|
|
+ }
|
|
|
+ // 2:网点信息修改 已待服务人员处理,不允更新网点 6,7,10 少6
|
|
|
+ if (old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I6.getCode()) ||
|
|
|
+ old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I10.getCode()) ||
|
|
|
+ old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I7.getCode())){
|
|
|
+ // 售后网点
|
|
|
+ upInfo.setReceWebsitId(old.getReceWebsitId());
|
|
|
+ upInfo.setReceWebsitName(old.getReceWebsitName());
|
|
|
+ // 安装
|
|
|
+ upInfo.setWebsitId(old.getWebsitId());
|
|
|
+ upInfo.setWebsitName(old.getWebsitName());
|
|
|
+ }
|
|
|
+ // 3:已预约不可更改预约时间
|
|
|
+ if (old.getFirstAppointmentTime() !=null){
|
|
|
+ upInfo.setAppointmentTime(old.getAppointmentTime());
|
|
|
+ }
|
|
|
+
|
|
|
+ OrderInstall oi = orderInstallService.lambdaQuery()
|
|
|
+ .eq(OrderInstall::getOrderBaseId,old.getId()).one();
|
|
|
+
|
|
|
+ // 3.2天猫工单,允许天猫自已预约
|
|
|
+ if (StringUtils.isNotEmpty(oi.getExtendField2()) &&
|
|
|
+ oi.getExtendField2().equals("TBL_TMALL_ORDERINFO")){
|
|
|
+ upInfo.setAppointmentTime(newLCLS.getAppointmentTime());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 4:工单状态
|
|
|
+ Boolean allowUpdate = getAllowUpdate(old, newLCLS);
|
|
|
+ if (allowUpdate && item.getLastModifiedDate().compareTo(old.getUpdateTime())>0){
|
|
|
+ upInfo.setOrderStatus(newLCLS.getOrderStatus());
|
|
|
+ upInfo.setOrderStatus(newLCLS.getOrderStatus());
|
|
|
+ upInfo.setOrderStatus(newLCLS.getOrderStatus());
|
|
|
+ }
|
|
|
+
|
|
|
+ upInfo.setId(old.getId());
|
|
|
+ upInfo.setOutUpdateSynReqId(item.getSynReqId());
|
|
|
+ upInfo.setOutUpdateSynReqTime(new Date());
|
|
|
+ upInfo.setUpdateTime(new Date());
|
|
|
+ return upInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void synItfTblAzAssignLcLsDownload(Long synReqId, Integer synStatus, String msg){
|
|
|
+ ItfTblAzAssignLcLsDownload uplcls = new ItfTblAzAssignLcLsDownload();
|
|
|
+ uplcls.setSynReqId(synReqId);
|
|
|
+ uplcls.setSynStatus(synStatus);
|
|
|
+ uplcls.setSynTime(new Date());
|
|
|
+ uplcls.setSynErrMsg(msg);
|
|
|
+ itfTblAzAssignLcLsDownloadService.updateById(uplcls);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @NotNull
|
|
|
+ private Boolean getAllowUpdate(OrderBase old, OrderBase newLCLS) {
|
|
|
+ // 判断是否可更新工单状态
|
|
|
+ Boolean allowUpdate = Boolean.FALSE;
|
|
|
+ // 待派
|
|
|
+ if ((old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I1.getCode()) ||
|
|
|
+ old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I2.getCode()) ||
|
|
|
+ old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I3.getCode())) &&
|
|
|
+ (old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_0.getCode()))){
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ // 改派
|
|
|
+ if ((old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I3.getCode())) &&
|
|
|
+ (old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_0.getCode())) &&
|
|
|
+ (newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I3.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I4.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I6.getCode()))){
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ // 待接单
|
|
|
+ if ((old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I4.getCode())) &&
|
|
|
+ (old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_0.getCode())) &&
|
|
|
+ (newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I7.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I8.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I9.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I10.getCode()))){
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ // 已接单
|
|
|
+ if ((old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I6.getCode())) &&
|
|
|
+ (old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_0.getCode()) ||
|
|
|
+ old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_1.getCode())||
|
|
|
+ old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_2.getCode()) ||
|
|
|
+ old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_3.getCode())) &&
|
|
|
+ (newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I7.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I8.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I9.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I10.getCode()))){
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ // 服务人员完工
|
|
|
+ if ((old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I7.getCode())) &&
|
|
|
+ (old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_4.getCode()) ||
|
|
|
+ old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_1.getCode())||
|
|
|
+ old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_2.getCode()) ||
|
|
|
+ old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_3.getCode())) &&
|
|
|
+ (newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I8.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I9.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I10.getCode()))){
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ // 用户改约
|
|
|
+ if ((old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I5.getCode())) &&
|
|
|
+ (old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_5.getCode())) &&
|
|
|
+ (newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I8.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I9.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I10.getCode()))){
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ // 作废申请
|
|
|
+ if ((old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I2.getCode())) &&
|
|
|
+ (old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_2.getCode())) &&
|
|
|
+ (newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I3.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I4.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I6.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I9.getCode()))){
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 广佛作废时如果总部下载1121或1129也同步状态
|
|
|
+ if (old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I9.getCode()) ||
|
|
|
+ old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I10.getCode())){
|
|
|
+ if (newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I2.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I3.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I4.getCode())){
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ } else {
|
|
|
+ allowUpdate = Boolean.FALSE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ if ((old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I9.getCode()) ||
|
|
|
+ old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I10.getCode())) &&
|
|
|
+ (old.getDispatchStatus().equals(DispatchStatusEnum.INSTALL_DISPATCH_STATUS_2.getCode())) &&
|
|
|
+ (newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I3.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I4.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I6.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I9.getCode()))){
|
|
|
+ allowUpdate = Boolean.TRUE;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 广佛已自动派工,不根据总部状态更新
|
|
|
+ if ((old.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I6.getCode())) &&
|
|
|
+ (newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I2.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I3.getCode()) ||
|
|
|
+ newLCLS.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_I6.getCode()))){
|
|
|
+ allowUpdate = Boolean.FALSE;
|
|
|
+ }
|
|
|
+ return allowUpdate;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void orderAdd(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
|
|
|
+ Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item) {
|
|
|
List<OrderAppointment> oa = new ArrayList<>();
|
|
|
List<OrderAppraise> oanew = new ArrayList<>();
|
|
|
List<OrderProduct> orderProducts = new ArrayList<>();
|
|
|
+ List<ItfTblAzAssignFkmxDownload> fkmxs = new ArrayList<>();
|
|
|
+ List<Integer> synReqIds = new ArrayList<>();
|
|
|
+ List<Long> synReqFkMxIds = new ArrayList<>();
|
|
|
+ List<Long> synReqYfYyIds = new ArrayList<>();
|
|
|
+
|
|
|
+ List<ItfTblAzAssignMxDownload> orderMx = itfTblAzAssignMxDownloadService.lambdaQuery()
|
|
|
+ .eq(ItfTblAzAssignMxDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
|
+ .eq(ItfTblAzAssignMxDownload::getSynStatus,0)
|
|
|
+ .orderByAsc(ItfTblAzAssignMxDownload::getSynReqId)
|
|
|
+ .list();
|
|
|
+ synReqIds = orderMx.stream().map(ItfTblAzAssignMxDownload::getSynReqId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ fkmxs = itfTblAzAssignFkmxDownloadService.lambdaQuery()
|
|
|
+ .eq(ItfTblAzAssignFkmxDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
|
+ .eq(ItfTblAzAssignFkmxDownload::getSynStatus,0)
|
|
|
+ .orderByAsc(ItfTblAzAssignFkmxDownload::getCreatedDate)
|
|
|
+ .list();
|
|
|
+ synReqFkMxIds = fkmxs.stream().map(ItfTblAzAssignFkmxDownload::getSynReqId).collect(Collectors.toList());
|
|
|
|
|
|
// 获取安装工单主表
|
|
|
OrderBase orderBase = getOrderBase(item, brand);
|
|
|
// 获取工单师傅信息
|
|
|
OrderWorker orderWorker = getOrderWorker(orderBase);
|
|
|
// 获取工单机型
|
|
|
- getOrderProduct(orderBase, orderProducts, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, item.getDownloadTaskNo());
|
|
|
+ getOrderProduct(orderBase, orderProducts, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, orderMx);
|
|
|
// 获取工单操作明细- 操作日志表
|
|
|
- List<OrderInstallOperatingLog> oiolList = getOrderInstallOperatingLogs(orderBase, brand, item);
|
|
|
+ List<OrderInstallOperatingLog> oiolList = getOrderInstallOperatingLogs(fkmxs, orderBase, brand, item);
|
|
|
// 获取安装费用清单
|
|
|
- OrderInstall orderInstall = getOrderInstall(orderBase, brand, item);
|
|
|
+ ItfTblAzAssignFeeDownload fyqd = itfTblAzAssignFeeDownloadService.lambdaQuery()
|
|
|
+ .eq(ItfTblAzAssignFeeDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
|
+ .eq(ItfTblAzAssignFeeDownload::getSynStatus,0)
|
|
|
+ .one();
|
|
|
+ OrderInstall orderInstall = getOrderInstall(orderBase, brand, item, fyqd);
|
|
|
// 获取用户预约改约信息
|
|
|
- getOrderAppointment(orderBase, oa, item);
|
|
|
+ List<ItfTblAzAssignAppointmentDownload> appointments = itfTblAzAssignAppointmentDownloadService.lambdaQuery()
|
|
|
+ .eq(ItfTblAzAssignAppointmentDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
|
+ .eq(ItfTblAzAssignAppointmentDownload::getSynStatus,0)
|
|
|
+ .orderByAsc(ItfTblAzAssignAppointmentDownload::getSynReqId)
|
|
|
+ .list();
|
|
|
+ synReqYfYyIds = appointments.stream().map(ItfTblAzAssignAppointmentDownload::getSynReqId).collect(Collectors.toList());
|
|
|
+ getOrderAppointment(orderBase, oa, item,appointments);
|
|
|
+
|
|
|
// 获取用户客户评价信息
|
|
|
- getOrderAppraise(orderBase, sysDictRefDLMap, oanew, brand, item);
|
|
|
+ List<Long> getpjSynReqId = new ArrayList<>();
|
|
|
+ getOrderAppraise(orderBase, sysDictRefDLMap, oanew, brand, item, getpjSynReqId);
|
|
|
|
|
|
// 安装工单数据落本地表
|
|
|
- addOrderData(orderBase, orderWorker, orderInstall, orderProducts, oiolList, oa, oanew);
|
|
|
+ addOrderData(orderBase, orderWorker, orderInstall, orderProducts, oiolList, oa, oanew,
|
|
|
+ item.getSynReqId(), synReqIds, synReqFkMxIds, synReqYfYyIds,
|
|
|
+ fyqd, getpjSynReqId);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -244,11 +797,15 @@ public class AnzhuangGongDanBusiness {
|
|
|
* 工单评价表order_appraise
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void addOrderData(OrderBase orderBase, OrderWorker orderWorker, OrderInstall orderInstall, List<OrderProduct> orderProducts, List<OrderInstallOperatingLog> oiolList, List<OrderAppointment> oa, List<OrderAppraise> oanew) {
|
|
|
+ public void addOrderData(OrderBase orderBase, OrderWorker orderWorker, OrderInstall orderInstall, List<OrderProduct> orderProducts,
|
|
|
+ List<OrderInstallOperatingLog> oiolList, List<OrderAppointment> oa, List<OrderAppraise> oanew,
|
|
|
+ Long synReqId, List<Integer> synReqIds, List<Long> synReqFkMxIds, List<Long> synReqYfYyIds,
|
|
|
+ ItfTblAzAssignFeeDownload fyqd, List<Long> getpjSynReqId) {
|
|
|
// 工单基础表
|
|
|
if (orderBase != null) {
|
|
|
orderBaseService.save(orderBase);
|
|
|
}
|
|
|
+ upItfTblAzAssignLcLsDownload(synReqId);
|
|
|
|
|
|
// 工单师傅表
|
|
|
if (orderWorker != null) {
|
|
|
@@ -260,39 +817,114 @@ public class AnzhuangGongDanBusiness {
|
|
|
orderProductService.saveBatch(orderProducts);
|
|
|
orderProducts.clear();
|
|
|
}
|
|
|
+ if (synReqIds.size()>0){
|
|
|
+ upItfTblAzAssignMxDownload(synReqIds);
|
|
|
+ synReqIds.clear();
|
|
|
+ }
|
|
|
|
|
|
// 操作明细表
|
|
|
if (oiolList.size()>0){
|
|
|
orderInstallOperatingLogService.saveBatch(oiolList);
|
|
|
oiolList.clear();
|
|
|
}
|
|
|
+ if (synReqFkMxIds.size()>0){
|
|
|
+ upItfTblAzAssignFkmxDownload(synReqFkMxIds);
|
|
|
+ synReqFkMxIds.clear();
|
|
|
+ }
|
|
|
|
|
|
// 安装费用清单表
|
|
|
if (orderInstall != null){
|
|
|
orderInstallService.save(orderInstall);
|
|
|
}
|
|
|
+ if (fyqd !=null){
|
|
|
+ upItfTblAzAssignFeeDownload(fyqd);
|
|
|
+ }
|
|
|
|
|
|
// 用户预约改约信息表
|
|
|
if (oa.size()>0){
|
|
|
orderAppointmentService.saveBatch(oa);
|
|
|
oa.clear();
|
|
|
}
|
|
|
+ if (synReqYfYyIds.size()>0){
|
|
|
+ upItfTblAzAssignAppointment(synReqFkMxIds);
|
|
|
+ synReqYfYyIds.clear();
|
|
|
+ }
|
|
|
|
|
|
// 工单评价表
|
|
|
if (oanew.size()>0){
|
|
|
orderAppraiseService.saveBatch(oanew);
|
|
|
oanew.clear();
|
|
|
}
|
|
|
+ if (getpjSynReqId.size()>0){
|
|
|
+ upItfTblAzAssignSatisfactionDownload(getpjSynReqId);
|
|
|
+ getpjSynReqId.clear();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void upItfTblAzAssignFeeDownload(ItfTblAzAssignFeeDownload fyqd) {
|
|
|
+ ItfTblAzAssignFeeDownload n = new ItfTblAzAssignFeeDownload();
|
|
|
+ n.setSynReqId(fyqd.getSynReqId());
|
|
|
+ n.setSynStatus(1);
|
|
|
+ n.setSynTime(new Date());
|
|
|
+ itfTblAzAssignFeeDownloadService.updateById(n);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void upItfTblAzAssignMxDownload(List<Integer> synReqIds) {
|
|
|
+ List<ItfTblAzAssignMxDownload> sas =new ArrayList<>();
|
|
|
+ for (int i = 0; i< synReqIds.size(); i++){
|
|
|
+ ItfTblAzAssignMxDownload its = new ItfTblAzAssignMxDownload();
|
|
|
+ its.setSynReqId(synReqIds.get(i));
|
|
|
+ its.setSynStatus(1);
|
|
|
+ its.setSynTime(new Date());
|
|
|
+ sas.add(its);
|
|
|
+ }
|
|
|
+ itfTblAzAssignMxDownloadService.saveBatch(sas);
|
|
|
}
|
|
|
|
|
|
- private void getOrderAppraise(OrderBase orderBase, Map<String, List<SysDictRef>> sysDictRefDLMap, List<OrderAppraise> oanew, Brand brand, ItfTblAzAssignLcLsDownload item) {
|
|
|
+ private void upItfTblAzAssignFkmxDownload(List<Long> synReqFkMxIds) {
|
|
|
+ List<ItfTblAzAssignFkmxDownload> sas =new ArrayList<>();
|
|
|
+ for (int i = 0; i< synReqFkMxIds.size(); i++){
|
|
|
+ ItfTblAzAssignFkmxDownload its = new ItfTblAzAssignFkmxDownload();
|
|
|
+ its.setSynReqId(synReqFkMxIds.get(i));
|
|
|
+ its.setSynStatus(1);
|
|
|
+ its.setSynTime(new Date());
|
|
|
+ sas.add(its);
|
|
|
+ }
|
|
|
+ itfTblAzAssignFkmxDownloadService.saveBatch(sas);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void upItfTblAzAssignAppointment(List<Long> synReqYfYYIds) {
|
|
|
+ List<ItfTblAzAssignAppointmentDownload> sas =new ArrayList<>();
|
|
|
+ for (int i = 0; i< synReqYfYYIds.size(); i++){
|
|
|
+ ItfTblAzAssignAppointmentDownload its = new ItfTblAzAssignAppointmentDownload();
|
|
|
+ its.setSynReqId(synReqYfYYIds.get(i));
|
|
|
+ its.setSynStatus(1);
|
|
|
+ its.setSynTime(new Date());
|
|
|
+ sas.add(its);
|
|
|
+ }
|
|
|
+ itfTblAzAssignAppointmentDownloadService.saveBatch(sas);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void upItfTblAzAssignLcLsDownload(Long synReqId) {
|
|
|
+ ItfTblAzAssignLcLsDownload lcls = new ItfTblAzAssignLcLsDownload();
|
|
|
+ lcls.setSynReqId(synReqId);
|
|
|
+ lcls.setSynStatus(1);
|
|
|
+ lcls.setSynTime(new Date());
|
|
|
+ itfTblAzAssignLcLsDownloadService.updateById(lcls);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void getOrderAppraise(OrderBase orderBase, Map<String, List<SysDictRef>> sysDictRefDLMap, List<OrderAppraise> oanew, Brand brand,
|
|
|
+ ItfTblAzAssignLcLsDownload item, List<Long> getSynReqId) {
|
|
|
List<ItfTblAzAssignSatisfactionDownload> sas;
|
|
|
sas = itfTblAzAssignSatisfactionDownloadService.lambdaQuery()
|
|
|
.eq(ItfTblAzAssignSatisfactionDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
|
.eq(ItfTblAzAssignSatisfactionDownload::getSynStatus,0)
|
|
|
+ .orderByAsc(ItfTblAzAssignSatisfactionDownload::getSynReqId)
|
|
|
.list();
|
|
|
for (ItfTblAzAssignSatisfactionDownload s :sas){
|
|
|
+ getSynReqId.add(s.getSynReqId());
|
|
|
OrderAppraise o = new OrderAppraise();
|
|
|
+ o.setPid(s.getId());
|
|
|
o.setPgguid(s.getPgguid());
|
|
|
// 工单号
|
|
|
o.setOrderBaseId(orderBase.getId());
|
|
|
@@ -347,12 +979,8 @@ public class AnzhuangGongDanBusiness {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void getOrderAppointment(OrderBase orderBase, List<OrderAppointment> oa, ItfTblAzAssignLcLsDownload item) {
|
|
|
- List<ItfTblAzAssignAppointmentDownload> appointments;
|
|
|
- appointments = itfTblAzAssignAppointmentDownloadService.lambdaQuery()
|
|
|
- .eq(ItfTblAzAssignAppointmentDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
|
- .eq(ItfTblAzAssignAppointmentDownload::getSynStatus,0)
|
|
|
- .list();
|
|
|
+ private void getOrderAppointment(OrderBase orderBase, List<OrderAppointment> oa, ItfTblAzAssignLcLsDownload item,
|
|
|
+ List<ItfTblAzAssignAppointmentDownload> appointments) {
|
|
|
for (ItfTblAzAssignAppointmentDownload a :appointments){
|
|
|
OrderAppointment v = new OrderAppointment();
|
|
|
v.setOrderBaseId(orderBase.getId());
|
|
|
@@ -367,11 +995,9 @@ public class AnzhuangGongDanBusiness {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private OrderInstall getOrderInstall(OrderBase orderBase, Brand brand, ItfTblAzAssignLcLsDownload item) {
|
|
|
+ private OrderInstall getOrderInstall(OrderBase orderBase, Brand brand, ItfTblAzAssignLcLsDownload item,ItfTblAzAssignFeeDownload fyqd) {
|
|
|
OrderInstall orderInstall = new OrderInstall();
|
|
|
- ItfTblAzAssignFeeDownload fyqd = itfTblAzAssignFeeDownloadService.lambdaQuery()
|
|
|
- .eq(ItfTblAzAssignFeeDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
|
- .eq(ItfTblAzAssignFeeDownload::getSynStatus,0).one();
|
|
|
+
|
|
|
if (fyqd !=null){
|
|
|
OrderPar request = new OrderPar();
|
|
|
request.setSynReqId(fyqd.getSynReqId());
|
|
|
@@ -390,14 +1016,8 @@ public class AnzhuangGongDanBusiness {
|
|
|
}
|
|
|
|
|
|
@NotNull
|
|
|
- private List<OrderInstallOperatingLog> getOrderInstallOperatingLogs(OrderBase orderBase, Brand brand, ItfTblAzAssignLcLsDownload item) {
|
|
|
- List<ItfTblAzAssignFkmxDownload> fkmxs = new ArrayList<>();
|
|
|
+ private List<OrderInstallOperatingLog> getOrderInstallOperatingLogs(List<ItfTblAzAssignFkmxDownload> fkmxs, OrderBase orderBase, Brand brand, ItfTblAzAssignLcLsDownload item) {
|
|
|
List<OrderInstallOperatingLog> oiolList = new ArrayList<>();
|
|
|
- fkmxs = itfTblAzAssignFkmxDownloadService.lambdaQuery()
|
|
|
- .eq(ItfTblAzAssignFkmxDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
|
- .eq(ItfTblAzAssignFkmxDownload::getSynStatus,0)
|
|
|
- .orderByAsc(ItfTblAzAssignFkmxDownload::getCreatedDate)
|
|
|
- .list();
|
|
|
for (ItfTblAzAssignFkmxDownload fkmx : fkmxs){
|
|
|
OrderPar orderPar = new OrderPar();
|
|
|
orderPar.setSynReqId(fkmx.getSynReqId());
|
|
|
@@ -432,14 +1052,10 @@ public class AnzhuangGongDanBusiness {
|
|
|
|
|
|
private void getOrderProduct(OrderBase orderBase, List<OrderProduct> orderProducts, Map<String,
|
|
|
List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
|
|
|
- Map<String, List<SysDictRef>> sysDictRefXiLieMap, String downloadTaskNo) {
|
|
|
- List<ItfTblAzAssignMxDownload> orderMx;
|
|
|
- orderMx = itfTblAzAssignMxDownloadService.lambdaQuery()
|
|
|
- .eq(ItfTblAzAssignMxDownload::getDownloadTaskNo, downloadTaskNo)
|
|
|
- .eq(ItfTblAzAssignMxDownload::getSynStatus,0)
|
|
|
- .list();
|
|
|
- // pgmxid主键
|
|
|
+ Map<String, List<SysDictRef>> sysDictRefXiLieMap,
|
|
|
+ List<ItfTblAzAssignMxDownload> orderMx) {
|
|
|
|
|
|
+ // pgmxid主键
|
|
|
// 生成对象
|
|
|
for (ItfTblAzAssignMxDownload mx:orderMx){
|
|
|
OrderProduct op = new OrderProduct();
|
|
|
@@ -480,7 +1096,7 @@ public class AnzhuangGongDanBusiness {
|
|
|
// 销售单位
|
|
|
op.setSaleWebsit(orderBase.getSaleWebsitId());
|
|
|
// 无销售单位联系人电话
|
|
|
- op.setSeriesId(orderBase.getWebsitId());
|
|
|
+ op.setServiceWebsit(orderBase.getWebsitId());
|
|
|
// 无服务单位电话信息 最好取websit表中的热线,先不取
|
|
|
op.setBuyTime(orderBase.getBuyTime());
|
|
|
op.setRemark(mx.getBeiz());
|
|
|
@@ -488,6 +1104,7 @@ public class AnzhuangGongDanBusiness {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private Map<String, List<SysDictRef>> getMap(Brand brand) {
|
|
|
List<SysDictRef> sysDictxilieRef;
|
|
|
Map<String, List<SysDictRef>> sysDictRefXiLieMap;
|
|
|
@@ -540,6 +1157,8 @@ public class AnzhuangGongDanBusiness {
|
|
|
orderWorker.setPgguid(orderBase.getPgguid());
|
|
|
orderWorker.setCreateTime(orderBase.getCreateTime());
|
|
|
orderWorker.setCreateBy(orderBase.getCreateBy());
|
|
|
+ orderWorker.setOutWorkerSource(Boolean.FALSE);
|
|
|
+
|
|
|
return orderWorker;
|
|
|
}
|
|
|
|