智业接口对接,单据提交,第三方仓库信息修改等

fengcang
anthonyywj2 3 years ago
parent 25886a0416
commit 4adb54a1ed

@ -2,6 +2,7 @@ package com.glxp.api.admin.controller.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.db.sql.Order;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.ConstantStatus;
@ -10,6 +11,7 @@ import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil;
import com.glxp.api.admin.controller.inout.utils.DataTransUtil;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
import com.glxp.api.admin.entity.business.StockOrderDetailEntity;
import com.glxp.api.admin.entity.business.StockOrderEntity;
@ -278,6 +280,9 @@ public class OrderDetailController {
return ResultVOUtils.success();
}
@Resource
private ErpOrderClient erpOrderClient;
//只查询第三方单据
@GetMapping("/udiwms/thirdOrder/filter")
public BaseResponse filterThirdOrder(FilterOrderRequest filterErpOrderRequest,
@ -286,6 +291,13 @@ public class OrderDetailController {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (filterErpOrderRequest.getIsDownThrSys()) {
BaseResponse<PageSimpleResponse<ErpOrderResponse>> responseBaseResponse = erpOrderClient.getErpOrderResponse(filterErpOrderRequest);
return responseBaseResponse;
}
BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessOriginTypeService.findSysByAction(filterErpOrderRequest.getBillAction(), "orderQueryUrl");
filterErpOrderRequest.setThirdOrderFk(basicThirdSysDetailEntity.getThirdSysFk());
if (basicThirdSysDetailEntity == null || !basicThirdSysDetailEntity.getEnabled()) {
@ -296,6 +308,7 @@ public class OrderDetailController {
return ResultVOUtils.error(500, "第三方业务单据服务未关联");
}
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest);
filterThrOrderRequest.setPage(filterErpOrderRequest.getPage());
@ -458,6 +471,9 @@ public class OrderDetailController {
filterErpOrderRequest.setLimit(100);
List<ErpOrderEntity> erpOrderEntities = orderDetailService.filterMyErpOrder(filterErpOrderRequest);
OrderEntity orderEntity = orderService.findById(filterErpOrderRequest.getOrderIdFk());
// if (StrUtil.isNotEmpty(value) && value.equals("1")) {
// erpOrderEntities = transferSerList(erpOrderEntities, filterErpOrderRequest.getOrderIdFk());
// }

@ -73,10 +73,6 @@ public class InvWarehouseController {
SystemParamConfigService systemParamConfigService;
@Resource
InvProductDetailService invProductDetailService;
@Resource
BussinessTypeService bussinessTypeService;
@Resource
WarehouseBussinessTypeService warehouseBussinessTypeService;
@AuthRuleAnnotation("")

@ -174,7 +174,6 @@ public class ThrOrderExportLogController {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(filterErpOrderRequest.getBillAction(), "orderQueryUrl");
if (!basicThirdSysDetailEntity.getEnabled() || basicThirdSysDetailEntity.getThirdSysFk() == null) {
return ResultVOUtils.error(500, "第三方系统业务单据接口服务未启用");

@ -5,21 +5,21 @@ import lombok.Data;
@Data
public class InvSubWarehouseEntity {
private String id;
private String code;
private String name;
private String parentId;
private String remark;
private boolean defaultInv;
public String id;
public String code;
public String name;
public String parentId;
public String remark;
public boolean defaultInv;
private String thirdId;
private String thirdName;
private String thirdId1;
private String thirdName1;
private String thirdId2;
private String thirdName2;
private String thirdId3;
private String thirdName3;
private String thirdId4;
private String thirdName4;
public String thirdId;
public String thirdName;
public String thirdId1;
public String thirdName1;
public String thirdId2;
public String thirdName2;
public String thirdId3;
public String thirdName3;
public String thirdId4;
public String thirdName4;
}

@ -53,8 +53,8 @@ public class ErpOrderClient {
public BaseResponse<PageSimpleResponse<ErpOrderResponse>> getErpOrderResponse(FilterOrderRequest filterOrderRequest) {
//查询第三方服务授权参数
BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterOrderRequest.getThirdOrderFk());
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getUnits";
BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId("thirdId");
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getOrders";
String response = httpOkClient.uCloudPost(url, filterOrderRequest, basicThirdSysEntity);
try {
BaseResponse<PageSimpleResponse<ErpOrderResponse>> responseBaseResponse =

@ -18,6 +18,7 @@ public class UdiwmsOrderRequest {
private String thirdSys; //第三方系统ID
private String locStorageCode;
private String locStorageName;
private String actor;
private List<UdiwmsOrderDetail> item; //单据详情数组
}

@ -1,69 +1,40 @@
package com.glxp.api.admin.httpclient.req;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@NoArgsConstructor
@Data
public class UdiwmsPreInOrderRequest {
@JsonProperty("billNo")
private String billNo;
@JsonProperty("billdate")
private String billdate;
@JsonProperty("corpId")
private String corpId;
@JsonProperty("corpName")
private String corpName;
@JsonProperty("locInvCode")
private String locInvCode;
@JsonProperty("locInvName")
private String locInvName;
@JsonProperty("actor")
private String actor;
@JsonProperty("remark")
private String remark;
@JsonProperty("item")
private String thirdSys;
private List<ItemDTO> items;
@NoArgsConstructor
@Data
public static class ItemDTO {
@JsonProperty("code")
private String code;
@JsonProperty("productId")
private String productId;
@JsonProperty("productName")
private String productName;
@JsonProperty("standard")
private String standard;
@JsonProperty("expireDate")
private String expireDate;
@JsonProperty("productDate")
private String productDate;
@JsonProperty("batchNo")
private String batchNo;
@JsonProperty("count")
private Integer count;
@JsonProperty("measname")
private String measname;
@JsonProperty("registerNo")
private String registerNo;
@JsonProperty("price")
private Double price;
@JsonProperty("secSalesInvNo")
private String secSalesInvNo;
@JsonProperty("invoiceDate")
private String invoiceDate;
@JsonProperty("secSalesListNo")
private String secSalesListNo;
@JsonProperty("firstSalesInvNo")
private String firstSalesInvNo;
@JsonProperty("remark")
private String remark;
}
}

@ -24,8 +24,10 @@ import com.glxp.api.admin.entity.business.StockOrderPrintEntity;
import com.glxp.api.admin.entity.business.StockOrderUploadLogEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity;
import com.glxp.api.admin.httpclient.req.UdiwmsOrderDetail;
import com.glxp.api.admin.httpclient.req.UdiwmsOrderRequest;
import com.glxp.api.admin.httpclient.req.UdiwmsPreInOrderRequest;
@ -35,6 +37,7 @@ import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest;
import com.glxp.api.admin.req.business.StockOrderFilterRequest;
import com.glxp.api.admin.req.business.StockOrderQueryRequest;
import com.glxp.api.admin.req.business.StockOrderUploadRequest;
import com.glxp.api.admin.req.thrsys.FilterThrSubInvWarehouseRequest;
import com.glxp.api.admin.res.business.StockOrderDetailEntityVo;
import com.glxp.api.admin.res.business.StockOrderExportResponse;
import com.glxp.api.admin.service.auth.AuthAdminService;
@ -44,8 +47,10 @@ import com.glxp.api.admin.service.business.StockOrderService;
import com.glxp.api.admin.service.business.StockOrderUploadLogService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.service.inventory.InvSubWarehouseService;
import com.glxp.api.admin.service.inventory.InvWarehouseService;
import com.glxp.api.admin.service.thrsys.ThrInvWarehouseService;
import com.glxp.api.admin.service.thrsys.ThrSubInvWarehouseService;
import com.glxp.api.admin.util.DateUtil;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.admin.util.HttpOkClient;
@ -84,8 +89,12 @@ public class StockOrderServiceImpl implements StockOrderService {
@Resource
InvWarehouseService invWarehouseService;
@Resource
InvSubWarehouseService invSubWarehouseService;
@Resource
ThrInvWarehouseService thrInvWarehouseService;
@Resource
ThrSubInvWarehouseService thrSubInvWarehouseService;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
private BasicThirdSysBusApiDao basicThirdSysBusApiDao;
@ -228,7 +237,7 @@ public class StockOrderServiceImpl implements StockOrderService {
StockOrderDetailFilterRequest orderDetailFilterRequest = new StockOrderDetailFilterRequest();
orderDetailFilterRequest.setOrderIdFk(id);
List<StockOrderDetailEntity> stockOrderDetailEntities = stockOrderDetailDao.filterStockOrderDetail(orderDetailFilterRequest);
List<WarehouseEntity> warehouseEntities = codesService.findByReceiptId(stockOrderEntity.getOrderIdFk());
UdiwmsOrderRequest udiwmsOrderRequest = new UdiwmsOrderRequest();
udiwmsOrderRequest.setBillDate(stockOrderEntity.getBilldate()); //单据日期
udiwmsOrderRequest.setBillNo(stockOrderEntity.getBillNo()); //单号
@ -238,11 +247,16 @@ public class StockOrderServiceImpl implements StockOrderService {
BasicThirdSysBusApiEntity thirdSysBusApiEntity = thirdSysBusApiDao.selectByCode(stockOrderEntity.getBillType());
udiwmsOrderRequest.setThirdSys(thirdSysBusApiEntity.getThirdSys()); //第三方系统标识
udiwmsOrderRequest.setBillType(thirdSysBusApiEntity.getThirdBuyCode());
String thirdId = getThirdId(thirdSysBusApiEntity);
if (bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) {
// String supId = warehouseEntities.get(0).getSupId();
// UnitMaintainEntity unitMaintainEntity = unitMaintainDao.selectThirdInfoByErpId(supId);
udiwmsOrderRequest.setCorpId(stockOrderEntity.getCorpName()); //往来单位编码需转换为第三方系统的ID
udiwmsOrderRequest.setCorpName(stockOrderEntity.getCorpName()); //往来单位名称,需转换为第三方系统的名称
// udiwmsOrderRequest.setCorpId(unitMaintainEntity.getThirdId());
// udiwmsOrderRequest.setCorpName(unitMaintainEntity.getThirdName());
} else if (bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INNOR) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(stockOrderEntity.getCorpId());
try {
@ -270,17 +284,17 @@ public class StockOrderServiceImpl implements StockOrderService {
}
}
InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(stockOrderEntity.getLocStorageCode());
InvSubWarehouseEntity invSubWarehouseEntity = invSubWarehouseService.findByInvSubByCode(stockOrderEntity.getInvWarehouseCode());
try {
// String thirdSysFk = (String) ReflectUtil.getFieldValue(invWarehouseEntity, invWarehouseEntity.getClass().getField(thirdId));
ThrInvWarehouseEntity thrInvWarehouseEntity = thrInvWarehouseService.selectByCode(invWarehouseEntity.getThirdId(), thirdId);
udiwmsOrderRequest.setLocStorageCode(thrInvWarehouseEntity.getCode());
udiwmsOrderRequest.setLocStorageName(thrInvWarehouseEntity.getName());
ThrSubInvWarehouseEntity thrSubInvWarehouseEntity = thrSubInvWarehouseService.selectByThrCode(thirdId, invSubWarehouseEntity.getThirdId());
udiwmsOrderRequest.setLocStorageCode(thrSubInvWarehouseEntity.getCode());
udiwmsOrderRequest.setLocStorageName(thrSubInvWarehouseEntity.getName());
} catch (Exception e) {
log.error(e.getMessage(), e);
}
udiwmsOrderRequest.setBillFlag(stockOrderEntity.getBillFlag());//单据状态
udiwmsOrderRequest.setBillFlag(1 + "");//单据状态
//查询单据出入库类型
String mainAction = bussinessTypeDao.selectInoutTypebByLocalAction(stockOrderEntity.getBillType());
@ -293,7 +307,7 @@ public class StockOrderServiceImpl implements StockOrderService {
udiwmsOrderRequest.setRemark("udi管理系统提交单据"); //备注
//组装明细数据
List<WarehouseEntity> warehouseEntities = codesService.findByReceiptId(stockOrderEntity.getOrderIdFk());
List<UdiwmsOrderDetail> items = new ArrayList<>(stockOrderDetailEntities.size());
for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderDetailEntities) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(stockOrderDetailEntity.getRelId());
@ -349,6 +363,13 @@ public class StockOrderServiceImpl implements StockOrderService {
uploadLog.setFromType(ConstantStatus.THIRD_ORDER_UPLOAD);
BasicThirdSysEntity basicThirdSysEntity = basicThirdSysDao.selectByThirdId(thirdSysBusApiEntity.getThirdSys());
String response = null;
if (orderEntity.getReviewUser() != null) {
AuthAdmin authAdmin = authAdminService.findById(orderEntity.getReviewUser().longValue());
udiwmsOrderRequest.setActor(authAdmin.getEmployeeName());
} else if (orderEntity.getCreateUser() != null) {
AuthAdmin authAdmin = authAdminService.findById(orderEntity.getCreateUser().longValue());
udiwmsOrderRequest.setActor(authAdmin.getEmployeeName());
}
if (bussinessLocalTypeEntity.isPreIn()) {
UdiwmsPreInOrderRequest udiwmsPreInOrderRequest = submitPreInOrderToThirdSys(udiwmsOrderRequest, orderEntity);
response = httpOkClient.uCloudPost(basicThirdSysEntity.getThridUrl() + "/udiwms/erp/preIn/submitOrders", udiwmsPreInOrderRequest);
@ -356,19 +377,18 @@ public class StockOrderServiceImpl implements StockOrderService {
response = httpOkClient.uCloudPost(basicThirdSysEntity.getThridUrl() + "/udiwms/erp/submitOrders", udiwmsOrderRequest);
if (StrUtil.isNotBlank(response)) {
try {
BaseResponse<UdiwmsOrderResponse> baseResponse = JSONObject.parseObject(response, new TypeReference<BaseResponse<UdiwmsOrderResponse>>() {
BaseResponse<String> baseResponse = JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() {
});
if (baseResponse.getCode().equals(20000)) {
UdiwmsOrderResponse udiwmsOrderResponse = baseResponse.getData();
String udiwmsOrderResponse = baseResponse.getData();
orderEntity.setExportStatus(1);
if (udiwmsOrderResponse != null) {
orderEntity.setThirdBillNo(udiwmsOrderResponse.getThirdBillNo());
}
// if (udiwmsOrderResponse != null) {
// orderEntity.setThirdBillNo(udiwmsOrderResponse.getThirdBillNo());
// }
orderService.updateOrder(orderEntity);
uploadLog.setStatus(2);
uploadLog.setThrBillNo(udiwmsOrderResponse.getThirdBillNo());
uploadLog.setThrBillNo(udiwmsOrderResponse);
uploadLog.setResult("提交成功");
stockOrderUploadLogService.insert(uploadLog);
return ResultVOUtils.success("提交成功");
@ -403,13 +423,6 @@ public class StockOrderServiceImpl implements StockOrderService {
BeanUtils.copyProperties(udiwmsOrderRequest, udiwmsPreInOrderRequest);
udiwmsPreInOrderRequest.setLocInvCode(udiwmsOrderRequest.getLocStorageCode());
udiwmsPreInOrderRequest.setLocInvName(udiwmsOrderRequest.getLocStorageName());
if (orderEntity.getReviewUser() != null) {
AuthAdmin authAdmin = authAdminService.findById(orderEntity.getReviewUser().longValue());
udiwmsPreInOrderRequest.setActor(authAdmin.getEmployeeName());
} else if (orderEntity.getCreateUser() != null) {
AuthAdmin authAdmin = authAdminService.findById(orderEntity.getCreateUser().longValue());
udiwmsPreInOrderRequest.setActor(authAdmin.getEmployeeName());
}
List<UdiwmsPreInOrderRequest.ItemDTO> itemDTOS = new ArrayList<>();
if (CollUtil.isNotEmpty(udiwmsOrderRequest.getItem())) {
for (UdiwmsOrderDetail udiwmsOrderDetail : udiwmsOrderRequest.getItem()) {

@ -8,6 +8,9 @@ import java.util.List;
public interface ThrSubInvWarehouseService {
ThrSubInvWarehouseEntity selectByThrCode(String thirdSys, String thirdId);
List<ThrSubInvWarehouseEntity> filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest);
boolean insertThrInvWarehouse(ThrSubInvWarehouseEntity thrSubInvWarehouseEntity);

@ -1,5 +1,6 @@
package com.glxp.api.admin.service.thrsys.impl;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.thrsys.ThrSubInvWarehouseDao;
import com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity;
@ -18,6 +19,17 @@ public class ThrSubInvWarehouseServiceImpl implements ThrSubInvWarehouseService
ThrSubInvWarehouseDao thrSubInvWarehouseDao;
@Override
public ThrSubInvWarehouseEntity selectByThrCode(String thirdSys, String thirdId) {
FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest = new FilterThrSubInvWarehouseRequest();
filterThrSubInvWarehouseRequest.setCode(thirdId);
filterThrSubInvWarehouseRequest.setThirdSysFk(thirdSys);
List<ThrSubInvWarehouseEntity> thrInvWarehouseEntitys = thrSubInvWarehouseDao.filterThrInvWarehouse(filterThrSubInvWarehouseRequest);
if (CollUtil.isNotEmpty(thrInvWarehouseEntitys)) {
return thrInvWarehouseEntitys.get(0);
} else return null;
}
@Override
public List<ThrSubInvWarehouseEntity> filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) {
if (filterThrSubInvWarehouseRequest == null) {

Loading…
Cancel
Save