parent
ad7d1f5580
commit
43a3a99f2b
@ -0,0 +1,117 @@
|
|||||||
|
package com.ruoyi.flyingbook.strategy.cjt;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.ruoyi.common.enums.CjtAccountEnum;
|
||||||
|
import com.ruoyi.common.enums.CjtCallBackOperateEnum;
|
||||||
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import com.ruoyi.flyingbook.domain.edi.CJTEdiCallbackRequestVo;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 进货单
|
||||||
|
* @author yuxiangyong
|
||||||
|
* @create 2023-07-17 21:21
|
||||||
|
*/
|
||||||
|
@Component("purchaseArrivalOrderCallBackOperate")
|
||||||
|
public class PurchaseArrivalOrderCallBackOperate extends CJTOperateCallBackAbstract{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void syncRecord(CJTEdiCallbackRequestVo req, JSONObject returnBody) {
|
||||||
|
CjtCallBackOperateEnum msgTypeEnum = req.getMsgTypeEnum();
|
||||||
|
switch (msgTypeEnum) {
|
||||||
|
case PURCHASE_ARRIVAL_ORDER_CREATE:
|
||||||
|
addRecord(req, returnBody);
|
||||||
|
break;
|
||||||
|
case PURCHASE_ARRIVAL_ORDER_UPDATE:
|
||||||
|
updateRecord(req,returnBody);
|
||||||
|
break;
|
||||||
|
case PURCHASE_ARRIVAL_ORDER_DELETE:
|
||||||
|
deleteRecord(req);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String buildUniqueKey(String toTableId, JSONObject header, JSONObject detail,CjtAccountEnum cjtAccountEnum) {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
if (cjtAccountEnum.getCode().equals(CjtAccountEnum.TWO.getCode())){
|
||||||
|
JSONObject inventory = detail.getJSONObject("Inventory");
|
||||||
|
if (inventory == null) {
|
||||||
|
sb.append("null").append("_");
|
||||||
|
} else {
|
||||||
|
sb.append(inventory.get("Code")).append("_");
|
||||||
|
}
|
||||||
|
sb.append(header.get("Code")).append("_");
|
||||||
|
sb.append(detail.get("DetailMemo"));
|
||||||
|
}else {
|
||||||
|
|
||||||
|
JSONObject inventory = detail.getJSONObject("Inventory");
|
||||||
|
if (inventory == null) {
|
||||||
|
sb.append("null").append("_");
|
||||||
|
} else {
|
||||||
|
sb.append(inventory.get("Code")).append("_");
|
||||||
|
}
|
||||||
|
sb.append(detail.get("Quantity")).append("_");
|
||||||
|
sb.append(header.get("Code")).append("_");
|
||||||
|
sb.append(detail.get("DetailMemo"));
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Map<String, Object> buildLarkBody(JSONObject header, JSONObject detail, CjtAccountEnum cjtAccountEnum) {
|
||||||
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
body.put("采购订单号", header.getString("PurchaseOrderCode"));
|
||||||
|
JSONObject inventory = detail.getJSONObject("Inventory");
|
||||||
|
if (inventory != null){
|
||||||
|
body.put("存货编码", inventory.getString("Code"));
|
||||||
|
body.put("存货", inventory.getString("Name"));
|
||||||
|
body.put("规格型号", inventory.getString("Specification"));
|
||||||
|
}
|
||||||
|
JSONObject unit = detail.getJSONObject("Unit");
|
||||||
|
if (unit != null){
|
||||||
|
body.put("采购单位", unit.getString("Name"));
|
||||||
|
}
|
||||||
|
body.put("数量", detail.getDoubleValue("Quantity"));
|
||||||
|
body.put("单据日期", DateUtils.str2long(header.getString("VoucherDate"), DateUtils.YYYY_MM_DD));
|
||||||
|
body.put("创建时间", System.currentTimeMillis());
|
||||||
|
body.put("单据编号", header.getString("Code"));
|
||||||
|
JSONObject partner = header.getJSONObject("Partner");
|
||||||
|
if (partner != null){
|
||||||
|
body.put("供应商", partner.getString("Name"));
|
||||||
|
}
|
||||||
|
JSONObject voucherState = header.getJSONObject("VoucherState");
|
||||||
|
if (voucherState != null){
|
||||||
|
body.put("单据状态", voucherState.getString("Name"));
|
||||||
|
}
|
||||||
|
JSONObject warehouse = detail.getJSONObject("Warehouse");
|
||||||
|
if (warehouse != null){
|
||||||
|
body.put("仓库", warehouse.getString("Name"));
|
||||||
|
}
|
||||||
|
body.put("明细备注", detail.getString("DetailMemo"));
|
||||||
|
return body;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getRequestUrl() {
|
||||||
|
return REQUEST_ROOT_PATH + "/tplus/api/v2/PurchaseArrivalOpenApi/GetVoucherDTO";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getMethodUrl() {
|
||||||
|
return REQUEST_ROOT_PATH + "/tplus/api/v2/PurchaseArrivalOpenApi/FindVoucherList";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getDetailName() {
|
||||||
|
return "PurchaseOrderDetails";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue