库存bug,库存新增价格,预验收新增清空,udi关联主键替换成唯一键
parent
536652ec18
commit
86f75eb779
@ -1,181 +0,0 @@
|
|||||||
package com.glxp.sale.admin.thread;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.alibaba.fastjson.TypeReference;
|
|
||||||
import com.glxp.sale.admin.dao.basic.InvmandocResponse;
|
|
||||||
import com.glxp.sale.admin.entity.basic.UdiInfoEntity;
|
|
||||||
import com.glxp.sale.admin.entity.basic.BasicInstrumentMaintainRelevanceEntity;
|
|
||||||
import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity;
|
|
||||||
import com.glxp.sale.admin.res.PageSimpleResponse;
|
|
||||||
import com.glxp.sale.admin.res.basic.UOnhandQueryResponse;
|
|
||||||
import com.glxp.sale.admin.service.basic.UdiInfoService;
|
|
||||||
import com.glxp.sale.admin.service.basic.UdiRelevanceService;
|
|
||||||
import com.glxp.sale.admin.util.CustomUtil;
|
|
||||||
import com.glxp.sale.admin.util.DateUtil;
|
|
||||||
import com.glxp.sale.admin.util.HttpClient;
|
|
||||||
import com.glxp.sale.common.res.BaseResponse;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.scheduling.annotation.Async;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
public class UpdateproductService {
|
|
||||||
@Value("${UCLOD_SERVER_URL}")
|
|
||||||
private String ucloudUrl;
|
|
||||||
@Resource
|
|
||||||
UdiRelevanceService udiRelevanceService;
|
|
||||||
@Resource
|
|
||||||
UdiInfoService udiInfoService;
|
|
||||||
@Resource
|
|
||||||
HttpClient httpClient;
|
|
||||||
|
|
||||||
@Async
|
|
||||||
public void updateProduct() {
|
|
||||||
|
|
||||||
int page = 1;
|
|
||||||
int limit = 100;
|
|
||||||
while (page != -1) {
|
|
||||||
page = getInvmandoc(null, page, limit);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addProduct(String code, String name) {
|
|
||||||
List<String> inventoryCodes = new ArrayList<>();
|
|
||||||
inventoryCodes.add(code);
|
|
||||||
if (inventoryCodes.size() > 0) {
|
|
||||||
UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity();
|
|
||||||
udiRelevanceEntity1.setThirdId(code);
|
|
||||||
udiRelevanceEntity1.setThirdName(name);
|
|
||||||
udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime());
|
|
||||||
Map<String, Object> paramMap = new HashMap<>(16);
|
|
||||||
paramMap.put("page_size", 1 + "");
|
|
||||||
paramMap.put("page_now", 1 + "");
|
|
||||||
paramMap.put("invcode", code);
|
|
||||||
String response = httpClient.mipsGet(ucloudUrl + "/uclooud/basic/invbasdoc", paramMap);
|
|
||||||
try {
|
|
||||||
BaseResponse<PageSimpleResponse<InvmandocResponse>> udiDlDeviceResponse =
|
|
||||||
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<InvmandocResponse>>>() {
|
|
||||||
});
|
|
||||||
List<InvmandocResponse> invmandocResponses = udiDlDeviceResponse.getData().getList();
|
|
||||||
if (invmandocResponses != null & invmandocResponses.size() > 0) {
|
|
||||||
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(invmandocResponses.get(0).getInvcode(), "thirdId");
|
|
||||||
if (udiRelevanceEntity == null) {
|
|
||||||
UdiInfoEntity udiInfoEntity = new UdiInfoEntity();
|
|
||||||
udiInfoEntity.setNameCode(invmandocResponses.get(0).getInvcode());
|
|
||||||
udiInfoEntity.setCpmctymc(invmandocResponses.get(0).getInvname());
|
|
||||||
udiInfoEntity.setGgxh(invmandocResponses.get(0).getInvspec());
|
|
||||||
udiInfoEntity.setZczbhhzbapzbh(invmandocResponses.get(0).getInvtype());
|
|
||||||
udiInfoEntity.setYlqxzcrbarmc(invmandocResponses.get(0).getProdarea());
|
|
||||||
udiInfoEntity.setUuid(CustomUtil.getUUId());
|
|
||||||
udiInfoService.insertUdiInfo(udiInfoEntity);
|
|
||||||
udiRelevanceEntity1.setUuid(udiInfoEntity.getUuid());
|
|
||||||
udiRelevanceEntity1.setThirdId(udiInfoEntity.getNameCode());
|
|
||||||
udiRelevanceEntity1.setThirdName(udiInfoEntity.getCpmctymc());
|
|
||||||
udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public int getInvmandoc(String invcode, int page, int limit) {
|
|
||||||
Map<String, Object> paramMap = new HashMap<>(16);
|
|
||||||
paramMap.put("page_size", limit + "");
|
|
||||||
paramMap.put("page_now", page + "");
|
|
||||||
if (invcode != null) {
|
|
||||||
paramMap.put("invcode", invcode);
|
|
||||||
}
|
|
||||||
String response = httpClient.mipsGet(ucloudUrl + "/uclooud/basic/invbasdoc", paramMap);
|
|
||||||
try {
|
|
||||||
BaseResponse<PageSimpleResponse<InvmandocResponse>> udiDlDeviceResponse =
|
|
||||||
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<InvmandocResponse>>>() {
|
|
||||||
});
|
|
||||||
List<InvmandocResponse> invmandocResponses = udiDlDeviceResponse.getData().getList();
|
|
||||||
if (invmandocResponses != null && invmandocResponses.size() > 0) {
|
|
||||||
List<String> inventoryCodes = new ArrayList<>();
|
|
||||||
if (invcode != null) {
|
|
||||||
inventoryCodes.add(invcode);
|
|
||||||
} else {
|
|
||||||
for (InvmandocResponse invmandocResponse : invmandocResponses) {
|
|
||||||
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(invmandocResponse.getInvcode(), "thirdId");
|
|
||||||
if (udiRelevanceEntity == null) {
|
|
||||||
inventoryCodes.add(invmandocResponse.getInvcode());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (inventoryCodes.size() > 0) {
|
|
||||||
Map<String, Object> onHandParams = new HashMap<>(16);
|
|
||||||
onHandParams.put("inventory", inventoryCodes);
|
|
||||||
String onHandStr = HttpClient.uCloudPost(ucloudUrl + "/uclooud/basic/onhandPost", onHandParams);
|
|
||||||
try {
|
|
||||||
BaseResponse<PageSimpleResponse<UOnhandQueryResponse>> onHandsResponse =
|
|
||||||
JSONObject.parseObject(onHandStr, new TypeReference<BaseResponse<PageSimpleResponse<UOnhandQueryResponse>>>() {
|
|
||||||
});
|
|
||||||
List<UOnhandQueryResponse> queryResponseList = onHandsResponse.getData().getList();
|
|
||||||
if (queryResponseList != null) {
|
|
||||||
Map<String, List<UOnhandQueryResponse>> map = queryResponseList.stream().collect(Collectors.groupingBy(UOnhandQueryResponse::getCinventory_code));
|
|
||||||
for (List<UOnhandQueryResponse> onHandResponses : map.values()) {
|
|
||||||
if (onHandResponses != null && onHandResponses.size() > 0) {
|
|
||||||
UOnhandQueryResponse onhandQueryResponse = onHandResponses.get(0);
|
|
||||||
if (onhandQueryResponse.getNnum() > 0) {
|
|
||||||
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(invmandocResponses.get(0).getInvcode(), "thirdId");
|
|
||||||
if (udiRelevanceEntity == null) {
|
|
||||||
UdiInfoEntity udiInfoEntity = new UdiInfoEntity();
|
|
||||||
udiInfoEntity.setNameCode(onhandQueryResponse.getCinventory_code());
|
|
||||||
udiInfoEntity.setCpmctymc(onhandQueryResponse.getCinventory_name());
|
|
||||||
udiInfoEntity.setGgxh(onhandQueryResponse.getInvspec());
|
|
||||||
udiInfoEntity.setUuid(CustomUtil.getUUId());//无UUID暂时不用添加
|
|
||||||
udiInfoEntity.setYlqxzcrbarmc(invmandocResponses.get(0).getProdarea());
|
|
||||||
udiInfoEntity.setZczbhhzbapzbh(invmandocResponses.get(0).getInvtype());
|
|
||||||
udiInfoService.insertUdiInfo(udiInfoEntity);
|
|
||||||
UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity();
|
|
||||||
udiRelevanceEntity1.setUuid(udiInfoEntity.getUuid());
|
|
||||||
udiRelevanceEntity1.setThirdId(onhandQueryResponse.getCinventory_code());
|
|
||||||
udiRelevanceEntity1.setThirdName(onhandQueryResponse.getCinventory_name());
|
|
||||||
udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime());
|
|
||||||
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity1);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity();
|
|
||||||
udiRelevanceEntity1.setThirdId(invcode);
|
|
||||||
udiRelevanceEntity1.setThirdName(invmandocResponses.get(0).getInvname());
|
|
||||||
udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime());
|
|
||||||
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity1);
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
page++;
|
|
||||||
if (page * limit < udiDlDeviceResponse.getData().getTotal()) {
|
|
||||||
return page;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue