From adc2bae64b3c33267b40224c15462aa709df4727 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sat, 1 Apr 2023 13:24:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=9A=E5=8A=A1=E5=8D=95?= =?UTF-8?q?=E6=8D=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/constant/Constant.java | 4 + .../com/glxp/api/constant/ConstantStatus.java | 9 + .../basic/BasicGenExcelService.java | 2 +- .../sync/SyncDataSetController.java | 4 +- .../{system => sync}/SyncDataBustypeDao.java | 2 +- .../glxp/api/dao/sync/SyncDataPurtypeDao.java | 18 ++ .../entity/system/SyncDataBustypeEntity.java | 5 +- .../entity/system/SyncDataPurTypeEntity.java | 16 ++ .../glxp/api/http/sync/SpGetHttpClient.java | 14 +- .../glxp/api/http/sync/SpsDirectClient.java | 2 +- .../api/res/sync/SpsSyncBusOrderResponse.java | 16 ++ .../api/res/system/SyncDataSetResponse.java | 2 + .../api/service/inout/IoOrderService.java | 2 + .../inout/impl/IoOrderServiceImpl.java | 6 + .../api/service/purchase/PurOrderService.java | 3 + .../purchase/impl/PurOrderServiceImpl.java | 15 +- .../glxp/api/service/sync/HeartService.java | 59 ++++++ .../SyncDataBustypeService.java | 2 +- .../service/sync/SyncDataPurTypeService.java | 16 ++ .../{system => sync}/SyncDataSetService.java | 2 +- .../glxp/api/service/sync/UpBasicService.java | 189 +++++------------- .../impl/SyncDataBustypeServiceImpl.java | 6 +- .../sync/impl/SyncDataPurTypeServiceImpl.java | 33 +++ .../impl/SyncDataSetServiceImpl.java | 6 +- .../api/service/thrsys/ThrCorpsDlService.java | 4 +- .../service/thrsys/ThrOrdersDlService.java | 2 +- .../service/thrsys/ThrProductsDlService.java | 2 +- .../java/com/glxp/api/task/CleanLogTask.java | 3 + .../mapper/system/SyncDataBustypeDao.xml | 17 +- .../mapper/system/SyncDataPurtypeDao.xml | 28 +++ .../system/SyncUploadDataBustypeDao.xml | 2 +- src/main/resources/schemas/schema_v2.1.sql | 2 +- 32 files changed, 315 insertions(+), 178 deletions(-) rename src/main/java/com/glxp/api/dao/{system => sync}/SyncDataBustypeDao.java (92%) create mode 100644 src/main/java/com/glxp/api/dao/sync/SyncDataPurtypeDao.java create mode 100644 src/main/java/com/glxp/api/entity/system/SyncDataPurTypeEntity.java create mode 100644 src/main/java/com/glxp/api/res/sync/SpsSyncBusOrderResponse.java rename src/main/java/com/glxp/api/service/{system => sync}/SyncDataBustypeService.java (87%) create mode 100644 src/main/java/com/glxp/api/service/sync/SyncDataPurTypeService.java rename src/main/java/com/glxp/api/service/{system => sync}/SyncDataSetService.java (88%) rename src/main/java/com/glxp/api/service/{system => sync}/impl/SyncDataBustypeServiceImpl.java (81%) create mode 100644 src/main/java/com/glxp/api/service/sync/impl/SyncDataPurTypeServiceImpl.java rename src/main/java/com/glxp/api/service/{system => sync}/impl/SyncDataSetServiceImpl.java (89%) create mode 100644 src/main/resources/mybatis/mapper/system/SyncDataPurtypeDao.xml diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index 3dd603625..31334301d 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -255,4 +255,8 @@ public class Constant { public static final String ORDER_ACTION_SUP_DELIVERY = "supDelivery"; public static final String ORDER_ACTION_SUP_INVOICE = "supInvoice"; + + + + } diff --git a/src/main/java/com/glxp/api/constant/ConstantStatus.java b/src/main/java/com/glxp/api/constant/ConstantStatus.java index 0a2c77894..8509f47d1 100644 --- a/src/main/java/com/glxp/api/constant/ConstantStatus.java +++ b/src/main/java/com/glxp/api/constant/ConstantStatus.java @@ -221,6 +221,7 @@ public class ConstantStatus { public static final String SYNC_BASIC_DATA = "AutoUploadAllData"; public static final String SYNC_BUS_TYPE = "AutoUploadBusType"; public static final String SYNC_SCAN_ORDER = "AutoUploadOrder"; + public static final String SYNC_BUS_ORDER = "AutoUploadBusOrder"; //自动下载所有数据 public static final String SYNC_DOWNLOAD_BASIC_DATA = "AutoDownloadAllData"; @@ -282,4 +283,12 @@ public class ConstantStatus { public static final String BUS_ORDER_CGDD = "CGDD"; + // 1:领用单据类型;2.产品申购类型;3.采购计划单据类型 4.盘点单据类型,5:采购订单 + public static final int BUS_TYPE_LY = 1; + public static final int BUS_TYPE_SG = 2; + public static final int BUS_TYPE_JH = 3; + public static final int BUS_TYPE_PD = 4; + public static final int BUS_TYPE_DD = 5; + + } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicGenExcelService.java b/src/main/java/com/glxp/api/controller/basic/BasicGenExcelService.java index 99640c13b..6a9fba70e 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicGenExcelService.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicGenExcelService.java @@ -16,7 +16,7 @@ import com.glxp.api.res.basic.UdiRelevanceExportJsonResponse; import com.glxp.api.service.basic.BasicCorpExportLogService; import com.glxp.api.service.basic.BasicCorpService; import com.glxp.api.service.basic.BasicProductsExportLogService; -import com.glxp.api.service.system.SyncDataSetService; +import com.glxp.api.service.sync.SyncDataSetService; import com.glxp.api.util.ExcelUtil; import org.springframework.beans.BeanUtils; import org.springframework.scheduling.annotation.Async; diff --git a/src/main/java/com/glxp/api/controller/sync/SyncDataSetController.java b/src/main/java/com/glxp/api/controller/sync/SyncDataSetController.java index ecea86942..1350b88a5 100644 --- a/src/main/java/com/glxp/api/controller/sync/SyncDataSetController.java +++ b/src/main/java/com/glxp/api/controller/sync/SyncDataSetController.java @@ -6,8 +6,8 @@ import com.glxp.api.constant.Constant; import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.res.system.SyncDataSetResponse; -import com.glxp.api.service.system.SyncDataBustypeService; -import com.glxp.api.service.system.SyncDataSetService; +import com.glxp.api.service.sync.SyncDataBustypeService; +import com.glxp.api.service.sync.SyncDataSetService; import com.glxp.api.util.RedisUtil; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; diff --git a/src/main/java/com/glxp/api/dao/system/SyncDataBustypeDao.java b/src/main/java/com/glxp/api/dao/sync/SyncDataBustypeDao.java similarity index 92% rename from src/main/java/com/glxp/api/dao/system/SyncDataBustypeDao.java rename to src/main/java/com/glxp/api/dao/sync/SyncDataBustypeDao.java index 081bd7432..a13984d3d 100644 --- a/src/main/java/com/glxp/api/dao/system/SyncDataBustypeDao.java +++ b/src/main/java/com/glxp/api/dao/sync/SyncDataBustypeDao.java @@ -1,4 +1,4 @@ -package com.glxp.api.dao.system; +package com.glxp.api.dao.sync; import com.glxp.api.entity.system.SyncDataBustypeEntity; import org.apache.ibatis.annotations.Mapper; diff --git a/src/main/java/com/glxp/api/dao/sync/SyncDataPurtypeDao.java b/src/main/java/com/glxp/api/dao/sync/SyncDataPurtypeDao.java new file mode 100644 index 000000000..4ba2a0292 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/sync/SyncDataPurtypeDao.java @@ -0,0 +1,18 @@ +package com.glxp.api.dao.sync; + +import com.glxp.api.entity.system.SyncDataPurTypeEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface SyncDataPurtypeDao { + + List findAll(); + + boolean deleteAll(); + + void inserts(@Param("syncDataPurTypeEntities") List syncDataPurTypeEntities); + +} diff --git a/src/main/java/com/glxp/api/entity/system/SyncDataBustypeEntity.java b/src/main/java/com/glxp/api/entity/system/SyncDataBustypeEntity.java index a1c01977b..de858ab5e 100644 --- a/src/main/java/com/glxp/api/entity/system/SyncDataBustypeEntity.java +++ b/src/main/java/com/glxp/api/entity/system/SyncDataBustypeEntity.java @@ -2,6 +2,9 @@ package com.glxp.api.entity.system; import lombok.Data; +/** + * 同步数据扫码单据类型 + */ @Data public class SyncDataBustypeEntity { @@ -9,5 +12,5 @@ public class SyncDataBustypeEntity { private String action; private String name; private boolean outChange; - + private Integer orderStatus; //单据状态 } diff --git a/src/main/java/com/glxp/api/entity/system/SyncDataPurTypeEntity.java b/src/main/java/com/glxp/api/entity/system/SyncDataPurTypeEntity.java new file mode 100644 index 000000000..ef6bc20b6 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/system/SyncDataPurTypeEntity.java @@ -0,0 +1,16 @@ +package com.glxp.api.entity.system; + +import lombok.Data; + +/** + * 同步数据业务单据类型 + */ +@Data +public class SyncDataPurTypeEntity { + + private Integer id; + private String action; + private String name; + private Integer orderStatus; //单据状态 + private Integer type; +} diff --git a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java index 0dcdbcb2f..38f21c1cc 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -12,8 +12,9 @@ import com.glxp.api.req.sync.BasicExportStatusRequest; import com.glxp.api.req.sync.OrderStatusFilterRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.sync.DlOrderResponse; +import com.glxp.api.res.sync.SpsSyncBusOrderResponse; import com.glxp.api.res.sync.SpsSyncOrderResponse; -import com.glxp.api.service.system.SyncDataSetService; +import com.glxp.api.service.sync.SyncDataSetService; import com.glxp.api.util.OkHttpCli; import org.springframework.stereotype.Service; @@ -39,7 +40,16 @@ public class SpGetHttpClient { public BaseResponse postAllOrder(SpsSyncOrderResponse spsSyncOrderResponse) { String json = JSONUtil.toJsonStr(spsSyncOrderResponse); - String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/order/upload", json); + String result = okHttpCli.doPostJson(getIpUrl() + "/orderApi/sps/sync/order/upload", json); + BaseResponse response = + JSONObject.parseObject(result, new TypeReference>() { + }); + return response; + } + + public BaseResponse postAllBusOrder(SpsSyncBusOrderResponse spsSyncOrderResponse) { + String json = JSONUtil.toJsonStr(spsSyncOrderResponse); + String result = okHttpCli.doPostJson(getIpUrl() + "/busOrderApi/sps/sync/busOrder/upload", json); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); diff --git a/src/main/java/com/glxp/api/http/sync/SpsDirectClient.java b/src/main/java/com/glxp/api/http/sync/SpsDirectClient.java index f05c9db5d..9bb0a83c3 100644 --- a/src/main/java/com/glxp/api/http/sync/SpsDirectClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpsDirectClient.java @@ -7,7 +7,7 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.req.inout.PostOrderRequest; -import com.glxp.api.service.system.SyncDataSetService; +import com.glxp.api.service.sync.SyncDataSetService; import com.glxp.api.util.OkHttpCli; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/glxp/api/res/sync/SpsSyncBusOrderResponse.java b/src/main/java/com/glxp/api/res/sync/SpsSyncBusOrderResponse.java new file mode 100644 index 000000000..ccb8df58a --- /dev/null +++ b/src/main/java/com/glxp/api/res/sync/SpsSyncBusOrderResponse.java @@ -0,0 +1,16 @@ +package com.glxp.api.res.sync; + +import com.glxp.api.entity.purchase.PurOrderDetailEntity; +import com.glxp.api.entity.purchase.PurOrderEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class SpsSyncBusOrderResponse { + + private String taskId; + private List purOrderEntities; + private List purOrderDetailEntities; + +} diff --git a/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java b/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java index a7f59e15e..6cd4c5662 100644 --- a/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java +++ b/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java @@ -1,6 +1,7 @@ package com.glxp.api.res.system; import com.glxp.api.entity.system.SyncDataBustypeEntity; +import com.glxp.api.entity.system.SyncDataPurTypeEntity; import lombok.Data; import java.util.List; @@ -29,6 +30,7 @@ public class SyncDataSetResponse { private boolean sysUser; private List busTypes; + private List purTypeEntities; private String orderSyncStart; private String basicSyncStart; diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderService.java b/src/main/java/com/glxp/api/service/inout/IoOrderService.java index 735112a95..21ff15af4 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderService.java @@ -14,6 +14,8 @@ public interface IoOrderService { List selectAll(); + List findByStatus(String action, Integer status); + List findAll(FilterOrderRequest filterOrderRequest); List isExitRepeat(String corpOrderId, String billNo); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index 39849b7c4..a0b0104e9 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -101,6 +101,12 @@ public class IoOrderServiceImpl implements IoOrderService { return orderDao.selectList(); } + @Override + public List findByStatus(String action, Integer status) { + return orderDao.selectList(new QueryWrapper().eq("action", action).eq("status", status)); + } + + @Override public List findAll(FilterOrderRequest filterOrderRequest) { QueryWrapper queryWrapper = new QueryWrapper() diff --git a/src/main/java/com/glxp/api/service/purchase/PurOrderService.java b/src/main/java/com/glxp/api/service/purchase/PurOrderService.java index 214698ca5..61d1b9b66 100644 --- a/src/main/java/com/glxp/api/service/purchase/PurOrderService.java +++ b/src/main/java/com/glxp/api/service/purchase/PurOrderService.java @@ -2,6 +2,7 @@ package com.glxp.api.service.purchase; +import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.purchase.PurOrderEntity; import com.glxp.api.entity.purchase.PurPlanEntity; import com.glxp.api.req.purchase.PurOrderRequest; @@ -15,6 +16,8 @@ public interface PurOrderService { List queryPageList(PurOrderRequest purOrderRequest); + List findByStatus(String billType, Integer status); + Boolean insert(PurOrderEntity purOrderEntity); Boolean update(PurOrderEntity purOrderEntity); diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java index ad9919dac..2434fa1c9 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java @@ -1,8 +1,10 @@ package com.glxp.api.service.purchase.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.purchase.PurOrderDao; import com.glxp.api.dao.purchase.PurPlanDao; +import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.purchase.PurOrderEntity; import com.glxp.api.entity.purchase.PurPlanEntity; import com.glxp.api.req.purchase.PurOrderRequest; @@ -39,23 +41,28 @@ public class PurOrderServiceImpl implements PurOrderService { return data; } + @Override + public List findByStatus(String billType, Integer status) { + return purOrderDao.selectList(new QueryWrapper().eq("billType", billType).eq("status", status)); + } + @Override public Boolean insert(PurOrderEntity purOrderEntity) { - return purOrderDao.insert(purOrderEntity)>0 ? true:false; + return purOrderDao.insert(purOrderEntity) > 0 ? true : false; } @Override public Boolean update(PurOrderEntity purOrderEntity) { - return purOrderDao.updateById(purOrderEntity)>0 ? true:false; + return purOrderDao.updateById(purOrderEntity) > 0 ? true : false; } @Override public Boolean deleteByIds(List ids) { - return purOrderDao.deleteBatchIds(ids)>0 ? true:false; + return purOrderDao.deleteBatchIds(ids) > 0 ? true : false; } @Override public Boolean deleteById(long id) { - return purOrderDao.deleteById(id)>0 ? true:false; + return purOrderDao.deleteById(id) > 0 ? true : false; } } diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index fa4f2d8ee..684900bd6 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -14,6 +14,7 @@ import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.req.sync.SpsSyncDataRequest; +import com.glxp.api.res.sync.SpsSyncBusOrderResponse; import com.glxp.api.res.sync.SpsSyncOrderResponse; import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.util.CustomUtil; @@ -105,6 +106,64 @@ public class HeartService { return ResultVOUtils.success(); } + + public BaseResponse uploadAllBusOrder(String syncTime) { + SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest(); + if (syncTime == null) { + BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByKey(ConstantStatus.SYNC_SCAN_ORDER); + if (basicExportStatusTimeEntity == null) { + basicExportStatusTimeEntity = new BasicExportStatusTimeEntity(); + basicExportStatusTimeEntity.setLastUpdateTime("1949-10-01 09:00:00"); + } + spsSyncDataRequest.setLastUpdateTime(basicExportStatusTimeEntity.getLastUpdateTime()); + } else { + spsSyncDataRequest.setLastUpdateTime(syncTime); + } + SpsSyncBusOrderResponse spsSyncOrderResponse = upBasicService.upAllBusOrder(spsSyncDataRequest); + if (CollUtil.isEmpty(spsSyncOrderResponse.getPurOrderEntities()) + && CollUtil.isEmpty(spsSyncOrderResponse.getPurOrderDetailEntities())) { + //无数据不记录日志 + return ResultVOUtils.success("无数据"); + } + + BasicExportStatusEntity basicExportStatusEntity1 = basicExportService.findByData(ConstantStatus.SYNC_SCAN_ORDER, 0); + if (basicExportStatusEntity1 == null) { + BasicExportStatusEntity orderStatusEntity = new BasicExportStatusEntity(); + orderStatusEntity.setId(CustomUtil.getId()); + orderStatusEntity.setIdDatas(ConstantStatus.SYNC_SCAN_ORDER); + orderStatusEntity.setType(BasicProcessStatus.NEW_ALL_ORDER); + orderStatusEntity.setUpdateTime(new Date()); + orderStatusEntity.setStartTime(new Date()); + orderStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_WAIT); + orderStatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL); + basicExportService.insertExportStatus(orderStatusEntity); + basicExportStatusEntity1 = orderStatusEntity; + } + BasicExportStatusTimeEntity basicExportStatusTimeEntity = new BasicExportStatusTimeEntity(); + basicExportStatusTimeEntity.setLastUpdateTime(DateUtil.formatDate(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss")); + basicExportStatusTimeEntity.setKey(ConstantStatus.SYNC_BUS_ORDER); + spsSyncOrderResponse.setTaskId(basicExportStatusEntity1.getId()); + BaseResponse baseResponse1 = spGetHttp.postAllBusOrder(spsSyncOrderResponse); + if (baseResponse1.getCode() == 20000) { + basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_SUCCESS); + } else { + basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_FAIL); + } + basicExportStatusEntity1.setEndTime(new Date()); + basicExportTimeService.insertExportStatus(basicExportStatusTimeEntity); + + //拼接日志 + String logs = ""; + if (CollUtil.isNotEmpty(spsSyncOrderResponse.getPurOrderEntities())) + logs = logs + "采购订单单据:" + spsSyncOrderResponse.getPurOrderEntities().size() + "条\n"; + if (CollUtil.isNotEmpty(spsSyncOrderResponse.getPurOrderDetailEntities())) + logs = logs + "采购订单详情:" + spsSyncOrderResponse.getPurOrderDetailEntities().size() + "条\n"; + basicExportStatusEntity1.setRemark(logs); + basicExportStatusEntity1.setUpdateTime(new Date()); + basicExportService.updateExportStatus(basicExportStatusEntity1); + return ResultVOUtils.success(); + } + public void dlAllOrder() { BaseResponse> baseResponse = spGetHttp.getBasicStatus(BasicProcessStatus.NEW_ALL_ORDER + ""); List pageSimpleResponse = baseResponse.getData(); diff --git a/src/main/java/com/glxp/api/service/system/SyncDataBustypeService.java b/src/main/java/com/glxp/api/service/sync/SyncDataBustypeService.java similarity index 87% rename from src/main/java/com/glxp/api/service/system/SyncDataBustypeService.java rename to src/main/java/com/glxp/api/service/sync/SyncDataBustypeService.java index 97b8bf57c..e2f078727 100644 --- a/src/main/java/com/glxp/api/service/system/SyncDataBustypeService.java +++ b/src/main/java/com/glxp/api/service/sync/SyncDataBustypeService.java @@ -1,4 +1,4 @@ -package com.glxp.api.service.system; +package com.glxp.api.service.sync; import com.glxp.api.entity.system.SyncDataBustypeEntity; diff --git a/src/main/java/com/glxp/api/service/sync/SyncDataPurTypeService.java b/src/main/java/com/glxp/api/service/sync/SyncDataPurTypeService.java new file mode 100644 index 000000000..9db354f7c --- /dev/null +++ b/src/main/java/com/glxp/api/service/sync/SyncDataPurTypeService.java @@ -0,0 +1,16 @@ +package com.glxp.api.service.sync; + +import com.glxp.api.entity.system.SyncDataPurTypeEntity; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface SyncDataPurTypeService { + + List findAll(); + + boolean deleteAll(); + + void inserts(List syncDataPurTypeEntities); + +} diff --git a/src/main/java/com/glxp/api/service/system/SyncDataSetService.java b/src/main/java/com/glxp/api/service/sync/SyncDataSetService.java similarity index 88% rename from src/main/java/com/glxp/api/service/system/SyncDataSetService.java rename to src/main/java/com/glxp/api/service/sync/SyncDataSetService.java index 058b45a48..f27ba930e 100644 --- a/src/main/java/com/glxp/api/service/system/SyncDataSetService.java +++ b/src/main/java/com/glxp/api/service/sync/SyncDataSetService.java @@ -1,4 +1,4 @@ -package com.glxp.api.service.system; +package com.glxp.api.service.sync; import com.glxp.api.entity.system.SyncDataSetEntity; diff --git a/src/main/java/com/glxp/api/service/sync/UpBasicService.java b/src/main/java/com/glxp/api/service/sync/UpBasicService.java index 7a3c9da75..06b703f65 100644 --- a/src/main/java/com/glxp/api/service/sync/UpBasicService.java +++ b/src/main/java/com/glxp/api/service/sync/UpBasicService.java @@ -2,89 +2,32 @@ package com.glxp.api.service.sync; import cn.hutool.core.collection.CollUtil; import com.glxp.api.constant.ConstantStatus; -import com.glxp.api.entity.auth.*; -import com.glxp.api.entity.basic.CompanyProductRelevanceEntity; -import com.glxp.api.entity.basic.EntrustReceEntity; -import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.inout.*; -import com.glxp.api.entity.purchase.SupCertEntity; -import com.glxp.api.entity.purchase.SupCompanyEntity; -import com.glxp.api.entity.purchase.SupManufacturerEntity; -import com.glxp.api.entity.purchase.SupProductEntity; +import com.glxp.api.entity.purchase.PurOrderDetailEntity; +import com.glxp.api.entity.purchase.PurOrderEntity; import com.glxp.api.entity.system.SyncDataBustypeEntity; -import com.glxp.api.entity.thrsys.*; -import com.glxp.api.req.auth.*; -import com.glxp.api.req.basic.BasicEntrustRecRequest; -import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest; -import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest; -import com.glxp.api.req.basic.FilterUdiInfoRequest; +import com.glxp.api.entity.system.SyncDataPurTypeEntity; import com.glxp.api.req.inout.FilterOrderRequest; -import com.glxp.api.req.purchase.FilterPoductRequest; -import com.glxp.api.req.purchase.FilterSupCompanyRequest; -import com.glxp.api.req.purchase.FilterSupManufacturerRequest; import com.glxp.api.req.sync.SpsSyncDataRequest; -import com.glxp.api.req.thrsys.*; +import com.glxp.api.res.sync.SpsSyncBusOrderResponse; import com.glxp.api.res.sync.SpsSyncOrderResponse; import com.glxp.api.res.system.SyncDataSetResponse; -import com.glxp.api.service.auth.*; -import com.glxp.api.service.basic.EntrustReceService; -import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.inout.*; -import com.glxp.api.service.purchase.SupCertService; -import com.glxp.api.service.purchase.SupCompanyService; -import com.glxp.api.service.purchase.SupManufacturerService; -import com.glxp.api.service.purchase.SupProductService; -import com.glxp.api.service.system.SyncDataSetService; -import com.glxp.api.service.thrsys.*; +import com.glxp.api.service.purchase.PurOrderDetailService; +import com.glxp.api.service.purchase.PurOrderService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; -import java.util.Collections; import java.util.List; @Service public class UpBasicService { - //基础信息 - @Resource - InvWarehouseService invWarehouseService; - @Resource - UdiRelevanceService udiRelevanceService; - @Resource - ThrInvWarehouseService thrInvWarehouseService; - @Resource - ThrCorpService thrCorpService; - @Resource - ThrProductsService thrProductsService; - @Resource - ThrOrderService thrOrderService; - @Resource - ThrOrderDetailService thrOrderDetailService; @Resource SyncDataSetService syncDataSetService; - @Resource - AuthAdminService authAdminService; - @Resource - DeptService deptService; - @Resource - WarehouseBussinessTypeService warehouseBussinessTypeService; - @Resource - WarehouseUserService warehouseUserService; - @Resource - InvBusUserService invBusUserService; - - - @Resource - SupCompanyService supCompanyService; - @Resource - SupManufacturerService supManufacturerService; - @Resource - SupProductService supProductService; - @Resource - SupCertService supCertService; //已完成扫码单据 @@ -98,92 +41,26 @@ public class UpBasicService { IoOrderDetailCodeService orderDetailCodeService; @Resource IoOrderDetailResultService orderDetailResultService; + @Resource + PurOrderService purOrderService; + @Resource + PurOrderDetailService purOrderDetailService; public SpsSyncOrderResponse upAllOrder(SpsSyncDataRequest spsSyncDataRequest) { SpsSyncOrderResponse syncOrderResponse = new SpsSyncOrderResponse(); //查询数据同步设置 SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet(); List orderEntities = new ArrayList<>(); - - - //待校验 - if (syncDataSetEntity.isOrderUnCheck()) { - FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); - BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); - - if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { - for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { - List filterList = new ArrayList<>(); - filterList.add(syncDataBustypeEntity.getAction()); - orderFilterRequest.setActions(filterList); - orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK); - List temps = orderService.filterOrderList(orderFilterRequest); - if (CollUtil.isNotEmpty(temps)) { - orderEntities.addAll(temps); - } - } - } - } - - - //待核对 - if (syncDataSetEntity.isOrderUnCheck()) { - FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); - BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); - - if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { - for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { - List filterList = new ArrayList<>(); - filterList.add(syncDataBustypeEntity.getAction()); - orderFilterRequest.setActions(filterList); - orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS); - List temps = orderService.filterOrderList(orderFilterRequest); - if (CollUtil.isNotEmpty(temps)) { - orderEntities.addAll(temps); - } - } - } - - } - - //待审核 - if (syncDataSetEntity.isOrderUnReceive()) { - FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); - BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); - - if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { - for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { - List filterList = new ArrayList<>(); - filterList.add(syncDataBustypeEntity.getAction()); - orderFilterRequest.setActions(filterList); - orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW); - List temps = orderService.filterOrderList(orderFilterRequest); - if (CollUtil.isNotEmpty(temps)) { - orderEntities.addAll(temps); - } - } - } - } - - //已完成 - if (syncDataSetEntity.isOrderScanFinish()) { - FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); - BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); - - if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { - for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { - List filterList = new ArrayList<>(); - filterList.add(syncDataBustypeEntity.getAction()); - orderFilterRequest.setActions(filterList); - orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_AUDITED); - List temps = orderService.filterOrderList(orderFilterRequest); - if (CollUtil.isNotEmpty(temps)) { - orderEntities.addAll(temps); - } + FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); + BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); + if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { + for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { + List temps = orderService.findByStatus(syncDataBustypeEntity.getAction(), syncDataBustypeEntity.getOrderStatus()); + if (CollUtil.isNotEmpty(temps)) { + orderEntities.addAll(temps); } } } - syncOrderResponse.setOrderEntities(orderEntities); List codeEntities = new ArrayList<>(); List orderDetailBizEntities = new ArrayList<>(); @@ -215,10 +92,42 @@ public class UpBasicService { } } } + syncOrderResponse.setOrderDetailBizEntities(orderDetailBizEntities); syncOrderResponse.setOrderDetailCodeEntities(orderDetailCodeEntities); syncOrderResponse.setOrderDetailResultEntities(orderDetailResultEntities); return syncOrderResponse; } + public SpsSyncBusOrderResponse upAllBusOrder(SpsSyncDataRequest spsSyncDataRequest) { + SpsSyncBusOrderResponse syncOrderResponse = new SpsSyncBusOrderResponse(); + //查询数据同步设置 + SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet(); + List purOrderEntities = new ArrayList<>(); + FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); + BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); + if (CollUtil.isNotEmpty(syncDataSetEntity.getPurTypeEntities())) { + for (SyncDataPurTypeEntity syncDataBustypeEntity : syncDataSetEntity.getPurTypeEntities()) { + if (syncDataBustypeEntity.getType() == ConstantStatus.BUS_TYPE_DD) { + List temps = purOrderService.findByStatus(syncDataBustypeEntity.getAction(), syncDataBustypeEntity.getOrderStatus()); + if (CollUtil.isNotEmpty(temps)) { + purOrderEntities.addAll(temps); + } + } + } + } + syncOrderResponse.setPurOrderEntities(purOrderEntities); + List purOrderDetailEntities = new ArrayList<>(); + if (CollUtil.isNotEmpty(purOrderEntities)) { + for (PurOrderEntity orderEntity : purOrderEntities) { + List detailResultEntities = purOrderDetailService.findByOrderId(orderEntity.getBillNo()); + if (CollUtil.isNotEmpty(detailResultEntities)) { + purOrderDetailEntities.addAll(detailResultEntities); + } + } + } + syncOrderResponse.setPurOrderDetailEntities(purOrderDetailEntities); + return syncOrderResponse; + } + } diff --git a/src/main/java/com/glxp/api/service/system/impl/SyncDataBustypeServiceImpl.java b/src/main/java/com/glxp/api/service/sync/impl/SyncDataBustypeServiceImpl.java similarity index 81% rename from src/main/java/com/glxp/api/service/system/impl/SyncDataBustypeServiceImpl.java rename to src/main/java/com/glxp/api/service/sync/impl/SyncDataBustypeServiceImpl.java index 17a3df4f5..71491e19c 100644 --- a/src/main/java/com/glxp/api/service/system/impl/SyncDataBustypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/sync/impl/SyncDataBustypeServiceImpl.java @@ -1,8 +1,8 @@ -package com.glxp.api.service.system.impl; +package com.glxp.api.service.sync.impl; -import com.glxp.api.dao.system.SyncDataBustypeDao; +import com.glxp.api.dao.sync.SyncDataBustypeDao; import com.glxp.api.entity.system.SyncDataBustypeEntity; -import com.glxp.api.service.system.SyncDataBustypeService; +import com.glxp.api.service.sync.SyncDataBustypeService; import org.springframework.stereotype.Service; import javax.annotation.Resource; diff --git a/src/main/java/com/glxp/api/service/sync/impl/SyncDataPurTypeServiceImpl.java b/src/main/java/com/glxp/api/service/sync/impl/SyncDataPurTypeServiceImpl.java new file mode 100644 index 000000000..6bf8a3de2 --- /dev/null +++ b/src/main/java/com/glxp/api/service/sync/impl/SyncDataPurTypeServiceImpl.java @@ -0,0 +1,33 @@ +package com.glxp.api.service.sync.impl; + +import com.glxp.api.dao.sync.SyncDataBustypeDao; +import com.glxp.api.dao.sync.SyncDataPurtypeDao; +import com.glxp.api.entity.system.SyncDataBustypeEntity; +import com.glxp.api.entity.system.SyncDataPurTypeEntity; +import com.glxp.api.service.sync.SyncDataPurTypeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class SyncDataPurTypeServiceImpl implements SyncDataPurTypeService { + + @Resource + SyncDataPurtypeDao syncDataPurtypeDao; + + @Override + public List findAll() { + return syncDataPurtypeDao.findAll(); + } + + @Override + public boolean deleteAll() { + return syncDataPurtypeDao.deleteAll(); + } + + @Override + public void inserts(List syncDataPurTypeEntities) { + syncDataPurtypeDao.inserts(syncDataPurTypeEntities); + } +} diff --git a/src/main/java/com/glxp/api/service/system/impl/SyncDataSetServiceImpl.java b/src/main/java/com/glxp/api/service/sync/impl/SyncDataSetServiceImpl.java similarity index 89% rename from src/main/java/com/glxp/api/service/system/impl/SyncDataSetServiceImpl.java rename to src/main/java/com/glxp/api/service/sync/impl/SyncDataSetServiceImpl.java index 8135011c9..8be3c3f83 100644 --- a/src/main/java/com/glxp/api/service/system/impl/SyncDataSetServiceImpl.java +++ b/src/main/java/com/glxp/api/service/sync/impl/SyncDataSetServiceImpl.java @@ -1,11 +1,11 @@ -package com.glxp.api.service.system.impl; +package com.glxp.api.service.sync.impl; import com.glxp.api.dao.system.SyncDataSetDao; import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.res.system.SyncDataSetResponse; -import com.glxp.api.service.system.SyncDataBustypeService; -import com.glxp.api.service.system.SyncDataSetService; +import com.glxp.api.service.sync.SyncDataBustypeService; +import com.glxp.api.service.sync.SyncDataSetService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrCorpsDlService.java b/src/main/java/com/glxp/api/service/thrsys/ThrCorpsDlService.java index f05c9804d..aee1de9c1 100644 --- a/src/main/java/com/glxp/api/service/thrsys/ThrCorpsDlService.java +++ b/src/main/java/com/glxp/api/service/thrsys/ThrCorpsDlService.java @@ -15,14 +15,12 @@ import com.glxp.api.http.HttpOkClient; import com.glxp.api.req.thrsys.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.thrsys.ThrCorpsResponse; -import com.glxp.api.res.thrsys.ThrProductsResponse; import com.glxp.api.service.auth.CustomerService; -import com.glxp.api.service.system.SyncDataSetService; +import com.glxp.api.service.sync.SyncDataSetService; import com.glxp.api.util.CustomUtil; import com.glxp.api.util.ExcelUtil; import com.glxp.api.util.RedisUtil; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrOrdersDlService.java b/src/main/java/com/glxp/api/service/thrsys/ThrOrdersDlService.java index d3627f0e2..3015b0833 100644 --- a/src/main/java/com/glxp/api/service/thrsys/ThrOrdersDlService.java +++ b/src/main/java/com/glxp/api/service/thrsys/ThrOrdersDlService.java @@ -16,7 +16,7 @@ import com.glxp.api.req.thrsys.PostThrOrderRequest; import com.glxp.api.req.thrsys.ThrOrderExportRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.thrsys.ThrOrderResponse; -import com.glxp.api.service.system.SyncDataSetService; +import com.glxp.api.service.sync.SyncDataSetService; import com.glxp.api.util.RedisUtil; import org.springframework.beans.BeanUtils; import org.springframework.scheduling.annotation.Async; diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrProductsDlService.java b/src/main/java/com/glxp/api/service/thrsys/ThrProductsDlService.java index a4f7ffbb0..a2e211d1f 100644 --- a/src/main/java/com/glxp/api/service/thrsys/ThrProductsDlService.java +++ b/src/main/java/com/glxp/api/service/thrsys/ThrProductsDlService.java @@ -17,7 +17,7 @@ import com.glxp.api.req.thrsys.PostThrProductsRequest; import com.glxp.api.req.thrsys.ThrProductsExportRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.thrsys.ThrProductsResponse; -import com.glxp.api.service.system.SyncDataSetService; +import com.glxp.api.service.sync.SyncDataSetService; import org.springframework.beans.BeanUtils; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/glxp/api/task/CleanLogTask.java b/src/main/java/com/glxp/api/task/CleanLogTask.java index f516ba109..a43c1d17b 100644 --- a/src/main/java/com/glxp/api/task/CleanLogTask.java +++ b/src/main/java/com/glxp/api/task/CleanLogTask.java @@ -67,6 +67,9 @@ public class CleanLogTask implements SchedulingConfigurer { ScheduledRequest scheduledRequest = new ScheduledRequest(); scheduledRequest.setCronName("clean_log_task"); ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + if (scheduledEntity == null) { + return null; + } String cron = scheduledEntity.getCron(); if (StrUtil.isBlank(cron)) { log.error("清理日志定时任务参数未配置"); diff --git a/src/main/resources/mybatis/mapper/system/SyncDataBustypeDao.xml b/src/main/resources/mybatis/mapper/system/SyncDataBustypeDao.xml index 2b1f7a961..afc68a6df 100644 --- a/src/main/resources/mybatis/mapper/system/SyncDataBustypeDao.xml +++ b/src/main/resources/mybatis/mapper/system/SyncDataBustypeDao.xml @@ -1,9 +1,7 @@ - - - + + SELECT * + FROM sync_data_purtype + + + + + DELETE + FROM sync_data_purtype + + + + insert INTO sync_data_purtype + (`action`, `name`, orderStatus) + values + + + (#{item.action}, #{item.name}, + #{item.orderStatus}) + + + diff --git a/src/main/resources/mybatis/mapper/system/SyncUploadDataBustypeDao.xml b/src/main/resources/mybatis/mapper/system/SyncUploadDataBustypeDao.xml index 4f226adb3..21a4a1cfb 100644 --- a/src/main/resources/mybatis/mapper/system/SyncUploadDataBustypeDao.xml +++ b/src/main/resources/mybatis/mapper/system/SyncUploadDataBustypeDao.xml @@ -32,4 +32,4 @@ - \ No newline at end of file + diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index 7602997df..09bb0e327 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -94,6 +94,6 @@ CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255)', 1); INSERT ignore INTO `sys_param_config`(`id`, `parentId`, `paramName`, `paramKey`, `paramValue`, `paramStatus`, `paramType`, `paramExplain`) VALUES (20040, 0, '允许送货单直接入库变更库存', 'deliveryInstock', '0', 1, 0, '0:否;1:是'); - +CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'orderStatus', 'tinyint', 1);