中继服务bug修改,直连,单据上传,单据验收,一些字段缺失补充

version1
anthonyywj2 3 years ago
parent 323ae91c94
commit 1c003688cb

@ -0,0 +1,135 @@
package com.glxp.sale.admin.controller.sync;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.sale.admin.annotation.AuthRuleAnnotation;
import com.glxp.sale.admin.entity.sync.PostOrderRequest;
import com.glxp.sale.admin.http.UHttpClient;
import com.glxp.sale.admin.req.sync.OrderFilterRequest;
import com.glxp.sale.common.res.BaseResponse;
import com.glxp.sale.common.util.ResultVOUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
//直连UDI自助平台接口
@RestController
public class DirectConnectController {
@Value("${SPMS_IP}")
private String spmsUrl;
@Value("${API_KEY}")
private String apiKey;
@Value("${API_SECRET}")
private String apiSecret;
public HttpHeaders getHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json");
headers.add("api_key", apiKey);
headers.add("secret_key", apiSecret);
return headers;
}
//单据验收
@PostMapping("/sps/review/download/order/finsih")
public BaseResponse reviewOrder(@RequestBody OrderFilterRequest orderFilterRequest) {
String result = UHttpClient.postJson(spmsUrl + "/spms/inout/order/check/updateStatus", orderFilterRequest, getHeaders());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//获取未验收的单据
@GetMapping("/sps/review/download/order")
public BaseResponse downloadOrder(OrderFilterRequest orderFilterRequest) {
Map<String, Object> paramMap = new HashMap<>(16);
if (StrUtil.isNotEmpty(orderFilterRequest.getWmsUserId())) {
paramMap.put("wmsUserId", orderFilterRequest.getWmsUserId());
}
if (StrUtil.isNotEmpty(orderFilterRequest.getWmsUserName())) {
paramMap.put("wmsUserName", orderFilterRequest.getWmsUserName());
}
paramMap.put("orderId", orderFilterRequest.getOrderId());
paramMap.put("action", orderFilterRequest.getAction());
String response = UHttpClient.mipsGetHead(spmsUrl + "/udiwms/inout/order/download", paramMap, getHeaders());
try {
BaseResponse data = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接失败!");
}
}
//获取未验收的单据详情
@GetMapping("/sps/review/download/orderDetail")
public BaseResponse downloadOrderDetail(OrderFilterRequest orderFilterRequest) {
Map<String, Object> paramMap = new HashMap<>(16);
if (StrUtil.isNotEmpty(orderFilterRequest.getWmsUserId())) {
paramMap.put("wmsUserId", orderFilterRequest.getWmsUserId());
}
if (StrUtil.isNotEmpty(orderFilterRequest.getWmsUserName())) {
paramMap.put("wmsUserName", orderFilterRequest.getWmsUserName());
}
paramMap.put("orderId", orderFilterRequest.getOrderId());
String response = UHttpClient.mipsGetHead(spmsUrl + "/warehouse/inout/order/detail", paramMap, getHeaders());
try {
BaseResponse data = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接失败!");
}
}
//获取未验收的单据条码
@GetMapping("/sps/review/download/codes")
public BaseResponse downloadCodes(OrderFilterRequest orderFilterRequest) {
Map<String, Object> paramMap = new HashMap<>(16);
if (StrUtil.isNotEmpty(orderFilterRequest.getWmsUserId())) {
paramMap.put("wmsUserId", orderFilterRequest.getWmsUserId());
}
if (StrUtil.isNotEmpty(orderFilterRequest.getWmsUserName())) {
paramMap.put("wmsUserName", orderFilterRequest.getWmsUserName());
}
paramMap.put("orderId", orderFilterRequest.getOrderId());
String response = UHttpClient.mipsGetHead(spmsUrl + "/spms/inout/dlcode/findByOrderId", paramMap, getHeaders());
try {
BaseResponse data = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接失败!");
}
}
//手持终端单据提交
@PostMapping("/sps/pda/upload/orders")
public BaseResponse uploadOrder(@RequestBody PostOrderRequest postOrderRequest) {
String result = UHttpClient.postJson(spmsUrl + "/warehouse/inout/postOrders", postOrderRequest, getHeaders());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
}

@ -42,6 +42,12 @@ public class SpsSyncDataController {
return filePath;
}
@GetMapping("sps/sync/connect/test")
public BaseResponse connectTest(SpsSyncDataRequest spsSyncDataRequest) {
return ResultVOUtils.success("连接成功");
}
@GetMapping("sps/sync/basic")
public BaseResponse getProductInfo(SpsSyncDataRequest spsSyncDataRequest) {
SpsSyncDataResponse spsSyncDataResponse = (SpsSyncDataResponse) redisUtil.get(spsSyncDataRequest.getId() + "");

@ -22,4 +22,5 @@ public class CompanyProductRelevanceEntity {
private String genKeyFk;
private Integer gid;
private String unitFk;
private String price;
}

@ -0,0 +1,29 @@
package com.glxp.sale.admin.entity.info;
import lombok.Data;
/**
* -
*/
@Data
public class WarehouseBussinessTypeEntity {
/**
* id
*/
private Integer id;
/**
*
*/
private String code;
/**
*
*/
private String action;
/**
*
*/
private String name;
}

@ -0,0 +1,37 @@
package com.glxp.sale.admin.entity.info;
import lombok.Data;
/**
* -
*/
@Data
public class WarehouseUserEntity {
/**
* id
*/
private Integer id;
/**
*
*/
private String code;
/**
* id
*/
private Long userid;
/**
* /
*/
private String username;
/**
*
*/
private boolean isDirector;
private String employeeName;
}

@ -10,6 +10,11 @@ public class PostOrderRequest {
int submitType;//0提交1保存
String oldOrderId;//保存再编辑后再保存或提交根据旧id删除旧数据。
private String customerId;
private Integer userId;
private String wmsUserId;
private String wmsUserName;
public List<PostOrder> getPostOrder() {
return postOrders;
@ -40,6 +45,8 @@ public class PostOrderRequest {
List<WarehouseEntity> codes;
private String billType;
private String orderId;
private boolean outChangeEnable;
private boolean preCheck;
public String getStockIdFk() {
return stockIdFk;
@ -82,6 +89,22 @@ public class PostOrderRequest {
public void setCodes(List<WarehouseEntity> codes) {
this.codes = codes;
}
public boolean isOutChangeEnable() {
return outChangeEnable;
}
public void setOutChangeEnable(boolean outChangeEnable) {
this.outChangeEnable = outChangeEnable;
}
public boolean isPreCheck() {
return preCheck;
}
public void setPreCheck(boolean preCheck) {
this.preCheck = preCheck;
}
}
}

@ -21,12 +21,16 @@ public class ThrInvWarehouseEntity {
private String remark;
/**
*
*/
*
*/
private Integer level;
/**
*
*/
*
*/
private String pcode;
/**
*
*/
private String thirdSysFk;
}

@ -27,6 +27,7 @@ public class ThrProductsEntity {
private Date updateTime;
private String supName;
private boolean isChecked;
private String price;
//添加字段
private String model; //型号

@ -1,5 +1,6 @@
package com.glxp.sale.admin.entity.sync;
import cn.hutool.core.util.StrUtil;
import lombok.Data;
@Data
@ -42,8 +43,8 @@ public class UdiInfoEntity {
private String scbssfbhscrq;
private String scbssfbhsxrq;
private String cpms;
private String originUuid;
private Integer gid;
//本地生成信息
private String batchNo;
private String produceDate;
@ -57,10 +58,11 @@ public class UdiInfoEntity {
private String relId;//关联ID主键
private Integer status;
private String supId;
private Boolean isCheck;
private String genKeyFk;
private String originUuid;
private Boolean isCheck;
private boolean allowNoBatch;
private boolean allowNoExpire;
private boolean allowNoProduct;
public Integer getId() {
return id;
@ -401,4 +403,18 @@ public class UdiInfoEntity {
public void setProductType(Integer productType) {
this.productType = productType;
}
public static UdiInfoEntity initUdiInfoEntity(UdiInfoEntity udiInfoEntity) {
if (StrUtil.isNotEmpty(udiInfoEntity.getScbssfbhph()) && "否".equals(udiInfoEntity.getScbssfbhph())) {
udiInfoEntity.setAllowNoBatch(true);
}
if (StrUtil.isNotEmpty(udiInfoEntity.getScbssfbhscrq()) && "否".equals(udiInfoEntity.getScbssfbhscrq())) {
udiInfoEntity.setAllowNoProduct(true);
}
if (StrUtil.isNotEmpty(udiInfoEntity.getScbssfbhsxrq()) && "否".equals(udiInfoEntity.getScbssfbhsxrq())) {
udiInfoEntity.setAllowNoExpire(true);
}
return udiInfoEntity;
}
}

@ -36,8 +36,7 @@ public class UdiRelevanceEntity {
private String originUuid;
private boolean allowNoBatch;
private String price;
public Integer getLockStatus() {
if (lockStatus == null)

@ -24,6 +24,7 @@ public class WarehouseEntity {
private String customerId;
private String nameCode;
private Integer sCount;
private String supId;//供应商ID
private String supName;
private String invStorageCode;
@ -39,7 +40,7 @@ public class WarehouseEntity {
if (supId == null) {
return null;
} else if (supId.equals(""))
}else if(supId.equals(""))
return null;
return supId;
}

@ -1,5 +1,6 @@
package com.glxp.sale.admin.http;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -59,7 +60,7 @@ public class UHttpClient {
factory.setConnectTimeout(600000);
factory.setReadTimeout(600000);
RestTemplate restTemplate = new RestTemplate(factory);
String json = JSONObject.toJSON(object).toString();
String json = JSONUtil.toJsonStr(object);
logger.info(url + "\n" + json);
HttpEntity<String> httpEntity = new HttpEntity<>(json, headers);
String response = restTemplate.postForObject(url, httpEntity, String.class);

@ -24,4 +24,8 @@ public class OrderFilterRequest extends ListPageRequest {
private String customerId;
private String fromCorpId;
private String orderId;//业务单据ID手持终端上传上来的
private String userName;
private String userId;
private String wmsUserId;
private String wmsUserName;
}

@ -1,6 +1,9 @@
package com.glxp.sale.admin.res.sync;
import com.glxp.sale.admin.entity.auth.AuthAdmin;
import com.glxp.sale.admin.entity.info.CompanyProductRelevanceEntity;
import com.glxp.sale.admin.entity.info.WarehouseBussinessTypeEntity;
import com.glxp.sale.admin.entity.info.WarehouseUserEntity;
import com.glxp.sale.admin.entity.sync.*;
import lombok.Data;
@ -19,4 +22,9 @@ public class SpsSyncDataResponse {
List<ThrOrderEntity> thrOrderEntities;
List<CompanyProductRelevanceEntity> companyProductRelevanceEntities;
List<UdiRelevanceEntity> udiRelevanceEntities;
List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities;
List<WarehouseUserEntity> warehouseUserEntities;
List<AuthAdmin> authAdminList;
}

@ -84,7 +84,8 @@ public class DlAllDataService {
|| CollUtil.isNotEmpty(syncOrderResponse.getThrOrderEntities())
|| CollUtil.isNotEmpty(syncOrderResponse.getThrProductsEntities())
|| CollUtil.isNotEmpty(syncOrderResponse.getUdiInfoEntities())
|| CollUtil.isNotEmpty(syncOrderResponse.getUdiRelevanceEntities()))
|| CollUtil.isNotEmpty(syncOrderResponse.getUdiRelevanceEntities())
|| CollUtil.isNotEmpty(syncOrderResponse.getAuthAdminList()))
) {
if (downstream.getParamValue().equals("1")) {
String key = "BaseAllData" + System.currentTimeMillis();
@ -347,7 +348,7 @@ public class DlAllDataService {
spSyncUdiResponse.setProductInfoEntityList(mProductInfoEntities);
if(CollUtil.isNotEmpty(spSyncUdiResponse.getProductInfoEntityList()) || CollUtil.isNotEmpty(spSyncUdiResponse.getUdiCompanyEntities())){
if (CollUtil.isNotEmpty(spSyncUdiResponse.getProductInfoEntityList()) || CollUtil.isNotEmpty(spSyncUdiResponse.getUdiCompanyEntities())) {
String key = "UdiPrdoucts" + System.currentTimeMillis();
String datas = JSON.toJSON(spSyncUdiResponse).toString();
if (downstream.getParamValue().equals("1")) {

@ -36,6 +36,7 @@
<version>${version}</version>
</dependency>
<!--Json 操作-->
<!--Json 操作-->
<dependency>
<groupId>com.alibaba</groupId>

Loading…
Cancel
Save