86 lines
3.8 KiB
Java
86 lines
3.8 KiB
Java
package tqq9.lc123.cloud.app.api.controller;
|
||
|
||
import com.alibaba.fastjson.JSONObject;
|
||
import com.drew.lang.annotations.NotNull;
|
||
import kd.bos.dataentity.entity.DynamicObject;
|
||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||
import kd.bos.dataentity.utils.StringUtils;
|
||
import kd.bos.logging.Log;
|
||
import kd.bos.logging.LogFactory;
|
||
import kd.bos.openapi.common.custom.annotation.ApiController;
|
||
import kd.bos.openapi.common.custom.annotation.ApiParam;
|
||
import kd.bos.openapi.common.custom.annotation.ApiPostMapping;
|
||
import kd.bos.openapi.common.result.CustomApiResult;
|
||
import kd.bos.orm.query.QCP;
|
||
import kd.bos.orm.query.QFilter;
|
||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||
import tqq9.lc123.cloud.app.api.utils.ApiResultExt;
|
||
import tqq9.lc123.cloud.app.api.utils.Constants;
|
||
|
||
import java.util.ArrayList;
|
||
import java.util.HashMap;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* WMS物流信息同步接口
|
||
*/
|
||
@ApiController(value = "WMSLogiSyncController", desc = "WMS物流信息同步接口,自定义插件")
|
||
|
||
public class WMSLogiSyncController {
|
||
private final static Log logger = LogFactory.getLog(WMSLogiSyncController.class);
|
||
|
||
|
||
@ApiPostMapping(value = "/LogiSync", desc = "WMS物流信息同步api插件")
|
||
public CustomApiResult<ApiResultExt> LC_ArSettleRecord_Unsettle
|
||
(@NotNull @ApiParam(value = "入参", example = "") HashMap<String, Object> data) {
|
||
|
||
|
||
List<ApiResultExt.ResultBean> results = new ArrayList<>();
|
||
ApiResultExt resultExt = new ApiResultExt();
|
||
String billno = data.get("cDPCode").toString();//发货通知单编号
|
||
String ExpressCompany = data.get("ExpressCompany").toString();//快递公司
|
||
String cWayBillCode = data.get("cWayBillCode").toString();//快递单号
|
||
QFilter qFilter = new QFilter("billentry.srcbillnumber", QCP.in, data);
|
||
qFilter.and("billstatus", QCP.equals, "C");
|
||
DynamicObject im_saloutbill = BusinessDataServiceHelper.loadSingle(Constants.IM_SALOUTBILL, qFilter.toArray());
|
||
billno = im_saloutbill.getString("billno");//销售出库单号
|
||
String id= im_saloutbill.getString("id");//销售出库单id
|
||
JSONObject keys = new JSONObject();
|
||
keys.put("billno", billno);
|
||
ApiResultExt.ResultBean resultBean = new ApiResultExt.ResultBean();
|
||
ApiResultExt.Error error = new ApiResultExt.Error();
|
||
error.setRowMsg(new ArrayList<String>());
|
||
resultBean.setBillIndex(0);
|
||
resultBean.setKeys(keys);
|
||
resultBean.setNumber(billno);
|
||
resultBean.setType(Constants.TYPE_UPDATE);
|
||
int index=1;
|
||
if (StringUtils.isNotBlank(billno)) {
|
||
resultBean.setId(id);
|
||
resultBean.setBillStatus(true);
|
||
DynamicObjectCollection tqq9_entryentity = im_saloutbill.getDynamicObjectCollection("tqq9_entryentity");
|
||
DynamicObject dynamicObject = tqq9_entryentity.addNew();
|
||
dynamicObject.set("tqq9_kdgs",ExpressCompany);
|
||
dynamicObject.set("tqq9_kddh",cWayBillCode);
|
||
SaveServiceHelper.save(new DynamicObject[]{im_saloutbill});
|
||
index=0;
|
||
} else {
|
||
List<String> rowMsg = error.getRowMsg();
|
||
rowMsg.add("根据传入发运单号未找到对销售出库单");
|
||
error.setRowMsg(rowMsg);
|
||
error.setEntityKey(Constants.IM_SALOUTBILL);
|
||
error.setKeys(keys);
|
||
resultBean.setId("");
|
||
resultBean.setBillStatus(false);
|
||
}
|
||
resultBean.setErrors(error);
|
||
results.add(resultBean);
|
||
int failCount = index;//失败数量
|
||
int successCount = data.size() - index;//成功数量
|
||
resultExt.setFailCount(failCount);
|
||
resultExt.setSuccessCount(successCount);
|
||
resultExt.setResult(results);
|
||
return CustomApiResult.success(resultExt);
|
||
}
|
||
} |