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 LC_ArSettleRecord_Unsettle (@NotNull @ApiParam(value = "入参", example = "") HashMap data) { List 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()); 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 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); } }