Merge remote-tracking branch 'origin/master'

master
chengqf 2 years ago
commit 6babaa7135

@ -294,6 +294,21 @@
<artifactId>iTextAsian</artifactId>
<version>3.0</version>
</dependency>
<!--excel-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.10</version>
</dependency>
<dependency>
<groupId>hu.blackbelt.bundles.swagger-parser</groupId>
<artifactId>io.swagger.parser</artifactId>
<version>1.0.47_1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/batik-bridge -->

@ -29,7 +29,10 @@ public class BasicProcessStatus {
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;
public static final String NEW_ALL_DI = "10";
public static final String NEW_ALL_THR_DATA = "12"; //所有第三方基础数据
public static final String NEW_ALL_THR_PRODUCTS = "13"; //所有第三方产品数据
public static final String NEW_ALL_SYS_SETTING = "14"; //所有系统设置数据
public static final int SCHEDULE_NORMAL = 1; //常规任务
public static final int SCHEDULE_TRANSFER = 2; //需要传递任务

@ -222,6 +222,10 @@ public class ConstantStatus {
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_THR_DATA = "AutoUploadThrData";
public static final String SYNC_THR_PRODUCTS = "AutoUploadThrProducts";
public static final String SYNC_SYS_SETTING = "AutoUploadSysSetting";
//自动下载所有数据
public static final String SYNC_DOWNLOAD_BASIC_DATA = "AutoDownloadAllData";

@ -26,6 +26,7 @@ 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.inout.IoOrderResponse;
import com.glxp.api.res.sync.SpsSyncOrderResponse;
import com.glxp.api.service.auth.AuthAdminService;
import com.glxp.api.service.basic.EntrustReceService;
@ -444,8 +445,11 @@ public class IoOrderReviewController extends BaseController {
AcceptOrderResponse acceptOrderEntity = new AcceptOrderResponse();
acceptOrderEntity.setBillNo(billNo);
List<IoOrderDetailResultResponse> datas = (List<IoOrderDetailResultResponse>) redisUtil.get(ConstantStatus.REDIS_BILLNO + billNo);
IoOrderResponse orderResponse;
if (CollUtil.isNotEmpty(datas)) {
orderResponse = orderService.findGroupBillNo(billNo);
acceptOrderEntity.setOrderDetailEntities(datas);
acceptOrderEntity.setOrderEntity(orderResponse);
acceptOrderEntity.setExitAccept(true);
} else {
FilterOrderDetailResultRequest filterOrderDetailResultRequest = new FilterOrderDetailResultRequest();
@ -454,6 +458,8 @@ public class IoOrderReviewController extends BaseController {
//本地已存在,则直接返回
if (CollUtil.isNotEmpty(orderDetailResultResponses)) {
acceptOrderEntity.setOrderDetailEntities(orderDetailResultResponses);
orderResponse = orderService.findGroupBillNo(billNo);
acceptOrderEntity.setOrderEntity(orderResponse);
acceptOrderEntity.setExitAccept(false);
} else {
//获取自助平台待审核单据,并插入到数据库
@ -462,7 +468,8 @@ public class IoOrderReviewController extends BaseController {
SpsSyncOrderResponse spsSyncOrderResponse = baseResponse.getData();
List<IoOrderEntity> orderEntities = spsSyncOrderResponse.getOrderEntities();
if (CollUtil.isNotEmpty(orderEntities)) {
IoOrderEntity orderEntity = orderEntities.get(0);
IoOrderEntity orderEntity;
orderEntity = orderEntities.get(0);
orderEntity.setUpdateTime(null);
orderEntity.setFromType(ConstantStatus.FROM_UDISP);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
@ -478,6 +485,8 @@ public class IoOrderReviewController extends BaseController {
if (CollUtil.isNotEmpty(detailResultResponses)) {
acceptOrderEntity.setOrderDetailEntities(detailResultResponses);
acceptOrderEntity.setExitAccept(false);
orderResponse = orderService.findGroupBillNo(billNo);
acceptOrderEntity.setOrderEntity(orderResponse);
}
}
} else {

@ -0,0 +1,101 @@
package com.glxp.api.controller.inv;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.entity.inout.IoStatDayEntity;
import com.glxp.api.req.inout.FilterStatDataDetailRequest;
import com.glxp.api.service.inout.ExcelService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @author : zhangsan
* @date : 2023/4/17 11:14
* @modyified By :
*/
@RestController
@Api(tags = "文件接口")
public class ApiExcelController {
@Resource
private ExcelService excelService;
/**
* excel-sheet
*
* @param multipartFile
* @return
* @throws Exception
*/
@PostMapping("/excelImport")
@ApiOperation(value = "excel导入")
public BaseResponse<Object> excelImport(@RequestParam("file") MultipartFile multipartFile){
excelService.excelImport(multipartFile);
return new BaseResponse<>();
}
/**
* excel-sheet
*
* @param response
*/
@GetMapping("/udiwms/inv/excelExportOut")
public void export(HttpServletResponse response,String billNo,String key) {
excelService.excelExport(response,billNo,key);
}
/**
* excel-sheet
*
* @param multipartFile
* @return
*/
@PostMapping("/excelSheetImport")
@ApiOperation(value = "excel导入-多个sheet")
public BaseResponse<Object> excelSheetImport(@RequestParam("file") MultipartFile multipartFile){
excelService.excelSheetImport(multipartFile);
return new BaseResponse<>();
}
/**
* excel-sheet
*
* @param response
*/
@ApiOperation(value = "excel导出-多个sheet", httpMethod = "GET")
@GetMapping("/excelSheetExport")
public void excelSheetExport(HttpServletResponse response) {
excelService.excelSheetExport(response);
}
/**
* excel-sheet
*
* @param response
*/
@ApiOperation(value = "excel模板导出", httpMethod = "GET")
@GetMapping("/excelTemplate")
public void excelTemplate(HttpServletResponse response) {
excelService.excelTemplate(response);
}
/**
* excel-sheet
*
* @param response
*/
@ApiOperation(value = "excel模板导出-多个sheet", httpMethod = "GET")
@GetMapping("/excelSheetTemplate")
public void excelSheetTemplate(HttpServletResponse response) throws Exception {
excelService.excelSheetTemplate(response);
}
}

@ -63,7 +63,4 @@ public class SystemPDFTemplateRelevanceBizController {
}
}

@ -66,7 +66,4 @@ public class SystemPDFTemplateRelevanceCodeController {
}
}

@ -42,7 +42,4 @@ public class SystemPDFTemplateRelevanceLabelController {
}
}

@ -18,4 +18,6 @@ public interface IoStatDayDao extends BaseMapper<IoStatDayEntity> {
* @return
*/
List<IoStatDayEntity> filterList(FilterStatDataDetailRequest statDataDetailRequest);
List<IoStatDayEntity> filterListByRecordKey(String recordKey);
}

@ -18,4 +18,6 @@ public interface IoStatMonthDao extends BaseMapper<IoStatMonthEntity> {
* @return
*/
List<IoStatMonthEntity> filterList(FilterStatDataDetailRequest statDataDetailRequest);
List<IoStatMonthEntity> filterListByRecordKey(String recordKey);
}

@ -18,4 +18,6 @@ public interface IoStatQuarterDao extends BaseMapper<IoStatQuarterEntity> {
* @return
*/
List<IoStatQuarterEntity> filterList(FilterStatDataDetailRequest statDataDetailRequest);
List<IoStatQuarterEntity> filterListByRecordKey(String recordKey);
}

@ -18,4 +18,6 @@ public interface IoStatYearDao extends BaseMapper<IoStatYearEntity> {
* @return
*/
List<IoStatYearEntity> filterList(FilterStatDataDetailRequest statDataDetailRequest);
List<IoStatYearEntity> filterListByRecordKey(String recordKey);
}

@ -6,6 +6,7 @@ import com.glxp.api.req.system.SysParamConfigSaveRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@Mapper
@ -29,4 +30,5 @@ public interface SystemParamConfigDao {
boolean insert(SystemParamConfigEntity systemParamConfigEntity);
List<SystemParamConfigEntity> selectByLastTime(@Param("lastUpdateTime") Date lastUpdateTime);
}

@ -4,7 +4,9 @@ import com.glxp.api.entity.system.SystemPDFModuleEntity;
import com.glxp.api.req.system.FilterPdfModuleRequest;
import com.glxp.api.req.system.SysPdfModuleSaveRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@Mapper
@ -25,4 +27,6 @@ public interface SystemPDFModuleDao {
boolean insert(SystemPDFModuleEntity systemPDFModuleEntity);
boolean deleteById(Integer id);
List<SystemPDFModuleEntity> selectByLastTime(@Param("lastUpdateTime") Date lastUpdateTime);
}

@ -4,7 +4,9 @@ import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.req.system.FilterPdfTemplateRequest;
import com.glxp.api.req.system.SysPdfTemplateSaveRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@Mapper
@ -23,4 +25,6 @@ public interface SystemPDFTemplateDao {
boolean insert(SystemPDFTemplateEntity systemPDFTemplateEntity);
boolean deleteById(Integer id);
List<SystemPDFTemplateEntity> selectByLastTime(@Param("lastUpdateTime") Date lastUpdateTime);
}

@ -10,6 +10,7 @@ import com.glxp.api.res.thrsys.ThrUnitMaintainResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@Mapper
@ -36,4 +37,6 @@ public interface ThrCorpDao {
ThrSystemDetailEntity selectByKey(@Param("key") String key, @Param("thirdSys") String thirdSys);
List<ThrCorpEntity> selectByLastTime(@Param("lastUpdateTime") Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.req.thrsys.FilterThrDeptRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@Mapper
@ -30,4 +31,12 @@ public interface ThrDeptDao {
ThrDeptEntity selectByCode(@Param("code") String code);
ThrDeptEntity selectMaxCode(FilterThrDeptRequest filterThrDeptRequest);
/**
*
*
* @param lastUpdateTime
* @return
*/
List<ThrDeptEntity> selectByLastTime(@Param("lastUpdateTime") Date lastUpdateTime);
}

@ -6,6 +6,7 @@ import com.glxp.api.res.thrsys.ThrInvWarehouseResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@Mapper
@ -33,4 +34,5 @@ public interface ThrInvWarehouseDao {
List<ThrInvWarehouseResponse> filterThrInvWarehouseResponse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest);
List<ThrInvWarehouseEntity> selectByLastTime(@Param("lastUpdateTime") Date lastUpdateTime);
}

@ -1,12 +1,11 @@
package com.glxp.api.dao.thrsys;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.res.thrsys.ThrProductsResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
@ -32,4 +31,5 @@ public interface ThrProductsDao {
boolean insertThrProducts(ThrProductsEntity thrProductsEntity);
List<ThrProductsEntity> selectByLastTime(@Param("lastUpdateTime") Date lastUpdateTime);
}

@ -396,5 +396,8 @@ public class BasicBussinessTypeEntity {
@TableField(value = "checkCertExpire")
private boolean checkCertExpire;
@TableField(value = "preInBackAction")
private String preInBackAction;
@TableField(value = "backPreinType")
private Integer backPreinType;
}

@ -0,0 +1,89 @@
package com.glxp.api.entity.inout;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author : zhangsan
* @date : 2023/4/17 11:11
* @modyified By :
*/
@Data
@ApiModel(value = "导出实体")
public class ExcelVO {
@ExcelProperty("序号")
@ApiModelProperty(value = "序号")
private Integer id;
@ExcelProperty("产品通用名")
@ApiModelProperty(value = "产品通用名")
private String productName;
@ExcelProperty("规格型号")
@ApiModelProperty(value = "规格型号")
private String ggxh;
@ExcelProperty("批次号")
@ApiModelProperty(value = "批次号")
private String batchNo;
@ExcelProperty({"期初","数量"})
@ApiModelProperty(value = "数量")
private Integer beginCount;
@ExcelProperty({"期初","价格"})
@ApiModelProperty(value = "价格")
private BigDecimal beginPrice;
@ExcelProperty({"期初","金额"})
@ApiModelProperty(value = "金额")
private BigDecimal beginAmount;
@ExcelProperty({"入库","数量"})
@ApiModelProperty(value = "数量")
private Integer inCount;
@ExcelProperty({"入库","价格"})
@ApiModelProperty(value = "价格")
private BigDecimal inPrice;
@ExcelProperty({"入库","金额"})
@ApiModelProperty(value = "金额")
private BigDecimal inAmount;
@ExcelProperty({"出库","数量"})
@ApiModelProperty(value = "数量")
private Integer outCount;
@ExcelProperty({"出库","价格"})
@ApiModelProperty(value = "价格")
private BigDecimal outPrice;
@ExcelProperty({"出库","金额"})
@ApiModelProperty(value = "金额")
private BigDecimal outAmount;
@ExcelProperty({"结余","数量"})
@ApiModelProperty(value = "数量")
private Integer balanceCount;
@ExcelProperty({"结余","价格"})
@ApiModelProperty(value = "价格")
private BigDecimal balancePrice;
@ExcelProperty({"结余","金额"})
@ApiModelProperty(value = "金额")
private BigDecimal balanceAmount;
//无需导出字段使用此注解
//@JsonSerialize(using = ToStringSerializer.class)
}

@ -15,6 +15,7 @@ public class SyncDataSetEntity {
private int basicCorp; //往来单位字典
private int basicDept; //部门字典
private int basicInv; //仓库字典
private int basicThirdDept; //第三方那个部门信息
private int basicThirdProducts; //第三方产品信息
private int basicThirdCorp; //第三方往来信息
private int basicThirdInv; //第三方仓库信息

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* PDF
*/
@ -59,4 +61,8 @@ public class SysPdfTemplateRelevanceBizEntity {
@TableField(value = "`modelKey`")
private String modelKey;
@TableField(value = "updateTime")
private Date updateTime;
}

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* PDF
*/
@ -60,4 +62,7 @@ public class SysPdfTemplateRelevanceCodeEntity {
@TableField(value = "`modelKey`")
private String modelKey;
@TableField(value = "updateTime")
private Date updateTime;
}

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* PDF
*/
@ -59,4 +61,7 @@ public class SysPdfTemplateRelevanceLabelEntity {
@TableField(value = "`modelKey`")
private String modelKey;
@TableField(value = "updateTime")
private Date updateTime;
}

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* PDF
*/
@ -62,4 +64,7 @@ public class SysPdfTemplateRelevanceStatemenEntity {
@TableField(value = "`modelKey`")
private String modelKey;
@TableField(value = "updateTime")
private Date updateTime;
}

@ -2,6 +2,8 @@ package com.glxp.api.entity.system;
import lombok.Data;
import java.util.Date;
@Data
public class SystemParamConfigEntity {
@ -13,4 +15,6 @@ public class SystemParamConfigEntity {
private int paramStatus;
private int paramType;
private String paramExplain;
private Date updateTime;
}

@ -2,6 +2,8 @@ package com.glxp.api.entity.thrsys;
import lombok.Data;
import java.util.Date;
@Data
public class ThrInvWarehouseEntity {
@ -14,5 +16,7 @@ public class ThrInvWarehouseEntity {
private String thirdSysFk;
private String parentName;
private Date updateTime;
}

@ -224,6 +224,8 @@ public class SpGetHttpClient {
}
public BaseResponse<String> postBasicStatus(String id) {
BasicExportStatusRequest basicStatusFilterRequest = new BasicExportStatusRequest();
basicStatusFilterRequest.setId(id);
@ -235,5 +237,48 @@ public class SpGetHttpClient {
return response;
}
/**
*
*
* @param spsSyncThrDataResponse
* @return
*/
public BaseResponse<String> postThrData(SpsSyncThrDataResponse spsSyncThrDataResponse) {
String json = JSONUtil.toJsonStr(spsSyncThrDataResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/thrData/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
/**
*
*
* @param spsSyncThrProductsResponse
* @return
*/
public BaseResponse<String> postThrProducts(SpsSyncThrProductsResponse spsSyncThrProductsResponse) {
String json = JSONUtil.toJsonStr(spsSyncThrProductsResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/thrData/products/upload", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
/**
*
*
* @param spsSyncSysSettingResponse
* @return
*/
public BaseResponse<String> postSysSetting(SpsSyncSysSettingResponse spsSyncSysSettingResponse) {
String json = JSONUtil.toJsonStr(spsSyncSysSettingResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/sys/setting", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
}

@ -17,6 +17,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.glxp.api.idc.utils.TableUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.text.WordUtils;
import org.apache.tools.ant.util.DateUtils;
@ -46,14 +47,26 @@ import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.DateUtil;
import com.glxp.api.util.FileUtils;
import lombok.extern.slf4j.Slf4j;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.text.WordUtils;
import org.apache.tools.ant.util.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.support.CronSequenceGenerator;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.*;
import java.util.concurrent.TimeUnit;
/*数据中继数据中心(接收)*/
@Slf4j

@ -294,10 +294,12 @@ public class BussinessTypeSaveRequest {
private boolean fillCodeRel;
private boolean checkVailDate;
private boolean checkExpire;
private boolean checkCertExpire;
private String preInBackAction;
private Integer backPreinType;
}

@ -0,0 +1,14 @@
package com.glxp.api.req.inout;
import lombok.Data;
/**
* @author : zhangsan
* @date : 2023/4/17 13:52
* @modyified By :
*/
@Data
public class ExcelRequest {
}

@ -2,6 +2,8 @@ package com.glxp.api.req.system;
import lombok.Data;
import java.util.Date;
@Data
public class SysParamConfigSaveRequest {
@ -13,4 +15,5 @@ public class SysParamConfigSaveRequest {
private int paramStatus;
private int paramType;
private String paramExplain;
private Date updateTime;
}

@ -148,4 +148,7 @@ public class BasicBussinessTypeResponse {
private boolean checkExpire;
private boolean checkCertExpire;
private String preInBackAction;
private Integer backPreinType;
}

@ -1,6 +1,7 @@
package com.glxp.api.res.inout;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import lombok.Data;
import java.util.List;
@ -17,6 +18,8 @@ public class AcceptOrderResponse {
private boolean finishAccept;
IoOrderResponse orderEntity;
private List<IoOrderDetailResultResponse> orderDetailEntities;
}

@ -0,0 +1,15 @@
package com.glxp.api.res.sync;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.basic.UdiCompanyEntity;
import lombok.Data;
import java.util.List;
@Data
public class SpSyncUdiResponse extends BaseSyncResponse{
//同步任务ID
List<ProductInfoEntity> productInfoEntityList;
List<UdiCompanyEntity> udiCompanyEntities;
}

@ -0,0 +1,80 @@
package com.glxp.api.res.sync;
import cn.hutool.core.collection.CollUtil;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.basic.BasicBusTypePreEntity;
import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.entity.system.*;
import lombok.Data;
import java.util.List;
/**
*
*/
@Data
public class SpsSyncSysSettingResponse extends BaseSyncResponse {
private List<SystemParamConfigEntity> systemParamConfigEntities;
private List<EntrustReceEntity> entrustReceEntities;
private List<SystemPDFModuleEntity> systemPDFModuleEntities;
private List<SystemPDFTemplateEntity> systemPDFTemplateEntities;
private List<SysPdfTemplateRelevanceCodeEntity> sysPdfTemplateRelevanceCodeEntities;
private List<SysPdfTemplateRelevanceBizEntity> sysPdfTemplateRelevanceBizEntities;
private List<SysPdfTemplateRelevanceLabelEntity> sysPdfTemplateRelevanceLabelEntities;
private List<SysPdfTemplateRelevanceStatemenEntity> sysPdfTemplateRelevanceStatemenEntities;
private List<BasicBusTypePreEntity> basicBusTypePreEntities;
private List<BasicBusTypeChangeEntity> basicBusTypeChangeEntities;
/**
*
*
* @return
*/
public String logs() {
StringBuilder logs = new StringBuilder();
if (CollUtil.isNotEmpty(this.systemParamConfigEntities)) {
logs.append("系统运行参数:").append(this.systemParamConfigEntities.size()).append("条\n");
}
if (CollUtil.isNotEmpty(this.entrustReceEntities)) {
logs.append("委托验收设置:").append(this.entrustReceEntities.size()).append("条\n");
}
if (CollUtil.isNotEmpty(this.systemPDFModuleEntities)) {
logs.append("打印模块:").append(this.systemPDFModuleEntities.size()).append("条\n");
}
if (CollUtil.isNotEmpty(this.systemPDFTemplateEntities)) {
logs.append("打印模板:").append(this.systemPDFTemplateEntities.size()).append("条\n");
}
if (CollUtil.isNotEmpty(this.sysPdfTemplateRelevanceCodeEntities)) {
logs.append("扫码单据关联表:").append(this.sysPdfTemplateRelevanceCodeEntities.size()).append("条\n");
}
if (CollUtil.isNotEmpty(this.sysPdfTemplateRelevanceBizEntities)) {
logs.append("业务单据关联表:").append(this.sysPdfTemplateRelevanceBizEntities.size()).append("条\n");
}
if (CollUtil.isNotEmpty(this.sysPdfTemplateRelevanceLabelEntities)) {
logs.append("内部码打印关联表:").append(this.sysPdfTemplateRelevanceLabelEntities.size()).append("条\n");
}
if (CollUtil.isNotEmpty(this.sysPdfTemplateRelevanceStatemenEntities)) {
logs.append("资质证书打印关联表:").append(this.sysPdfTemplateRelevanceStatemenEntities.size()).append("条\n");
}
if (CollUtil.isNotEmpty(this.basicBusTypePreEntities)) {
logs.append("自动建出入库单设置:").append(this.basicBusTypePreEntities.size()).append("条\n");
}
if (CollUtil.isNotEmpty(this.basicBusTypeChangeEntities)) {
logs.append("自动建业务单设置:").append(this.basicBusTypeChangeEntities.size()).append("条\n");
}
return logs.toString();
}
}

@ -0,0 +1,30 @@
package com.glxp.api.res.sync;
import com.glxp.api.entity.thrsys.ThrCorpEntity;
import com.glxp.api.entity.thrsys.ThrDeptEntity;
import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity;
import lombok.Data;
import java.util.List;
/**
*
*/
@Data
public class SpsSyncThrDataResponse extends BaseSyncResponse {
/**
*
*/
private List<ThrDeptEntity> deptEntities;
/**
*
*/
private List<ThrInvWarehouseEntity> invWarehouseEntities;
/**
*
*/
private List<ThrCorpEntity> corpEntities;
}

@ -0,0 +1,19 @@
package com.glxp.api.res.sync;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
import lombok.Data;
import java.util.List;
/**
*
*/
@Data
public class SpsSyncThrProductsResponse extends BaseSyncResponse {
/**
*
*/
private List<ThrProductsEntity> productsEntities;
}

@ -1,8 +1,7 @@
package com.glxp.api.res.system;
import com.glxp.api.entity.system.SyncDataChangeBustypesEntity;
import com.glxp.api.entity.system.SyncDataBustypeEntity;
import com.glxp.api.entity.system.SyncDataPurTypeEntity;
import com.glxp.api.entity.system.SyncDataChangeBustypesEntity;
import lombok.Data;
import java.util.List;
@ -17,6 +16,7 @@ public class SyncDataSetResponse {
private int basicCorp;
private int basicInv;
private int basicDept;
private int basicThirdDept;
private int basicThirdProducts;
private int basicThirdCorp;
private int basicThirdInv;

@ -5,6 +5,7 @@ import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.req.basic.BasicEntrustRecRequest;
import com.glxp.api.res.basic.EntrustReceResponse;
import java.util.Date;
import java.util.List;
public interface EntrustReceService {
@ -29,4 +30,5 @@ public interface EntrustReceService {
int updateEntrustRec(EntrustReceEntity warehouseEntity);
List<EntrustReceEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.req.basic.FilterBusTypeChangeRequest;
import com.glxp.api.req.basic.FilterBusTypePreRequest;
import com.glxp.api.res.basic.BasicBusTypePreResponse;
import java.util.Date;
import java.util.List;
/**
@ -79,4 +80,6 @@ public interface IBasicBusTypePreService {
* @return
*/
boolean verifyExists(BasicBusTypePreEntity basicBusTypePreEntity);
List<BasicBusTypePreEntity> findByLastTime(Date lastUpdateTime);
}

@ -105,6 +105,11 @@ public class BasicBusTypePreServiceImpl implements IBasicBusTypePreService {
return false;
}
@Override
public List<BasicBusTypePreEntity> findByLastTime(Date lastUpdateTime) {
return basicBusTypePreDao.selectList(new QueryWrapper<BasicBusTypePreEntity>().gt("updateTime", lastUpdateTime));
}
/**
* /
*

@ -1,6 +1,7 @@
package com.glxp.api.service.basic.impl;
import cn.hutool.core.collection.CollUtil;
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.basic.EntrustReceDao;
@ -14,6 +15,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@Service
@ -114,4 +116,10 @@ public class EntrustReceServiceImpl implements EntrustReceService {
public int updateEntrustRec(EntrustReceEntity entrustReceEntity) {
return entrustReceDao.updateById(entrustReceEntity);
}
@Override
public List<EntrustReceEntity> findByLastTime(Date lastUpdateTime) {
return entrustReceDao.selectList(new QueryWrapper<EntrustReceEntity>().gt("updateTime", lastUpdateTime));
}
}

@ -0,0 +1,63 @@
package com.glxp.api.service.inout;
/**
* @author : zhangsan
* @date : 2023/4/17 11:12
* @modyified By :
*/
import com.glxp.api.entity.inout.IoStatDayEntity;
import com.glxp.api.req.inout.FilterStatDataDetailRequest;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
*
*/
public interface ExcelService {
/**
* excel-sheet
*
* @param multipartFile
*/
void excelImport(MultipartFile multipartFile);
/**
* excel-sheet
*
* @param response
*/
void excelExport(HttpServletResponse response,String billNo,String key);
/**
* excel-sheet
*
* @param multipartFile
*/
void excelSheetImport(MultipartFile multipartFile);
/**
* excel-sheet
*
* @param response
*/
void excelSheetExport(HttpServletResponse response);
/**
* excel-sheet
*
* @param response
*/
void excelTemplate(HttpServletResponse response);
/**
* excel-sheet
*
* @param response
*/
void excelSheetTemplate(HttpServletResponse response) throws Exception;
}

@ -23,6 +23,8 @@ public interface IoOrderService {
IoOrderEntity findByBillNo(String billNO);
IoOrderResponse findGroupBillNo(String billNo);
List<IoOrderEntity> findByStatus(String action, Integer status, Date lastUpdateTime);
int insertOrder(IoOrderEntity orderEntity);

@ -25,4 +25,6 @@ public interface IoStatDayService {
* @return
*/
List<IoStatDayEntity> filterList(FilterStatDataDetailRequest statDataDetailRequest);
List<IoStatDayEntity> filterListByRecordKey(String recordKey);
}

@ -25,4 +25,6 @@ public interface IoStatMonthService {
* @return
*/
List<IoStatMonthEntity> filterList(FilterStatDataDetailRequest statDataDetailRequest);
List<IoStatMonthEntity> filterListByRecordKey(String recordKey);
}

@ -26,4 +26,6 @@ public interface IoStatQuarterService {
*/
List<IoStatQuarterEntity> filterList(FilterStatDataDetailRequest statDataDetailRequest);
List<IoStatQuarterEntity> filterListByRecordKey(String recordKey);
}

@ -25,4 +25,7 @@ public interface IoStatYearService {
* @return
*/
List<IoStatYearEntity> filterList(FilterStatDataDetailRequest statDataDetailRequest);
List<IoStatYearEntity> filterListByRecordKey(String recordKey);
}

@ -0,0 +1,284 @@
package com.glxp.api.service.inout.impl;
/**
* @author : zhangsan
* @date : 2023/4/17 11:13
* @modyified By :
*/
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.glxp.api.entity.inout.*;
import com.glxp.api.req.inout.FilterStatDataDetailRequest;
import com.glxp.api.service.inout.*;
import com.glxp.api.util.Excel.ExcelHandler;
import com.glxp.api.util.Excel.ExcelTemplateEnum;
import com.glxp.api.util.Excel.Exception.RenException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
/**
*
*/
@Slf4j
@Service
public class ExcelServiceImpl implements ExcelService {
@Resource
ExcelHandler excelHandler;
@Resource
private IoStatDayService statDayService;
@Resource
private IoStatMonthService statMonthService;
@Resource
private IoStatQuarterService statQuarterService;
@Resource
private IoStatYearService statYearService;
/**
* excel-sheet
*
* @param multipartFile
*/
@Override
public void excelImport(MultipartFile multipartFile) {
try {
List<ExcelVO> voList = excelHandler.importExcel(multipartFile, ExcelVO.class, null);
if (CollectionUtils.isNotEmpty(voList)) {
System.out.println("本次成功导出:" + voList.size() + "条,数据如下---------------");
voList.forEach(vo -> {
System.out.println("vo=" + vo.toString());
});
}
} catch (Exception e) {
throw new RenException("导入失败");
}
}
/**
* excel-sheet
*
* @param response
*/
@Override
public void excelExport(HttpServletResponse response, String billNo,String key) {
try {
List<ExcelVO> excelVOS = structureDate(billNo,key);
excelHandler.exportExcel(response, excelVOS, ExcelVO.class, "excel导出-单et", "excel导出heet");
} catch (Exception e) {
throw new RenException("导出失败");
}
}
/**
* excel-sheet
*
* @param multipartFile
*/
@Override
public void excelSheetImport(MultipartFile multipartFile) {
try {
List<Integer> indexList = new ArrayList<>();
indexList.add(0);
indexList.add(1);
indexList.add(2);
indexList.add(3);
indexList.add(4);
indexList.add(5);
List<Object> objList = new ArrayList<>();
objList.add(new ExcelVO());
objList.add(new ExcelVO());
objList.add(new ExcelVO());
objList.add(new ExcelVO());
objList.add(new ExcelVO());
objList.add(new ExcelVO());
List<List<Object>> resultList = excelHandler.importExcelsByIndex(multipartFile, objList, 6, indexList);
System.out.println("resultList="+resultList.size());
resultList.forEach(vo->{
List<ExcelVO> voList = JSON.parseArray(JSON.toJSONString(vo), ExcelVO.class);
System.out.println("voList="+voList.size()+"条数据");
});
} catch (Exception e) {
throw new RenException("导入失败");
}
}
/**
* excel-sheet
*
* @param response
*/
@Override
public void excelSheetExport(HttpServletResponse response) {
// try {
// //构建多集合集合
// List<List<?>> lists = new ArrayList<>();
// lists.add(structureDate(10));
// lists.add(structureDate(20));
// lists.add(structureDate(30));
// lists.add(structureDate(40));
// lists.add(structureDate(50));
// lists.add(structureDate(60));
// //Sheet页初始化
// Map<Integer, String> clazzMap = new HashMap<>();
// clazzMap.put(0, "一年级成绩表");
// clazzMap.put(1, "二年级成绩表");
// clazzMap.put(2, "三年级成绩表");
// clazzMap.put(3, "四年级成绩表");
// clazzMap.put(4, "五年级成绩表");
// clazzMap.put(5, "六年级成绩表");
// excelHandler.exportExcels(response, Collections.singletonList(lists), clazzMap, "excel导出-单sheet");
// } catch (Exception e) {
// throw new RenException("导出失败");
// }
}
/**
* excel-sheet
*
* @param response
*/
@Override
public void excelTemplate(HttpServletResponse response) {
// try {
// //准备数据
// JSONObject obj = new JSONObject();
// obj.put("date","2022年");
// obj.put("season","秋季");
// obj.put("user","王远");
// obj.put("userDate",new Date());
// List<ExcelVO> list = structureDate(20);
// excelHandler.exportTemplateExcels(response,list,obj, ExcelTemplateEnum.TEMPLATE_1.getDesc(),ExcelTemplateEnum.TEMPLATE_1.getDesc());
// }catch (Exception e){
// log.error("导出错误:{}", e.getMessage());
// throw new RenException("导出错误");
// }
}
/**
* excel-sheet
*
* @param response
*/
@Override
public void excelSheetTemplate(HttpServletResponse response) throws Exception {
// 准备数据
// JSONObject obj = new JSONObject();
// obj.put("date","2022年");
// obj.put("season","秋季");
// obj.put("user","王远");
// obj.put("userDate",new Date());
// List<ExcelVO> list = structureDate(20);
// excelHandler.exportSheetTemplateExcels(response,list,list,obj,obj, ExcelTemplateEnum.TEMPLATE_1.getDesc(),ExcelTemplateEnum.TEMPLATE_1.getDesc());
}
/**
*
*
* @return
*/
private List<ExcelVO> structureDate(String billNo ,String key) {
List<ExcelVO> list = new ArrayList<>();
if("day".equals(key)){
List<IoStatDayEntity> ioStatDayEntities = statDayService.filterListByRecordKey(billNo);
for (int i=0; i < ioStatDayEntities.size(); i++) {
ExcelVO vo = new ExcelVO();
vo.setId(i+1);
vo.setProductName(ioStatDayEntities.get(i).getProductName());
vo.setGgxh(ioStatDayEntities.get(i).getGgxh());
vo.setBatchNo(ioStatDayEntities.get(i).getBatchNo());
vo.setBeginCount(ioStatDayEntities.get(i).getBeginCount());
vo.setBeginPrice(ioStatDayEntities.get(i).getBeginPrice());
vo.setBeginAmount(ioStatDayEntities.get(i).getBeginAmount());
vo.setInCount(ioStatDayEntities.get(i).getInCount());
vo.setInPrice(ioStatDayEntities.get(i).getInPrice());
vo.setInAmount(ioStatDayEntities.get(i).getInAmount());
vo.setOutCount(ioStatDayEntities.get(i).getOutCount());
vo.setOutPrice(ioStatDayEntities.get(i).getOutPrice());
vo.setOutAmount(ioStatDayEntities.get(i).getOutAmount());
vo.setBalanceCount(ioStatDayEntities.get(i).getBalanceCount());
vo.setBalancePrice(ioStatDayEntities.get(i).getBalancePrice());
vo.setBalanceAmount(ioStatDayEntities.get(i).getBalanceAmount());
list.add(vo);
}
}else if("month".equals(key)){
List<IoStatMonthEntity> ioStatMonthEntities = statMonthService.filterListByRecordKey(billNo);
for (int i=0; i < ioStatMonthEntities.size(); i++) {
ExcelVO vo = new ExcelVO();
vo.setId(i+1);
vo.setProductName(ioStatMonthEntities.get(i).getProductName());
vo.setGgxh(ioStatMonthEntities.get(i).getGgxh());
vo.setBatchNo(ioStatMonthEntities.get(i).getBatchNo());
vo.setBeginCount(ioStatMonthEntities.get(i).getBeginCount());
vo.setBeginPrice(ioStatMonthEntities.get(i).getBeginPrice());
vo.setBeginAmount(ioStatMonthEntities.get(i).getBeginAmount());
vo.setInCount(ioStatMonthEntities.get(i).getInCount());
vo.setInPrice(ioStatMonthEntities.get(i).getInPrice());
vo.setInAmount(ioStatMonthEntities.get(i).getInAmount());
vo.setOutCount(ioStatMonthEntities.get(i).getOutCount());
vo.setOutPrice(ioStatMonthEntities.get(i).getOutPrice());
vo.setOutAmount(ioStatMonthEntities.get(i).getOutAmount());
vo.setBalanceCount(ioStatMonthEntities.get(i).getBalanceCount());
vo.setBalancePrice(ioStatMonthEntities.get(i).getBalancePrice());
vo.setBalanceAmount(ioStatMonthEntities.get(i).getBalanceAmount());
list.add(vo);
}
}else if("quarter".equals(key)){
List<IoStatQuarterEntity> ioStatQuarterEntities = statQuarterService.filterListByRecordKey(billNo);
for (int i=0; i < ioStatQuarterEntities.size(); i++) {
ExcelVO vo = new ExcelVO();
vo.setId(i+1);
vo.setProductName(ioStatQuarterEntities.get(i).getProductName());
vo.setGgxh(ioStatQuarterEntities.get(i).getGgxh());
vo.setBatchNo(ioStatQuarterEntities.get(i).getBatchNo());
vo.setBeginCount(ioStatQuarterEntities.get(i).getBeginCount());
vo.setBeginPrice(ioStatQuarterEntities.get(i).getBeginPrice());
vo.setBeginAmount(ioStatQuarterEntities.get(i).getBeginAmount());
vo.setInCount(ioStatQuarterEntities.get(i).getInCount());
vo.setInPrice(ioStatQuarterEntities.get(i).getInPrice());
vo.setInAmount(ioStatQuarterEntities.get(i).getInAmount());
vo.setOutCount(ioStatQuarterEntities.get(i).getOutCount());
vo.setOutPrice(ioStatQuarterEntities.get(i).getOutPrice());
vo.setOutAmount(ioStatQuarterEntities.get(i).getOutAmount());
vo.setBalanceCount(ioStatQuarterEntities.get(i).getBalanceCount());
vo.setBalancePrice(ioStatQuarterEntities.get(i).getBalancePrice());
vo.setBalanceAmount(ioStatQuarterEntities.get(i).getBalanceAmount());
list.add(vo);
}
}else{
List<IoStatYearEntity> ioStatYearEntities = statYearService.filterListByRecordKey(billNo);
for (int i=0; i < ioStatYearEntities.size(); i++) {
ExcelVO vo = new ExcelVO();
vo.setId(i+1);
vo.setProductName(ioStatYearEntities.get(i).getProductName());
vo.setGgxh(ioStatYearEntities.get(i).getGgxh());
vo.setBatchNo(ioStatYearEntities.get(i).getBatchNo());
vo.setBeginCount(ioStatYearEntities.get(i).getBeginCount());
vo.setBeginPrice(ioStatYearEntities.get(i).getBeginPrice());
vo.setBeginAmount(ioStatYearEntities.get(i).getBeginAmount());
vo.setInCount(ioStatYearEntities.get(i).getInCount());
vo.setInPrice(ioStatYearEntities.get(i).getInPrice());
vo.setInAmount(ioStatYearEntities.get(i).getInAmount());
vo.setOutCount(ioStatYearEntities.get(i).getOutCount());
vo.setOutPrice(ioStatYearEntities.get(i).getOutPrice());
vo.setOutAmount(ioStatYearEntities.get(i).getOutAmount());
vo.setBalanceCount(ioStatYearEntities.get(i).getBalanceCount());
vo.setBalancePrice(ioStatYearEntities.get(i).getBalancePrice());
vo.setBalanceAmount(ioStatYearEntities.get(i).getBalanceAmount());
list.add(vo);
}
}
return list;
}
}

@ -137,6 +137,17 @@ public class IoOrderServiceImpl implements IoOrderService {
return orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNO));
}
@Override
public IoOrderResponse findGroupBillNo(String billNo) {
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setBillNo(billNo);
List<IoOrderResponse> orderResponses = orderDao.filterList(filterOrderRequest);
if (CollUtil.isNotEmpty(orderResponses)) {
return orderResponses.get(0);
}
return null;
}
@Override
public List<IoOrderEntity> findByStatus(String action, Integer status, Date lastUpdateTime) {
return orderDao.selectList(new QueryWrapper<IoOrderEntity>().eq("action", action).eq("status", status).gt("updateTime", lastUpdateTime));

@ -99,6 +99,11 @@ public class IoStatDayServiceImpl implements IoStatDayService {
return statDayDao.filterList(statDataDetailRequest);
}
@Override
public List<IoStatDayEntity> filterListByRecordKey(String recordKey) {
return statDayDao.filterListByRecordKey(recordKey);
}
/**
*
*

@ -90,6 +90,11 @@ public class IoStatMonthServiceImpl implements IoStatMonthService {
return statMonthDao.filterList(statDataDetailRequest);
}
@Override
public List<IoStatMonthEntity> filterListByRecordKey(String recordKey) {
return statMonthDao.filterListByRecordKey(recordKey);
}
/**
*
*

@ -85,6 +85,11 @@ public class IoStatQuarterServiceImpl implements IoStatQuarterService {
return statQuarterDao.filterList(statDataDetailRequest);
}
@Override
public List<IoStatQuarterEntity> filterListByRecordKey(String recordKey) {
return statQuarterDao.filterListByRecordKey(recordKey);
}
/**
*
*

@ -87,6 +87,11 @@ public class IoStatYearServiceImpl implements IoStatYearService {
return statYearDao.filterList(statDataDetailRequest);
}
@Override
public List<IoStatYearEntity> filterListByRecordKey(String recordKey) {
return statYearDao.filterListByRecordKey(recordKey);
}
/**
*
*

@ -6,11 +6,16 @@ import java.util.List;
import javax.annotation.Resource;
import cn.hutool.core.bean.BeanUtil;
import com.glxp.api.dao.basic.ProductInfoDao;
import com.glxp.api.dao.basic.UdiCompanyDao;
import com.glxp.api.dao.inout.*;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.basic.UdiCompanyEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.res.sync.SpsSyncBusResponse;
import com.glxp.api.res.sync.SpsSyncDataResponse;
import com.glxp.api.res.sync.*;
import com.glxp.api.service.inout.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
@ -29,13 +34,11 @@ 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.util.CustomUtil;
import com.glxp.api.util.DateUtil;
import cn.hutool.core.collection.CollUtil;
@Slf4j
@Service
public class HeartService {
@Resource
@ -56,6 +59,19 @@ public class HeartService {
IoAddInoutService addInoutService;
@Resource
IoCheckInoutService ioCheckInoutService;
@Resource
private UpThrDataService upThrDataService;
@Resource
IoCodeTempService codeTempService;
@Resource
IoOrderDetailBizService orderDetailBizService;
@Resource
IoOrderDetailCodeService orderDetailCodeService;
@Resource
IoOrderDetailResultService orderDetailResultService;
@Resource
IoOrderInvoiceService orderInvoiceService;
//上传最近更新扫码单据
public BaseResponse uploadAllOrder(String syncTime) {
@ -331,18 +347,7 @@ public class HeartService {
// }
@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<>();
@ -422,6 +427,72 @@ public class HeartService {
}
}
// 下载最近更新国家库数据-上级服务
public void dlAllDiProducts() {
BaseResponse<List<BasicExportStatusEntity>> baseResponse = spGetHttp.getBasicStatus(BasicProcessStatus.NEW_ALL_DI + "");
List<BasicExportStatusEntity> pageSimpleResponse = baseResponse.getData();
if (pageSimpleResponse != null) {
List<BasicExportStatusEntity> basicExportStatusEntities = pageSimpleResponse;
if (basicExportStatusEntities != null && basicExportStatusEntities.size() > 0) {
for (BasicExportStatusEntity basicExportStatusEntity : basicExportStatusEntities) {
long curTime = System.currentTimeMillis();
// log.info("--------等待时间------" + curTime);
String datas = spGetHttp.getBasicData(basicExportStatusEntity.getId(), BasicProcessStatus.NEW_ALL_DI);
// logger.info("--------等待时间1------" + (System.currentTimeMillis() - curTime) / 1000);
long curTime2 = System.currentTimeMillis();
BaseResponse<SpSyncUdiResponse> response = JSONObject.parseObject(datas, new TypeReference<BaseResponse<SpSyncUdiResponse>>() {
});
// logger.info("--------等待时间2------" + (System.currentTimeMillis() - curTime2) / 1000);
if (response.getCode() == 20000 && response.getData() != null) {
SpSyncUdiResponse spSyncUdiResponse = response.getData();
BasicDownloadStatusEntity basicDownloadStatusEntity = new BasicDownloadStatusEntity();
basicDownloadStatusEntity.setId(CustomUtil.getId());
basicDownloadStatusEntity.setTaskId(spSyncUdiResponse.getTaskId());
basicDownloadStatusEntity.setStartTime(new Date());
basicDownloadStatusEntity.setIdDatas(ConstantStatus.SYNC_DOWNLOAD_DI_PRODUCTS);
basicDownloadStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_WAIT); //下载中
basicDownloadStatusEntity.setType(BasicProcessStatus.NEW_ALL_DI);
basicDownloadStatusEntity.setScheduleType(1);
basicDownloadService.insertDownloadStatus(basicDownloadStatusEntity);
StringBuffer remark = new StringBuffer();
SqlSession batchSession = sqlSessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED);
if (CollUtil.isNotEmpty(spSyncUdiResponse.getUdiCompanyEntities())) {
List<UdiCompanyEntity> udiCompanyEntities = spSyncUdiResponse.getUdiCompanyEntities();
UdiCompanyDao mapper = batchSession.getMapper(UdiCompanyDao.class);
for (UdiCompanyEntity udiCompanyEntity : udiCompanyEntities) {
mapper.insertUdiCompany(udiCompanyEntity);
}
batchSession.commit();
remark.append("公司信息:").append(spSyncUdiResponse.getUdiCompanyEntities().size()).append("条\n");
}
if (CollUtil.isNotEmpty(spSyncUdiResponse.getProductInfoEntityList())) {
List<ProductInfoEntity> productInfoEntities = spSyncUdiResponse.getProductInfoEntityList();
ProductInfoDao mapper = batchSession.getMapper(ProductInfoDao.class);
for (ProductInfoEntity productInfoEntity : productInfoEntities) {
mapper.insertProductInfo(productInfoEntity);
}
batchSession.commit();
remark.append("产品信息:").append(spSyncUdiResponse.getProductInfoEntityList().size()).append("条\n");
}
batchSession.close();
spGetHttp.postBasicStatus(basicExportStatusEntity.getId());
basicDownloadStatusEntity.setUpdateTime(new Date());
basicDownloadStatusEntity.setEndTime(new Date());
basicDownloadStatusEntity.setRemark(remark.toString());
basicDownloadStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_SUCCESS);
basicDownloadService.updateDownloadStatus(basicDownloadStatusEntity);
}
}
}
}
}
public void insetOrderDb(SpsSyncOrderResponse syncDataResponse, IoOrderEntity orderEntity) {
//更新码详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) {
@ -482,4 +553,193 @@ public class HeartService {
}
/**
*
*
* @param syncTime
*/
public BaseResponse uploadThrData(String syncTime) {
SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest();
if (syncTime == null) {
BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByKey(ConstantStatus.SYNC_THR_DATA);
if (basicExportStatusTimeEntity == null) {
basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime("1949-10-01 09:00:00");
}
spsSyncDataRequest.setLastUpdateTime(basicExportStatusTimeEntity.getLastUpdateTime());
} else {
spsSyncDataRequest.setLastUpdateTime(syncTime);
}
SpsSyncThrDataResponse spsSyncThrDataResponse = upThrDataService.upThrData(spsSyncDataRequest);
if (CollUtil.isEmpty(spsSyncThrDataResponse.getDeptEntities()) && CollUtil.isEmpty(spsSyncThrDataResponse.getInvWarehouseEntities())
&& CollUtil.isEmpty(spsSyncThrDataResponse.getCorpEntities())) {
//无数据不记录
log.info("无第三方基础数据需要同步");
return ResultVOUtils.success("无数据");
}
BasicExportStatusEntity basicExportStatusEntity1 = basicExportService.findByData(ConstantStatus.SYNC_THR_DATA, 0);
if (basicExportStatusEntity1 == null) {
BasicExportStatusEntity thrDataStatusEntity = new BasicExportStatusEntity();
thrDataStatusEntity.setId(CustomUtil.getId());
thrDataStatusEntity.setIdDatas(ConstantStatus.SYNC_THR_DATA);
thrDataStatusEntity.setType(BasicProcessStatus.NEW_ALL_THR_DATA);
thrDataStatusEntity.setUpdateTime(new Date());
thrDataStatusEntity.setStartTime(new Date());
thrDataStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_WAIT);
thrDataStatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL);
basicExportService.insertExportStatus(thrDataStatusEntity);
basicExportStatusEntity1 = thrDataStatusEntity;
}
BasicExportStatusTimeEntity basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime(DateUtil.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"));
basicExportStatusTimeEntity.setKey(ConstantStatus.SYNC_THR_DATA);
spsSyncThrDataResponse.setTaskId(basicExportStatusEntity1.getId());
BaseResponse<String> baseResponse = spGetHttp.postThrData(spsSyncThrDataResponse);
if (baseResponse.getCode() == 20000) {
basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_SUCCESS);
} else {
basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_FAIL);
}
basicExportStatusEntity1.setEndTime(new Date());
basicExportTimeService.insertExportStatus(basicExportStatusTimeEntity);
//拼接日志
StringBuilder logs = new StringBuilder();
if (CollUtil.isNotEmpty(spsSyncThrDataResponse.getDeptEntities())) {
logs.append("第三方部门信息:").append(spsSyncThrDataResponse.getDeptEntities().size()).append("条\n");
}
if (CollUtil.isNotEmpty(spsSyncThrDataResponse.getInvWarehouseEntities())) {
logs.append("第三方仓库信息:").append(spsSyncThrDataResponse.getInvWarehouseEntities().size()).append("条\n");
}
if (CollUtil.isNotEmpty(spsSyncThrDataResponse.getCorpEntities())) {
logs.append("第三方往来单位信息:").append(spsSyncThrDataResponse.getCorpEntities().size()).append("条\n");
}
basicExportStatusEntity1.setRemark(logs.toString());
basicExportStatusEntity1.setUpdateTime(new Date());
basicExportService.updateExportStatus(basicExportStatusEntity1);
return ResultVOUtils.success();
}
/**
*
*
* @param syncTime
* @return
*/
public BaseResponse uploadSysSetting(String syncTime) {
SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest();
if (syncTime == null) {
BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByKey(ConstantStatus.SYNC_SYS_SETTING);
if (basicExportStatusTimeEntity == null) {
basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime("1949-10-01 09:00:00");
}
spsSyncDataRequest.setLastUpdateTime(basicExportStatusTimeEntity.getLastUpdateTime());
} else {
spsSyncDataRequest.setLastUpdateTime(syncTime);
}
SpsSyncSysSettingResponse spsSyncSysSettingResponse = upBasicService.upSysSetting(spsSyncDataRequest);
if (BeanUtil.isEmpty(spsSyncSysSettingResponse)) {
//无数据不记录
log.info("无第系统设置需要同步");
return ResultVOUtils.success("无数据");
}
BasicExportStatusEntity basicExportStatusEntity1 = basicExportService.findByData(ConstantStatus.SYNC_SYS_SETTING, 0);
if (basicExportStatusEntity1 == null) {
BasicExportStatusEntity thrDataStatusEntity = new BasicExportStatusEntity();
thrDataStatusEntity.setId(CustomUtil.getId());
thrDataStatusEntity.setIdDatas(ConstantStatus.SYNC_SYS_SETTING);
thrDataStatusEntity.setType(BasicProcessStatus.NEW_ALL_SYS_SETTING);
thrDataStatusEntity.setUpdateTime(new Date());
thrDataStatusEntity.setStartTime(new Date());
thrDataStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_WAIT);
thrDataStatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL);
basicExportService.insertExportStatus(thrDataStatusEntity);
basicExportStatusEntity1 = thrDataStatusEntity;
}
BasicExportStatusTimeEntity basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime(DateUtil.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"));
basicExportStatusTimeEntity.setKey(ConstantStatus.SYNC_SYS_SETTING);
spsSyncSysSettingResponse.setTaskId(basicExportStatusEntity1.getId());
BaseResponse<String> baseResponse = spGetHttp.postSysSetting(spsSyncSysSettingResponse);
if (baseResponse.getCode() == 20000) {
basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_SUCCESS);
} else {
basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_FAIL);
}
basicExportStatusEntity1.setEndTime(new Date());
basicExportTimeService.insertExportStatus(basicExportStatusTimeEntity);
basicExportStatusEntity1.setRemark(spsSyncSysSettingResponse.logs());
basicExportStatusEntity1.setUpdateTime(new Date());
basicExportService.updateExportStatus(basicExportStatusEntity1);
return ResultVOUtils.success();
}
/**
*
*
* @param syncTime
* @return
*/
public BaseResponse uploadThrProducts(String syncTime) {
SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest();
if (syncTime == null) {
BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByKey(ConstantStatus.SYNC_THR_PRODUCTS);
if (basicExportStatusTimeEntity == null) {
basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime("1949-10-01 09:00:00");
}
spsSyncDataRequest.setLastUpdateTime(basicExportStatusTimeEntity.getLastUpdateTime());
} else {
spsSyncDataRequest.setLastUpdateTime(syncTime);
}
SpsSyncThrProductsResponse spsSyncThrProductsResponse = upThrDataService.upThrProducts(spsSyncDataRequest);
if (CollUtil.isEmpty(spsSyncThrProductsResponse.getProductsEntities())) {
//无数据不记录
log.info("无第三方产品数据需要同步");
return ResultVOUtils.success("无数据");
}
BasicExportStatusEntity basicExportStatusEntity1 = basicExportService.findByData(ConstantStatus.SYNC_THR_PRODUCTS, 0);
if (basicExportStatusEntity1 == null) {
BasicExportStatusEntity thrDataStatusEntity = new BasicExportStatusEntity();
thrDataStatusEntity.setId(CustomUtil.getId());
thrDataStatusEntity.setIdDatas(ConstantStatus.SYNC_THR_PRODUCTS);
thrDataStatusEntity.setType(BasicProcessStatus.NEW_ALL_THR_PRODUCTS);
thrDataStatusEntity.setUpdateTime(new Date());
thrDataStatusEntity.setStartTime(new Date());
thrDataStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_WAIT);
thrDataStatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL);
basicExportService.insertExportStatus(thrDataStatusEntity);
basicExportStatusEntity1 = thrDataStatusEntity;
}
BasicExportStatusTimeEntity basicExportStatusTimeEntity = new BasicExportStatusTimeEntity();
basicExportStatusTimeEntity.setLastUpdateTime(DateUtil.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"));
basicExportStatusTimeEntity.setKey(ConstantStatus.SYNC_THR_PRODUCTS);
spsSyncThrProductsResponse.setTaskId(basicExportStatusEntity1.getId());
BaseResponse<String> baseResponse = spGetHttp.postThrProducts(spsSyncThrProductsResponse);
if (baseResponse.getCode() == 20000) {
basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_SUCCESS);
} else {
basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_FAIL);
}
basicExportStatusEntity1.setEndTime(new Date());
basicExportTimeService.insertExportStatus(basicExportStatusTimeEntity);
//拼接日志
StringBuilder logs = new StringBuilder();
if (CollUtil.isNotEmpty(spsSyncThrProductsResponse.getProductsEntities())) {
logs.append("第三方产品信息:").append(spsSyncThrProductsResponse.getProductsEntities().size()).append("条\n");
}
basicExportStatusEntity1.setRemark(logs.toString());
basicExportStatusEntity1.setUpdateTime(new Date());
basicExportService.updateExportStatus(basicExportStatusEntity1);
return ResultVOUtils.success();
}
}

@ -3,40 +3,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.*;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.basic.BasicBusTypePreEntity;
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.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.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.entity.system.*;
import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity;
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.sync.*;
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.IBasicBusTypeChangeService;
import com.glxp.api.service.basic.IBasicBusTypePreService;
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.system.*;
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;
@ -68,6 +60,24 @@ public class UpBasicService {
PurOrderDetailService purOrderDetailService;
@Resource
IoOrderInvoiceService orderInvoiceService;
@Resource
private SystemParamConfigService systemParamConfigService;
@Resource
private EntrustReceService entrustReceService;
@Resource
private SystemPDFModuleService systemPDFModuleService;
@Resource
private SystemPDFTemplateService systemPDFTemplateService;
@Resource
private SystemPDFTemplateRelevanceCodeService systemPDFTemplateRelevanceCodeService;
@Resource
private SystemPDFTemplateRelevanceBizService systemPDFTemplateRelevanceBizService;
@Resource
private SystemPDFTemplateRelevanceLabelService systemPDFTemplateRelevanceLabelService;
@Resource
private SystemPDFTemplateRelevanceStatemenService systemPDFTemplateRelevanceStatemenService;
@Resource
private IBasicBusTypePreService basicBusTypePreService;
//上传最近更新扫码单据
public SpsSyncOrderResponse upAllOrder(SpsSyncDataRequest spsSyncDataRequest) {
@ -285,4 +295,60 @@ public class UpBasicService {
return syncDataResponse;
}
/**
*
*
* @param spsSyncDataRequest
* @return
*/
public SpsSyncSysSettingResponse upSysSetting(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncSysSettingResponse spsSyncSysSettingResponse = new SpsSyncSysSettingResponse();
//查询数据同步设置
SyncDataSetResponse syncDataSet = syncDataSetService.selectSet();
//系统运行参数
if (syncDataSet.getSystemConfig() == 1) {
List<SystemParamConfigEntity> systemParamConfigEntities = systemParamConfigService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncSysSettingResponse.setSystemParamConfigEntities(systemParamConfigEntities);
}
//委托验收设置
if (syncDataSet.getEntrustAction() == 1) {
List<EntrustReceEntity> entrustReceEntities = entrustReceService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncSysSettingResponse.setEntrustReceEntities(entrustReceEntities);
}
//打印设置
if (syncDataSet.getPrintConfig() == 1) {
List<SystemPDFModuleEntity> systemPDFModuleEntities = systemPDFModuleService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
List<SystemPDFTemplateEntity> systemPDFTemplateEntities = systemPDFTemplateService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
List<SysPdfTemplateRelevanceCodeEntity> sysPdfTemplateRelevanceCodeEntities = systemPDFTemplateRelevanceCodeService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
List<SysPdfTemplateRelevanceBizEntity> sysPdfTemplateRelevanceBizEntities = systemPDFTemplateRelevanceBizService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
List<SysPdfTemplateRelevanceLabelEntity> sysPdfTemplateRelevanceLabelEntities = systemPDFTemplateRelevanceLabelService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
List<SysPdfTemplateRelevanceStatemenEntity> sysPdfTemplateRelevanceStatemenEntities = systemPDFTemplateRelevanceStatemenService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncSysSettingResponse.setSystemPDFModuleEntities(systemPDFModuleEntities);
spsSyncSysSettingResponse.setSystemPDFTemplateEntities(systemPDFTemplateEntities);
spsSyncSysSettingResponse.setSysPdfTemplateRelevanceCodeEntities(sysPdfTemplateRelevanceCodeEntities);
spsSyncSysSettingResponse.setSysPdfTemplateRelevanceBizEntities(sysPdfTemplateRelevanceBizEntities);
spsSyncSysSettingResponse.setSysPdfTemplateRelevanceLabelEntities(sysPdfTemplateRelevanceLabelEntities);
spsSyncSysSettingResponse.setSysPdfTemplateRelevanceStatemenEntities(sysPdfTemplateRelevanceStatemenEntities);
}
//自动建出入库单
if (syncDataSet.getScanChangeConfig() == 1) {
List<BasicBusTypePreEntity> basicBusTypePreEntities = basicBusTypePreService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncSysSettingResponse.setBasicBusTypePreEntities(basicBusTypePreEntities);
}
//自动建业务单设置
if (syncDataSet.getBusChangeConfig() == 1) {
List<BasicBusTypeChangeEntity> basicBusTypeChangeEntities = basicBusTypeChangeService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncSysSettingResponse.setBasicBusTypeChangeEntities(basicBusTypeChangeEntities);
}
return spsSyncSysSettingResponse;
}
}

@ -0,0 +1,89 @@
package com.glxp.api.service.sync;
import com.glxp.api.entity.thrsys.ThrCorpEntity;
import com.glxp.api.entity.thrsys.ThrDeptEntity;
import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.req.sync.SpsSyncDataRequest;
import com.glxp.api.res.sync.SpsSyncThrDataResponse;
import com.glxp.api.res.sync.SpsSyncThrProductsResponse;
import com.glxp.api.res.system.SyncDataSetResponse;
import com.glxp.api.service.thrsys.ThrCorpService;
import com.glxp.api.service.thrsys.ThrDeptService;
import com.glxp.api.service.thrsys.ThrInvWarehouseService;
import com.glxp.api.service.thrsys.ThrProductsService;
import com.glxp.api.util.DateUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
*
*/
@Service
public class UpThrDataService {
@Resource
private SyncDataSetService syncDataSetService;
@Resource
private ThrDeptService thrDeptService;
@Resource
private ThrInvWarehouseService thrInvWarehouseService;
@Resource
private ThrProductsService thrProductsService;
@Resource
private ThrCorpService thrCorpService;
/**
*
*
* @param spsSyncDataRequest
* @return
*/
public SpsSyncThrDataResponse upThrData(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncThrDataResponse spsSyncThrDataResponse = new SpsSyncThrDataResponse();
//查询数据同步设置
SyncDataSetResponse syncDataSet = syncDataSetService.selectSet();
//第三方部门信息
if (syncDataSet.getBasicThirdDept() == 1) {
List<ThrDeptEntity> deptEntities = thrDeptService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncThrDataResponse.setDeptEntities(deptEntities);
}
//第三方仓库信息
if (syncDataSet.getBasicThirdInv() == 1) {
List<ThrInvWarehouseEntity> invWarehouseEntities = thrInvWarehouseService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncThrDataResponse.setInvWarehouseEntities(invWarehouseEntities);
}
//第三方往来单位信息
if (syncDataSet.getBasicThirdCorp() == 1) {
List<ThrCorpEntity> corpEntities = thrCorpService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncThrDataResponse.setCorpEntities(corpEntities);
}
return spsSyncThrDataResponse;
}
/**
*
*
* @param spsSyncDataRequest
* @return
*/
public SpsSyncThrProductsResponse upThrProducts(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncThrProductsResponse spsSyncThrProductsResponse = new SpsSyncThrProductsResponse();
//查询数据同步设置
SyncDataSetResponse syncDataSet = syncDataSetService.selectSet();
//第三方产品信息
if (syncDataSet.getBasicThirdProducts() == 1) {
List<ThrProductsEntity> thrProductsEntities = thrProductsService.findByLastTime(DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime()));
spsSyncThrProductsResponse.setProductsEntities(thrProductsEntities);
}
return spsSyncThrProductsResponse;
}
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.system.SystemPDFModuleEntity;
import com.glxp.api.req.system.FilterPdfModuleRequest;
import com.glxp.api.req.system.SysPdfModuleSaveRequest;
import java.util.Date;
import java.util.List;
@ -23,4 +24,6 @@ public interface SystemPDFModuleService {
boolean insert(SystemPDFModuleEntity systemPDFModuleEntity);
boolean deleteById(Integer id);
List<SystemPDFModuleEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.system.SysPdfTemplateRelevanceBizEntity;
import com.glxp.api.req.system.FilterPdfTemplateRelevanceRequest;
import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse;
import java.util.Date;
import java.util.List;
public interface SystemPDFTemplateRelevanceBizService {
@ -18,6 +19,5 @@ public interface SystemPDFTemplateRelevanceBizService {
boolean insert(SysPdfTemplateRelevanceBizEntity sysPdfTemplateRelevanceBizEntity);
List<SysPdfTemplateRelevanceBizEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.system.SysPdfTemplateRelevanceCodeEntity;
import com.glxp.api.req.system.FilterPdfTemplateRelevanceRequest;
import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse;
import java.util.Date;
import java.util.List;
public interface SystemPDFTemplateRelevanceCodeService {
@ -22,7 +23,5 @@ public interface SystemPDFTemplateRelevanceCodeService {
SysPdfTemplateRelevanceCodeEntity selectNameAndAction(String name,String localAction);
List<SysPdfTemplateRelevanceCodeEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity;
import com.glxp.api.req.system.FilterPdfTemplateRelevanceRequest;
import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse;
import java.util.Date;
import java.util.List;
public interface SystemPDFTemplateRelevanceLabelService {
@ -16,6 +17,5 @@ public interface SystemPDFTemplateRelevanceLabelService {
boolean udpateRl(SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity);
List<SysPdfTemplateRelevanceLabelEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.req.system.FilterPdfTemplateRelevanceRequest;
import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse;
import java.util.Date;
import java.util.List;
public interface SystemPDFTemplateRelevanceStatemenService {
@ -16,6 +17,5 @@ public interface SystemPDFTemplateRelevanceStatemenService {
boolean udpateRl(SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity);
List<SysPdfTemplateRelevanceStatemenEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.req.system.FilterPdfTemplateRequest;
import com.glxp.api.req.system.SysPdfTemplateSaveRequest;
import java.util.Date;
import java.util.List;
@ -23,4 +24,6 @@ public interface SystemPDFTemplateService {
boolean insert(SystemPDFTemplateEntity systemPDFTemplateEntity);
boolean deleteById(Integer id);
List<SystemPDFTemplateEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.req.system.FilterParamConfigRequest;
import com.glxp.api.req.system.SysParamConfigSaveRequest;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -34,4 +35,5 @@ public interface SystemParamConfigService {
Map<String, SystemParamConfigEntity> findBasicAll();
List<SystemParamConfigEntity> findByLastTime(Date lastUpdateTime);
}

@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
@ -61,4 +62,9 @@ public class SystemPDFModuleServiceImpl implements SystemPDFModuleService {
public boolean deleteById(Integer id) {
return systemPDFModuleDao.deleteById(id);
}
@Override
public List<SystemPDFModuleEntity> findByLastTime(Date lastUpdateTime) {
return systemPDFModuleDao.selectByLastTime(lastUpdateTime);
}
}

@ -9,6 +9,7 @@ import com.glxp.api.service.system.SystemPDFTemplateRelevanceBizService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
@ -37,7 +38,7 @@ public class SystemPDFTemplateRelevanceBizServiceImpl implements SystemPDFTempla
@Override
public boolean udpateRl(SysPdfTemplateRelevanceBizEntity systemPDFTemplateRelevanceEntity) {
systemPDFTemplateRelevanceEntity.setUpdateTime(new Date());
int count = sysPdfTemplateRelevanceBizDao.updateById(systemPDFTemplateRelevanceEntity);
if (count > 0) {
@ -49,9 +50,13 @@ public class SystemPDFTemplateRelevanceBizServiceImpl implements SystemPDFTempla
@Override
public boolean insert(SysPdfTemplateRelevanceBizEntity sysPdfTemplateRelevanceBizEntity) {
sysPdfTemplateRelevanceBizEntity.setUpdateTime(new Date());
sysPdfTemplateRelevanceBizDao.upInsert(sysPdfTemplateRelevanceBizEntity);
return true;
}
@Override
public List<SysPdfTemplateRelevanceBizEntity> findByLastTime(Date lastUpdateTime) {
return sysPdfTemplateRelevanceBizDao.selectList(new QueryWrapper<SysPdfTemplateRelevanceBizEntity>().gt("updateTime", lastUpdateTime));
}
}

@ -9,6 +9,7 @@ import com.glxp.api.service.system.SystemPDFTemplateRelevanceCodeService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
@ -47,7 +48,7 @@ public class SystemPDFTemplateRelevanceCodeServiceImpl implements SystemPDFTempl
@Override
public boolean udpateRl(SysPdfTemplateRelevanceCodeEntity systemPDFTemplateRelevanceEntity) {
systemPDFTemplateRelevanceEntity.setUpdateTime(new Date());
int count = sysPdfTemplateRelevanceCodeDao.updateById(systemPDFTemplateRelevanceEntity);
if (count > 0) {
@ -59,7 +60,7 @@ public class SystemPDFTemplateRelevanceCodeServiceImpl implements SystemPDFTempl
@Override
public boolean insert(SysPdfTemplateRelevanceCodeEntity sysPdfTemplateRelevanceCodeEntity) {
sysPdfTemplateRelevanceCodeEntity.setUpdateTime(new Date());
sysPdfTemplateRelevanceCodeDao.upInsert(sysPdfTemplateRelevanceCodeEntity);
return false;
}
@ -68,4 +69,9 @@ public class SystemPDFTemplateRelevanceCodeServiceImpl implements SystemPDFTempl
public SysPdfTemplateRelevanceCodeEntity selectNameAndAction(String name, String localAction) {
return sysPdfTemplateRelevanceCodeDao.selectNameAndAction(name, localAction);
}
@Override
public List<SysPdfTemplateRelevanceCodeEntity> findByLastTime(Date lastUpdateTime) {
return sysPdfTemplateRelevanceCodeDao.selectList(new QueryWrapper<SysPdfTemplateRelevanceCodeEntity>().gt("updateTime", lastUpdateTime));
}
}

@ -9,6 +9,7 @@ import com.glxp.api.service.system.SystemPDFTemplateRelevanceLabelService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
@ -37,7 +38,7 @@ public class SystemPDFTemplateRelevanceLabelServiceImpl implements SystemPDFTemp
@Override
public boolean udpateRl(SysPdfTemplateRelevanceLabelEntity systemPDFTemplateRelevanceEntity) {
systemPDFTemplateRelevanceEntity.setUpdateTime(new Date());
int count = sysPdfTemplateRelevanceLabelDao.updateById(systemPDFTemplateRelevanceEntity);
if (count > 0) {
@ -46,4 +47,10 @@ public class SystemPDFTemplateRelevanceLabelServiceImpl implements SystemPDFTemp
return false;
}
}
@Override
public List<SysPdfTemplateRelevanceLabelEntity> findByLastTime(Date lastUpdateTime) {
return sysPdfTemplateRelevanceLabelDao.selectList(new QueryWrapper<SysPdfTemplateRelevanceLabelEntity>().gt("updateTime", lastUpdateTime));
}
}

@ -9,6 +9,7 @@ import com.glxp.api.service.system.SystemPDFTemplateRelevanceStatemenService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
@ -37,7 +38,7 @@ public class SystemPDFTemplateRelevanceStatemenServiceImpl implements SystemPDFT
@Override
public boolean udpateRl(SysPdfTemplateRelevanceStatemenEntity systemPDFTemplateRelevanceEntity) {
systemPDFTemplateRelevanceEntity.setUpdateTime(new Date());
int count = sysPdfTemplateRelevanceStatemenDao.updateById(systemPDFTemplateRelevanceEntity);
if (count > 0) {
@ -46,4 +47,9 @@ public class SystemPDFTemplateRelevanceStatemenServiceImpl implements SystemPDFT
return false;
}
}
@Override
public List<SysPdfTemplateRelevanceStatemenEntity> findByLastTime(Date lastUpdateTime) {
return sysPdfTemplateRelevanceStatemenDao.selectList(new QueryWrapper<SysPdfTemplateRelevanceStatemenEntity>().gt("updateTime", lastUpdateTime));
}
}

@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
@ -61,4 +62,10 @@ public class SystemPDFTemplateServiceImpl implements SystemPDFTemplateService {
public boolean deleteById(Integer id) {
return systemPDFTemplateDao.deleteById(id);
}
@Override
public List<SystemPDFTemplateEntity> findByLastTime(Date lastUpdateTime) {
return systemPDFTemplateDao.selectByLastTime(lastUpdateTime);
}
}

@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -69,7 +70,7 @@ public class SystemParamConfigServiceImpl implements SystemParamConfigService {
@Override
public boolean updateById(SysParamConfigSaveRequest sysParamConfigSaveRequest) {
sysParamConfigSaveRequest.setUpdateTime(new Date());
return systemParamConfigDao.updateById(sysParamConfigSaveRequest);
}
@ -81,6 +82,7 @@ public class SystemParamConfigServiceImpl implements SystemParamConfigService {
@Override
public boolean insert(SystemParamConfigEntity systemParamConfigEntity) {
systemParamConfigEntity.setUpdateTime(new Date());
return systemParamConfigDao.insert(systemParamConfigEntity);
}
@ -105,4 +107,9 @@ public class SystemParamConfigServiceImpl implements SystemParamConfigService {
return systemParamConfigEntityMap;
}
@Override
public List<SystemParamConfigEntity> findByLastTime(Date lastUpdateTime) {
return systemParamConfigDao.selectByLastTime(lastUpdateTime);
}
}

@ -1,14 +1,13 @@
package com.glxp.api.service.thrsys;
import com.glxp.api.entity.thrsys.ThrCorpEntity;
import com.glxp.api.entity.thrsys.ThrSystemDetailEntity;
import com.glxp.api.req.thrsys.FilterThrCorpRequest;
import com.glxp.api.req.thrsys.ThrUnitMaintainFilterRequest;
import com.glxp.api.res.thrsys.ThrCorpsResponse;
import com.glxp.api.res.thrsys.ThrUnitMaintainResponse;
import java.util.Date;
import java.util.List;
public interface ThrCorpService {
@ -31,4 +30,5 @@ public interface ThrCorpService {
ThrSystemDetailEntity selectByKey(String key, String thirdSys);
List<ThrCorpEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,12 +5,14 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.entity.thrsys.ThrDeptEntity;
import com.glxp.api.req.thrsys.FilterThrDeptRequest;
import java.util.Date;
import java.util.List;
public interface ThrDeptService {
ThrDeptEntity findDefault(Boolean advaceType, Boolean isDefault);
List<ThrDeptEntity> filterThrInvWarehouse(FilterThrDeptRequest filterThrDeptRequest);
List<ThrDeptEntity> filterGroupInvWarehouse(FilterThrDeptRequest filterThrDeptRequest);
@ -44,4 +46,12 @@ public interface ThrDeptService {
* @return
*/
BaseResponse deleteInvById(String id);
/**
*
*
* @param lastUpdateTime
* @return
*/
List<ThrDeptEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.api.req.thrsys.FilterThrSubInvWarehouseRequest;
import com.glxp.api.res.thrsys.ThrInvWarehouseResponse;
import java.util.Date;
import java.util.List;
public interface ThrInvWarehouseService {
@ -33,4 +34,5 @@ public interface ThrInvWarehouseService {
*/
List<ThrInvWarehouseResponse> filterThrInvWarehouseResponse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest);
List<ThrInvWarehouseEntity> findByLastTime(Date lastUpdateTime);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.res.thrsys.ThrProductsResponse;
import java.util.Date;
import java.util.List;
/**
@ -33,4 +34,5 @@ public interface ThrProductsService {
boolean insertThrProducts(ThrProductsEntity thrProductsEntity);
List<ThrProductsEntity> findByLastTime(Date lastUpdateTime);
}

@ -14,6 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@Service
@ -89,4 +90,9 @@ public class ThrCorpServiceImpl implements ThrCorpService {
return thrCorpDao.selectByKey(key,thirdSys);
}
@Override
public List<ThrCorpEntity> findByLastTime(Date lastUpdateTime) {
return thrCorpDao.selectByLastTime(lastUpdateTime);
}
}

@ -151,6 +151,7 @@ public class ThrDeptServiceImpl implements ThrDeptService {
thrInvWarehouseEntity.setThirdSysFk(thirdSysFk);
thrInvWarehouseEntity.setParentId(response.getCode());
thrInvWarehouseEntity.setId(IdUtil.getSnowflake(6, 1).nextId() + "");
thrInvWarehouseEntity.setUpdateTime(new Date());
thrInvWarehouseDao.insertThrInvWarehouse(thrInvWarehouseEntity);
}
}
@ -183,4 +184,9 @@ public class ThrDeptServiceImpl implements ThrDeptService {
return ResultVOUtils.success("删除成功");
}
@Override
public List<ThrDeptEntity> findByLastTime(Date lastUpdateTime) {
return thrDeptDao.selectByLastTime(lastUpdateTime);
}
}

@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@Service
@ -79,16 +80,19 @@ public class ThrInvWarehouseServiceImpl implements ThrInvWarehouseService {
@Override
public boolean insertThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity) {
thrInvWarehouseEntity.setUpdateTime(new Date());
return thrInvWarehouseDao.insertThrInvWarehouse(thrInvWarehouseEntity);
}
@Override
public boolean insertInvWarehouses(List<ThrInvWarehouseEntity> thrInvWarehouseEntitys) {
thrInvWarehouseEntitys.forEach(thrInvWarehouseEntity -> thrInvWarehouseEntity.setUpdateTime(new Date()));
return thrInvWarehouseDao.insertThrInvWarehouses(thrInvWarehouseEntitys);
}
@Override
public boolean updateThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity) {
thrInvWarehouseEntity.setUpdateTime(new Date());
return thrInvWarehouseDao.updateThrInvWarehouse(thrInvWarehouseEntity);
}
@ -109,4 +113,9 @@ public class ThrInvWarehouseServiceImpl implements ThrInvWarehouseService {
return thrInvWarehouseDao.filterThrInvWarehouseResponse(filterThrSubInvWarehouseRequest);
}
@Override
public List<ThrInvWarehouseEntity> findByLastTime(Date lastUpdateTime) {
return thrInvWarehouseDao.selectByLastTime(lastUpdateTime);
}
}

@ -2,19 +2,18 @@ package com.glxp.api.service.thrsys.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.dao.thrsys.ThrProductsDao;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.res.thrsys.ThrProductsResponse;
import com.glxp.api.service.thrsys.ThrProductsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
@ -98,5 +97,9 @@ public class ThrProductsServiceImpl implements ThrProductsService {
return thrProductsDao.insertThrProducts(thrProductsEntity);
}
@Override
public List<ThrProductsEntity> findByLastTime(Date lastUpdateTime) {
return thrProductsDao.selectByLastTime(lastUpdateTime);
}
}

@ -6,7 +6,6 @@ import com.glxp.api.entity.system.ScheduledEntity;
import com.glxp.api.entity.system.SyncDataSetEntity;
import com.glxp.api.req.system.ScheduledRequest;
import com.glxp.api.service.sync.HeartService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.RedisUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -70,6 +69,9 @@ public class SyncHeartTask implements SchedulingConfigurer {
heartService.uploadAllBus(null);
heartService.uploadAllUserData(null);
// heartService.uploadScheduleList();
heartService.uploadThrData(null);
heartService.uploadThrProducts(null);
heartService.uploadSysSetting(null);
redisUtil.set("SPS_SYNC_UPLOAD_DATA", curTime1);
}

@ -0,0 +1,278 @@
package com.glxp.api.util.Excel;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.glxp.api.util.Excel.Exception.RenException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
* @author : zhangsan
* @date : 2023/4/17 11:06
* @modyified By :
*/
@Slf4j
@Component
public class ExcelHandler {
/**
* excel
* @param file
* @param clazz
* @param sheetNamesheet [sheet]
* @throws Exception
*/
public <T> List<T> importExcel(MultipartFile file, Class<T> clazz, String sheetName) throws Exception{
this.checkFile(file);
UploadDataListener<T> uploadDataListener = new UploadDataListener<>();
ExcelReaderBuilder builder = EasyExcelFactory.read(file.getInputStream(), clazz, uploadDataListener);
if (StringUtils.isEmpty(sheetName)) {
builder.sheet().doRead();
} else {
builder.sheet(sheetName).doRead();
}
return uploadDataListener.getList();
}
/**
* sheet
* @param multipartFile
* @param objList sheet
* @param index sheet
* @param indexList sheet
* @param <T>
* @return <T> List<List<T>>
* @throws Exception
*/
public <T> List<List<T>> importExcelsByIndex(MultipartFile multipartFile, List<T> objList, int index,List<Integer> indexList) throws Exception {
if (multipartFile == null) {
throw new RenException("文件为空");
}
List<List<T>> resultList = new LinkedList<>();
//初始化导入sheet页实体类型下标
int objListClass = 0;
for (int i = 0; i < index; i++) {
if(indexList.contains(i)){
UploadDataListener<T> uploadDataListener = new UploadDataListener<>();
List<T> excels;
EasyExcelFactory.read(multipartFile.getInputStream(), objList.get(objListClass).getClass(), uploadDataListener).sheet(i).doRead();
excels = uploadDataListener.getList();
resultList.add(excels);
objListClass++;
}
}
return resultList;
}
/**
* sheet
* @param file
* @param indexsheet [030 1 2]
* @param paramssheet[index33]
* @param <T>
* @return
*/
public <T> List<List<T>> importExcels(MultipartFile file, int index, List<Object> params) throws Exception {
this.checkFile(file);
List<List<T>> resultList = new LinkedList<>();
for (int i=0; i<index; i++) {
UploadDataListener<T> uploadDataListener = new UploadDataListener<>();
ExcelReaderBuilder builder = EasyExcelFactory.read(file.getInputStream(), params.get(i).getClass(), uploadDataListener);
builder.sheet(i).doRead();
List<T> list = uploadDataListener.getList();
resultList.add(list);
}
return resultList;
}
/**
* excel
* @param response
* @param dataList
* @param clazz
* @param fileName
* @param sheetNamesheet
* @throws Exception
*/
public <T> void exportExcel(HttpServletResponse response, List<T> dataList, Class<T> clazz, String fileName, String sheetName) throws Exception {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.name());
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ExcelTemplateEnum.TEMPLATE_SUFFIX.getDesc());
ServletOutputStream outputStream = response.getOutputStream();
EasyExcelFactory.write(outputStream, clazz).sheet(sheetName).doWrite(dataList);
outputStream.flush();
outputStream.close();
}
/**
* sheet
* @param response
* @param dataList
* @param clazzMapsheet
* @param fileName
* @param <T>
* @throws Exception
*/
public <T> void exportExcels(HttpServletResponse response, List<List<?>> dataList, Map<Integer, String> clazzMap, String fileName) throws Exception {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.name());
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ExcelTemplateEnum.TEMPLATE_SUFFIX.getDesc());
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
int len = dataList.get(0).size();
for (int i=0; i<len; i++) {
List<?> objects = (List<?>) dataList.get(0).get(i);
Class<?> aClass = objects.get(0).getClass();
WriteSheet writeSheet0 = EasyExcel.writerSheet(i, clazzMap.get(i)).head(aClass).build();
excelWriter.write(objects, writeSheet0);
}
excelWriter.finish();
}
/**
* -sheet
* @param list
* @param object
* @param fileName
* @param templateName
* @throws Exception
*/
public <T> void exportTemplateExcels(HttpServletResponse response, List<T> list, Object object, String fileName, String templateName) throws Exception{
String template = ExcelTemplateEnum.TEMPLATE_PATH.getDesc() + File.separator + templateName + ExcelTemplateEnum.TEMPLATE_SUFFIX.getDesc();
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(template);
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
ExcelWriter excelWriter = EasyExcelFactory.write(getOutputStream(fileName, response)).withTemplate(inputStream).build();
WriteSheet writeSheet0 = EasyExcelFactory.writerSheet(0).build();
excelWriter.fill(object, fillConfig, writeSheet0);
excelWriter.fill(list, fillConfig, writeSheet0);
excelWriter.finish();
}
/**
* -sheet
* @param list1
* @param list2
* @param object1
* @param object2
* @param fileName
* @param templateName
* @throws Exception
*/
public <T> void exportSheetTemplateExcels(HttpServletResponse response, List<T> list1,List<T> list2, Object object1,Object object2, String fileName, String templateName) throws Exception{
String template = ExcelTemplateEnum.TEMPLATE_PATH.getDesc() + File.separator + templateName + ExcelTemplateEnum.TEMPLATE_SUFFIX.getDesc();
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(template);
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
ExcelWriter excelWriter = EasyExcelFactory.write(getOutputStream(fileName, response)).withTemplate(inputStream).build();
WriteSheet writeSheet0 = EasyExcelFactory.writerSheet(0).build();
WriteSheet writeSheet1 = EasyExcelFactory.writerSheet(1).build();
excelWriter.fill(object1, fillConfig, writeSheet0);
excelWriter.fill(list1, fillConfig, writeSheet0);
excelWriter.fill(object2, fillConfig, writeSheet1);
excelWriter.fill(list2, fillConfig, writeSheet1);
excelWriter.finish();
}
/**
*
* @param object
* @param templateName
* @param fileName
* @param sheetName sheet [sheet]
* @throws Exception
*/
public void exportTemplateExcel(HttpServletResponse response, Object object, String templateName, String fileName, String sheetName) throws Exception{
String template = ExcelTemplateEnum.TEMPLATE_PATH.getDesc() + File.separator + templateName + ExcelTemplateEnum.TEMPLATE_SUFFIX.getDesc();
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(template);
if (StringUtils.isEmpty(sheetName)) {
EasyExcelFactory.write(getOutputStream(fileName, response)).withTemplate(inputStream).sheet().doFill(object);
} else {
EasyExcelFactory.write(getOutputStream(fileName, response)).withTemplate(inputStream).sheet(sheetName).doFill(object);
}
}
/**
*
* @param list
* @param fileName
* @param templateName
* @param sheetNamesheet [sheet]
* @throws Exception
*/
public <T> void exportTemplateExcelList(HttpServletResponse response, List<T> list, String fileName, String templateName, String sheetName) throws Exception{
log.info("模板名称:{}", templateName);
String template = ExcelTemplateEnum.TEMPLATE_PATH.getDesc() + File.separator + templateName + ExcelTemplateEnum.TEMPLATE_SUFFIX.getDesc();
log.info("模板路径:{}", template);
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(template);
// 全部填充:全部加载到内存中一次填充
if (StringUtils.isEmpty(sheetName)) {
EasyExcelFactory.write(getOutputStream(fileName, response)).withTemplate(inputStream).sheet().doFill(list);
} else {
EasyExcelFactory.write(getOutputStream(fileName, response)).withTemplate(inputStream).sheet(sheetName).doFill(list);
}
}
/**
*
* @param list
* @param fileName
* @param templateName
* @throws Exception
*/
public <T> void exportTemplateExcel2(HttpServletResponse response, List<T> list, String fileName, String templateName) throws Exception{
String template = ExcelTemplateEnum.TEMPLATE_PATH.getDesc() + File.separator + templateName + ExcelTemplateEnum.TEMPLATE_SUFFIX.getDesc();
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(template);
ExcelWriter excelWriter = EasyExcelFactory.write(getOutputStream(fileName, response)).withTemplate(inputStream).build();
WriteSheet writeSheet = EasyExcelFactory.writerSheet().build();
excelWriter.fill(list, writeSheet);
excelWriter.finish();
}
/**
*
* @param fileName
* @param response
* @return
* @throws Exception
*/
private OutputStream getOutputStream(String fileName, HttpServletResponse response) throws Exception {
fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.name());
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ExcelTemplateEnum.TEMPLATE_SUFFIX.getDesc());
return response.getOutputStream();
}
/**
*
* @param file
*/
private void checkFile(MultipartFile file) {
if (file == null) {
throw new RenException("文件不能为空");
}
String fileName = file.getOriginalFilename();
if (StringUtils.isEmpty(fileName)) {
throw new RenException("文件不能为空");
}
if (!fileName.endsWith(ExcelTemplateEnum.TEMPLATE_SUFFIX.getDesc())
&& !fileName.endsWith(ExcelTemplateEnum.TEMPLATE_SUFFIX_XLS.getDesc())) {
throw new RenException("请上传.xlsx或.xls文件");
}
}
}

@ -0,0 +1,66 @@
package com.glxp.api.util.Excel;
import lombok.Getter;
/**
* @author : zhangsan
* @date : 2023/4/17 11:09
* @modyified By :
*/
@Getter
public enum ExcelTemplateEnum {
/**单sheet导出*/
TEMPLATE_1("1","complex"),
/**模板格式*/
TEMPLATE_SUFFIX("xlsx",".xlsx"),
TEMPLATE_SUFFIX_XLS("xls",".xls"),
TEMPLATE_SUFFIX_DOCX("docx",".docx"),
/**模板路径*/
TEMPLATE_PATH("path","excel"),
;
private final String code;
private final String desc;
ExcelTemplateEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
/**
* codemsg
*
* @param code
* @return
*/
public static String getMsgByCode(String code) {
if (code == null) {
return null;
}
ExcelTemplateEnum enumList = getByCode(code);
if (enumList == null) {
return null;
}
return enumList.getDesc();
}
public static String getCode(ExcelTemplateEnum enumList) {
if (enumList == null) {
return null;
}
return enumList.getCode();
}
public static ExcelTemplateEnum getByCode(String code) {
for (ExcelTemplateEnum enumList : values()) {
if (enumList.getCode().equals(code)) {
return enumList;
}
}
return null;
}
}

@ -0,0 +1,56 @@
package com.glxp.api.util.Excel.Exception;
/**
* @author : zhangsan
* @date : 2023/4/17 11:21
* @modyified By :
*/
public class RenException extends RuntimeException {
private static final long serialVersionUID = 1L;
private String msg;
private int code = 500;
public RenException(String msg) {
super(msg);
this.msg = msg;
}
public RenException(String msg, Throwable e) {
super(msg, e);
this.msg = msg;
}
public RenException(String msg, int code) {
super(msg);
this.msg = msg;
this.code = code;
}
public RenException(String msg, int code, Throwable e) {
super(msg, e);
this.msg = msg;
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}

@ -0,0 +1,61 @@
package com.glxp.api.util.Excel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.exception.ExcelDataConvertException;
import com.glxp.api.util.Excel.Exception.RenException;
import java.util.ArrayList;
import java.util.List;
/**
* @author : zhangsan
* @date : 2023/4/17 11:09
* @modyified By :
*/
public class UploadDataListener<T> extends AnalysisEventListener<T> {
/**数据集*/
private final List<T> list = new ArrayList<>();
public List<T> getList(){
return this.list;
}
/**
*
* @param object
* @param analysisContext
*/
@Override
public void invoke(T object, AnalysisContext analysisContext) {
this.list.add(object);
}
/**
*
* @param analysisContext
*/
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
/**
*
* @param exception
* @param context
* @throws Exception
*/
@Override
public void onException(Exception exception, AnalysisContext context) throws Exception {
// 数据解析异常
if (exception instanceof ExcelDataConvertException) {
ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception;
throw new RenException("第" + excelDataConvertException.getRowIndex() + "行" + excelDataConvertException.getColumnIndex() + "列" + "数据解析异常");
}
// 其他异常...
}
}

@ -0,0 +1,55 @@
server:
port: 9991
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: jdbc:mysql://192.168.0.66:3364/udi_wms_glxp?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: Glxp@6066
hikari:
connection-timeout: 60000
maximum-pool-size: 60
minimum-idle: 10
redis:
database: 8
host: 127.0.0.1
port: 6401
# password: 123456
timeout: 300
jedis:
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 0
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
servlet:
multipart:
max-file-size: 500MB
max-request-size: 500MB
ok:
http:
connect-timeout: 3000
read-timeout: 3000
write-timeout: 3000
max-idle-connections: 200
keep-alive-duration: 300
logging:
level:
com.glxp.api.dao: debug
file_path: D:/udi/udiwms/udiwmsfile/
UDI_KEY: 6b137c66-6286-46c6-8efa-c2f5dd9237df
UDI_SERVER_URL: https://www.udims.com/UDI_DL_Server_test
SPMS_KEY: lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs
back_file_path: D:/share/udisps/back/
API_KEY: 1101
API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNsmQ9L

@ -71,7 +71,8 @@
spUse, preIn, supplementAll, createUser, createTime, preInBack, vailDispatch,
vailGroupBuy, busType, inStock, actionType
, thrCheckEnable, thrCheckWebNew, thrCheckPdaUn, thrCheckPdaEd, thrCheckUdims, thrCheckPc, thrCheckSp
, thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel, checkVailDate, checkCertExpire)
, thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel, checkVailDate, checkCertExpire,
preInBackAction, backPreinType)
values (#{mainAction},
#{action},
#{name},
@ -126,7 +127,7 @@
, #{thrCheckEnable}, #{thrCheckWebNew}, #{thrCheckPdaUn}, #{thrCheckPdaEd}, #{thrCheckUdims},
#{thrCheckPc}
, #{thrCheckSp}, #{thrCheckChange}, #{thrCheckBalance}, #{thrCheckCopy}, #{fillCodeRel}
, #{checkVailDate}, #{checkExpire}, #{checkCertExpire})
, #{checkVailDate}, #{checkExpire}, #{checkCertExpire}, #{preInBackAction}, #{backPreinType})
</insert>
<select id="selectBusList" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity">
@ -318,5 +319,4 @@
</if>
</where>
</select>
</mapper>

@ -20,4 +20,10 @@
</where>
</select>
<select id="filterListByRecordKey" resultType="com.glxp.api.entity.inout.IoStatDayEntity">
select *
from io_stat_day
where recordKeyFk = #{recordKey}
</select>
</mapper>

@ -19,4 +19,9 @@
</if>
</where>
</select>
<select id="filterListByRecordKey" resultType="com.glxp.api.entity.inout.IoStatMonthEntity">
select *
from io_stat_month
where recordKeyFk = #{recordKey}
</select>
</mapper>

@ -19,4 +19,10 @@
</if>
</where>
</select>
<select id="filterListByRecordKey" resultType="com.glxp.api.entity.inout.IoStatQuarterEntity">
select *
from io_stat_quarter
where recordKeyFk = #{recordKey}
</select>
</mapper>

@ -19,4 +19,10 @@
</if>
</where>
</select>
<select id="filterListByRecordKey" resultType="com.glxp.api.entity.inout.IoStatYearEntity">
select *
from io_stat_year
where recordKeyFk = #{recordKey}
</select>
</mapper>

@ -52,6 +52,7 @@
<if test="paramStatus != null">paramStatus=#{paramStatus},</if>
<if test="paramType != null">paramType=#{paramType},</if>
<if test="paramExplain != null">paramExplain=#{paramExplain},</if>
<if test="updateTime != null">updateTime=#{updateTime},</if>
</set>
WHERE id=#{id}
</update>
@ -66,16 +67,21 @@
<insert id="insert" parameterType="com.glxp.api.entity.system.SystemParamConfigEntity">
insert INTO sys_param_config(paramName,
paramKey, paramValue, paramStatus, paramType, paramExplain)
paramKey, paramValue, paramStatus, paramType, paramExplain, updateTime)
values (#{paramName},
#{paramKey},
#{paramValue},
#{paramStatus},
#{paramType},
#{paramExplain})
#{paramExplain},
#{updateTime})
</insert>
<select id="selectValueByParamKey" resultType="java.lang.String">
select paramValue from sys_param_config where paramKey = #{key}
</select>
<select id="selectByLastTime" resultType="com.glxp.api.entity.system.SystemParamConfigEntity">
select * from sys_param_config where updateTime >= #{lastUpdateTime}
</select>
</mapper>

@ -60,7 +60,8 @@
insert
ignore
INTO sys_pdf_template_relevance_biz
(templateId, customerId, adminId, moduleId, localAction, remark1, remark2, remark3, printType,modelKey)
(templateId, customerId, adminId, moduleId, localAction, remark1, remark2, remark3, printType, modelKey,
updateTime)
values (#{templateId},
#{customerId},
#{adminId},
@ -70,8 +71,8 @@
#{remark2},
#{remark3},
#{printType},
#{modelKey}
)
#{modelKey},
#{updateTime})
</insert>

@ -58,7 +58,7 @@
insert
ignore
INTO sys_pdf_template_relevance_code
(templateId, customerId, adminId, moduleId, localAction, remark1, remark2, remark3, printType,modelKey)
(templateId, customerId, adminId, moduleId, localAction, remark1, remark2, remark3, printType,modelKey,updateTime)
values (#{templateId},
#{customerId},
#{adminId},
@ -68,7 +68,8 @@
#{remark2},
#{remark3},
#{printType},
#{modelKey}
#{modelKey},
#{updateTime}
)
</insert>

@ -92,4 +92,8 @@
from sys_pdf_module
where id = #{id}
</delete>
<select id="selectByLastTime" resultType="com.glxp.api.entity.system.SystemPDFModuleEntity">
select * from sys_pdf_module where update_time >= #{lastUpdateTime}
</select>
</mapper>

@ -78,4 +78,8 @@
from sys_pdf_template
where id = #{id}
</delete>
<select id="selectByLastTime" resultType="com.glxp.api.entity.system.SystemPDFTemplateEntity">
select * from sys_pdf_template where update_time >= #{lastUpdateTime}
</select>
</mapper>

@ -171,4 +171,7 @@
and basic_third_sys.enabled = 1
</select>
<select id="selectByLastTime" resultType="com.glxp.api.entity.thrsys.ThrCorpEntity">
select * from thr_corp where updateTime >= #{lastUpdateTime}
</select>
</mapper>

@ -192,4 +192,8 @@
#{item.thirdSysFk})
</foreach>
</insert>
<select id="selectByLastTime" resultType="com.glxp.api.entity.thrsys.ThrDeptEntity">
select * from thr_dept where updateTime >= #{lastUpdateTime}
</select>
</mapper>

@ -80,27 +80,28 @@
parameterType="com.glxp.api.entity.thrsys.ThrInvWarehouseEntity">
replace
INTO thr_inv_warehouse
(id, code, `name`, parentId, remark, thirdSysFk)
(id, code, `name`, parentId, remark, thirdSysFk, updateTime)
values (
#{id},
#{code},
#{name},
#{parentId},
#{remark},
#{thirdSysFk}
#{thirdSysFk},
#{updateTime}
)
</insert>
<insert id="insertThrInvWarehouses" parameterType="java.util.List">
replace INTO thr_inv_warehouse
(id, code, `name`, parentId, remark, thirdSysFk)
(id, code, `name`, parentId, remark, thirdSysFk,updateTime)
VALUES
<foreach collection="thrDeptEntities" item="item" index="index"
separator=",">
(
#{item.id}, #{item.code},
#{item.name}, #{item.parentId},
#{item.remark}, #{item.thirdSysFk})
#{item.remark}, #{item.thirdSysFk}, #{item.updateTime})
</foreach>
</insert>
@ -118,9 +119,12 @@
<if test="parentId != null">parentId=#{parentId},</if>
<if test="remark != null">remark=#{remark},</if>
<if test="thirdSysFk != null">thirdSysFk=#{thirdSysFk},</if>
<if test="updateTime != null">updateTime=#{updateTime},</if>
</trim>
WHERE id = #{id}
</update>
<select id="selectByLastTime" resultType="com.glxp.api.entity.thrsys.ThrInvWarehouseEntity">
select * from thr_inv_warehouse where updateTime >= #{lastUpdateTime}
</select>
</mapper>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save