Merge remote-tracking branch 'origin/master'

master
chengqf 2 years ago
commit 3625d3fcc8

@ -25,8 +25,8 @@ public class BasicProcessStatus {
public static final int BASIC_THIRD_PRODUCTS = 4; //往来单位
public static final int BASIC_THIRD_CORP = 5; //往来单位
public static final int BASIC_THIRD_ORDER = 6; //往来单位
public static final int NEW_ALL_DATA = 7; //所有最新数据
public static final int NEW_ALL_BUS = 8;
public static final String NEW_ALL_DATA = "7"; //所有最新数据
public static final String NEW_ALL_BUS = "8";
public static final String NEW_ALL_ORDER = "9";
public static final String ALL_BUS_ORDER = "11";
public static final int NEW_ALL_DI = 10;

@ -18,16 +18,20 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.http.sync.SpGetHttpClient;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inout.ReviewFinishRequest;
import com.glxp.api.req.inout.ReviewSpmsRequest;
import com.glxp.api.req.inout.UpdateExportStatusRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.AcceptOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.res.sync.SpsSyncOrderResponse;
import com.glxp.api.service.auth.AuthAdminService;
import com.glxp.api.service.basic.EntrustReceService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.sync.HeartService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.GennerOrderUtils;
@ -372,6 +376,7 @@ public class IoOrderReviewController extends BaseController {
return false;
}
//前端页面清空,重新验收
@AuthRuleAnnotation("")
@PostMapping("/udiwms/stock/order/acceptClear")
public BaseResponse acceptClear(@RequestBody AcceptOrderResponse acceptOrderEntity) {
@ -394,6 +399,13 @@ public class IoOrderReviewController extends BaseController {
orderService.update(orderEntity);
redisUtil.del(ConstantStatus.REDIS_BILLNO + orderEntity.getBillNo());
redisUtil.del(ConstantStatus.REDIS_BILLNO_CODES + orderEntity.getBillNo());
if (orderEntity.getFromType() == ConstantStatus.FROM_UDISP) {
ReviewFinishRequest reviewFinishRequest = new ReviewFinishRequest();
reviewFinishRequest.setOrderId(orderEntity.getBillNo());
spGetHttp.reviewOrder(reviewFinishRequest);
}
//验收完成->进入流程
ioCheckInoutService.checkSecond(orderEntity);
return ResultVOUtils.success("更新成功");
@ -414,4 +426,66 @@ public class IoOrderReviewController extends BaseController {
return ResultVOUtils.success("更新成功");
}
@Resource
HeartService heartService;
@Resource
SpGetHttpClient spGetHttp;
// 新增扫码验收单,本地不存在拉去自助平台待验收单
@AuthRuleAnnotation("")
@PostMapping("/udiwms/order/reviewSpms")
public BaseResponse reviewSpms(@RequestBody ReviewSpmsRequest reviewSpmsRequest) {
String billNo = reviewSpmsRequest.getBillNo();
if (StrUtil.isEmpty(reviewSpmsRequest.getBillNo())) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
AcceptOrderResponse acceptOrderEntity = new AcceptOrderResponse();
acceptOrderEntity.setBillNo(billNo);
List<IoOrderDetailResultResponse> datas = (List<IoOrderDetailResultResponse>) redisUtil.get(ConstantStatus.REDIS_BILLNO + billNo);
if (CollUtil.isNotEmpty(datas)) {
acceptOrderEntity.setOrderDetailEntities(datas);
acceptOrderEntity.setExitAccept(true);
} else {
FilterOrderDetailResultRequest filterOrderDetailResultRequest = new FilterOrderDetailResultRequest();
filterOrderDetailResultRequest.setOrderIdFk(billNo);
List<IoOrderDetailResultResponse> orderDetailResultResponses = orderDetailResultService.filterList(filterOrderDetailResultRequest);
//本地已存在,则直接返回
if (CollUtil.isNotEmpty(orderDetailResultResponses)) {
acceptOrderEntity.setOrderDetailEntities(orderDetailResultResponses);
acceptOrderEntity.setExitAccept(false);
} else {
//获取自助平台待审核单据,并插入到数据库
BaseResponse<SpsSyncOrderResponse> baseResponse = spGetHttp.getReviewOrder(reviewSpmsRequest);
if (baseResponse.getCode() == 20000) {
SpsSyncOrderResponse spsSyncOrderResponse = baseResponse.getData();
List<IoOrderEntity> orderEntities = spsSyncOrderResponse.getOrderEntities();
if (CollUtil.isNotEmpty(orderEntities)) {
IoOrderEntity orderEntity = orderEntities.get(0);
orderEntity.setUpdateTime(null);
orderEntity.setFromType(ConstantStatus.FROM_UDISP);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo());
if (temp == null) {
orderEntity.setId(null);
orderService.insertOrder(orderEntity);
heartService.insetOrderDb(spsSyncOrderResponse, orderEntity);
}
FilterOrderDetailResultRequest tempRequest = new FilterOrderDetailResultRequest();
tempRequest.setOrderIdFk(billNo);
List<IoOrderDetailResultResponse> detailResultResponses = orderDetailResultService.filterList(tempRequest);
if (CollUtil.isNotEmpty(detailResultResponses)) {
acceptOrderEntity.setOrderDetailEntities(detailResultResponses);
acceptOrderEntity.setExitAccept(false);
}
}
} else {
return ResultVOUtils.error(500, baseResponse.getMessage());
}
}
}
return ResultVOUtils.success(acceptOrderEntity);
}
}

@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Date;
import java.util.List;
@RestController
@ -57,12 +58,18 @@ public class SyncDataSetController {
) {
SyncDataSetEntity syncDataSetEntity = new SyncDataSetEntity();
BeanUtils.copyProperties(syncDataSetResponse, syncDataSetEntity);
syncDataSetEntity.setUpdateTime(new Date());
syncDataSetEntity.setId(1);
List<SyncDataBustypeEntity> busTypes = syncDataSetResponse.getBusTypes();
syncDataBustypeService.deleteAll();
syncDataBustypeService.deleteAll(1);
if (CollUtil.isNotEmpty(busTypes))
syncDataBustypeService.inserts(busTypes);
syncDataSetEntity.setBusTypes(null);
List<SyncDataBustypeEntity> toInBusTypes = syncDataSetResponse.getToInBusTypes();
syncDataBustypeService.deleteAll(2);
if (CollUtil.isNotEmpty(toInBusTypes))
syncDataBustypeService.inserts(toInBusTypes);
if (CollUtil.isNotEmpty(syncDataSetResponse.getChangeBusTypes())) {
syncDataChangeBustypeService.deleteAll();

@ -2,6 +2,7 @@ package com.glxp.api.dao.auth;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity;
import com.glxp.api.req.auth.FilterInvSubWarehouseRequest;
import com.glxp.api.req.auth.FilterInvWarehouseRequest;
import com.glxp.api.res.auth.InvSubWarehouseResponse;
@ -95,4 +96,6 @@ public interface InvWarehouseDao extends BaseMapperPlus<InvWarehouseDao, InvWare
*/
String selectParentIdByCode(@Param("invCode") String invCode);
}

@ -1,17 +1,18 @@
package com.glxp.api.dao.sync;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.system.SyncDataBustypeEntity;
import com.glxp.api.entity.system.SyncDataChangeBustypesEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface SyncDataBustypeDao {
public interface SyncDataBustypeDao extends BaseMapper<SyncDataBustypeEntity> {
List<SyncDataBustypeEntity> findAll();
boolean deleteAll();
void inserts(@Param("syncDataBustypeEntities") List<SyncDataBustypeEntity> syncDataBustypeEntities);

@ -14,7 +14,7 @@ import java.util.List;
*
*/
@Mapper
public interface ThrBusTypeOriginDao extends BaseMapperPlus<ThrBusTypeOriginDao, ThrBusTypeOriginEntity, ThrBusTypeOriginResponse> {
public interface ThrBusTypeOriginDao extends BaseMapperPlus<ThrBusTypeOriginDao, ThrBusTypeOriginEntity, ThrBusTypeOriginEntity> {
/**
*
@ -47,4 +47,4 @@ public interface ThrBusTypeOriginDao extends BaseMapperPlus<ThrBusTypeOriginDao,
* @return
*/
String selectNameByAction(@Param("originAction") String originAction);
}
}

@ -1,16 +1,27 @@
package com.glxp.api.entity.system;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
*
*/
@Data
@TableName(value = "sync_data_bustypes")
public class SyncDataBustypeEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField(value = "`action`")
private String action;
@TableField(value = "`name`")
private String name;
@TableField(value = "`outChange`")
private boolean outChange;
@TableField(value = "`orderStatus`")
private Integer orderStatus; //单据状态
@TableField(value = "`direct`")
private int direct; //1:UDI管理系统->SPMS 2:SPMS->UDI管理系统
}

@ -2,45 +2,60 @@ package com.glxp.api.entity.system;
import lombok.Data;
import java.util.Date;
@Data
public class SyncDataSetEntity {
private Integer id;
private boolean typeBus; //业务单据类型
private boolean typeScan; //扫码单据类型
private boolean typeThird; //第三方单据类型
private boolean basicProducts; //耗材字典
private boolean basicCorp; //往来单位字典
private boolean basicDept; //部门字典
private boolean basicInv; //仓库字典
private boolean basicThirdProducts; //第三方产品信息
private boolean basicThirdCorp; //第三方往来信息
private boolean basicThirdInv; //第三方仓库信息
private boolean basicThirdBusOrder; //第三方业务单据
private boolean orderScanFinish; //已完成单据
private boolean dbDiProducts; //DI产品信息
private int typeBus; //业务单据类型
private int typeScan; //扫码单据类型
private int typeThird; //第三方单据类型
private int basicProducts; //耗材字典
private int basicCorp; //往来单位字典
private int basicDept; //部门字典
private int basicInv; //仓库字典
private int basicThirdProducts; //第三方产品信息
private int basicThirdCorp; //第三方往来信息
private int basicThirdInv; //第三方仓库信息
private int basicThirdBusOrder; //第三方业务单据
private int dbDiProducts; //DI产品信息
private boolean downstreamEnable; //上游是否联通
private Integer syncTime; //数据上传间隔时间
private Integer syncDownloadTime; //数据下载间隔时间
private boolean orderUnReceive; //未验收单据
private boolean orderUnCheck; //待校验单据
private String busTypes; //单据类型
private String syncIp;
private boolean sysUser;
private boolean entrustAction;
private int sysUser; //系统用户信息
private int entrustAction; //委托验收设置
private int systemConfig; //系统参数设置
private int printConfig; //打印设置
private int scanChangeConfig; //自动建出入库单设置
private int busChangeConfig; //自动建业务单设置
private int orderScanFinish; //已完成单据
private int orderUnReceive; //未验收单据
private int orderUnCheck; //待校验单据
private Integer orderSyncTime;
private Integer orderSyncDlTime;
private int supCert; //首营资质证书
private boolean unCheckCert;
private boolean checkedCert;
private boolean companyCert;
private boolean manufacturerCert;
private boolean productCert;
private String syncIp; //上级服务地址
private Integer orderSyncTime; //单据向外同步时间
private Integer orderSyncDlTime; //单据向内同步时间
private Integer orderToInSyncTime; //单据向内同步时间
private Integer delaySyncTime;
private int unCheckCert;
private int checkedCert;
private String busTypes;
private String orderSyncStart;
private String basicSyncStart;
private Date updateTime;
private int companyCert;
private int manufacturerCert;
private int productCert;
}

@ -8,12 +8,12 @@ import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.sync.BasicExportStatusEntity;
import com.glxp.api.entity.sync.IOOrderStatusEntity;
import com.glxp.api.entity.system.SyncDataSetEntity;
import com.glxp.api.req.inout.ReviewFinishRequest;
import com.glxp.api.req.inout.ReviewSpmsRequest;
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.res.sync.*;
import com.glxp.api.service.sync.SyncDataSetService;
import com.glxp.api.util.OkHttpCli;
import org.springframework.beans.factory.annotation.Value;
@ -49,6 +49,7 @@ public class SpGetHttpClient {
}
//上传扫码单据
public BaseResponse<String> postAllOrder(SpsSyncOrderResponse spsSyncOrderResponse) {
String json = JSONUtil.toJsonStr(spsSyncOrderResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/orderApi/sps/sync/order/upload", json, buildHeader());
@ -58,6 +59,7 @@ public class SpGetHttpClient {
return response;
}
//上传业务单据
public BaseResponse<String> postAllBusOrder(SpsSyncBusOrderResponse spsSyncOrderResponse) {
String json = JSONUtil.toJsonStr(spsSyncOrderResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/busOrderApi/sps/sync/busOrder/upload", json, buildHeader());
@ -68,6 +70,49 @@ public class SpGetHttpClient {
}
//上传单据类型
public BaseResponse<String> postAllBusType(SpsSyncBusResponse spsSyncBusResponse) {
String json = JSONUtil.toJsonStr(spsSyncBusResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/busType/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//上传单据类型
public BaseResponse<String> postAllUser(SpsSyncDataResponse syncDataResponse) {
String json = JSONUtil.toJsonStr(syncDataResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/allUser/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//获取自助平台验收单据---直连接口
public BaseResponse<SpsSyncOrderResponse> getReviewOrder(ReviewSpmsRequest reviewSpmsRequest) {
String json = JSONUtil.toJsonStr(reviewSpmsRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/udiwms/order/getReviews", json, buildHeader());
BaseResponse<SpsSyncOrderResponse> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<SpsSyncOrderResponse>>() {
});
return response;
}
//验收自助平台单据--直连接口
public BaseResponse<String> reviewOrder(ReviewFinishRequest reviewFinishRequest) {
String json = JSONUtil.toJsonStr(reviewFinishRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/spms/inout/order/web/updateStatus", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
public BaseResponse<PageSimpleResponse<IOOrderStatusEntity>> getOrderStatus() {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("status", 1 + "");

@ -0,0 +1,10 @@
package com.glxp.api.req.inout;
import lombok.Data;
@Data
public class ReviewSpmsRequest {
private String billNo;
}

@ -0,0 +1,19 @@
package com.glxp.api.res.sync;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity;
import lombok.Data;
import java.util.List;
@Data
public class SpsSyncBusResponse {
//同步任务ID
private String taskId;
private List<BasicBussinessTypeEntity> bussinessTypeEntities;
private List<BasicBusTypeChangeEntity> busTypeChangeEntities;
private List<ThrBusTypeOriginEntity> thrBusTypeOriginEntities;
}

@ -0,0 +1,33 @@
package com.glxp.api.res.sync;
import com.glxp.api.entity.auth.*;
import lombok.Data;
import java.util.List;
@Data
public class SpsSyncDataResponse {
//同步任务ID
private String taskId;
//用户信息
List<AuthAdmin> authAdminList;
List<InvBusUserEntity> invBusUserEntities;
//部门信息
List<DeptEntity> deptEntityList;
List<DeptUserEntity> deptUserEntities;
//仓库相关
List<InvWarehouseEntity> invWarehouseEntities;
List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities;
List<WarehouseUserEntity> warehouseUserEntities;
//货位信息
List<InvSpace> invSpaces;
}

@ -10,42 +10,47 @@ import java.util.List;
@Data
public class SyncDataSetResponse {
private Integer id;
private boolean typeBus;
private boolean typeScan;
private boolean typeThird;
private boolean basicProducts;
private boolean basicCorp;
private boolean basicInv;
private boolean basicDept;
private boolean basicThirdProducts;
private boolean basicThirdCorp;
private boolean basicThirdInv;
private boolean basicThirdBusOrder;
private boolean dbDiProducts;
private int typeBus; //0:不传输1:由内向外2:由外向内
private int typeScan;
private int typeThird;
private int basicProducts;
private int basicCorp;
private int basicInv;
private int basicDept;
private int basicThirdProducts;
private int basicThirdCorp;
private int basicThirdInv;
private int basicThirdBusOrder;
private int dbDiProducts;
private boolean downstreamEnable;
private boolean orderScanFinish;
private boolean orderUnReceive;
private boolean orderUnCheck;
private int orderScanFinish;
private int orderUnReceive;
private int orderUnCheck;
private Integer syncTime;
private String syncIp;
private Integer syncDownloadTime; //定时下载时间
private boolean sysUser;
private int sysUser;
private List<SyncDataBustypeEntity> busTypes; //扫码单据类型
private List<SyncDataChangeBustypesEntity> changeBusTypes; //业务单据类型
// private List<SyncDataPurTypeEntity> purTypeEntities;
private List<SyncDataBustypeEntity> busTypes; //UDI管理系统->SPMS单据类型
private List<SyncDataBustypeEntity> toInBusTypes; //SPMS->UDI管理系统单据类型
private List<SyncDataChangeBustypesEntity> changeBusTypes; //UDI管理系统->业务单据类型
private String orderSyncStart;
private String basicSyncStart;
private boolean entrustAction;
private Integer orderSyncTime;
private Integer orderSyncDlTime;
private int systemConfig;
private int entrustAction;
private int printConfig;
private int scanChangeConfig;
private int busChangeConfig;
private Integer orderSyncTime; //单据向外同步时间
private Integer orderToInSyncTime; //单据向内同步时间
private Integer orderSyncDlTime; //单据向外下载时间
private Integer delaySyncTime;
private int supCert;
private boolean unCheckCert;
private boolean checkedCert;
private boolean companyCert;
private boolean manufacturerCert;
private boolean productCert;
private int unCheckCert;
private int checkedCert;
private int companyCert;
private int manufacturerCert;
private int productCert;
}

@ -7,6 +7,7 @@ import com.glxp.api.res.auth.InvSubWarehouseResponse;
import com.glxp.api.res.auth.InvWarehouseThirdSysResponse;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
public interface InvWarehouseService {
@ -82,5 +83,8 @@ public interface InvWarehouseService {
* @return
*/
List<InvWarehouseEntity> findInvListByUser(FilterInvWarehouseRequest filterInvWarehouseRequest);
String selectParentIdByCode( String invCode);
String selectParentIdByCode(String invCode);
List<InvWarehouseEntity> findByLastTime(Date lastUpdateTime);
}

@ -3,10 +3,12 @@ package com.glxp.api.service.auth.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.auth.InvWarehouseDao;
import com.glxp.api.dao.thrsys.ThrSystemDao;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.req.auth.FilterInvSubWarehouseRequest;
import com.glxp.api.req.auth.FilterInvWarehouseRequest;
@ -20,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@Service
@ -231,4 +234,9 @@ public class InvWarehouseServiceImpl implements InvWarehouseService {
public String selectParentIdByCode(String invCode) {
return invWarehouseDao.selectParentIdByCode(invCode);
}
@Override
public List<InvWarehouseEntity> findByLastTime(Date lastUpdateTime) {
return invWarehouseDao.selectList(new QueryWrapper<InvWarehouseEntity>().gt("updateTime", lastUpdateTime));
}
}

@ -1,9 +1,11 @@
package com.glxp.api.service.basic;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.req.basic.FilterBusTypeChangeRequest;
import com.glxp.api.res.basic.BasicBusTypeChangeResponse;
import java.util.Date;
import java.util.List;
/**
@ -51,4 +53,7 @@ public interface IBasicBusTypeChangeService {
* @return
*/
boolean verifyExists(BasicBusTypeChangeEntity basicBusTypeChangeEntity);
List<BasicBusTypeChangeEntity> findByLastTime(Date lastUpdateTime);
}

@ -4,6 +4,7 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.req.basic.FilterBussinessTypeRequest;
import com.glxp.api.res.basic.BasicBussinessTypeResponse;
import java.util.Date;
import java.util.List;
/**
@ -118,4 +119,6 @@ public interface IBasicBussinessTypeService {
List<BasicBussinessTypeEntity> findByVueType(String vueType);
List<BasicBussinessTypeEntity> selectbyNotAction(List<String> list);
List<BasicBussinessTypeEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.BasicBusTypeChangeDao;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.req.basic.FilterBusTypeChangeRequest;
import com.glxp.api.res.basic.BasicBusTypeChangeResponse;
import com.glxp.api.service.auth.CustomerService;
@ -82,6 +83,11 @@ public class BasicBusTypeChangeServiceImpl implements IBasicBusTypeChangeService
return false;
}
@Override
public List<BasicBusTypeChangeEntity> findByLastTime(Date lastUpdateTime) {
return basicBusTypeChangeDao.selectList(new QueryWrapper<BasicBusTypeChangeEntity>().gt("updateTime", lastUpdateTime));
}
private void setUpdateInfo(BasicBusTypeChangeEntity basicBusTypeChangeEntity) {
Date now = new Date();
String userId = String.valueOf(customerService.getUserBean().getId());

@ -286,4 +286,9 @@ public class BasicBussinessTypeServiceImpl implements IBasicBussinessTypeService
public List<BasicBussinessTypeEntity> selectbyNotAction(List<String> list) {
return basicBussinessTypeDao.selectbyNotAction(list);
}
@Override
public List<BasicBussinessTypeEntity> findByLastTime(Date lastUpdateTime) {
return basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>().gt("updateTime", lastUpdateTime));
}
}

@ -8,8 +8,9 @@ import javax.annotation.Resource;
import com.glxp.api.dao.inout.*;
import com.glxp.api.entity.inout.*;
import com.glxp.api.service.inout.IoAddInoutService;
import com.glxp.api.service.inout.IoCheckInoutService;
import com.glxp.api.res.sync.SpsSyncBusResponse;
import com.glxp.api.res.sync.SpsSyncDataResponse;
import com.glxp.api.service.inout.*;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
@ -30,7 +31,6 @@ 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;
import com.glxp.api.util.DateUtil;
@ -52,7 +52,12 @@ public class HeartService {
SqlSessionFactory sqlSessionFactory;
@Resource
IoOrderService orderService;
@Resource
IoAddInoutService addInoutService;
@Resource
IoCheckInoutService ioCheckInoutService;
//上传最近更新扫码单据
public BaseResponse uploadAllOrder(String syncTime) {
SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest();
if (syncTime == null) {
@ -112,7 +117,7 @@ public class HeartService {
return ResultVOUtils.success();
}
//上传最近更新业务单据
public BaseResponse uploadAllBusOrder(String syncTime) {
SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest();
if (syncTime == null) {
@ -170,6 +175,168 @@ public class HeartService {
return ResultVOUtils.success();
}
//上传最近更新单据类型
public BaseResponse uploadAllBus(String syncTime) {
SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest();
if (syncTime == null) {
BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByKey(ConstantStatus.SYNC_BUS_TYPE);
if (basicExportStatusTimeEntity == null) {
basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime("1949-10-01 09:00:00");
}
spsSyncDataRequest.setLastUpdateTime(basicExportStatusTimeEntity.getLastUpdateTime());
} else {
spsSyncDataRequest.setLastUpdateTime(syncTime);
}
SpsSyncBusResponse spsSyncBusResponse = upBasicService.upAllBus(spsSyncDataRequest);
if (CollUtil.isEmpty(spsSyncBusResponse.getBussinessTypeEntities())
&& CollUtil.isEmpty(spsSyncBusResponse.getBusTypeChangeEntities())
&& CollUtil.isEmpty(spsSyncBusResponse.getThrBusTypeOriginEntities())
) {
return ResultVOUtils.success("无数据");
}
BasicExportStatusEntity basicExportStatusEntity2 = basicExportService.findByData(ConstantStatus.SYNC_BUS_TYPE, 0);
if (basicExportStatusEntity2 == null) {
BasicExportStatusEntity busTypetatusEntity = new BasicExportStatusEntity();
busTypetatusEntity.setId(CustomUtil.getId());
busTypetatusEntity.setIdDatas(ConstantStatus.SYNC_BUS_TYPE);
busTypetatusEntity.setType(BasicProcessStatus.NEW_ALL_BUS);
busTypetatusEntity.setUpdateTime(new Date());
busTypetatusEntity.setStartTime(new Date());
busTypetatusEntity.setStatus(0);
busTypetatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL);
basicExportService.insertExportStatus(busTypetatusEntity);
basicExportStatusEntity2 = busTypetatusEntity;
}
BasicExportStatusTimeEntity basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime(DateUtil.formatDate(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
basicExportStatusTimeEntity.setKey(ConstantStatus.SYNC_BUS_TYPE);
spsSyncBusResponse.setTaskId(basicExportStatusEntity2.getId());
BaseResponse<String> baseResponse2 = spGetHttp.postAllBusType(spsSyncBusResponse);
if (baseResponse2.getCode() == 20000) {
basicExportStatusEntity2.setStatus(1);
} else {
basicExportStatusEntity2.setStatus(ConstantStatus.SYNC_STATUS_FAIL);
}
basicExportStatusEntity2.setEndTime(new Date());
basicExportTimeService.insertExportStatus(basicExportStatusTimeEntity);
//拼接日志
String logs = "";
if (CollUtil.isNotEmpty(spsSyncBusResponse.getBussinessTypeEntities()))
logs = logs + "扫码单据类型:" + spsSyncBusResponse.getBussinessTypeEntities().size() + "条\n";
if (CollUtil.isNotEmpty(spsSyncBusResponse.getBusTypeChangeEntities()))
logs = logs + "业务单据类型:" + spsSyncBusResponse.getBusTypeChangeEntities().size() + "条\n";
if (CollUtil.isNotEmpty(spsSyncBusResponse.getThrBusTypeOriginEntities()))
logs = logs + "第三方单据类型:" + spsSyncBusResponse.getThrBusTypeOriginEntities().size() + "条\n";
basicExportStatusEntity2.setRemark(logs);
basicExportStatusEntity2.setUpdateTime(new Date());
basicExportService.updateExportStatus(basicExportStatusEntity2);
return ResultVOUtils.success();
}
//上传用户信息
public BaseResponse uploadAllUserData(String syncTime) {
SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest();
if (syncTime == null) {
BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByKey(ConstantStatus.SYNC_BASIC_DATA);
if (basicExportStatusTimeEntity == null) {
basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime("1949-10-01 09:00:00");
}
spsSyncDataRequest.setLastUpdateTime(basicExportStatusTimeEntity.getLastUpdateTime());
} else {
spsSyncDataRequest.setLastUpdateTime(syncTime);
}
SpsSyncDataResponse syncDataResponse = upBasicService.uploadAllUserData(spsSyncDataRequest);
if (CollUtil.isEmpty(syncDataResponse.getInvWarehouseEntities())
&& CollUtil.isEmpty(syncDataResponse.getAuthAdminList())
&& CollUtil.isEmpty(syncDataResponse.getDeptEntityList())
&& CollUtil.isEmpty(syncDataResponse.getWarehouseBussinessTypeEntities())
&& CollUtil.isEmpty(syncDataResponse.getWarehouseUserEntities())
) {
//数据不记录日志
return ResultVOUtils.success("无数据");
}
BasicExportStatusEntity basicExportStatusEntity3 = basicExportService.findByData(ConstantStatus.SYNC_BASIC_DATA, 0);
if (basicExportStatusEntity3 == null) {
BasicExportStatusEntity basicExportStatusEntity = new BasicExportStatusEntity();
basicExportStatusEntity.setId(CustomUtil.getId());
basicExportStatusEntity.setIdDatas(ConstantStatus.SYNC_BASIC_DATA);
basicExportStatusEntity.setType(BasicProcessStatus.NEW_ALL_DATA);
basicExportStatusEntity.setUpdateTime(new Date());
basicExportStatusEntity.setStartTime(new Date());
basicExportStatusEntity.setStatus(0);
basicExportStatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL);
basicExportService.insertExportStatus(basicExportStatusEntity);
basicExportStatusEntity3 = basicExportStatusEntity;
}
BasicExportStatusTimeEntity basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime(DateUtil.formatDate(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
basicExportStatusTimeEntity.setKey(ConstantStatus.SYNC_BASIC_DATA);
syncDataResponse.setTaskId(basicExportStatusEntity3.getId());
BaseResponse<String> baseResponse = spGetHttp.postAllUser(syncDataResponse);
if (baseResponse.getCode() == 20000) {
basicExportStatusEntity3.setStatus(1);
} else {
basicExportStatusEntity3.setStatus(ConstantStatus.SYNC_STATUS_FAIL);
}
basicExportStatusEntity3.setEndTime(new Date());
basicExportTimeService.insertExportStatus(basicExportStatusTimeEntity);
String logs = "";
if (CollUtil.isNotEmpty(syncDataResponse.getInvWarehouseEntities()))
logs = logs + "仓库字典:" + syncDataResponse.getInvWarehouseEntities().size() + "条\n";
if (CollUtil.isNotEmpty(syncDataResponse.getWarehouseUserEntities())) {
logs = logs + "仓库用户信息:" + syncDataResponse.getWarehouseUserEntities().size() + "条\n";
}
if (CollUtil.isNotEmpty(syncDataResponse.getWarehouseBussinessTypeEntities())) {
logs = logs + "仓库单据类型:" + syncDataResponse.getWarehouseBussinessTypeEntities().size() + "条\n";
}
if (CollUtil.isNotEmpty(syncDataResponse.getAuthAdminList()))
logs = logs + "系统用户信息:" + syncDataResponse.getAuthAdminList().size() + "条\n";
if (CollUtil.isNotEmpty(syncDataResponse.getInvBusUserEntities()))
logs = logs + "用户关联单据类型信息:" + syncDataResponse.getInvBusUserEntities().size() + "条\n";
if (CollUtil.isNotEmpty(syncDataResponse.getDeptEntityList()))
logs = logs + "部门信息:" + syncDataResponse.getDeptEntityList().size() + "条\n";
if (CollUtil.isNotEmpty(syncDataResponse.getDeptUserEntities()))
logs = logs + "部门用户信息:" + syncDataResponse.getDeptUserEntities().size() + "条\n";
if (CollUtil.isNotEmpty(syncDataResponse.getInvSpaces()))
logs = logs + "货位信息:" + syncDataResponse.getInvSpaces().size() + "条\n";
basicExportStatusEntity3.setRemark(logs);
basicExportStatusEntity3.setUpdateTime(new Date());
basicExportService.updateExportStatus(basicExportStatusEntity3);
return ResultVOUtils.success();
}
//
// //上传最近更新第三方基础数据
// public BaseResponse uploadThirdData(String syncTime) {
//
// }
@Resource
IoCodeTempService codeTempService;
@Resource
IoOrderDetailBizService orderDetailBizService;
@Resource
IoOrderDetailCodeService orderDetailCodeService;
@Resource
IoOrderDetailResultService orderDetailResultService;
@Resource
IoOrderInvoiceService orderInvoiceService;
//下载最近更新扫码单据
public void dlAllOrder() {
BaseResponse<List<BasicExportStatusEntity>> baseResponse = spGetHttp.getBasicStatus(BasicProcessStatus.NEW_ALL_ORDER + "");
List<BasicExportStatusEntity> pageSimpleResponse = baseResponse != null ? baseResponse.getData() : new ArrayList<>();
@ -195,11 +362,9 @@ public class HeartService {
basicDownloadService.insertDownloadStatus(basicDownloadStatusEntity);
StringBuffer remark = new StringBuffer();
SqlSession batchSession = sqlSessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED);
if (CollUtil.isNotEmpty(syncDataResponse.getOrderEntities())) {
try {
List<IoOrderEntity> orderEntities = syncDataResponse.getOrderEntities();
IoOrderDao mapper = batchSession.getMapper(IoOrderDao.class);
for (IoOrderEntity orderEntity : orderEntities) {
orderEntity.setUpdateTime(null);
orderEntity.setFromType(ConstantStatus.FROM_UDISP);
@ -207,70 +372,8 @@ public class HeartService {
IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo());
if (temp == null) {
orderEntity.setId(null);
mapper.insert(orderEntity);
//更新码详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) {
IoCodeTempDao codeMappert = batchSession.getMapper(IoCodeTempDao.class);
List<IoCodeEntity> warehouseEntityList = syncDataResponse.getCodeEntities();
for (IoCodeEntity warehouseEntity : warehouseEntityList) {
if (warehouseEntity.getOrderId().equals(orderEntity.getBillNo())) {
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
BeanUtils.copyProperties(warehouseEntity, codeTempEntity);
codeTempEntity.setId(null);
codeMappert.insert(codeTempEntity);
}
}
}
//更新业务详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailBizEntities())) {
IoOrderDetailBizDao orderDetailBizDao = batchSession.getMapper(IoOrderDetailBizDao.class);
List<IoOrderDetailBizEntity> orderDetailBizEntities = syncDataResponse.getOrderDetailBizEntities();
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
if (bizEntity.getOrderIdFk().equals(orderEntity.getBillNo())) {
orderDetailBizDao.insert(bizEntity);
}
}
}
//更新码详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) {
IoOrderDetailCodeDao orderDetailCodeDao = batchSession.getMapper(IoOrderDetailCodeDao.class);
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = syncDataResponse.getOrderDetailCodeEntities();
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
if (codeEntity.getOrderIdFk().equals(orderEntity.getBillNo())) {
orderDetailCodeDao.insert(codeEntity);
}
}
}
//更新结果详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailResultEntities())) {
IoOrderDetailResultDao orderDetailResultDao = batchSession.getMapper(IoOrderDetailResultDao.class);
List<IoOrderDetailResultEntity> orderDetailResultEntities = syncDataResponse.getOrderDetailResultEntities();
for (IoOrderDetailResultEntity detailResultEntity : orderDetailResultEntities) {
if (detailResultEntity.getOrderIdFk().equals(orderEntity.getBillNo())) {
orderDetailResultDao.insert(detailResultEntity);
}
}
}
//更新发票信息
if (CollUtil.isNotEmpty(syncDataResponse.getOrderInvoiceEntities())) {
IoOrderInvoiceMapper orderInvoiceMapper = batchSession.getMapper(IoOrderInvoiceMapper.class);
List<IoOrderInvoiceEntity> orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities();
for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) {
if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) {
orderInvoiceMapper.insert(orderInvoiceEntity);
}
}
}
batchSession.commit();
orderService.insertOrder(orderEntity);
insetOrderDb(syncDataResponse, orderEntity);
orderEntity = orderService.findByBillNo(orderEntity.getBillNo());
addInoutService.dealProcess(orderEntity);
orderEntity = orderService.findByBillNo(orderEntity.getBillNo());
@ -279,7 +382,6 @@ public class HeartService {
}
}
}
batchSession.commit();
String logs = "";
if (CollUtil.isNotEmpty(syncDataResponse.getOrderEntities()))
@ -299,7 +401,6 @@ public class HeartService {
}
batchSession.close();
spGetHttp.postBasicStatus(basicExportStatusEntity.getId());
basicDownloadStatusEntity.setUpdateTime(new Date());
@ -315,9 +416,64 @@ public class HeartService {
}
}
public void insetOrderDb(SpsSyncOrderResponse syncDataResponse, IoOrderEntity orderEntity) {
//更新码详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) {
List<IoCodeEntity> warehouseEntityList = syncDataResponse.getCodeEntities();
for (IoCodeEntity warehouseEntity : warehouseEntityList) {
if (warehouseEntity.getOrderId().equals(orderEntity.getBillNo())) {
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
BeanUtils.copyProperties(warehouseEntity, codeTempEntity);
codeTempEntity.setId(null);
codeTempService.insert(codeTempEntity);
}
}
}
//更新业务详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailBizEntities())) {
List<IoOrderDetailBizEntity> orderDetailBizEntities = syncDataResponse.getOrderDetailBizEntities();
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
if (bizEntity.getOrderIdFk().equals(orderEntity.getBillNo())) {
bizEntity.setId(null);
orderDetailBizService.insert(bizEntity);
}
}
}
//更新码详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) {
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = syncDataResponse.getOrderDetailCodeEntities();
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
if (codeEntity.getOrderIdFk().equals(orderEntity.getBillNo())) {
codeEntity.setId(null);
orderDetailCodeService.insert(codeEntity);
}
}
}
//更新结果详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailResultEntities())) {
List<IoOrderDetailResultEntity> orderDetailResultEntities = syncDataResponse.getOrderDetailResultEntities();
for (IoOrderDetailResultEntity detailResultEntity : orderDetailResultEntities) {
if (detailResultEntity.getOrderIdFk().equals(orderEntity.getBillNo())) {
detailResultEntity.setId(null);
orderDetailResultService.insert(detailResultEntity);
}
}
}
//更新发票信息
if (CollUtil.isNotEmpty(syncDataResponse.getOrderInvoiceEntities())) {
List<IoOrderInvoiceEntity> orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities();
for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) {
if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) {
orderInvoiceService.insertInvoice(orderInvoiceEntity);
}
}
}
}
@Resource
IoAddInoutService addInoutService;
@Resource
IoCheckInoutService ioCheckInoutService;
}

@ -7,9 +7,9 @@ import java.util.List;
public interface SyncDataBustypeService {
List<SyncDataBustypeEntity> findAll();
List<SyncDataBustypeEntity> findAll(Integer direct);
boolean deleteAll();
boolean deleteAll(Integer direct);
void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities);

@ -2,22 +2,41 @@ 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.*;
import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.entity.purchase.*;
import com.glxp.api.entity.system.SyncDataBustypeEntity;
import com.glxp.api.entity.system.SyncDataChangeBustypesEntity;
import com.glxp.api.entity.system.SyncDataPurTypeEntity;
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.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.SpsSyncBusResponse;
import com.glxp.api.res.sync.SpsSyncDataResponse;
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.IBasicBusTypeChangeService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.impl.BasicBussinessTypeServiceImpl;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.purchase.PurOrderDetailService;
import com.glxp.api.service.purchase.PurOrderService;
import com.glxp.api.service.thrsys.IThrBusTypeOriginService;
import com.glxp.api.util.DateUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.data.annotation.Reference;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -50,6 +69,7 @@ public class UpBasicService {
@Resource
IoOrderInvoiceService orderInvoiceService;
//上传最近更新扫码单据
public SpsSyncOrderResponse upAllOrder(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncOrderResponse syncOrderResponse = new SpsSyncOrderResponse();
//查询数据同步设置
@ -111,6 +131,7 @@ public class UpBasicService {
return syncOrderResponse;
}
//上传最近更新业务单据
public SpsSyncBusOrderResponse upAllBusOrder(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncBusOrderResponse syncOrderResponse = new SpsSyncBusOrderResponse();
//查询数据同步设置
@ -142,4 +163,126 @@ public class UpBasicService {
return syncOrderResponse;
}
@Resource
IBasicBussinessTypeService basicBussinessTypeService;
@Resource
IBasicBusTypeChangeService basicBusTypeChangeService;
@Resource
IThrBusTypeOriginService thrBusTypeOriginService;
//上传最近更新单据类型
public SpsSyncBusResponse upAllBus(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncBusResponse spsSyncBusResponse = new SpsSyncBusResponse();
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
//扫码单据类型
if (syncDataSetEntity.getTypeScan() == 1) {
List<BasicBussinessTypeEntity> bussinessTypeEntities = basicBussinessTypeService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncBusResponse.setBussinessTypeEntities(bussinessTypeEntities);
}
// 业务单据类型
if (syncDataSetEntity.getTypeBus() == 1) {
List<BasicBusTypeChangeEntity> basicBusTypeChangeEntities = basicBusTypeChangeService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncBusResponse.setBusTypeChangeEntities(basicBusTypeChangeEntities);
}
//第三方单据类型
if (syncDataSetEntity.getTypeThird() == 1) {
List<ThrBusTypeOriginEntity> thrBusTypeOriginEntities = thrBusTypeOriginService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncBusResponse.setThrBusTypeOriginEntities(thrBusTypeOriginEntities);
}
return spsSyncBusResponse;
}
@Resource
InvWarehouseService invWarehouseService;
@Resource
WarehouseBussinessTypeService warehouseBussinessTypeService;
@Resource
WarehouseUserService warehouseUserService;
@Resource
InvBusUserService invBusUserService;
@Resource
AuthAdminService authAdminService;
@Resource
DeptService deptService;
@Resource
DeptUserService deptUserService;
public SpsSyncDataResponse uploadAllUserData(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncDataResponse syncDataResponse = new SpsSyncDataResponse();
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
if (syncDataSetEntity.getBasicDept() == 1) {
//获取部门信息
FilterInvWarehouseRequest filterDeptRequest = new FilterInvWarehouseRequest();
BeanUtils.copyProperties(spsSyncDataRequest, filterDeptRequest);
List<DeptEntity> deptEntityList = deptService.filterGroupInvWarehouse(filterDeptRequest);
syncDataResponse.setDeptEntityList(deptEntityList);
List<DeptUserEntity> allDeptUserEntities = new ArrayList<>();
if (CollUtil.isNotEmpty(deptEntityList)) {
for (DeptEntity deptEntity : deptEntityList) {
FilterDeptUserReqeust filterDeptUserReqeust = new FilterDeptUserReqeust();
filterDeptUserReqeust.setDeptId(deptEntity.getId().longValue());
List<DeptUserEntity> deptUserEntities = deptUserService.selectDeptUser(filterDeptUserReqeust);
allDeptUserEntities.addAll(deptUserEntities);
}
syncDataResponse.setDeptUserEntities(allDeptUserEntities);
}
}
//仓库字典
if (syncDataSetEntity.getBasicInv() == 1) {
//仓库字典
List<InvWarehouseEntity> invWarehouseEntities = invWarehouseService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
syncDataResponse.setInvWarehouseEntities(invWarehouseEntities);
if (CollUtil.isNotEmpty(invWarehouseEntities)) {
List<WarehouseBussinessTypeEntity> mWarehouseBussinessTypeEntities = new ArrayList<>();
List<WarehouseUserEntity> mWarehouseUserEntities = new ArrayList<>();
List<InvBusUserEntity> mInvBusUserEntities = new ArrayList<>();
for (InvWarehouseEntity invWarehouseEntity : invWarehouseEntities) {
//获取仓库关联单据类型
FilterInvBusTypeRequest filterInvBusTypeRequest = new FilterInvBusTypeRequest();
filterInvBusTypeRequest.setCode(invWarehouseEntity.getCode());
List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities = warehouseBussinessTypeService.filterList(filterInvBusTypeRequest);
mWarehouseBussinessTypeEntities.addAll(warehouseBussinessTypeEntities);
//获取仓库关联用户
FilterInvUserRequest filterInvUserRequest = new FilterInvUserRequest();
filterInvUserRequest.setCode(invWarehouseEntity.getCode());
List<WarehouseUserEntity> warehouseUserEntities = warehouseUserService.filterWarehouseUsers(filterInvUserRequest);
mWarehouseUserEntities.addAll(warehouseUserEntities);
if (CollUtil.isNotEmpty(warehouseUserEntities)) {
for (WarehouseUserEntity warehouseUserEntity : warehouseUserEntities) {
List<InvBusUserEntity> invBusUserEntities = invBusUserService.selectByUnion(warehouseUserEntity.getUserid() + "", invWarehouseEntity.getCode());
mInvBusUserEntities.addAll(invBusUserEntities);
}
}
}
syncDataResponse.setInvBusUserEntities(mInvBusUserEntities);
syncDataResponse.setWarehouseUserEntities(mWarehouseUserEntities);
syncDataResponse.setWarehouseBussinessTypeEntities(mWarehouseBussinessTypeEntities);
}
}
//系统用户信息
if (syncDataSetEntity.getSysUser() == 1) {
FilterAuthUserRequest authAdminQueryRequest = new FilterAuthUserRequest();
BeanUtils.copyProperties(spsSyncDataRequest, authAdminQueryRequest);
List<AuthAdmin> authAdminList = authAdminService.listAdminPage(authAdminQueryRequest);
syncDataResponse.setAuthAdminList(authAdminList);
}
return syncDataResponse;
}
}

@ -1,5 +1,6 @@
package com.glxp.api.service.sync.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.sync.SyncDataBustypeDao;
import com.glxp.api.entity.system.SyncDataBustypeEntity;
import com.glxp.api.service.sync.SyncDataBustypeService;
@ -17,13 +18,13 @@ public class SyncDataBustypeServiceImpl implements SyncDataBustypeService {
SyncDataBustypeDao syncDataBustypeDao;
@Override
public List<SyncDataBustypeEntity> findAll() {
return syncDataBustypeDao.findAll();
public List<SyncDataBustypeEntity> findAll(Integer direct) {
return syncDataBustypeDao.selectList(new QueryWrapper<SyncDataBustypeEntity>().eq("direct", direct));
}
@Override
public boolean deleteAll() {
return syncDataBustypeDao.deleteAll();
public boolean deleteAll(Integer direct) {
return syncDataBustypeDao.delete(new QueryWrapper<SyncDataBustypeEntity>().eq("direct", direct)) > 0 ? true : false;
}
@Override

@ -37,10 +37,12 @@ public class SyncDataSetServiceImpl implements SyncDataSetService {
SyncDataSetEntity syncDataSetEntity = syncDataSetDao.selectSet();
SyncDataSetResponse syncDataSetResponse = new SyncDataSetResponse();
BeanUtils.copyProperties(syncDataSetEntity, syncDataSetResponse);
List<SyncDataBustypeEntity> syncDataBustypeEntities = syncDataBustypeService.findAll();
List<SyncDataBustypeEntity> syncDataBustypeEntities = syncDataBustypeService.findAll(1);
List<SyncDataBustypeEntity> syncDataToInBustypeEntities = syncDataBustypeService.findAll(2);
List<SyncDataChangeBustypesEntity> changeBustypesEntities = syncDataChangeBustypeService.findAll();
syncDataSetResponse.setBusTypes(syncDataBustypeEntities);
syncDataSetResponse.setChangeBusTypes(changeBustypesEntities);
syncDataSetResponse.setToInBusTypes(syncDataToInBustypeEntities);
return syncDataSetResponse;
}

@ -1,10 +1,12 @@
package com.glxp.api.service.thrsys;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity;
import com.glxp.api.entity.thrsys.ThrSystemDetailEntity;
import com.glxp.api.req.thrsys.FilterThrBusTypeOriginRequest;
import com.glxp.api.res.thrsys.ThrBusTypeOriginResponse;
import java.util.Date;
import java.util.List;
/**
@ -101,4 +103,7 @@ public interface IThrBusTypeOriginService {
*/
String findNameByAction(String originAction);
List<ThrBusTypeOriginEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.thrsys.ThrBusTypeOriginDao;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity;
import com.glxp.api.entity.thrsys.ThrSystemDetailEntity;
import com.glxp.api.req.thrsys.FilterThrBusTypeOriginRequest;
@ -86,7 +87,7 @@ public class ThrBusTypeOriginServiceImpl implements IThrBusTypeOriginService {
@Override
public ThrBusTypeOriginEntity findByAction(String action) {
QueryWrapper<ThrBusTypeOriginEntity> query = new QueryWrapper<>();
if(StrUtil.isNotEmpty(action)){
if (StrUtil.isNotEmpty(action)) {
query.like("action", action);
}
List<ThrBusTypeOriginEntity> list = thrBusTypeOriginDao.selectList(query);
@ -149,4 +150,8 @@ public class ThrBusTypeOriginServiceImpl implements IThrBusTypeOriginService {
thrBusTypeOriginEntity.setUpdateTime(now);
}
@Override
public List<ThrBusTypeOriginEntity> findByLastTime(Date lastUpdateTime) {
return thrBusTypeOriginDao.selectList(new QueryWrapper<ThrBusTypeOriginEntity>().gt("updateTime", lastUpdateTime));
}
}

@ -57,6 +57,23 @@ public class SyncHeartTask implements SchedulingConfigurer {
SyncDataSetEntity syncDataSetEntity = syncDataSetDao.selectSet();
if (syncDataSetEntity.isDownstreamEnable()) {
//定时上传最近更新基础数据至上游轮询时间
long timeInterval1 = syncDataSetEntity.getSyncTime() * 60 * 1000L;
long curTime1 = System.currentTimeMillis();
Long lastTime1 = (Long) redisUtil.get("SPS_SYNC_UPLOAD_DATA");
if (lastTime1 == null) {
lastTime1 = System.currentTimeMillis();
redisUtil.set("SPS_SYNC_UPLOAD_DATA", lastTime1);
}
if (curTime1 - lastTime1 > timeInterval1) {
heartService.uploadAllBus(null);
heartService.uploadAllUserData(null);
// heartService.uploadScheduleList();
redisUtil.set("SPS_SYNC_UPLOAD_DATA", curTime1);
}
//定时上传最近更新单据数据至上游轮询时间
long timeInterval2 = syncDataSetEntity.getOrderSyncTime() * 60 * 1000L;
long curTime2 = System.currentTimeMillis();

@ -3,17 +3,15 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.auth.DeptUserDao">
<select id="selectDeptUser" parameterType="com.glxp.api.req.auth.FilterDeptUserReqeust"
resultType="com.glxp.api.entity.auth.DeptUserEntity">>
resultType="com.glxp.api.entity.auth.DeptUserEntity">
SELECT *
FROM auth_dept_user
<where>
<if test="deptId != null ">
<if test="deptId != null">
and deptId = #{deptId}
</if>
<if test="userId != null ">
<if test="userId != null">
and userId = #{userId}
</if>
</where>
@ -22,11 +20,15 @@
<select id="selectJoinDeptUser" parameterType="com.glxp.api.req.auth.FilterDeptUserReqeust"
resultType="com.glxp.api.res.auth.DeptUserResponse">
SELECT auth_dept_user.*, auth_user.userName, auth_user.employeeName, auth_dept.`name` deptName, auth_user.comments
SELECT auth_dept_user.*,
auth_user.userName,
auth_user.employeeName,
auth_dept.`name` deptName,
auth_user.comments
FROM auth_dept_user
INNER JOIN auth_user
on auth_dept_user.userId = auth_user.id
INNER JOIN auth_dept on auth_dept_user.deptId = auth_dept.id
INNER JOIN auth_user
on auth_dept_user.userId = auth_user.id
INNER JOIN auth_dept on auth_dept_user.deptId = auth_dept.id
<where>
<if test="deptId != null">
and deptId = #{deptId}
@ -64,27 +66,21 @@
>
delete
from auth_dept_user
where deptId in
where deptId in
<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<insert id="insertBatch" keyProperty="id" parameterType="java.util.List">
insert INTO auth_dept_user
(
deptId,userId
)
values
(deptId, userId)
values
<foreach collection="list" item="item" index="index"
separator=",">
(
#{item.deptId},
#{item.userId}
)
(#{item.deptId},
#{item.userId})
</foreach>
</insert>
</mapper>

@ -9,20 +9,16 @@
</select>
<delete id="deleteAll">
DELETE
FROM sync_data_bustypes
</delete>
<insert id="inserts" parameterType="com.glxp.api.entity.system.SyncDataBustypeEntity">
insert INTO sync_data_bustypes
(`action`, `name`, outChange, orderStatus)
(`action`, `name`, outChange, orderStatus, direct)
values
<foreach collection="syncDataBustypeEntities" item="item" index="index"
separator=",">
(#{item.action}, #{item.name},
#{item.outChange}, #{item.orderStatus})
#{item.outChange}, #{item.orderStatus}, #{item.direct})
</foreach>
</insert>
</mapper>

@ -1,28 +0,0 @@
<?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>

@ -18,7 +18,7 @@
</resultMap>
<select id="filterEnableList" resultType="com.glxp.api.res.thrsys.ThrBusTypeOriginResponse">
<select id="filterEnableList" resultType="com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity">
select tbo.*, thr_system.thirdName thirdSysName
from thr_bustype_origin tbo
left join thr_system on tbo.thirdSys = thr_system.thirdId

@ -102,6 +102,10 @@ CALL Pro_Temp_ColumnWork('inv_prein_detail', 'status', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'originCount', 'int', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'originReCount', 'int', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'mainAction', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'action', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255)', 1);
INSERT ignore INTO `sys_param_config`(`id`, `parentId`, `paramName`, `paramKey`, `paramValue`, `paramStatus`,
@ -118,6 +122,8 @@ CALL Pro_Temp_ColumnWork('inv_remind_msg', 'remindCount', 'int', 1);
CALL Pro_Temp_ColumnWork('sup_cert_remind_msg', 'remindCount', 'int', 1);
CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'orderStatus', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'direct', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sup_manufacturer', 'agentName', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('sys_pdf_module', 'modelKey', 'varchar(255)', 1);
@ -142,6 +148,13 @@ CALL Pro_Temp_ColumnWork('auth_warehouse', 'updateTime', 'datetime ', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'basicType', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'basicDept', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'updateTime', 'datetime', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'orderToInSyncTime', 'int', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'supCert', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'systemConfig', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'printConfig', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'scanChangeConfig', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'busChangeConfig', 'tinyint', 1);
# CALL Pro_Temp_ColumnWork('sup_cert_set', 'foreign', 'tinyint', 3);
# CALL Pro_Temp_ColumnWork('sup_cert_set', 'needForeign', 'tinyint', 1);

Loading…
Cancel
Save