123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package fi.fa.webService;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import kd.bos.dataentity.entity.DynamicObject;
- import kd.bos.openapi.common.custom.annotation.ApiController;
- import kd.bos.openapi.common.custom.annotation.ApiMapping;
- 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 java.io.Serializable;
- @ApiController(value = "midDispatch", desc = "自定义API 中间表新增")
- @ApiMapping(value = "saveMidDispatchApi")
- public class DispatchMidController implements Serializable {
-
- @ApiPostMapping(value = "/add", desc = "新增资产调拨单中间表")
- public CustomApiResult<Object> AddMidDispatch (@ApiParam(value = "e管家资产调拨单") JSONObject info) {
- StringBuilder resultString = new StringBuilder();
- JSONArray data = info.getJSONArray("data");
-
- for (int i = 0; i < data.size(); i++) {
- try{
- JSONObject eobject = data.getJSONObject(i);
-
- SaveMidDispatch(eobject);
- } catch (Exception e){
- resultString.append("保存过程中发生异常:").append(e.getMessage()).append("\n");
- }
- }
- return resultString.length() == 0
- ? CustomApiResult.success("推送中间表成功成功!")
- : CustomApiResult.fail("404", resultString.toString());
- }
-
- private void SaveMidDispatch(JSONObject jsonObject) {
- String dispatchType = jsonObject.getString("dispatchType");
- DynamicObject minInfo = null;
- if ("0".equals(dispatchType)) {
-
- QFilter filter = new QFilter("number", QCP.equals, jsonObject.getString("billno"));
- DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_dispatch_mid","id",new QFilter[] {filter});
- if (mid.length > 0) {
- minInfo = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName());
- }else {
- minInfo = BusinessDataServiceHelper.newDynamicObject("nckd_e_dispatch_mid");
- }
- minInfo.set("nckd_changemode", "调出");
- minInfo.set("nckd_user_out", jsonObject.getString("sendUser"));
- minInfo.set("nckd_user_in", jsonObject.getString("receiveUser"));
- minInfo.set("nckd_org_out", jsonObject.getString("outOrgId"));
- minInfo.set("nckd_org_in", jsonObject.getString("orgId"));
- minInfo.set("nckd_used_user", jsonObject.getString("receiveUser"));
- minInfo.set("nckd_direction", jsonObject.getString("direction"));
- minInfo.set("nckd_storeplace", jsonObject.getString("storeplace"));
- } else if ("1".equals(dispatchType)) {
-
- QFilter filter = new QFilter("number", QCP.equals, jsonObject.getString("billno"));
- DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_change_mid","id",new QFilter[] {filter});
- if (mid.length > 0) {
- minInfo = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName());
- }else {
- minInfo = BusinessDataServiceHelper.newDynamicObject("nckd_e_change_mid");
- }
- minInfo.set("nckd_user_out", jsonObject.getString("sendUser"));
- minInfo.set("nckd_user_in", jsonObject.getString("receiveUser"));
- minInfo.set("nckd_org_in", jsonObject.getString("orgId"));
- minInfo.set("nckd_used_user", jsonObject.getString("receiveUser"));
- minInfo.set("nckd_direction", jsonObject.getString("direction"));
- minInfo.set("nckd_storeplace", jsonObject.getString("storeplace"));
- } else if ("2".equals(dispatchType)) {
-
- QFilter filter = new QFilter("number", QCP.equals, jsonObject.getString("billno"));
- DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_discard_mid","id",new QFilter[] {filter});
- if (mid.length > 0) {
- minInfo = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName());
- }else {
- minInfo = BusinessDataServiceHelper.newDynamicObject("nckd_e_discard_mid");
- }
- minInfo.set("nckd_org_in", jsonObject.getString("orgId"));
- minInfo.set("nckd_user_out", jsonObject.getString("sendUser"));
- }
- minInfo.set("number", jsonObject.getString("billno"));
- minInfo.set("nckd_date_out", jsonObject.getDate("sendDate"));
- minInfo.set("nckd_reason", jsonObject.getString("reason"));
- minInfo.set("nckd_dispatch_type", jsonObject.getString("dispatchType"));
- minInfo.set("nckd_dept_in", jsonObject.getString("inDeptId"));
- minInfo.set("createtime", jsonObject.getDate("sendDate"));
- minInfo.set("status", "A");
-
- String cardNumber = "";
- JSONArray assetArray = jsonObject.getJSONArray("asset");
- for (int j = 0; j < assetArray.size(); j++) {
-
- JSONObject asset = assetArray.getJSONObject(j);
- String number = asset.getString("number");
- String orgId = asset.getString("orgId");
- cardNumber = cardNumber + number+ ":" + orgId + ",";
- if ("2".equals(jsonObject.getString("dispatchType"))) {
- minInfo.set("nckd_count", asset.getString("count"));
- }
- }
- minInfo.set("nckd_card_number", cardNumber);
- SaveServiceHelper.save(new DynamicObject[]{minInfo});
- }
- }
|