切换分支备份

zyy_db
anthonywj 2 years ago
parent d17110bcaf
commit 7ef66921cf

@ -153,6 +153,29 @@ public class ErpBasicClient {
}
}
/**
*
*
* @param postRelProductRequest
* @return
*/
public BaseResponse<String> postRelProduct(PostRelProductRequest postRelProductRequest) {
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId("thirdId");
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/post/udiRel/product";
try {
String response = httpOkClient.uCloudPost(url, postRelProductRequest);
BaseResponse<String> listBaseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() {
});
return listBaseResponse;
} catch (Exception e) {
log.error("提交第三产品信息异常" + postRelProductRequest.getDatas().size(), e);
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
}
}
//测试连通性
public BaseResponse testConnection(ThrSystemEntity thrSystemEntity) {
String response = httpOkClient.uCloudPost(thrSystemEntity.getThridUrl() + "/udiwms/erp/testLocal", "{}");

@ -0,0 +1,15 @@
package com.glxp.api.req.thrsys;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import lombok.Data;
import java.util.List;
@Data
public class PostRelProductRequest {
private String uploadType;
private String thirdSys;
List<UdiRelevanceResponse> datas;
}

@ -1,6 +1,12 @@
package com.glxp.api.service.thrsys.impl;
import cn.hutool.core.bean.BeanUtil;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.thrsys.PostRelProductRequest;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.CustomUtil;
import org.apache.regexp.RE;
import org.springframework.beans.BeanUtils;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollUtil;
@ -41,6 +47,7 @@ import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
@ -313,18 +320,48 @@ public class ThrProductsServiceImpl extends ServiceImpl<ThrProductsDao, ThrProdu
@Resource
RedisUtil redisUtil;
@Resource
UdiRelevanceService udiRelevanceService;
@Override
public BaseResponse uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
//上次修改时间
String lastUploadTime = (String) redisUtil.get("THR_PI_UPLOAD_TIME");
String currentTime = DateUtil.formatTime(new Date());
if (StrUtil.isEmpty(lastUploadTime)) {
//下载耗材字典最新维护数据
//下载第三方产品信息
//获取耗材字典最新维护数据
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setLastUpdateTime(lastUploadTime);
List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.filterUdiJoinSup(filterUdiRelRequest);
if (CollUtil.isNotEmpty(udiRelevanceResponses)) {
List<UdiRelevanceResponse> filteredList = udiRelevanceResponses.stream()
.filter(item ->
{
if (StrUtil.isNotEmpty(item.getNameCode()) || StrUtil.isNotEmpty(item.getBasicPrductRemak8())) {
return true;
} else return false;
}
)
.collect(Collectors.toList());
List<List<UdiRelevanceResponse>> splitList = CustomUtil.splitList(filteredList, 10);
for (List<UdiRelevanceResponse> temps : splitList) {
PostRelProductRequest postRelProductRequest = new PostRelProductRequest();
postRelProductRequest.setUploadType("1");
postRelProductRequest.setThirdSys(thrSystemDetailEntity.getThirdSysFk());
postRelProductRequest.setDatas(temps);
//上传第三方产品信息
BaseResponse baseResponse = erpBasicClient.postRelProduct(postRelProductRequest);
if (baseResponse.getCode() != 20000) {
return ResultVOUtils.error(500, "上传失败!" + baseResponse.getMessage());
}
}
redisUtil.set("THR_PI_UPLOAD_TIME", currentTime);
return ResultVOUtils.success("上传成功");
}
}
return null;
return ResultVOUtils.error(500, "上传失败!");
}
/**

@ -126,6 +126,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
downloadThrOrder(thrSystemDetailEntity);
break;
case ThirdSysConstant.PI_SUBMIT_URL:
postRelProduct(thrSystemDetailEntity);
break;
default:
//其他接口暂不处理
@ -271,25 +272,24 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
}
}
/**
*
*
*
* @param thrSystemDetailEntity
*/
private void submitThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
private void postRelProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
//校验任务并更新redis数据执行标识
if (verifyTask(thrSystemDetailEntity)) {
getExecutor().submit(() -> {
log.info("开始下载第三方业务单据");
log.info("开始上传关联第三方产品信息");
try {
thrProductsService.uploadThrProduct(thrSystemDetailEntity);
} catch (Exception e) {
log.error("下载第三方业务单据", e);
log.error("开始上传关联第三方产品信息", e);
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
log.info("第三方业务单据下载完成");
log.info("开始上传关联第三方产品信息完成");
});
}
}

@ -4,7 +4,7 @@ server:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_pt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: 123456
hikari:

@ -334,7 +334,8 @@
basic_products.categoryName,
company_product_relevance.unitFk,
basic_corp.erpId as customerId,
basic_corp.name companyName
basic_corp.name companyName,
th.hsmc hslbName
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
@ -345,6 +346,7 @@
left join thr_products tp on tp.code = basic_udirel.mainId
left join basic_product_category_rel on basic_product_category_rel.relId = basic_udirel.id
left join basic_product_category on basic_product_category_rel.code = basic_product_category.code
left join thr_hslb th on basic_products.basicPrductRemak8 = th.hsbm
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND basic_products.ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -1713,7 +1715,7 @@
<select id="selectRelIdByName" resultType="java.lang.String">
SELECT b2.id
FROM basic_products b1
LEFT JOIN basic_udirel b2 ON b1.uuid = b2.uuid
LEFT JOIN basic_udirel b2 ON b1.uuid = b2.uuid
<where>
<if test="productName != '' and productName != null">
AND b1.cpmctymc like concat('%', #{productName}, '%')
@ -1725,67 +1727,67 @@
<select id="selectOneUdi" resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.allowNoSerial,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8,
basic_products.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
basic_products.zdcfsycs,
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.categoryName
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.allowNoSerial,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8,
basic_products.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
basic_products.zdcfsycs,
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.categoryName
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
<where>
<if test="id != '' and id != null">
AND basic_udirel.id = #{id}

Loading…
Cancel
Save