库存bug,库存新增价格,预验收新增清空,udi关联主键替换成唯一键

master
anthonyywj2 3 years ago
parent 536652ec18
commit 86f75eb779

@ -29,6 +29,7 @@ import com.glxp.sale.admin.service.thrsys.ThrProductsService;
import com.glxp.sale.admin.thread.UdiDlHttpClient; import com.glxp.sale.admin.thread.UdiDlHttpClient;
import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.admin.util.CustomUtil;
import com.glxp.sale.admin.util.DateUtil; import com.glxp.sale.admin.util.DateUtil;
import com.glxp.sale.admin.util.GennerOrderUtils;
import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.res.BaseResponse;
import com.glxp.sale.common.util.ResultVOUtils; import com.glxp.sale.common.util.ResultVOUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -64,6 +65,8 @@ public class UdiContrastController {
CompanyService companyService; CompanyService companyService;
@Resource @Resource
private CompanyProductRelevanceService companyProductRelevanceService; private CompanyProductRelevanceService companyProductRelevanceService;
@Resource
GennerOrderUtils gennerOrderUtils;
//添加产品 //添加产品
@ -268,6 +271,7 @@ public class UdiContrastController {
} else } else
udiRelevanceEntity.setManufactory(udiInfoEntities.get(0).getYlqxzcrbarmc()); udiRelevanceEntity.setManufactory(udiInfoEntities.get(0).getYlqxzcrbarmc());
udiRelevanceEntity.setSupName(combineRequest.getSupName()); udiRelevanceEntity.setSupName(combineRequest.getSupName());
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
insertUdiInfos(udiInfoEntities); insertUdiInfos(udiInfoEntities);
} }
@ -279,6 +283,7 @@ public class UdiContrastController {
udiRelevanceEntity.setUuid(udiInfoEntities.get(0).getUuid()); udiRelevanceEntity.setUuid(udiInfoEntities.get(0).getUuid());
udiRelevanceEntity.setManufactory(udiInfoEntities.get(0).getYlqxzcrbarmc()); udiRelevanceEntity.setManufactory(udiInfoEntities.get(0).getYlqxzcrbarmc());
udiRelevanceEntity.setSupName(combineRequest.getSupName()); udiRelevanceEntity.setSupName(combineRequest.getSupName());
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
insertUdiInfos(udiInfoEntities); insertUdiInfos(udiInfoEntities);
} }
@ -297,6 +302,7 @@ public class UdiContrastController {
udiRelevanceEntity.setUuid(CustomUtil.getUUId()); udiRelevanceEntity.setUuid(CustomUtil.getUUId());
udiRelevanceEntity.setManufactory(thrProductsEntity.getManufactory()); udiRelevanceEntity.setManufactory(thrProductsEntity.getManufactory());
udiRelevanceEntity.setSupName(combineRequest.getSupName()); udiRelevanceEntity.setSupName(combineRequest.getSupName());
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
UdiInfoEntity udiInfoEntity = new UdiInfoEntity(); UdiInfoEntity udiInfoEntity = new UdiInfoEntity();
BeanUtils.copyProperties(thrProductsEntity, udiInfoEntity); BeanUtils.copyProperties(thrProductsEntity, udiInfoEntity);

@ -81,6 +81,8 @@ public class UdiRelevanceController {
private CompanyProductRelevanceService companyProductRelevanceService; private CompanyProductRelevanceService companyProductRelevanceService;
@Resource @Resource
CustomerService customerService; CustomerService customerService;
@Resource
GennerOrderUtils gennerOrderUtils;
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("/udi/udirel/download") @GetMapping("/udi/udirel/download")
@ -457,6 +459,7 @@ public class UdiRelevanceController {
BeanUtils.copyProperties(postSmpUdiInfoRequest, udiInfoEntity); BeanUtils.copyProperties(postSmpUdiInfoRequest, udiInfoEntity);
udiInfoEntity.setUuid(udiRelevanceEntity.getUuid()); udiInfoEntity.setUuid(udiRelevanceEntity.getUuid());
udiInfoService.insertUdiInfo(udiInfoEntity); udiInfoService.insertUdiInfo(udiInfoEntity);
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
} }
} }

@ -22,6 +22,7 @@ import com.glxp.sale.admin.service.param.SystemParamConfigService;
import com.glxp.sale.admin.service.inout.CodesService; import com.glxp.sale.admin.service.inout.CodesService;
import com.glxp.sale.admin.service.inout.OrderDetailService; import com.glxp.sale.admin.service.inout.OrderDetailService;
import com.glxp.sale.admin.thread.UdiDlHttpClient; import com.glxp.sale.admin.thread.UdiDlHttpClient;
import com.glxp.sale.admin.util.CustomUtil;
import com.glxp.sale.admin.util.DateUtil; import com.glxp.sale.admin.util.DateUtil;
import com.glxp.sale.admin.util.FilterUdiUtils; import com.glxp.sale.admin.util.FilterUdiUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -197,6 +198,7 @@ public class InoutUtils {
udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime()); udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime());
udiRelevanceEntity.setThirdId(udiInfoEntity.getThirdId()); udiRelevanceEntity.setThirdId(udiInfoEntity.getThirdId());
udiRelevanceEntity.setThirdName(udiInfoEntity.getThirdName()); udiRelevanceEntity.setThirdName(udiInfoEntity.getThirdName());
udiRelevanceEntity.setId(CustomUtil.getId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid()); List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid());
udiInfoEntity.setRelId(udiRelevanceEntities.get(0).getId()); udiInfoEntity.setRelId(udiRelevanceEntities.get(0).getId());

@ -150,6 +150,18 @@ public class InvPreInProductsController {
} }
} }
@AuthRuleAnnotation("")
@PostMapping("spms/prein/inv/products/clearAll")
public BaseResponse clearAllInvProduct(@RequestBody DeleteRequest deleteRequest) {
boolean b = invProductService.deleteAll();
if (b) {
return ResultVOUtils.success("删除成功");
} else {
return ResultVOUtils.error(500, "删除失败!");
}
}
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("spms/prein/inv/products/stat") @GetMapping("spms/prein/inv/products/stat")
public BaseResponse statInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { public BaseResponse statInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) {

@ -28,4 +28,6 @@ public interface InvPreInProductDao {
InvProductEntity selectExit(@Param("relIdFk") String id); InvProductEntity selectExit(@Param("relIdFk") String id);
boolean deleteById(@Param("id") String id); boolean deleteById(@Param("id") String id);
boolean deleteAll();
} }

@ -28,4 +28,6 @@ public interface InvPreInProductDetailDao {
int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest); int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest);
List<String> findAllCode(FilterInvProductDetailRequest filterInvProductDetailRequest); List<String> findAllCode(FilterInvProductDetailRequest filterInvProductDetailRequest);
boolean deleteAll();
} }

@ -22,6 +22,7 @@ public class InvProductEntity {
private String unitFk; private String unitFk;
private String invStorageCode; private String invStorageCode;
private String invWarehouseCode; private String invWarehouseCode;
private String price;
public Integer getInCount() { public Integer getInCount() {
if (inCount == null) if (inCount == null)

@ -23,4 +23,7 @@ public interface InvPreInProductService {
boolean updateInvProduct(InvProductEntity invProductEntity); boolean updateInvProduct(InvProductEntity invProductEntity);
boolean deleteById(String id); boolean deleteById(String id);
boolean deleteAll();
} }

@ -73,4 +73,10 @@ public class InvPreInProductServiceImpl implements InvPreInProductService {
return invPreInProductDao.deleteById(id); return invPreInProductDao.deleteById(id);
} }
@Override
public boolean deleteAll() {
return invPreInProductDao.deleteAll();
}
} }

@ -18,6 +18,7 @@ import com.glxp.sale.admin.service.param.SystemParamConfigService;
import com.glxp.sale.admin.service.thrsys.ThrProductsService; import com.glxp.sale.admin.service.thrsys.ThrProductsService;
import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.admin.util.CustomUtil;
import com.glxp.sale.admin.util.DateUtil; import com.glxp.sale.admin.util.DateUtil;
import com.glxp.sale.admin.util.GennerOrderUtils;
import com.glxp.sale.admin.util.RedisUtil; import com.glxp.sale.admin.util.RedisUtil;
import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.res.BaseResponse;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -47,6 +48,8 @@ public class BasicBackUpdateProductService {
BasicExportTimeService basicExportTimeService; BasicExportTimeService basicExportTimeService;
@Resource @Resource
RedisUtil redisUtil; RedisUtil redisUtil;
@Resource
GennerOrderUtils gennerOrderUtils;
//定时或一键下载更新全部线上产品信息 //定时或一键下载更新全部线上产品信息
@Async @Async
@ -136,6 +139,7 @@ public class BasicBackUpdateProductService {
udiRelevanceEntity1.setThirdId(invmandocResponse.getCode()); udiRelevanceEntity1.setThirdId(invmandocResponse.getCode());
udiRelevanceEntity1.setThirdName(invmandocResponse.getName()); udiRelevanceEntity1.setThirdName(invmandocResponse.getName());
udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime()); udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime());
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity1); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity1);
} }
} }

@ -15,6 +15,7 @@ import com.glxp.sale.admin.service.param.SystemParamConfigService;
import com.glxp.sale.admin.service.thrsys.ThrDataService; import com.glxp.sale.admin.service.thrsys.ThrDataService;
import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.admin.util.CustomUtil;
import com.glxp.sale.admin.util.DateUtil; import com.glxp.sale.admin.util.DateUtil;
import com.glxp.sale.admin.util.GennerOrderUtils;
import com.glxp.sale.admin.util.HttpClient; import com.glxp.sale.admin.util.HttpClient;
import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.res.BaseResponse;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -48,7 +49,7 @@ public class BasicUdiInfoImportService {
@Resource @Resource
UdiDlHttpClient udiDlHttpClient; UdiDlHttpClient udiDlHttpClient;
@Resource @Resource
HttpClient httpClient; GennerOrderUtils gennerOrderUtils;
//导入产品信息文件,生成产品信息,更新或插入对照表 //导入产品信息文件,生成产品信息,更新或插入对照表
@Async @Async
@ -124,6 +125,7 @@ public class BasicUdiInfoImportService {
udiRelevanceEntity = new UdiRelevanceEntity(); udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); udiRelevanceEntity.setUuid(udiInfoEntity.getUuid());
updateValue(udiRelevanceEntity, udiInfoImportDetailEntity, udiInfoImportLogEntity, mainId); updateValue(udiRelevanceEntity, udiInfoImportDetailEntity, udiInfoImportLogEntity, mainId);
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
} else { } else {
udiInfoImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); udiInfoImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL);
@ -139,12 +141,14 @@ public class BasicUdiInfoImportService {
udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); udiRelevanceEntity.setUuid(udiInfoEntity.getUuid());
updateValue(udiRelevanceEntity, udiInfoImportDetailEntity, udiInfoImportLogEntity, mainId); updateValue(udiRelevanceEntity, udiInfoImportDetailEntity, udiInfoImportLogEntity, mainId);
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
} else if (temp == null) { } else if (temp == null) {
temp = new UdiRelevanceEntity(); temp = new UdiRelevanceEntity();
temp.setUuid(udiInfoEntity.getUuid()); temp.setUuid(udiInfoEntity.getUuid());
udiInfoImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_SUCESS); udiInfoImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_SUCESS);
temp.setUpdateTime(DateUtil.formatDateTime(new Date())); temp.setUpdateTime(DateUtil.formatDateTime(new Date()));
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(temp); udiRelevanceService.insertUdiRelevance(temp);
} else { } else {
udiInfoImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); udiInfoImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL);
@ -169,11 +173,13 @@ public class BasicUdiInfoImportService {
udiRelevanceEntity = new UdiRelevanceEntity(); udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); udiRelevanceEntity.setUuid(udiInfoEntity.getUuid());
updateValue(udiRelevanceEntity, udiInfoImportDetailEntity, udiInfoImportLogEntity, mainId); updateValue(udiRelevanceEntity, udiInfoImportDetailEntity, udiInfoImportLogEntity, mainId);
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
} else { } else {
udiRelevanceEntity = new UdiRelevanceEntity(); udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); udiRelevanceEntity.setUuid(udiInfoEntity.getUuid());
updateValue(udiRelevanceEntity, udiInfoImportDetailEntity, udiInfoImportLogEntity, mainId); updateValue(udiRelevanceEntity, udiInfoImportDetailEntity, udiInfoImportLogEntity, mainId);
udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + "");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
} }

@ -22,10 +22,7 @@ import com.glxp.sale.admin.service.basic.UdiInfoService;
import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.basic.UdiRelevanceService;
import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.service.info.CompanyService;
import com.glxp.sale.admin.service.thrsys.ThrProductsService; import com.glxp.sale.admin.service.thrsys.ThrProductsService;
import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.admin.util.*;
import com.glxp.sale.admin.util.DateUtil;
import com.glxp.sale.admin.util.FilterUdiUtils;
import com.glxp.sale.admin.util.HttpClient;
import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.res.BaseResponse;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -60,71 +57,9 @@ public class BasicUpdateProductService {
private CompanyProductsRelService companyProductsRelService; private CompanyProductsRelService companyProductsRelService;
@Resource @Resource
HttpClient httpClient; HttpClient httpClient;
@Resource
GennerOrderUtils gennerOrderUtils;
public String addProduct(CombineRequest combineRequest, String url) {
String errMsg = null;
List<String> inventoryCodes = new ArrayList<>();
if (combineRequest.getThirdIds() == null)
inventoryCodes.add(combineRequest.getThirdId());
else {
inventoryCodes = combineRequest.getThirdIds();
}
if (inventoryCodes.size() > 0) {
for (String inventoryCode : inventoryCodes) {
UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity();
udiRelevanceEntity1.setThirdId(inventoryCode);
FilterErpGoodsRequest filterErpGoodsRequest = new FilterErpGoodsRequest();
filterErpGoodsRequest.setCode(inventoryCode);
filterErpGoodsRequest.setPage(1);
filterErpGoodsRequest.setLimit(1);
filterErpGoodsRequest.setThirdSys(combineRequest.getThirdSys());
BaseResponse<PageSimpleResponse<ErpProductsResponse>> erpProducts = erpBasicClient.getErpProducts(filterErpGoodsRequest, url);
List<ErpProductsResponse> erpProductsResponses = erpProducts.getData().getList();
if (erpProductsResponses != null & erpProductsResponses.size() > 0) {
{
ErpProductsResponse erpProductsResponse = erpProductsResponses.get(0);
UdiInfoEntity udiInfoEntity = new UdiInfoEntity();
BeanUtils.copyProperties(erpProductsResponse, udiInfoEntity);
udiInfoEntity.setNameCode(erpProductsResponse.getCode());
udiInfoEntity.setCpmctymc(erpProductsResponse.getName());
udiInfoEntity.setManufactory(erpProductsResponse.getManufactory());
udiInfoEntity.setYlqxzcrbarmc(erpProductsResponse.getManufactory());
udiInfoEntity.setGgxh(erpProductsResponse.getSpec());
udiInfoEntity.setZczbhhzbapzbh(erpProductsResponse.getRegisterNo());
udiInfoEntity.setUuid(CustomUtil.getUUId());
udiInfoEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiInfoEntity.setDiType(1);
udiInfoService.insertUdiInfo(udiInfoEntity);
BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys();
String mainSys = basicThirdSysEntity.getThirdId();
if (mainSys.equals("thirdId")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId());
udiRelevanceEntity1.setMainName(udiRelevanceEntity1.getThirdName());
} else if (mainSys.equals("thirdId1")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId1());
udiRelevanceEntity1.setMainName(udiRelevanceEntity1.getThirdName1());
} else if (mainSys.equals("thirdId2")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId2());
udiRelevanceEntity1.setMainName(udiRelevanceEntity1.getThirdName2());
} else if (mainSys.equals("thirdId3")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId3());
udiRelevanceEntity1.setMainName(udiRelevanceEntity1.getThirdName3());
} else if (mainSys.equals("thirdId4")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId4());
udiRelevanceEntity1.setMainName(udiRelevanceEntity1.getThirdName4());
}
udiRelevanceEntity1.setUuid(udiInfoEntity.getUuid());
udiRelevanceEntity1.setThirdName(erpProductsResponse.getName());
udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime());
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity1);
}
}
}
}
return errMsg;
}
public String addLocalProduct(CombineRequest combineRequest) { public String addLocalProduct(CombineRequest combineRequest) {
String errMsg = ""; String errMsg = "";
@ -306,10 +241,12 @@ public class BasicUpdateProductService {
isAdd = true; isAdd = true;
} }
} }
if (isAdd) if (isAdd) {
udiRelevanceEntity.setId(gennerOrderUtils.getRelId()+"");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
}
} else { } else {
udiRelevanceEntity.setId(gennerOrderUtils.getRelId()+"");
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
} }
} }

@ -112,6 +112,9 @@ public class InvProductsTrService {
} else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count); invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count);
} }
if (erpOrderEntity.getPrice() != null) {
invPreProductEntity.setPrice(erpOrderEntity.getPrice() + "");
}
invPreInProductService.updateInvProduct(invPreProductEntity); invPreInProductService.updateInvProduct(invPreProductEntity);
} }
} else if (bussinessTypeEntity.isAdvanceType()) {//预入库,则转存预入库 } else if (bussinessTypeEntity.isAdvanceType()) {//预入库,则转存预入库
@ -129,6 +132,9 @@ public class InvProductsTrService {
} else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count); invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count);
} }
if (erpOrderEntity.getPrice() != null) {
invPreProductEntity.setPrice(erpOrderEntity.getPrice() + "");
}
invPreProductService.updateInvProduct(invPreProductEntity); invPreProductService.updateInvProduct(invPreProductEntity);
} }
} else { //普通出入库 } else { //普通出入库
@ -146,6 +152,9 @@ public class InvProductsTrService {
} else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invProductEntity.setInCount(invProductEntity.getInCount() + count); invProductEntity.setInCount(invProductEntity.getInCount() + count);
} }
if (erpOrderEntity.getPrice() != null) {
invProductEntity.setPrice(erpOrderEntity.getPrice() + "");
}
invProductService.updateInvProduct(invProductEntity); invProductService.updateInvProduct(invProductEntity);
} }
@ -157,6 +166,9 @@ public class InvProductsTrService {
if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
preInvEntity.setOutCount(preInvEntity.getOutCount() + count); preInvEntity.setOutCount(preInvEntity.getOutCount() + count);
} }
if (erpOrderEntity.getPrice() != null) {
preInvEntity.setPrice(erpOrderEntity.getPrice() + "");
}
invPreInProductService.updateInvProduct(preInvEntity); invPreInProductService.updateInvProduct(preInvEntity);
} }
@ -802,6 +814,7 @@ public class InvProductsTrService {
invProductEntity.setGgxh(erpOrderEntity.getPackSpec()); invProductEntity.setGgxh(erpOrderEntity.getPackSpec());
invProductEntity.setSupId(warehouseEntity.getSupId()); invProductEntity.setSupId(warehouseEntity.getSupId());
invProductEntity.setNameCode(erpOrderEntity.getNameCode()); invProductEntity.setNameCode(erpOrderEntity.getNameCode());
invProductEntity.setPrice(erpOrderEntity.getPrice()+"");
invProductEntity.setProductsName(erpOrderEntity.getCoName()); invProductEntity.setProductsName(erpOrderEntity.getCoName());
invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany()); invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany());
invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode());

@ -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;
}
}

@ -145,4 +145,13 @@ public class GennerOrderUtils {
} }
public long getRelId() {
Long incrementalSerial = redisUtil.incr("udiRelId", 1);
if (incrementalSerial == 1) {
redisUtil.expire("udiRelId", getSecondsNextEarlyMorning());
}
String curTime = System.currentTimeMillis() + "";
return Long.parseLong(curTime.substring(1, curTime.length() - 3)) + incrementalSerial;
}
} }

@ -119,7 +119,7 @@
inv_prein_product.inCount,inv_prein_product.outCount inv_prein_product.inCount,inv_prein_product.outCount
,inv_prein_product.reCount,inv_prein_product.customerId, ,inv_prein_product.reCount,inv_prein_product.customerId,
basic_corp.name companyName,inv_prein_product.supId,inv_prein_product.unitFk ,inv_warehouse.name basic_corp.name companyName,inv_prein_product.supId,inv_prein_product.unitFk ,inv_warehouse.name
invStorageName,inv_prein_product.invStorageCode invStorageName,inv_prein_product.invStorageCode,inv_prein_product.price
FROM inv_prein_product FROM inv_prein_product
inner join basic_udirel on inv_prein_product.relIdFk = basic_udirel.id inner join basic_udirel on inv_prein_product.relIdFk = basic_udirel.id
inner join basic_products on basic_udirel.uuid = basic_products.uuid inner join basic_products on basic_udirel.uuid = basic_products.uuid
@ -193,13 +193,13 @@
insert INTO inv_prein_product insert INTO inv_prein_product
(productsName, nameCode, relIdFk, ggxh, batchNo, (productsName, nameCode, relIdFk, ggxh, batchNo,
productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh, productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh,
inCount, outCount, reCount, customerId, supId, unitFk, invStorageCode, invWarehouseCode) inCount, outCount, reCount, customerId, supId, unitFk, invStorageCode, invWarehouseCode,price)
values (#{productsName}, #{nameCode}, values (#{productsName}, #{nameCode},
#{relIdFk}, #{ggxh}, #{batchNo}, #{relIdFk}, #{ggxh}, #{batchNo},
#{productionDate}, #{expireDate}, #{productionDate}, #{expireDate},
#{ylqxzcrbarmc}, #{zczbhhzbapzbh}, #{ylqxzcrbarmc}, #{zczbhhzbapzbh},
#{inCount}, #{outCount}, #{reCount}, #{customerId}, #{supId}, #{unitFk} #{inCount}, #{outCount}, #{reCount}, #{customerId}, #{supId}, #{unitFk}
, #{invStorageCode}, #{invWarehouseCode}) , #{invStorageCode}, #{invWarehouseCode},#{price})
</insert> </insert>
@ -209,6 +209,11 @@
WHERE id = #{id} WHERE id = #{id}
</delete> </delete>
<delete id="deleteAll" parameterType="Map">
DELETE
FROM inv_prein_product
</delete>
<update id="updateInvProduct" parameterType="com.glxp.sale.admin.entity.inventory.InvProductEntity"> <update id="updateInvProduct" parameterType="com.glxp.sale.admin.entity.inventory.InvProductEntity">
UPDATE inv_prein_product UPDATE inv_prein_product
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
@ -228,6 +233,7 @@
<if test="supId != null">supId=#{supId},</if> <if test="supId != null">supId=#{supId},</if>
<if test="unitFk != null">unitFk=#{unitFk},</if> <if test="unitFk != null">unitFk=#{unitFk},</if>
<if test="invStorageCode != null">invStorageCode=#{invStorageCode},</if> <if test="invStorageCode != null">invStorageCode=#{invStorageCode},</if>
<if test="price != null">price=#{price},</if>
<if test="invWarehouseCode != null">invWarehouseCode=#{invWarehouseCode},</if> <if test="invWarehouseCode != null">invWarehouseCode=#{invWarehouseCode},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}

@ -197,6 +197,13 @@
WHERE id = #{id} WHERE id = #{id}
</delete> </delete>
<delete id="deleteAll" parameterType="Map">
DELETE
FROM inv_prein_product_detail
</delete>
<delete id="deleteByProductId" parameterType="com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest"> <delete id="deleteByProductId" parameterType="com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest">
DELETE DELETE
FROM inv_prein_product_detail FROM inv_prein_product_detail

@ -117,7 +117,7 @@
inv_pre_product.inCount,inv_pre_product.outCount inv_pre_product.inCount,inv_pre_product.outCount
,inv_pre_product.reCount,inv_pre_product.customerId, ,inv_pre_product.reCount,inv_pre_product.customerId,
basic_corp.name companyName,inv_pre_product.supId,inv_pre_product.unitFk ,inv_warehouse.name basic_corp.name companyName,inv_pre_product.supId,inv_pre_product.unitFk ,inv_warehouse.name
invStorageName,inv_pre_product.invStorageCode invStorageName,inv_pre_product.invStorageCode,inv_pre_product.price
FROM inv_pre_product FROM inv_pre_product
inner join basic_udirel on inv_pre_product.relIdFk = basic_udirel.id inner join basic_udirel on inv_pre_product.relIdFk = basic_udirel.id
inner join basic_products on basic_udirel.uuid = basic_products.uuid inner join basic_products on basic_udirel.uuid = basic_products.uuid
@ -191,13 +191,13 @@
insert INTO inv_pre_product insert INTO inv_pre_product
(productsName, nameCode, relIdFk, ggxh, batchNo, (productsName, nameCode, relIdFk, ggxh, batchNo,
productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh, productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh,
inCount, outCount, reCount, customerId, supId, unitFk, invStorageCode, invWarehouseCode) inCount, outCount, reCount, customerId, supId, unitFk, invStorageCode, invWarehouseCode,price)
values (#{productsName}, #{nameCode}, values (#{productsName}, #{nameCode},
#{relIdFk}, #{ggxh}, #{batchNo}, #{relIdFk}, #{ggxh}, #{batchNo},
#{productionDate}, #{expireDate}, #{productionDate}, #{expireDate},
#{ylqxzcrbarmc}, #{zczbhhzbapzbh}, #{ylqxzcrbarmc}, #{zczbhhzbapzbh},
#{inCount}, #{outCount}, #{reCount}, #{customerId}, #{supId}, #{unitFk} #{inCount}, #{outCount}, #{reCount}, #{customerId}, #{supId}, #{unitFk}
, #{invStorageCode}, #{invWarehouseCode}) , #{invStorageCode}, #{invWarehouseCode},#{price})
</insert> </insert>
@ -227,6 +227,7 @@
<if test="unitFk != null">unitFk=#{unitFk},</if> <if test="unitFk != null">unitFk=#{unitFk},</if>
<if test="invStorageCode != null">invStorageCode=#{invStorageCode},</if> <if test="invStorageCode != null">invStorageCode=#{invStorageCode},</if>
<if test="invWarehouseCode != null">invWarehouseCode=#{invWarehouseCode},</if> <if test="invWarehouseCode != null">invWarehouseCode=#{invWarehouseCode},</if>
<if test="price != null">price=#{price},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

@ -117,7 +117,7 @@
basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh, basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh,
inv_product.inCount,inv_product.outCount inv_product.inCount,inv_product.outCount
,inv_product.reCount,inv_product.customerId,basic_corp.name companyName,inv_product.unitFk,inv_product.supId ,inv_product.reCount,inv_product.customerId,basic_corp.name companyName,inv_product.unitFk,inv_product.supId
,inv_warehouse.name invStorageName,inv_product.invStorageCode ,inv_warehouse.name invStorageName,inv_product.invStorageCode,inv_product.price
FROM inv_product FROM inv_product
inner join basic_udirel on inv_product.relIdFk = basic_udirel.id inner join basic_udirel on inv_product.relIdFk = basic_udirel.id
inner join basic_products on basic_udirel.uuid = basic_products.uuid inner join basic_products on basic_udirel.uuid = basic_products.uuid
@ -197,6 +197,7 @@
bc.name companyName, bc.name companyName,
ip.unitFk, ip.unitFk,
ip.supId, ip.supId,
ip.price,
iw.name invStorageName, iw.name invStorageName,
inCount, inCount,
outCount outCount
@ -238,13 +239,13 @@
insert INTO inv_product insert INTO inv_product
(productsName, nameCode, relIdFk, ggxh, batchNo, (productsName, nameCode, relIdFk, ggxh, batchNo,
productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh, productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh,
inCount, outCount, reCount, customerId, unitFk, supId, invStorageCode, invWarehouseCode) inCount, outCount, reCount, customerId, unitFk, supId, invStorageCode, invWarehouseCode, price)
values (#{productsName}, #{nameCode}, values (#{productsName}, #{nameCode},
#{relIdFk}, #{ggxh}, #{batchNo}, #{relIdFk}, #{ggxh}, #{batchNo},
#{productionDate}, #{expireDate}, #{productionDate}, #{expireDate},
#{ylqxzcrbarmc}, #{zczbhhzbapzbh}, #{ylqxzcrbarmc}, #{zczbhhzbapzbh},
#{inCount}, #{outCount}, #{reCount}, #{customerId}, #{unitFk}, #{supId} #{inCount}, #{outCount}, #{reCount}, #{customerId}, #{unitFk}, #{supId}
, #{invStorageCode}, #{invWarehouseCode}) , #{invStorageCode}, #{invWarehouseCode}, #{price})
</insert> </insert>
@ -274,6 +275,7 @@
<if test="supId != null">supId=#{supId},</if> <if test="supId != null">supId=#{supId},</if>
<if test="invStorageCode != null">invStorageCode=#{invStorageCode},</if> <if test="invStorageCode != null">invStorageCode=#{invStorageCode},</if>
<if test="invWarehouseCode != null">invWarehouseCode=#{invWarehouseCode},</if> <if test="invWarehouseCode != null">invWarehouseCode=#{invWarehouseCode},</if>
<if test="price != null">price=#{price},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

Loading…
Cancel
Save