新增业务单据同步

master
anthonywj 2 years ago
parent 1569560f5f
commit adc2bae64b

@ -255,4 +255,8 @@ public class Constant {
public static final String ORDER_ACTION_SUP_DELIVERY = "supDelivery"; public static final String ORDER_ACTION_SUP_DELIVERY = "supDelivery";
public static final String ORDER_ACTION_SUP_INVOICE = "supInvoice"; public static final String ORDER_ACTION_SUP_INVOICE = "supInvoice";
} }

@ -221,6 +221,7 @@ public class ConstantStatus {
public static final String SYNC_BASIC_DATA = "AutoUploadAllData"; public static final String SYNC_BASIC_DATA = "AutoUploadAllData";
public static final String SYNC_BUS_TYPE = "AutoUploadBusType"; public static final String SYNC_BUS_TYPE = "AutoUploadBusType";
public static final String SYNC_SCAN_ORDER = "AutoUploadOrder"; 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"; public static final String SYNC_DOWNLOAD_BASIC_DATA = "AutoDownloadAllData";
@ -282,4 +283,12 @@ public class ConstantStatus {
public static final String BUS_ORDER_CGDD = "CGDD"; 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;
} }

@ -16,7 +16,7 @@ import com.glxp.api.res.basic.UdiRelevanceExportJsonResponse;
import com.glxp.api.service.basic.BasicCorpExportLogService; import com.glxp.api.service.basic.BasicCorpExportLogService;
import com.glxp.api.service.basic.BasicCorpService; import com.glxp.api.service.basic.BasicCorpService;
import com.glxp.api.service.basic.BasicProductsExportLogService; 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 com.glxp.api.util.ExcelUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;

@ -6,8 +6,8 @@ import com.glxp.api.constant.Constant;
import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.entity.system.SyncDataBustypeEntity;
import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.entity.system.SyncDataSetEntity;
import com.glxp.api.res.system.SyncDataSetResponse; import com.glxp.api.res.system.SyncDataSetResponse;
import com.glxp.api.service.system.SyncDataBustypeService; import com.glxp.api.service.sync.SyncDataBustypeService;
import com.glxp.api.service.system.SyncDataSetService; import com.glxp.api.service.sync.SyncDataSetService;
import com.glxp.api.util.RedisUtil; import com.glxp.api.util.RedisUtil;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;

@ -1,4 +1,4 @@
package com.glxp.api.dao.system; package com.glxp.api.dao.sync;
import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.entity.system.SyncDataBustypeEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

@ -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<SyncDataPurTypeEntity> findAll();
boolean deleteAll();
void inserts(@Param("syncDataPurTypeEntities") List<SyncDataPurTypeEntity> syncDataPurTypeEntities);
}

@ -2,6 +2,9 @@ package com.glxp.api.entity.system;
import lombok.Data; import lombok.Data;
/**
*
*/
@Data @Data
public class SyncDataBustypeEntity { public class SyncDataBustypeEntity {
@ -9,5 +12,5 @@ public class SyncDataBustypeEntity {
private String action; private String action;
private String name; private String name;
private boolean outChange; private boolean outChange;
private Integer orderStatus; //单据状态
} }

@ -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;
}

@ -12,8 +12,9 @@ import com.glxp.api.req.sync.BasicExportStatusRequest;
import com.glxp.api.req.sync.OrderStatusFilterRequest; import com.glxp.api.req.sync.OrderStatusFilterRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.sync.DlOrderResponse; 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.res.sync.SpsSyncOrderResponse;
import com.glxp.api.service.system.SyncDataSetService; import com.glxp.api.service.sync.SyncDataSetService;
import com.glxp.api.util.OkHttpCli; import com.glxp.api.util.OkHttpCli;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -39,7 +40,16 @@ public class SpGetHttpClient {
public BaseResponse<String> postAllOrder(SpsSyncOrderResponse spsSyncOrderResponse) { public BaseResponse<String> postAllOrder(SpsSyncOrderResponse spsSyncOrderResponse) {
String json = JSONUtil.toJsonStr(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<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
public BaseResponse<String> postAllBusOrder(SpsSyncBusOrderResponse spsSyncOrderResponse) {
String json = JSONUtil.toJsonStr(spsSyncOrderResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/busOrderApi/sps/sync/busOrder/upload", json);
BaseResponse<String> response = BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() { JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
}); });

@ -7,7 +7,7 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.entity.system.SyncDataSetEntity;
import com.glxp.api.req.inout.PostOrderRequest; 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 com.glxp.api.util.OkHttpCli;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

@ -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<PurOrderEntity> purOrderEntities;
private List<PurOrderDetailEntity> purOrderDetailEntities;
}

@ -1,6 +1,7 @@
package com.glxp.api.res.system; package com.glxp.api.res.system;
import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.entity.system.SyncDataBustypeEntity;
import com.glxp.api.entity.system.SyncDataPurTypeEntity;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
@ -29,6 +30,7 @@ public class SyncDataSetResponse {
private boolean sysUser; private boolean sysUser;
private List<SyncDataBustypeEntity> busTypes; private List<SyncDataBustypeEntity> busTypes;
private List<SyncDataPurTypeEntity> purTypeEntities;
private String orderSyncStart; private String orderSyncStart;
private String basicSyncStart; private String basicSyncStart;

@ -14,6 +14,8 @@ public interface IoOrderService {
List<IoOrderEntity> selectAll(); List<IoOrderEntity> selectAll();
List<IoOrderEntity> findByStatus(String action, Integer status);
List<IoOrderEntity> findAll(FilterOrderRequest filterOrderRequest); List<IoOrderEntity> findAll(FilterOrderRequest filterOrderRequest);
List<IoOrderEntity> isExitRepeat(String corpOrderId, String billNo); List<IoOrderEntity> isExitRepeat(String corpOrderId, String billNo);

@ -101,6 +101,12 @@ public class IoOrderServiceImpl implements IoOrderService {
return orderDao.selectList(); return orderDao.selectList();
} }
@Override
public List<IoOrderEntity> findByStatus(String action, Integer status) {
return orderDao.selectList(new QueryWrapper<IoOrderEntity>().eq("action", action).eq("status", status));
}
@Override @Override
public List<IoOrderEntity> findAll(FilterOrderRequest filterOrderRequest) { public List<IoOrderEntity> findAll(FilterOrderRequest filterOrderRequest) {
QueryWrapper<IoOrderEntity> queryWrapper = new QueryWrapper<IoOrderEntity>() QueryWrapper<IoOrderEntity> queryWrapper = new QueryWrapper<IoOrderEntity>()

@ -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.PurOrderEntity;
import com.glxp.api.entity.purchase.PurPlanEntity; import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.PurOrderRequest; import com.glxp.api.req.purchase.PurOrderRequest;
@ -15,6 +16,8 @@ public interface PurOrderService {
List<PurOrderResponse> queryPageList(PurOrderRequest purOrderRequest); List<PurOrderResponse> queryPageList(PurOrderRequest purOrderRequest);
List<PurOrderEntity> findByStatus(String billType, Integer status);
Boolean insert(PurOrderEntity purOrderEntity); Boolean insert(PurOrderEntity purOrderEntity);
Boolean update(PurOrderEntity purOrderEntity); Boolean update(PurOrderEntity purOrderEntity);

@ -1,8 +1,10 @@
package com.glxp.api.service.purchase.impl; package com.glxp.api.service.purchase.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.purchase.PurOrderDao; import com.glxp.api.dao.purchase.PurOrderDao;
import com.glxp.api.dao.purchase.PurPlanDao; 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.PurOrderEntity;
import com.glxp.api.entity.purchase.PurPlanEntity; import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.PurOrderRequest; import com.glxp.api.req.purchase.PurOrderRequest;
@ -39,23 +41,28 @@ public class PurOrderServiceImpl implements PurOrderService {
return data; return data;
} }
@Override
public List<PurOrderEntity> findByStatus(String billType, Integer status) {
return purOrderDao.selectList(new QueryWrapper<PurOrderEntity>().eq("billType", billType).eq("status", status));
}
@Override @Override
public Boolean insert(PurOrderEntity purOrderEntity) { public Boolean insert(PurOrderEntity purOrderEntity) {
return purOrderDao.insert(purOrderEntity)>0 ? true:false; return purOrderDao.insert(purOrderEntity) > 0 ? true : false;
} }
@Override @Override
public Boolean update(PurOrderEntity purOrderEntity) { public Boolean update(PurOrderEntity purOrderEntity) {
return purOrderDao.updateById(purOrderEntity)>0 ? true:false; return purOrderDao.updateById(purOrderEntity) > 0 ? true : false;
} }
@Override @Override
public Boolean deleteByIds(List<Integer> ids) { public Boolean deleteByIds(List<Integer> ids) {
return purOrderDao.deleteBatchIds(ids)>0 ? true:false; return purOrderDao.deleteBatchIds(ids) > 0 ? true : false;
} }
@Override @Override
public Boolean deleteById(long id) { public Boolean deleteById(long id) {
return purOrderDao.deleteById(id)>0 ? true:false; return purOrderDao.deleteById(id) > 0 ? true : false;
} }
} }

@ -14,6 +14,7 @@ import com.glxp.api.entity.sync.BasicExportStatusEntity;
import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity;
import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.http.sync.SpGetHttpClient;
import com.glxp.api.req.sync.SpsSyncDataRequest; 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.res.sync.SpsSyncOrderResponse;
import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.util.CustomUtil; import com.glxp.api.util.CustomUtil;
@ -105,6 +106,64 @@ public class HeartService {
return ResultVOUtils.success(); 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<String> 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() { public void dlAllOrder() {
BaseResponse<List<BasicExportStatusEntity>> baseResponse = spGetHttp.getBasicStatus(BasicProcessStatus.NEW_ALL_ORDER + ""); BaseResponse<List<BasicExportStatusEntity>> baseResponse = spGetHttp.getBasicStatus(BasicProcessStatus.NEW_ALL_ORDER + "");
List<BasicExportStatusEntity> pageSimpleResponse = baseResponse.getData(); List<BasicExportStatusEntity> pageSimpleResponse = baseResponse.getData();

@ -1,4 +1,4 @@
package com.glxp.api.service.system; package com.glxp.api.service.sync;
import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.entity.system.SyncDataBustypeEntity;

@ -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<SyncDataPurTypeEntity> findAll();
boolean deleteAll();
void inserts(List<SyncDataPurTypeEntity> syncDataPurTypeEntities);
}

@ -1,4 +1,4 @@
package com.glxp.api.service.system; package com.glxp.api.service.sync;
import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.entity.system.SyncDataSetEntity;

@ -2,89 +2,32 @@ package com.glxp.api.service.sync;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.glxp.api.constant.ConstantStatus; 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.inout.*;
import com.glxp.api.entity.purchase.SupCertEntity; import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.SupCompanyEntity; import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.entity.purchase.SupManufacturerEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.entity.system.SyncDataBustypeEntity;
import com.glxp.api.entity.thrsys.*; import com.glxp.api.entity.system.SyncDataPurTypeEntity;
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.req.inout.FilterOrderRequest; 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.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.sync.SpsSyncOrderResponse;
import com.glxp.api.res.system.SyncDataSetResponse; 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.inout.*;
import com.glxp.api.service.purchase.SupCertService; import com.glxp.api.service.purchase.PurOrderDetailService;
import com.glxp.api.service.purchase.SupCompanyService; import com.glxp.api.service.purchase.PurOrderService;
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 org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
@Service @Service
public class UpBasicService { 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 @Resource
SyncDataSetService syncDataSetService; 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; IoOrderDetailCodeService orderDetailCodeService;
@Resource @Resource
IoOrderDetailResultService orderDetailResultService; IoOrderDetailResultService orderDetailResultService;
@Resource
PurOrderService purOrderService;
@Resource
PurOrderDetailService purOrderDetailService;
public SpsSyncOrderResponse upAllOrder(SpsSyncDataRequest spsSyncDataRequest) { public SpsSyncOrderResponse upAllOrder(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncOrderResponse syncOrderResponse = new SpsSyncOrderResponse(); SpsSyncOrderResponse syncOrderResponse = new SpsSyncOrderResponse();
//查询数据同步设置 //查询数据同步设置
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet(); SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
List<IoOrderEntity> orderEntities = new ArrayList<>(); List<IoOrderEntity> orderEntities = new ArrayList<>();
FilterOrderRequest orderFilterRequest = new FilterOrderRequest();
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
//待校验 if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) {
if (syncDataSetEntity.isOrderUnCheck()) { for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) {
FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); List<IoOrderEntity> temps = orderService.findByStatus(syncDataBustypeEntity.getAction(), syncDataBustypeEntity.getOrderStatus());
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); if (CollUtil.isNotEmpty(temps)) {
orderEntities.addAll(temps);
if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) {
for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) {
List<String> filterList = new ArrayList<>();
filterList.add(syncDataBustypeEntity.getAction());
orderFilterRequest.setActions(filterList);
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
List<IoOrderEntity> 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<String> filterList = new ArrayList<>();
filterList.add(syncDataBustypeEntity.getAction());
orderFilterRequest.setActions(filterList);
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS);
List<IoOrderEntity> 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<String> filterList = new ArrayList<>();
filterList.add(syncDataBustypeEntity.getAction());
orderFilterRequest.setActions(filterList);
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
List<IoOrderEntity> 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<String> filterList = new ArrayList<>();
filterList.add(syncDataBustypeEntity.getAction());
orderFilterRequest.setActions(filterList);
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
List<IoOrderEntity> temps = orderService.filterOrderList(orderFilterRequest);
if (CollUtil.isNotEmpty(temps)) {
orderEntities.addAll(temps);
}
} }
} }
} }
syncOrderResponse.setOrderEntities(orderEntities); syncOrderResponse.setOrderEntities(orderEntities);
List<IoCodeEntity> codeEntities = new ArrayList<>(); List<IoCodeEntity> codeEntities = new ArrayList<>();
List<IoOrderDetailBizEntity> orderDetailBizEntities = new ArrayList<>(); List<IoOrderDetailBizEntity> orderDetailBizEntities = new ArrayList<>();
@ -215,10 +92,42 @@ public class UpBasicService {
} }
} }
} }
syncOrderResponse.setOrderDetailBizEntities(orderDetailBizEntities); syncOrderResponse.setOrderDetailBizEntities(orderDetailBizEntities);
syncOrderResponse.setOrderDetailCodeEntities(orderDetailCodeEntities); syncOrderResponse.setOrderDetailCodeEntities(orderDetailCodeEntities);
syncOrderResponse.setOrderDetailResultEntities(orderDetailResultEntities); syncOrderResponse.setOrderDetailResultEntities(orderDetailResultEntities);
return syncOrderResponse; return syncOrderResponse;
} }
public SpsSyncBusOrderResponse upAllBusOrder(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncBusOrderResponse syncOrderResponse = new SpsSyncBusOrderResponse();
//查询数据同步设置
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
List<PurOrderEntity> 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<PurOrderEntity> temps = purOrderService.findByStatus(syncDataBustypeEntity.getAction(), syncDataBustypeEntity.getOrderStatus());
if (CollUtil.isNotEmpty(temps)) {
purOrderEntities.addAll(temps);
}
}
}
}
syncOrderResponse.setPurOrderEntities(purOrderEntities);
List<PurOrderDetailEntity> purOrderDetailEntities = new ArrayList<>();
if (CollUtil.isNotEmpty(purOrderEntities)) {
for (PurOrderEntity orderEntity : purOrderEntities) {
List<PurOrderDetailEntity> detailResultEntities = purOrderDetailService.findByOrderId(orderEntity.getBillNo());
if (CollUtil.isNotEmpty(detailResultEntities)) {
purOrderDetailEntities.addAll(detailResultEntities);
}
}
}
syncOrderResponse.setPurOrderDetailEntities(purOrderDetailEntities);
return syncOrderResponse;
}
} }

@ -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.entity.system.SyncDataBustypeEntity;
import com.glxp.api.service.system.SyncDataBustypeService; import com.glxp.api.service.sync.SyncDataBustypeService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;

@ -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<SyncDataPurTypeEntity> findAll() {
return syncDataPurtypeDao.findAll();
}
@Override
public boolean deleteAll() {
return syncDataPurtypeDao.deleteAll();
}
@Override
public void inserts(List<SyncDataPurTypeEntity> syncDataPurTypeEntities) {
syncDataPurtypeDao.inserts(syncDataPurTypeEntities);
}
}

@ -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.dao.system.SyncDataSetDao;
import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.entity.system.SyncDataBustypeEntity;
import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.entity.system.SyncDataSetEntity;
import com.glxp.api.res.system.SyncDataSetResponse; import com.glxp.api.res.system.SyncDataSetResponse;
import com.glxp.api.service.system.SyncDataBustypeService; import com.glxp.api.service.sync.SyncDataBustypeService;
import com.glxp.api.service.system.SyncDataSetService; import com.glxp.api.service.sync.SyncDataSetService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

@ -15,14 +15,12 @@ import com.glxp.api.http.HttpOkClient;
import com.glxp.api.req.thrsys.*; import com.glxp.api.req.thrsys.*;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.thrsys.ThrCorpsResponse; 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.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.CustomUtil;
import com.glxp.api.util.ExcelUtil; import com.glxp.api.util.ExcelUtil;
import com.glxp.api.util.RedisUtil; import com.glxp.api.util.RedisUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

@ -16,7 +16,7 @@ import com.glxp.api.req.thrsys.PostThrOrderRequest;
import com.glxp.api.req.thrsys.ThrOrderExportRequest; import com.glxp.api.req.thrsys.ThrOrderExportRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.thrsys.ThrOrderResponse; 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 com.glxp.api.util.RedisUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;

@ -17,7 +17,7 @@ import com.glxp.api.req.thrsys.PostThrProductsRequest;
import com.glxp.api.req.thrsys.ThrProductsExportRequest; import com.glxp.api.req.thrsys.ThrProductsExportRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.thrsys.ThrProductsResponse; 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.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

@ -67,6 +67,9 @@ public class CleanLogTask implements SchedulingConfigurer {
ScheduledRequest scheduledRequest = new ScheduledRequest(); ScheduledRequest scheduledRequest = new ScheduledRequest();
scheduledRequest.setCronName("clean_log_task"); scheduledRequest.setCronName("clean_log_task");
ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest);
if (scheduledEntity == null) {
return null;
}
String cron = scheduledEntity.getCron(); String cron = scheduledEntity.getCron();
if (StrUtil.isBlank(cron)) { if (StrUtil.isBlank(cron)) {
log.error("清理日志定时任务参数未配置"); log.error("清理日志定时任务参数未配置");

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.dao.system.SyncDataBustypeDao"> <mapper namespace="com.glxp.api.dao.sync.SyncDataBustypeDao">
<select id="findAll" <select id="findAll"
resultType="com.glxp.api.entity.system.SyncDataBustypeEntity"> resultType="com.glxp.api.entity.system.SyncDataBustypeEntity">
SELECT * SELECT *
@ -18,16 +16,13 @@
<insert id="inserts" parameterType="com.glxp.api.entity.system.SyncDataBustypeEntity"> <insert id="inserts" parameterType="com.glxp.api.entity.system.SyncDataBustypeEntity">
insert INTO sync_data_bustypes insert INTO sync_data_bustypes
( `action`, `name`, outChange) (`action`, `name`, outChange, orderStatus)
values values
<foreach collection="syncDataBustypeEntities" item="item" index="index" <foreach collection="syncDataBustypeEntities" item="item" index="index"
separator=","> separator=",">
( (#{item.action}, #{item.name},
#{item.action}, #{item.name}, #{item.outChange}, #{item.orderStatus})
#{item.outChange})
</foreach> </foreach>
</insert> </insert>
</mapper>
</mapper>

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.dao.sync.SyncDataBustypeDao">
<select id="findAll"
resultType="com.glxp.api.entity.system.SyncDataPurTypeEntity">
SELECT *
FROM sync_data_purtype
</select>
<delete id="deleteAll">
DELETE
FROM sync_data_purtype
</delete>
<insert id="inserts" parameterType="com.glxp.api.entity.system.SyncDataPurTypeEntity">
insert INTO sync_data_purtype
(`action`, `name`, orderStatus)
values
<foreach collection="syncDataPurTypeEntities" item="item" index="index"
separator=",">
(#{item.action}, #{item.name},
#{item.orderStatus})
</foreach>
</insert>
</mapper>

@ -32,4 +32,4 @@
<select id="selectCountByAction" resultType="int"> <select id="selectCountByAction" resultType="int">
select count(*) from thr_order_upload_bustypes where action = #{action} select count(*) from thr_order_upload_bustypes where action = #{action}
</select> </select>
</mapper> </mapper>

@ -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`, INSERT ignore INTO `sys_param_config`(`id`, `parentId`, `paramName`, `paramKey`, `paramValue`, `paramStatus`,
`paramType`, `paramExplain`) `paramType`, `paramExplain`)
VALUES (20040, 0, '允许送货单直接入库变更库存', 'deliveryInstock', '0', 1, 0, '01'); VALUES (20040, 0, '允许送货单直接入库变更库存', 'deliveryInstock', '0', 1, 0, '01');
CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'orderStatus', 'tinyint', 1);

Loading…
Cancel
Save