库存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