第三方服务测试重整,抽出工具类

master
anthonyywj2 3 years ago
parent 7858e59426
commit b19cdcc8b0

@ -54,18 +54,6 @@ public class AuthorizeAspect {
if (StrUtil.isBlank(id)) { if (StrUtil.isBlank(id)) {
String apiKey = request.getHeader("api_key"); String apiKey = request.getHeader("api_key");
String secretKey = request.getHeader("secret_key"); String secretKey = request.getHeader("secret_key");
/* AuthLicense authLicense = authLicenseDao.get(apiKey);
if (authLicense != null && authLicense.getSecretKey().equals(secretKey)) {
} else {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}*/
// if (StrUtil.isNotBlank(apiKey) && StrUtil.isNotBlank(secretKey) && "ewKD2Cyr".equals(apiKey) && "rO4nDvNWKJ1uNuQQBnECPjnpDv4w6nh8".equals(secretKey)) {
//
// } else {
// throw new JsonException(ResultEnum.AUTH_FAILED);
// }
} else { } else {
String query = request.getQueryString(); String query = request.getQueryString();

@ -1,25 +1,54 @@
package com.glxp.mipsdl.admin.client.http; package com.glxp.mipsdl.admin.client.http;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.glxp.mipsdl.admin.entity.test.TestOrderResponse; import com.github.pagehelper.PageInfo;
import com.glxp.mipsdl.admin.constant.ConstantStatus;
import com.glxp.mipsdl.admin.constant.ConstantType;
import com.glxp.mipsdl.admin.dao.basic.BussinessTypeDao;
import com.glxp.mipsdl.admin.dao.basic.UdiRelevanceDao;
import com.glxp.mipsdl.admin.dao.business.StockOrderDao;
import com.glxp.mipsdl.admin.dao.business.StockOrderDetailDao;
import com.glxp.mipsdl.admin.dao.business.StockOrderUploadLogDao;
import com.glxp.mipsdl.admin.dao.inout.CodesDao;
import com.glxp.mipsdl.admin.dao.inout.OrderDao;
import com.glxp.mipsdl.admin.dao.test.*;
import com.glxp.mipsdl.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.mipsdl.admin.entity.basic.BussinessOriginTypeEntity;
import com.glxp.mipsdl.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.mipsdl.admin.entity.business.StockOrderDetailEntity;
import com.glxp.mipsdl.admin.entity.business.StockOrderEntity;
import com.glxp.mipsdl.admin.entity.business.StockOrderUploadLogEntity;
import com.glxp.mipsdl.admin.entity.inout.OrderEntity;
import com.glxp.mipsdl.admin.entity.inout.WarehouseEntity;
import com.glxp.mipsdl.admin.entity.thrsys.ThrCorpEntity;
import com.glxp.mipsdl.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.mipsdl.admin.entity.thrsys.ThrProductsEntity;
import com.glxp.mipsdl.admin.entity.thrsys.ThrSubInvWarehouseEntity;
import com.glxp.mipsdl.admin.req.*; import com.glxp.mipsdl.admin.req.*;
import com.glxp.mipsdl.admin.req.phxyy.PhUnitRequest; import com.glxp.mipsdl.admin.req.phxyy.BussinessOriginTypeFilterRequest;
import com.glxp.mipsdl.admin.req.thrsys.FilterThrCorpRequest;
import com.glxp.mipsdl.admin.req.thrsys.FilterThrInvWarehouseRequest;
import com.glxp.mipsdl.admin.req.thrsys.FilterThrProductsRequest;
import com.glxp.mipsdl.admin.res.system.*; import com.glxp.mipsdl.admin.res.system.*;
import com.glxp.mipsdl.admin.util.CustomUtil; import com.glxp.mipsdl.admin.util.CustomUtil;
import com.glxp.mipsdl.admin.util.FileUtils; import com.glxp.mipsdl.admin.util.FileUtils;
import com.glxp.mipsdl.admin.util.SubmitOrderUtils;
import com.glxp.mipsdl.common.res.BaseResponse; import com.glxp.mipsdl.common.res.BaseResponse;
import com.glxp.mipsdl.common.util.ResultVOUtils; import com.glxp.mipsdl.common.util.ResultVOUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* *
@ -29,20 +58,55 @@ import java.util.Map;
public class TestClient { public class TestClient {
@Resource
TestBusTypeDao testBusTypeDao;
@Resource
TestCorpDao testCorpDao;
@Resource
TestInvWarehouseDao testInvWarehouseDao;
@Resource
TestProductDao testProductDao;
@Value("${THIRD_ID}")
private String thirdId;
public BaseResponse testConnect() {
return ResultVOUtils.success("连接成功!");
}
/** /**
* *
* *
* @param testUnitRequest
* @return * @return
*/ */
public BaseResponse getUnit(PhUnitRequest testUnitRequest) { public BaseResponse getUnit(UdiwmsUnitRequest udiwmsUnitRequest) {
FilterThrCorpRequest filterThrCorpRequest = new FilterThrCorpRequest();
BeanUtils.copyProperties(udiwmsUnitRequest, filterThrCorpRequest);
filterThrCorpRequest.setThirdSysFk(udiwmsUnitRequest.getThirdSys());
List<ThrCorpEntity> thrCorpEntities = testCorpDao.filterThrCorps(filterThrCorpRequest);
String data = FileUtils.readFileAll("E:\\第三方测试数据\\第三方往来单位测试数据.json"); List<UdiwmsUnitResponse> udiwmsUnitResponses = new ArrayList<>();
BaseResponse<PageSimpleResponse<UdiwmsUnitResponse>> udiDlDeviceResponse =
JSONObject.parseObject(data, new TypeReference<BaseResponse<PageSimpleResponse<UdiwmsUnitResponse>>>() { if (CollUtil.isNotEmpty(thrCorpEntities)) {
}); for (ThrCorpEntity thrCorpEntity : thrCorpEntities) {
return udiDlDeviceResponse; UdiwmsUnitResponse udiwmsUnitResponse = new UdiwmsUnitResponse();
BeanUtils.copyProperties(thrCorpEntity, udiwmsUnitResponse);
udiwmsUnitResponses.add(udiwmsUnitResponse);
}
}
// String data = FileUtils.readFileAll("E:\\第三方测试数据\\第三方往来单位测试数据.json");
// BaseResponse<PageSimpleResponse<UdiwmsUnitResponse>> udiDlDeviceResponse =
// JSONObject.parseObject(data, new TypeReference<BaseResponse<PageSimpleResponse<UdiwmsUnitResponse>>>() {
// });
PageInfo<UdiwmsUnitResponse> pageInfo;
pageInfo = new PageInfo<>(udiwmsUnitResponses);
PageSimpleResponse<UdiwmsUnitResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(udiwmsUnitResponses);
return ResultVOUtils.success(pageSimpleResponse);
} }
/** /**
@ -53,11 +117,29 @@ public class TestClient {
*/ */
public BaseResponse getProducuts(UdiwmsProductRequest udiwmsProductRequest) { public BaseResponse getProducuts(UdiwmsProductRequest udiwmsProductRequest) {
String data = FileUtils.readFileAll("E:\\第三方测试数据\\第三方产品信息测试数据.json");
BaseResponse<PageSimpleResponse<UdiwmsProductInfoResponse>> udiDlDeviceResponse = FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest();
JSONObject.parseObject(data, new TypeReference<BaseResponse<PageSimpleResponse<UdiwmsProductInfoResponse>>>() { BeanUtils.copyProperties(udiwmsProductRequest, filterThrProductsRequest);
}); List<ThrProductsEntity> thrProductsEntities = testProductDao.filterThrProductsRequest(filterThrProductsRequest);
return udiDlDeviceResponse;
List<UdiwmsProductInfoResponse> udiwmsProductInfoResponses = new ArrayList<>();
if (CollUtil.isNotEmpty(thrProductsEntities)) {
for (ThrProductsEntity thrProductsEntity : thrProductsEntities) {
UdiwmsProductInfoResponse udiwmsProductInfoResponse = new UdiwmsProductInfoResponse();
BeanUtils.copyProperties(thrProductsEntity, udiwmsProductInfoResponse);
udiwmsProductInfoResponses.add(udiwmsProductInfoResponse);
}
}
// String data = FileUtils.readFileAll("E:\\第三方测试数据\\第三方产品信息测试数据.json");
// BaseResponse<PageSimpleResponse<UdiwmsProductInfoResponse>> udiDlDeviceResponse =
// JSONObject.parseObject(data, new TypeReference<BaseResponse<PageSimpleResponse<UdiwmsProductInfoResponse>>>() {
// });
PageInfo<UdiwmsProductInfoResponse> pageInfo;
pageInfo = new PageInfo<>(udiwmsProductInfoResponses);
PageSimpleResponse<UdiwmsProductInfoResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(udiwmsProductInfoResponses);
return ResultVOUtils.success(pageSimpleResponse);
} }
@ -102,34 +184,169 @@ public class TestClient {
} }
//获取单据类型
public BaseResponse getBusType(UdiwmsBusTypeRequest udiwmsBusTypeRequest) { public BaseResponse getBusType(UdiwmsBusTypeRequest udiwmsBusTypeRequest) {
if (null == udiwmsBusTypeRequest) { if (null == udiwmsBusTypeRequest) {
return ResultVOUtils.error(500, "参数不能未空"); return ResultVOUtils.error(500, "参数不能未空");
} }
String data = FileUtils.readFileAll("E:\\第三方测试数据\\第三方单据类型测试数据.json");
BaseResponse<PageSimpleResponse<UdiwmsBusTypeResponse>> udiDlDeviceResponse = BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest = new BussinessOriginTypeFilterRequest();
JSONObject.parseObject(data, new TypeReference<BaseResponse<PageSimpleResponse<UdiwmsBusTypeResponse>>>() { BeanUtils.copyProperties(udiwmsBusTypeRequest, bussinessOriginTypeFilterRequest);
List<BussinessOriginTypeEntity> bussinessOriginTypeEntities = testBusTypeDao.filterList(bussinessOriginTypeFilterRequest);
List<UdiwmsBusTypeResponse> udiwmsBusTypeResponses = new ArrayList<>();
if (CollUtil.isNotEmpty(bussinessOriginTypeEntities)) {
for (BussinessOriginTypeEntity bussinessOriginTypeEntity : bussinessOriginTypeEntities) {
UdiwmsBusTypeResponse udiwmsBusTypeResponse = new UdiwmsBusTypeResponse();
BeanUtils.copyProperties(bussinessOriginTypeEntity, udiwmsBusTypeResponse);
udiwmsBusTypeResponses.add(udiwmsBusTypeResponse);
}
}
// String data = FileUtils.readFileAll("E:\\第三方测试数据\\第三方单据类型测试数据.json");
// BaseResponse<PageSimpleResponse<UdiwmsBusTypeResponse>> udiDlDeviceResponse =
// JSONObject.parseObject(data, new TypeReference<BaseResponse<PageSimpleResponse<UdiwmsBusTypeResponse>>>() {
// });
PageInfo<UdiwmsBusTypeResponse> pageInfo;
pageInfo = new PageInfo<>(udiwmsBusTypeResponses);
PageSimpleResponse<UdiwmsBusTypeResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(udiwmsBusTypeResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@Resource
SubmitOrderUtils submitOrderUtils;
@Resource
private StockOrderDao stockOrderDao;
@Resource
private StockOrderDetailDao stockOrderDetailDao;
@Resource
private OrderDao orderDao;
@Resource
private BussinessTypeDao bussinessTypeDao;
@Resource
private CodesDao codesDao;
@Resource
private UdiRelevanceDao udiRelevanceDao;
@Resource
private StockOrderUploadLogDao stockOrderUploadLogDao;
public BaseResponse addOrders(TestOrderRequest orderRequest) {
if (StrUtil.isEmpty(orderRequest.getId())) {
return ResultVOUtils.error(500, "单据ID不能为空");
}
StockOrderEntity stockOrderEntity = stockOrderDao.findById(orderRequest.getId());
OrderEntity orderEntity = orderDao.findById(stockOrderEntity.getOrderIdFk());
List<StockOrderDetailEntity> stockOrderDetailEntities = stockOrderDetailDao.findByOrderIdFk(stockOrderEntity.getId());
BussinessLocalTypeEntity bussinessLocalTypeEntity = submitOrderUtils.getCurLocType(stockOrderEntity.getBillType());
orderRequest.setBillDate(stockOrderEntity.getBilldate());
orderRequest.setBillNo(stockOrderEntity.getBillNo());
orderRequest.setBillType(submitOrderUtils.toBusType(stockOrderEntity.getBillType()));
if (bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) {
orderRequest.setCorpId(stockOrderEntity.getCorpName());
orderRequest.setCorpName(stockOrderEntity.getCorpName());
} else if (bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INNOR) {
ThrInvWarehouseEntity thrInvWarehouseEntity = submitOrderUtils.toInv(stockOrderEntity.getInvWarehouseCode(), thirdId);
orderRequest.setCorpId(thrInvWarehouseEntity.getCode());
orderRequest.setCorpName(thrInvWarehouseEntity.getName());
} else if (bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
ThrCorpEntity thrCorpEntity = submitOrderUtils.toCorp(stockOrderEntity.getCorpId(), thirdId);
orderRequest.setCorpId(thrCorpEntity.getUnitId()); //往来单位编码需转换为第三方系统的ID
orderRequest.setCorpName(thrCorpEntity.getName()); //往来单位名称,需转换为第三方系统的名称
}
ThrInvWarehouseEntity thrInvWarehouseEntity = submitOrderUtils.toInv(stockOrderEntity.getLocStorageCode(), thirdId);
orderRequest.setLocInvCode(thrInvWarehouseEntity.getCode());
orderRequest.setLocInvName(thrInvWarehouseEntity.getName());
ThrSubInvWarehouseEntity thrSubInvWarehouseEntity = submitOrderUtils.toSubInv(stockOrderEntity.getInvWarehouseCode(), thirdId);
orderRequest.setLocSubInvCode(thrSubInvWarehouseEntity.getCode());
orderRequest.setLocSubInvName(thrSubInvWarehouseEntity.getName());
String mainAction = bussinessTypeDao.selectInoutTypebByLocalAction(stockOrderEntity.getBillType());
if (ConstantType.TYPE_PUT.equals(mainAction)) {
orderRequest.setInoutType(1); //出入库类型:入库
} else if (ConstantType.TYPE_OUT.equals(mainAction)) {
orderRequest.setInoutType(2); //出入库类型:出库
}
orderRequest.setRemark("udi管理系统提交单据"); //备注
List<WarehouseEntity> warehouseEntities = codesDao.findByReceiptId(stockOrderEntity.getOrderIdFk());
List<UdiwmsOrderDetail> items = new ArrayList<>(stockOrderDetailEntities.size());
for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderDetailEntities) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(stockOrderDetailEntity.getRelId());
UdiwmsOrderDetail item = new UdiwmsOrderDetail();
BeanUtil.copyProperties(stockOrderDetailEntity, item);
if (StrUtil.isNotEmpty(stockOrderDetailEntity.getProductDate())) {
item.setProductDate(com.glxp.mipsdl.admin.util.DateUtil.formatExpireTime("20" + stockOrderDetailEntity.getProductDate()));
}
if (StrUtil.isNotEmpty(stockOrderDetailEntity.getExpireDate())) {
item.setExpireDate(com.glxp.mipsdl.admin.util.DateUtil.formatExpireTime("20" + stockOrderDetailEntity.getExpireDate()));
}
item.setMeasname(udiRelevanceEntity.getMeasname());
item.setStandard(stockOrderDetailEntity.getSpec());
item.setRegisterNo(stockOrderDetailEntity.getZczbhhzbapzbh());
item.setPrice(stockOrderDetailEntity.getPrice());
item.setFirstSalesInvNo(stockOrderDetailEntity.getFirstSalesInvNo());
item.setSecSalesInvNo(stockOrderDetailEntity.getSecSalesInvNo());
item.setInvoiceDate(stockOrderDetailEntity.getInvoiceDate());
item.setSecSalesListNo(stockOrderDetailEntity.getSecSalesListNo());
item.setCodeList(submitOrderUtils.getCodeArray(stockOrderDetailEntity, warehouseEntities));
ThrProductsEntity thrProductsEntity = submitOrderUtils.toProduct(stockOrderDetailEntity, thirdId);
item.setProductId(thrProductsEntity.getCode());
item.setProductName(thrProductsEntity.getName());
items.add(item);
}
orderRequest.setItem(items);
//记录日志
StockOrderUploadLogEntity uploadLog = new StockOrderUploadLogEntity();
uploadLog.setBillDate(com.glxp.mipsdl.admin.util.DateUtil.parseDate(orderRequest.getBillDate()));
uploadLog.setBillType(stockOrderEntity.getBillType());
uploadLog.setSubmitTime(new Date());
uploadLog.setBillNo(orderRequest.getBillNo());
uploadLog.setFromType(ConstantStatus.THIRD_ORDER_UPLOAD);
String data = JSONUtil.toJsonStr(orderRequest);
FileUtils.saveFileAs(data, thirdId + "_" + stockOrderEntity.getBillNo());
String response = "上传成功!";
if (StrUtil.isNotBlank(response)) {
try {
BaseResponse baseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
}); });
return udiDlDeviceResponse; if (baseResponse.getCode().equals(20000)) {
String thirdBillNo = String.valueOf(baseResponse.getData());
orderEntity.setExportStatus(1);
orderEntity.setThirdBillNo(thirdBillNo);
uploadLog.setStatus(2);
uploadLog.setThrBillNo(thirdBillNo);
uploadLog.setResult("提交成功");
stockOrderUploadLogDao.insert(uploadLog);
orderDao.updateOrder(orderEntity);
return ResultVOUtils.success("提交成功");
}
uploadLog.setStatus(3);
uploadLog.setResult("提交失败,错误信息:" + baseResponse.getMessage());
stockOrderUploadLogDao.insert(uploadLog);
return baseResponse;
} catch (Exception e) {
log.error(e.getMessage(), e);
uploadLog.setStatus(3);
uploadLog.setResult("提交失败,错误信息:" + response);
stockOrderUploadLogDao.insert(uploadLog);
return ResultVOUtils.error(500, "提交失败");
}
} else {
uploadLog.setStatus(3);
uploadLog.setResult("提交失败,调用接口返回为空");
stockOrderUploadLogDao.insert(uploadLog);
return ResultVOUtils.error(500, "提交失败");
} }
/**
*
*
* @param udiwmsOrderRequest
* @return
*/
public BaseResponse addOrders(UdiwmsOrderRequest udiwmsOrderRequest) {
// Map<String, Object> verifyResult = verifyOrderParams(udiwmsOrderRequest);
// boolean flag = (boolean) verifyResult.get("flag");
// if (!flag) {
// return ResultVOUtils.error(500, verifyResult.get("msg").toString());
// }
TestOrderResponse udiwmsOrderResponse = new TestOrderResponse();
udiwmsOrderResponse.setThirdBillNo(CustomUtil.getId());
return ResultVOUtils.success(udiwmsOrderResponse);
} }
/** /**
@ -221,7 +438,33 @@ public class TestClient {
return ResultVOUtils.success(list); return ResultVOUtils.success(list);
} }
//获取仓库
public BaseResponse getWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) { public BaseResponse getWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) {
List<UdiwmsWarehouseResponse> udiwmsWarehouseResponses = new ArrayList<>();
FilterThrInvWarehouseRequest filterThrInvWarehouseRequest = new FilterThrInvWarehouseRequest();
BeanUtils.copyProperties(udiwmsWarehouseRequest, filterThrInvWarehouseRequest);
List<ThrInvWarehouseEntity> thrInvWarehouseEntities = testInvWarehouseDao.filterThrInvWarehouse(filterThrInvWarehouseRequest);
if (CollUtil.isNotEmpty(thrInvWarehouseEntities)) {
for (ThrInvWarehouseEntity thrInvWarehouseEntity : thrInvWarehouseEntities) {
UdiwmsWarehouseResponse udiwmsWarehouseResponse = new UdiwmsWarehouseResponse();
BeanUtils.copyProperties(thrInvWarehouseEntity, udiwmsWarehouseResponse);
udiwmsWarehouseResponses.add(udiwmsWarehouseResponse);
}
}
// String data = FileUtils.readFileAll("E:\\第三方测试数据\\第三方仓库字段测试数据.json");
// BaseResponse<PageSimpleResponse<UdiwmsWarehouseResponse>> udiDlDeviceResponse =
// JSONObject.parseObject(data, new TypeReference<BaseResponse<PageSimpleResponse<UdiwmsWarehouseResponse>>>() {
// });
PageInfo<UdiwmsWarehouseResponse> pageInfo;
pageInfo = new PageInfo<>(udiwmsWarehouseResponses);
PageSimpleResponse<UdiwmsWarehouseResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(udiwmsWarehouseResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
//获取分库
public BaseResponse getSubWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) {
if (null == udiwmsWarehouseRequest || StrUtil.isBlank(udiwmsWarehouseRequest.getThirdSys())) { if (null == udiwmsWarehouseRequest || StrUtil.isBlank(udiwmsWarehouseRequest.getThirdSys())) {
return ResultVOUtils.error(500, "第三方系统ID不能为空"); return ResultVOUtils.error(500, "第三方系统ID不能为空");
} }
@ -231,4 +474,5 @@ public class TestClient {
}); });
return udiDlDeviceResponse; return udiDlDeviceResponse;
} }
} }

@ -23,7 +23,10 @@ import com.glxp.mipsdl.admin.dao.phxyy.BasicThirdSysDetailDao;
import com.glxp.mipsdl.admin.dao.thrsys.ThrInvWarehouseDao; import com.glxp.mipsdl.admin.dao.thrsys.ThrInvWarehouseDao;
import com.glxp.mipsdl.admin.dao.thrsys.ThrSubInvWarehouseDao; import com.glxp.mipsdl.admin.dao.thrsys.ThrSubInvWarehouseDao;
import com.glxp.mipsdl.admin.entity.auth.AuthAdmin; import com.glxp.mipsdl.admin.entity.auth.AuthAdmin;
import com.glxp.mipsdl.admin.entity.basic.*; import com.glxp.mipsdl.admin.entity.basic.BasicThirdSysBusApiEntity;
import com.glxp.mipsdl.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.mipsdl.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.mipsdl.admin.entity.basic.UnitMaintainEntity;
import com.glxp.mipsdl.admin.entity.business.StockOrderDetailEntity; import com.glxp.mipsdl.admin.entity.business.StockOrderDetailEntity;
import com.glxp.mipsdl.admin.entity.business.StockOrderEntity; import com.glxp.mipsdl.admin.entity.business.StockOrderEntity;
import com.glxp.mipsdl.admin.entity.business.StockOrderUploadLogEntity; import com.glxp.mipsdl.admin.entity.business.StockOrderUploadLogEntity;
@ -218,20 +221,10 @@ public class ZaxyyClient {
public BaseResponse getOrders(UdiwmsOrderRequest udiwmsOrderRequest) { public BaseResponse getOrders(UdiwmsOrderRequest udiwmsOrderRequest) {
// if (StrUtil.isEmpty(udiwmsOrderRequest.getBillType())) {
// return ResultVOUtils.error(500, "单据类型不能未空");
// }
// if (StrUtil.isEmpty(udiwmsOrderRequest.getThirdSys())) {
// return ResultVOUtils.error(500, "第三方系统ID不能为空");
// }
// BussinessOriginTypeResponse bussinessOriginTypeResponse = bussinessOriginTypeService.findByKey(udiwmsOrderRequest.getBillType(), thirdSysConfig.getThirdSysConfig().getThirdId());
// udiwmsOrderRequest.setBillType(bussinessOriginTypeResponse.getThirdAction());
ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest();
zaZyHeareRequest.setMsgHeader(getMsgHeader("getMaterialApply")); zaZyHeareRequest.setMsgHeader(getMsgHeader("getMaterialApply"));
zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsOrderRequest)); zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsOrderRequest));
// BasicThirdSysBusApiEntity basicThirdSysBusApiEntity = basicThirdSysBusApiService.selectByKey(bussinessOriginTypeResponse.getThirdAction(), bussinessOriginTypeResponse.getThirdSys(), 1);
BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("orderQueryUrl", thirdSysConfig.getThirdSysConfig().getThirdId()); BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("orderQueryUrl", thirdSysConfig.getThirdSysConfig().getThirdId());
String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + basicThirdSysDetailEntity.getValue(), zaZyHeareRequest, getHeaderArray()); String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + basicThirdSysDetailEntity.getValue(), zaZyHeareRequest, getHeaderArray());
response = parseErrorMsg(response); response = parseErrorMsg(response);
@ -255,9 +248,6 @@ public class ZaxyyClient {
OrderEntity orderEntity = orderDao.findById(stockOrderEntity.getOrderIdFk()); OrderEntity orderEntity = orderDao.findById(stockOrderEntity.getOrderIdFk());
List<StockOrderDetailEntity> stockOrderDetailEntities = stockOrderDetailDao.findByOrderIdFk(stockOrderEntity.getId()); List<StockOrderDetailEntity> stockOrderDetailEntities = stockOrderDetailDao.findByOrderIdFk(stockOrderEntity.getId());
BussinessTypeEntity bussinessTypeEntity = bussinessTypeDao.selectByAction(orderEntity.getAction());
udiwmsOrderRequest.setBillDate(stockOrderEntity.getBilldate()); udiwmsOrderRequest.setBillDate(stockOrderEntity.getBilldate());
udiwmsOrderRequest.setBillNo(stockOrderEntity.getBillNo()); udiwmsOrderRequest.setBillNo(stockOrderEntity.getBillNo());

@ -1,30 +0,0 @@
package com.glxp.mipsdl.admin.client.http;
import com.glxp.mipsdl.common.res.BaseResponse;
import com.glxp.mipsdl.common.util.ResultVOUtils;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.springframework.stereotype.Service;
@Service
public class ZaxyyXmlClient {
public BaseResponse testWebservice() {
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://192.168.8.41:8081/ZoesoftHipService.asmx");
// 设置出口拦截器,拦截器实现 org.apache.cxf.interceptor.Interceptor 接口即可
// client.getOutInterceptors().add(new CustomInterceptor());
String head ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><serverName>getMasterialInput</serverName></root>";
Object[] objects;
try {
objects = client.invoke("getMasterialInput", "{\"billNo\":\"ZY202205070001\",\"billdate\":\"2022-05-07\",\"corpId\":\"65119908299161\",\"corpName\":\"福建片仔癀诊断技术有限公司\",\"billType\":\"采购入库\",\"billFlag\":\"1\",\"thirdSys\":\"thirdId\",\"locInvCode\":\"11001\",\"locInvName\":\"总仓库\",\"inoutType\":\"1\",\"remark\":\"\",\"item\":[{\"billNo\":\"ZY202205070001\",\"productId\":\"7864\",\"productName\":\"通用脊柱内固定器-6.0 连接棒\",\"standard\":\"70-450mm/理贝尔\",\"expireDate\":\"2025-01-03\",\"productDate\":\"2021-03-01\",\"batchNo\":\"202003\",\"count\":10,\"measname\":\"计量单位\",\"registerNo\":\"国食药监械(准)字 2006 第 3460057 号\",\"price\":10.0,\"secSalesInvNo\":\"21232424\",\"invoiceDate\":\"2323243\",\"secSalesListNo\":\"42342\",\"firstSalesInvNo\":\"423424\",\"remark\":\"\",\"remakr1\":\"\",\"remakr2\":\"\",\"codeList\":[{\"code\":\"01069125473843801121041410210290075\",\"nameCode\":\"06912547384380\",\"count\":1}]},{\"productId\":\"7901\",\"productName\":\"亲水性丙烯酸折叠式人工晶状体 Hydrophilic AcrylicFoldableIntraocular Lens\",\"standard\":\"S1AW00\",\"batchNo\":\"202103\",\"expireDate\":\"2025-01-03\",\"productDate\":\"2021-03-01\",\"count\":10,\"measname\":\"计量单位\",\"registerNo\":\"国械注进 20153162635\",\"price\":10.0,\"secSalesInvNo\":\"21232424\",\"invoiceDate\":\"2323243\",\"secSalesListNo\":\"42342\",\"firstSalesInvNo\":\"423424\",\"remark\":\"\",\"remakr1\":\"\",\"remakr2\":\"\",\"codeList\":[{\"code\":\"01069125473843801121041410210290075\",\"nameCode\":\"06912547384380\",\"count\":1}]}]}");
System.out.println("响应 : " + objects[0]);
} catch (java.lang.Exception e) {
e.printStackTrace();
}
return ResultVOUtils.error(500, "失败");
}
}

@ -9,6 +9,7 @@ import com.glxp.mipsdl.admin.req.phxyy.*;
import com.glxp.mipsdl.common.enums.ResultEnum; import com.glxp.mipsdl.common.enums.ResultEnum;
import com.glxp.mipsdl.common.res.BaseResponse; import com.glxp.mipsdl.common.res.BaseResponse;
import com.glxp.mipsdl.common.util.ResultVOUtils; import com.glxp.mipsdl.common.util.ResultVOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -25,7 +26,7 @@ public class UdiWmsController {
private String curFlag; private String curFlag;
@Resource @Resource
YyUCloud31Client pzhzdClient; YyUCloud31Client pzhzdClient;
@Resource @Autowired
private TestClient testClient; private TestClient testClient;
@Resource @Resource
private UdPlatClient udPlatClient; private UdPlatClient udPlatClient;
@ -45,9 +46,7 @@ public class UdiWmsController {
if (curFlag.equals("YONGYOU_U8_V3.1")) { if (curFlag.equals("YONGYOU_U8_V3.1")) {
return pzhzdClient.getUnit(testUnitRequest); return pzhzdClient.getUnit(testUnitRequest);
} else if (curFlag.equals("TEST")) { } else if (curFlag.equals("TEST")) {
PhUnitRequest phUnitRequest = new PhUnitRequest(); return testClient.getUnit(testUnitRequest);
BeanUtil.copyProperties(testUnitRequest, phUnitRequest);
return testClient.getUnit(phUnitRequest);
} else if (curFlag.equals("PHXYY")) { } else if (curFlag.equals("PHXYY")) {
PhUnitRequest phUnitRequest = new PhUnitRequest(); PhUnitRequest phUnitRequest = new PhUnitRequest();
BeanUtil.copyProperties(testUnitRequest, phUnitRequest); BeanUtil.copyProperties(testUnitRequest, phUnitRequest);
@ -148,7 +147,9 @@ public class UdiWmsController {
@PostMapping("/udiwms/erp/submitOrders") @PostMapping("/udiwms/erp/submitOrders")
public BaseResponse submitOrders(@RequestBody UdiwmsOrderRequest udiwmsOrderRequest) { public BaseResponse submitOrders(@RequestBody UdiwmsOrderRequest udiwmsOrderRequest) {
if (curFlag.equals("TEST")) { if (curFlag.equals("TEST")) {
return testClient.addOrders(udiwmsOrderRequest); TestOrderRequest testOrderRequest = new TestOrderRequest();
BeanUtil.copyProperties(udiwmsOrderRequest, testOrderRequest);
return testClient.addOrders(testOrderRequest);
} else if (curFlag.equals("PHXYY")) { } else if (curFlag.equals("PHXYY")) {
PhOrderRequest phOrderRequest = new PhOrderRequest(); PhOrderRequest phOrderRequest = new PhOrderRequest();
BeanUtil.copyProperties(udiwmsOrderRequest, phOrderRequest); BeanUtil.copyProperties(udiwmsOrderRequest, phOrderRequest);
@ -178,7 +179,9 @@ public class UdiWmsController {
@PostMapping("/udiwms/erp/addOrders") @PostMapping("/udiwms/erp/addOrders")
public BaseResponse addOrders(@RequestBody UdiwmsOrderRequest udiwmsOrderRequest) { public BaseResponse addOrders(@RequestBody UdiwmsOrderRequest udiwmsOrderRequest) {
if (curFlag.equals("TEST")) { if (curFlag.equals("TEST")) {
return testClient.addOrders(udiwmsOrderRequest); TestOrderRequest testOrderRequest = new TestOrderRequest();
BeanUtil.copyProperties(udiwmsOrderRequest, testOrderRequest);
return testClient.addOrders(testOrderRequest);
} }
return ResultVOUtils.error(500, "未设置系统版本"); return ResultVOUtils.error(500, "未设置系统版本");
} }
@ -260,7 +263,7 @@ public class UdiWmsController {
@PostMapping("/udiwms/erp/testThirdSys") @PostMapping("/udiwms/erp/testThirdSys")
public BaseResponse testThirdSys() { public BaseResponse testThirdSys() {
if (curFlag.equals("TEST")) { if (curFlag.equals("TEST")) {
return ResultVOUtils.success("连接成功!"); return testClient.testConnect();
} else if (curFlag.equals("PHXYY")) { } else if (curFlag.equals("PHXYY")) {
return phxyyClient.testConnect(); return phxyyClient.testConnect();
} else if (curFlag.equals("ZAXZYY")) { } else if (curFlag.equals("ZAXZYY")) {

@ -0,0 +1,13 @@
package com.glxp.mipsdl.admin.dao.test;
import com.glxp.mipsdl.admin.entity.basic.BussinessOriginTypeEntity;
import com.glxp.mipsdl.admin.req.phxyy.BussinessOriginTypeFilterRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface TestBusTypeDao {
List<BussinessOriginTypeEntity> filterList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest);
}

@ -0,0 +1,15 @@
package com.glxp.mipsdl.admin.dao.test;
import com.glxp.mipsdl.admin.entity.thrsys.ThrCorpEntity;
import com.glxp.mipsdl.admin.req.thrsys.FilterThrCorpRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface TestCorpDao {
List<ThrCorpEntity> filterThrCorps(FilterThrCorpRequest filterThrCorpRequest);
}

@ -0,0 +1,13 @@
package com.glxp.mipsdl.admin.dao.test;
import com.glxp.mipsdl.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.mipsdl.admin.req.thrsys.FilterThrInvWarehouseRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface TestInvWarehouseDao {
List<ThrInvWarehouseEntity> filterThrInvWarehouse(FilterThrInvWarehouseRequest filterThrInvWarehouseRequest);
}

@ -0,0 +1,13 @@
package com.glxp.mipsdl.admin.dao.test;
import com.glxp.mipsdl.admin.entity.thrsys.ThrProductsEntity;
import com.glxp.mipsdl.admin.req.thrsys.FilterThrProductsRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface TestProductDao {
List<ThrProductsEntity> filterThrProductsRequest(FilterThrProductsRequest filterThrProductsRequest);
}

@ -0,0 +1,14 @@
package com.glxp.mipsdl.admin.dao.test;
import com.glxp.mipsdl.admin.entity.thrsys.ThrSubInvWarehouseEntity;
import com.glxp.mipsdl.admin.req.thrsys.FilterThrSubInvWarehouseRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface TestSubInvWarehouseDao {
List<ThrSubInvWarehouseEntity> filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest);
}

@ -10,7 +10,9 @@ import java.util.List;
@Mapper @Mapper
public interface ThrInvWarehouseDao { public interface ThrInvWarehouseDao {
List<ThrInvWarehouseEntity> filterThrInvWarehouse(FilterThrInvWarehouseRequest filterThrInvWarehouseRequest); List<ThrInvWarehouseEntity> filterThrInvWarehouse(FilterThrInvWarehouseRequest filterThrInvWarehouseRequest);
ThrInvWarehouseEntity selectByCode(@Param("code") String code, @Param("thirdSysFk") String thirdSysFk); ThrInvWarehouseEntity selectByCode(@Param("code") String code, @Param("thirdSysFk") String thirdSysFk);
} }

@ -0,0 +1,23 @@
package com.glxp.mipsdl.admin.entity.basic;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.util.Date;
@Data
public class BussinessOriginTypeEntity {
private String id;
private String name;
private String action;
@NotEmpty(message = "第三方系统不能为空!")
private String thirdSys;
private String thirdSysName;
private Boolean enable;
private String remark;
private String mainAction;
private Date updateTime;
private Integer inoutType;
}

@ -19,6 +19,8 @@ public class OrderEntity {
private Integer status; private Integer status;
private Integer fromType; private Integer fromType;
private Integer originFromType;
private Integer contrastStatus; private Integer contrastStatus;
private String erpFk; private String erpFk;
private Integer signStatus; private Integer signStatus;
@ -63,4 +65,15 @@ public class OrderEntity {
private String billTypeName; private String billTypeName;
private String subInvName; private String subInvName;
private String invName; private String invName;
private String deptCode;
private String deptName;
private String printRemark;
/**
* UDI
*/
private boolean codeFillCheck;
} }

@ -0,0 +1,23 @@
package com.glxp.mipsdl.admin.entity.thrsys;
import lombok.Data;
import java.util.Date;
@Data
public class ThrCorpEntity {
private String id;
private String unitId;
private String name;
private String spell;
private String addr;
private String creditNo;
private String contact;
private String mobile;
private String thirdSysFk;
private Boolean checked;
private Date updateTime;
}

@ -0,0 +1,46 @@
package com.glxp.mipsdl.admin.entity.thrsys;
import lombok.Data;
import java.util.Date;
@Data
public class ThrProductsEntity {
private Integer id;
private String code;
private String name;
private String measname;
private String spec;
private String registerNo;
private String manufactory;
private String thirdSysFk;
private String thirdSys;
private String cplb;
private String flbm;
private String qxlb;
private String ybbm;
private String sptm;
private String tyshxydm;
private String zczbhhzbapzbh;
private String ylqxzcrbarmc;
private String ylqxzcrbarywmc;
private String cpms;
private Date updateTime;
private String supName;
private String thirdSysName;
private boolean isChecked;
//添加字段
private String model; //型号
private String standard; //规格型号,二合一字段
private String qtbm; //其他编码
private String zczyxqz; //注册有效期截止时间
private String price;
private String remark; //备注
private String remark1; //备注1
private String remark2; //备注2
private String remark3; //备注3
}

@ -0,0 +1,63 @@
package com.glxp.mipsdl.admin.req;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class TestOrderRequest {
private String billNo; //单据号
private String billFlag; //单据状态,0.未签字1.已签字
private Integer inoutType; //出入库类型 1.入库 2.出库
private String billDate; //单据日期
private String billType; //单据类型
private String remark; //备注
private String corpId; //第三方单据往来单位ID
private String corpName; //往来单位
private String locInvCode;
private String locInvName;
private String locSubInvCode;
private String locSubInvName;
private String thirdSys;
private String actor;
private String id;
private String thirdSysFk;
private String status;
private String statusInfo;
private String type;
private String sourceType;
private String printStatus;
private String unitIdFk;
private String customerId;
private String thirdOrderFk;
private String orderIdFk;
private BigDecimal totalPrice;
private String locStorageCode;
private String locStorageName;
private String invWarehouseCode;
private String fromSubInvCode;
private String fromSubInvName;
//补单单号
private String supplementNo;
private Integer createUser;
private Integer reviewUser;
//审核时间
private Date auditTime;
//更新时间
private Date updateTime;
//委托验收已完成
private boolean entrustEnd;
private String billTypeName;
private String subInvName;
private String invName;
private List<UdiwmsOrderDetail> item; //单据详情数组
}

@ -0,0 +1,14 @@
package com.glxp.mipsdl.admin.req.thrsys;
import com.glxp.mipsdl.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class FilterThrCorpRequest extends ListPageRequest {
private String thirdSysFk;
private String thirdSys;
private String unitId;
private String name;
private String lastUpdateTime;
}

@ -0,0 +1,29 @@
package com.glxp.mipsdl.admin.req.thrsys;
import com.glxp.mipsdl.admin.req.ListPageRequest;
import lombok.Data;
import java.util.List;
@Data
public class FilterThrProductsRequest extends ListPageRequest {
private String code;
private String name;
private String spec; //规格型号
private String registerNo; //注册证号
private String manufactory; //生产厂家
private String thirdSys;
private String thirdSysFk;
private String unionCode;
private String sptm;
private String ybbm;
private String supName;
private String lastUpdateTime;
private List<String> codes;
private Integer checkStatus;
private String customerId;
private String supId;
}

@ -0,0 +1,15 @@
package com.glxp.mipsdl.admin.req.thrsys;
import com.glxp.mipsdl.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class FilterThrSubInvWarehouseRequest extends ListPageRequest {
private String id;
private String code;
private String name;
private String parentId;
private String thirdSysFk;
}

@ -61,4 +61,29 @@ public class FileUtils {
return ""; return "";
} }
} }
public static boolean saveFileAs(String content, String path) {
FileWriter fw = null;
try {
fw = new FileWriter(new File(path), false);
if (content != null) {
fw.write(content);
}
} catch (IOException e) {
e.printStackTrace();
return false;
} finally {
if (fw != null) {
try {
fw.flush();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return true;
}
} }

@ -1,13 +0,0 @@
package com.glxp.mipsdl.admin.util;
/**
*
*/
public class PasswordUtils {
public static String authAdminPwd(String pwd) {
// return DigestUtils.md5DigestAsHex(DigestUtils.md5DigestAsHex(pwd.getBytes()).getBytes()).toLowerCase();
return pwd;
}
}

@ -1,23 +0,0 @@
package com.glxp.mipsdl.admin.util;
import com.glxp.mipsdl.admin.config.PublicFileUrlConfig;
/**
*
*/
public class PublicFileUtils {
public static String createUploadUrl(String filePath) {
if (filePath == null || filePath.isEmpty()) {
return "";
}
if (filePath.indexOf("http") == 0 || filePath.indexOf("/") == 0) {
return filePath;
}
return PublicFileUrlConfig.getDomain() + "/" + filePath;
}
}

@ -0,0 +1,159 @@
package com.glxp.mipsdl.admin.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.mipsdl.admin.dao.basic.BasicThirdSysBusApiDao;
import com.glxp.mipsdl.admin.dao.basic.BussinessLocalTypeDao;
import com.glxp.mipsdl.admin.dao.basic.UdiRelevanceDao;
import com.glxp.mipsdl.admin.dao.basic.UnitMaintainDao;
import com.glxp.mipsdl.admin.dao.inventory.InvSubWarehouseDao;
import com.glxp.mipsdl.admin.dao.inventory.InvWarehouseDao;
import com.glxp.mipsdl.admin.dao.thrsys.ThrInvWarehouseDao;
import com.glxp.mipsdl.admin.dao.thrsys.ThrSubInvWarehouseDao;
import com.glxp.mipsdl.admin.entity.basic.BasicThirdSysBusApiEntity;
import com.glxp.mipsdl.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.mipsdl.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.mipsdl.admin.entity.basic.UnitMaintainEntity;
import com.glxp.mipsdl.admin.entity.business.StockOrderDetailEntity;
import com.glxp.mipsdl.admin.entity.inout.WarehouseEntity;
import com.glxp.mipsdl.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.mipsdl.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.mipsdl.admin.entity.thrsys.ThrCorpEntity;
import com.glxp.mipsdl.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.mipsdl.admin.entity.thrsys.ThrProductsEntity;
import com.glxp.mipsdl.admin.entity.thrsys.ThrSubInvWarehouseEntity;
import com.glxp.mipsdl.admin.req.UdiwmsOrderDetail;
import com.glxp.mipsdl.admin.req.basic.BussinessLocalTypeFilterRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
public class SubmitOrderUtils {
@Resource
UnitMaintainDao unitMaintainDao;
@Resource
private InvWarehouseDao invWarehouseDao;
@Resource
private ThrInvWarehouseDao thrInvWarehouseDao;
@Resource
private InvSubWarehouseDao invSubWarehouseDao;
@Resource
private ThrSubInvWarehouseDao thrSubInvWarehouseDao;
@Resource
private UdiRelevanceDao udiRelevanceDao;
@Resource
private BasicThirdSysBusApiDao thirdSysBusApiDao;
@Resource
private BussinessLocalTypeDao bussinessLocalTypeDao;
//获取当前对应单据类型
public BussinessLocalTypeEntity getCurLocType(String billType) {
BussinessLocalTypeFilterRequest bussinessLocalTypeFilterRequest = new BussinessLocalTypeFilterRequest();
bussinessLocalTypeFilterRequest.setAction(billType);
List<BussinessLocalTypeEntity> bussinessLocalTypeEntities = bussinessLocalTypeDao.filterJoin(bussinessLocalTypeFilterRequest);
BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeEntities.get(0);
return bussinessLocalTypeEntity;
}
//转换第三方往来单位
public ThrCorpEntity toCorp(String corpId, String thirdId) {
ThrCorpEntity thrCorpEntity = new ThrCorpEntity();
UnitMaintainEntity unitMaintainEntity = unitMaintainDao.selectThirdInfoByErpId(corpId);
try {
String thirdCorpId = (String) ReflectUtil.getFieldValue(unitMaintainEntity, unitMaintainEntity.getClass().getField(thirdId));
thrCorpEntity.setUnitId(thirdCorpId); //往来单位编码需转换为第三方系统的ID
String thirdName = ThirdUtils.getThirdName(thirdId);
String thirdCorpName = (String) ReflectUtil.getFieldValue(unitMaintainEntity, unitMaintainEntity.getClass().getField(thirdName));
thrCorpEntity.setName(thirdCorpName); //往来单位名称,需转换为第三方系统的名称
return thrCorpEntity;
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return thrCorpEntity;
}
//转换第三方仓库信息
public ThrInvWarehouseEntity toInv(String invCode, String thirdId) {
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOneByCode(invCode);
try {
String thrInvCode = (String) ReflectUtil.getFieldValue(invWarehouseEntity, invWarehouseEntity.getClass().getField(thirdId));
ThrInvWarehouseEntity thrInvWarehouseEntity = thrInvWarehouseDao.selectByCode(thrInvCode, thirdId);
return thrInvWarehouseEntity;
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
return null;
}
//转换第三方分库信息
public ThrSubInvWarehouseEntity toSubInv(String invCode, String thirdId) {
InvSubWarehouseEntity invSubWarehouseEntity = invSubWarehouseDao.selectOneByCode(invCode);
try {
String thrInvCode = (String) ReflectUtil.getFieldValue(invSubWarehouseEntity, invSubWarehouseEntity.getClass().getField(thirdId));
ThrSubInvWarehouseEntity thrSubInvWarehouseEntity = thrSubInvWarehouseDao.selectByCode(thrInvCode, thirdId);
return thrSubInvWarehouseEntity;
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
return null;
}
//转换第三方产品信息
public ThrProductsEntity toProduct(StockOrderDetailEntity stockOrderDetailEntity, String thirdId) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(stockOrderDetailEntity.getRelId());
String thirdProductId = (String) ReflectUtil.getFieldValue(udiRelevanceEntity, thirdId);
String thirdName = ThirdUtils.getThirdName(thirdId);
String thirdProductName = (String) ReflectUtil.getFieldValue(udiRelevanceEntity, thirdName);
ThrProductsEntity thrProductsEntity = new ThrProductsEntity();
thrProductsEntity.setCode(thirdProductId);
thrProductsEntity.setName(thirdProductName);
return thrProductsEntity;
}
//获取单据对应条码信息
public List<UdiwmsOrderDetail.CodeDetaiEntity> getCodeArray(StockOrderDetailEntity stockOrderDetailEntity, List<WarehouseEntity> warehouseEntities) {
List<WarehouseEntity> warehouseEntityList = filterCodes(stockOrderDetailEntity, warehouseEntities);
if (CollUtil.isNotEmpty(warehouseEntityList)) {
List<UdiwmsOrderDetail.CodeDetaiEntity> codeDetaiEntities = new ArrayList<>();
warehouseEntityList.forEach(warehouseEntity -> {
UdiwmsOrderDetail.CodeDetaiEntity codeDetaiEntity = new UdiwmsOrderDetail.CodeDetaiEntity();
BeanUtils.copyProperties(warehouseEntity, codeDetaiEntity);
codeDetaiEntities.add(codeDetaiEntity);
});
return codeDetaiEntities;
} else return null;
}
//转换第三方单据类型
public String toBusType(String billType) {
BasicThirdSysBusApiEntity thirdSysBusApiEntity = thirdSysBusApiDao.selectByCode(billType);
if (thirdSysBusApiEntity != null) {
return thirdSysBusApiEntity.getThirdBuyCode();
}
return null;
}
public List<WarehouseEntity> filterCodes(StockOrderDetailEntity stockOrderDetailEntity, List<WarehouseEntity> warehouseEntities) {
List<WarehouseEntity> results = new ArrayList<>();
if (CollUtil.isNotEmpty(warehouseEntities)) {
for (WarehouseEntity warehouseEntity : warehouseEntities) {
if (StrUtil.trimToEmpty(warehouseEntity.getRelId()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getRelId()))
&& StrUtil.trimToEmpty(warehouseEntity.getBatchNo()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo()))
) {
results.add(warehouseEntity);
}
}
}
return results;
}
}

@ -2,6 +2,7 @@
server.port=9997 server.port=9997
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.jdbc-url=jdbc:mysql://192.168.235.137:33306/udiwms_erp?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true #spring.datasource.jdbc-url=jdbc:mysql://192.168.235.137:33306/udiwms_erp?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
#spring.datasource.jdbc-url=jdbc:mysql://192.168.0.148:3306/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root spring.datasource.username=root
spring.datasource.password=123456 spring.datasource.password=123456
@ -23,7 +24,7 @@ server.connectionTimeout=180000
#U8参数 #U8参数
#udi管理系统IP地址上传文件解析后回传 #udi管理系统IP地址上传文件解析后回传
UDIWMS_IP=http://127.0.0.1:9991 UDIWMS_IP=http://127.0.0.1:9991
#UDIWMS_IP=http://192.168.0.66:8500/UDI_WMS_MC #UDIWMS_IP=http://192.168.0.148:3306/UDI_WMS_MC
API_KEY=1102 API_KEY=1102
API_SECRET=4dc07484afd34e8083ba96e8fe564224 API_SECRET=4dc07484afd34e8083ba96e8fe564224
#文件导入 #文件导入
@ -32,7 +33,7 @@ FILE_VERSION_FLAG=ZHIYE_V1
#接口实时获取 #接口实时获取
#0.NULL(空,未配置),1.YONGYOU_U8_V3.1(用友3.1版本,片仔癀诊断) 2.YG_UDPLAT_V1.0(阳光采购平台) 3.TEST(标准接口,测试用),4.PHXYY(平和县医院) #0.NULL(空,未配置),1.YONGYOU_U8_V3.1(用友3.1版本,片仔癀诊断) 2.YG_UDPLAT_V1.0(阳光采购平台) 3.TEST(标准接口,测试用),4.PHXYY(平和县医院)
#5.ZAXZYY(诏安县医院) #5.ZAXZYY(诏安县医院)
ONLINE_VESRION_FLAG=ZAXZYY ONLINE_VESRION_FLAG=TEST
THIRD_ID=thirdId THIRD_ID=thirdId
ok.http.connect-timeout=3000 ok.http.connect-timeout=3000
ok.http.read-timeout=3000 ok.http.read-timeout=3000

@ -0,0 +1,44 @@
# 本地环境
server.port=9997
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.jdbc-url=jdbc:mysql://192.168.235.137:33306/udiwms_erp?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
#spring.datasource.password=89083fb2fc145533
logging.level.com.glxp.mipsdl.admin.dao=debug
#logging.level.com.glxp.mipsdl.admin.barcode=debug
# 跨域设置
cors.allowed-origins=*
cors.allowed-headers=Content-Type,ADMIN_ID,ADMIN_TOKEN
cors.allowed-methods=GET,POST,OPTIONS
server.servlet.context-path=
#请求参数长度
server.tomcat.max-http-form-post-size=100MB
server.max-http-header-size=100MB
#最大上传文件大小(10MB)
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=200MB
server.connectionTimeout=180000
#U8参数
#udi管理系统IP地址上传文件解析后回传
#UDIWMS_IP=http://127.0.0.1:9991
UDIWMS_IP=http://192.168.0.66:8500/UDI_WMS_MC
API_KEY=1102
API_SECRET=4dc07484afd34e8083ba96e8fe564224
#文件导入
#0.NULL(空未配置1.GLXP(自定义规范标准2.ZHIYE_V1(智业V1,诏安医院),3.YG_UDPLAT_V1(阳光采购平台),4.PHXYY(平和县医院)
FILE_VERSION_FLAG=ZHIYE_V1
#接口实时获取
#0.NULL(空,未配置),1.YONGYOU_U8_V3.1(用友3.1版本,片仔癀诊断) 2.YG_UDPLAT_V1.0(阳光采购平台) 3.TEST(标准接口,测试用),4.PHXYY(平和县医院)
#5.ZAXZYY(诏安县医院)
ONLINE_VESRION_FLAG=ZAXZYY
THIRD_ID=thirdId
ok.http.connect-timeout=3000
ok.http.read-timeout=3000
ok.http.write-timeout=3000
# 连接池中整体的空闲连接的最大数量
ok.http.max-idle-connections=200
# 连接空闲时间最多为 300 秒
ok.http.keep-alive-duration=300

@ -0,0 +1,44 @@
# 本地环境
server.port=9997
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.jdbc-url=jdbc:mysql://192.168.235.137:33306/udiwms_erp?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3361/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=root
#spring.datasource.password=89083fb2fc145533
logging.level.com.glxp.mipsdl.admin.dao=debug
#logging.level.com.glxp.mipsdl.admin.barcode=debug
# 跨域设置
cors.allowed-origins=*
cors.allowed-headers=Content-Type,ADMIN_ID,ADMIN_TOKEN
cors.allowed-methods=GET,POST,OPTIONS
server.servlet.context-path=
#请求参数长度
server.tomcat.max-http-form-post-size=100MB
server.max-http-header-size=100MB
#最大上传文件大小(10MB)
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=200MB
server.connectionTimeout=180000
#U8参数
#udi管理系统IP地址上传文件解析后回传
#UDIWMS_IP=http://127.0.0.1:9991
UDIWMS_IP=http://192.168.0.66:8500/UDI_WMS_MC
API_KEY=1102
API_SECRET=4dc07484afd34e8083ba96e8fe564224
#文件导入
#0.NULL(空未配置1.GLXP(自定义规范标准2.ZHIYE_V1(智业V1,诏安医院),3.YG_UDPLAT_V1(阳光采购平台),4.PHXYY(平和县医院)
FILE_VERSION_FLAG=ZHIYE_V1
#接口实时获取
#0.NULL(空,未配置),1.YONGYOU_U8_V3.1(用友3.1版本,片仔癀诊断) 2.YG_UDPLAT_V1.0(阳光采购平台) 3.TEST(标准接口,测试用),4.PHXYY(平和县医院)
#5.ZAXZYY(诏安县医院)
ONLINE_VESRION_FLAG=ZAXZYY
THIRD_ID=thirdId
ok.http.connect-timeout=3000
ok.http.read-timeout=3000
ok.http.write-timeout=3000
# 连接池中整体的空闲连接的最大数量
ok.http.max-idle-connections=200
# 连接空闲时间最多为 300 秒
ok.http.keep-alive-duration=300

@ -49,8 +49,6 @@
<if test="replicateNo != null and replicateNo != ''">replicateNo=#{replicateNo},</if> <if test="replicateNo != null and replicateNo != ''">replicateNo=#{replicateNo},</if>
<if test="fromSubInvCode != null and fromSubInvCode != ''">fromSubInvCode=#{fromSubInvCode},</if> <if test="fromSubInvCode != null and fromSubInvCode != ''">fromSubInvCode=#{fromSubInvCode},</if>
<if test="createTime != null and createTime != ''">createTime=#{createTime},</if> <if test="createTime != null and createTime != ''">createTime=#{createTime},</if>
<if test="originFromType != null and originFromType != ''">originFromType=#{originFromType},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.mipsdl.admin.dao.test.TestBusTypeDao">
<select id="filterList" parameterType="com.glxp.mipsdl.admin.req.phxyy.BussinessOriginTypeFilterRequest"
resultType="com.glxp.mipsdl.admin.entity.basic.BussinessOriginTypeEntity">
SELECT * FROM test_bustype
<where>
<if test="name != ''and name != null">
AND name LIKE concat(#{name},'%')
</if>
<if test="action != ''and action != null">
AND action LIKE concat(#{action},'%')
</if>
<if test="lastUpdateTime!=null and lastUpdateTime!=''">
<![CDATA[ and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S')>= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]>
</if>
</where>
</select>
</mapper>

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.mipsdl.admin.dao.test.TestCorpDao">
<select id="filterThrCorps" parameterType="com.glxp.mipsdl.admin.req.thrsys.FilterThrCorpRequest"
resultType="com.glxp.mipsdl.admin.entity.thrsys.ThrCorpEntity">
SELECT * FROM test_corp
<where>
<if test="unitId != '' and unitId != null">
AND unitId like concat('%',#{unitId},'%')
</if>
<if test="name != '' and name != null">
AND ( name LIKE concat('%',#{name},'%') or spell LIKE concat('%',#{name},'%') )
</if>
<if test="thirdSysFk != '' and thirdSysFk != null">
AND thirdSysFk = #{thirdSysFk}
</if>
<if test="lastUpdateTime!=null and lastUpdateTime!=''">
<![CDATA[ and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S')>= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]>
</if>
</where>
ORDER BY updateTime DESC
</select>
</mapper>

@ -0,0 +1,42 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.mipsdl.admin.dao.test.TestInvWarehouseDao">
<select id="filterThrInvWarehouse" parameterType="com.glxp.mipsdl.admin.req.thrsys.FilterThrInvWarehouseRequest"
resultType="com.glxp.mipsdl.admin.entity.thrsys.ThrInvWarehouseEntity">
SELECT *
FROM test_inv_warehouse
<where>
<if test="id != '' and id != null">
AND id = #{id}
</if>
<if test="pid != '' and pid != null">
AND pid = #{pid}
</if>
<if test="code != '' and code != null">
AND code = #{code}
</if>
<if test="name != '' and name != null">
AND name = #{name}
</if>
<if test="advanceType != null">
AND advanceType = #{advanceType}
</if>
<if test="isDefault != null">
AND isDefault = #{isDefault}
</if>
<if test="key != null">
and (code like concat('%', #{key}, '%')
or `name` like concat('%', #{key}, '%'))
</if>
<if test="lastUpdateTime != null and lastUpdateTime != ''">
<![CDATA[
and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S')
]]>
</if>
<if test="thirdSysFk != null">
and thirdSysFk = #{thirdSysFk}
</if>
</where>
</select>
</mapper>

@ -0,0 +1,47 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.mipsdl.admin.dao.test.TestProductDao">
<select id="filterThrProductsRequest" parameterType="com.glxp.mipsdl.admin.req.thrsys.FilterThrProductsRequest"
resultType="com.glxp.mipsdl.admin.entity.thrsys.ThrProductsEntity">
SELECT * FROM test_products
<where>
<if test="name != '' and name != null">
AND name LIKE concat('%',#{name},'%')
</if>
<if test="code != '' and code != null">
AND code LIKE concat('%',#{code},'%')
</if>
<if test="sptm != '' and sptm != null">
AND sptm LIKE concat('%',#{sptm},'%')
</if>
<if test="ybbm != '' and ybbm != null">
AND ybbm LIKE concat('%',#{ybbm},'%')
</if>
<if test="registerNo != '' and registerNo != null">
AND registerNo LIKE concat('%',#{registerNo},'%')
</if>
<if test="manufactory != '' and manufactory != null">
AND manufactory LIKE concat('%',#{manufactory},'%')
</if>
<if test="spec != '' and spec != null">
AND spec LIKE concat('%',#{spec},'%')
</if>
<if test="unionCode != '' and unionCode != null">
or code LIKE concat('%',#{unionCode},'%') or sptm LIKE concat('%',#{unionCode},'%') or ybbm LIKE
concat('%',#{unionCode},'%')
</if>
<if test="thirdSysFk != '' and thirdSysFk != null">
AND thirdSysFk = #{thirdSysFk}
</if>
<if test="supName != '' and supName != null">
AND supName LIKE concat('%',#{supName},'%')
</if>
<if test="lastUpdateTime!=null and lastUpdateTime!=''">
<![CDATA[ and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S')>= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]>
</if>
</where>
</select>
</mapper>

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.mipsdl.admin.dao.test.TestSubInvWarehouseDao">
<select id="filterThrInvWarehouse" parameterType="com.glxp.mipsdl.admin.req.thrsys.FilterThrSubInvWarehouseRequest"
resultType="com.glxp.mipsdl.admin.entity.thrsys.ThrSubInvWarehouseEntity">
SELECT *
FROM test_inv_warehouse_sub
<where>
<if test="id != '' and id != null">
AND id = #{id}
</if>
<if test="code != '' and code != null">
AND code = #{code}
</if>
<if test="name != '' and name != null">
AND `name` = #{name}
</if>
<if test="parentId != '' and parentId != null">
AND parentId = #{parentId}
</if>
<if test="thirdSysFk != null">
and thirdSysFk = #{thirdSysFk}
</if>
</where>
</select>
</mapper>

@ -1,6 +1,5 @@
package com.glxp.mipsdl.admin; package com.glxp.mipsdl.admin;
import com.glxp.mipsdl.admin.client.http.ZaxyyXmlClient;
import com.glxp.mipsdl.admin.http.UHttpUtils; import com.glxp.mipsdl.admin.http.UHttpUtils;
import org.dom4j.Document; import org.dom4j.Document;
import org.dom4j.DocumentException; import org.dom4j.DocumentException;
@ -40,11 +39,4 @@ public class JsonTest {
} }
} }
@Resource
ZaxyyXmlClient xmlClient;
@Test
public void teS1() {
xmlClient.testWebservice();
}
} }

Loading…
Cancel
Save