|
@@ -1,12 +1,8 @@
|
|
|
package fi.fa.webService;
|
|
|
|
|
|
-
|
|
|
-import com.alibaba.druid.util.StringUtils;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
|
-import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
|
-import kd.bos.entity.operate.result.OperationResult;
|
|
|
import kd.bos.openapi.common.custom.annotation.ApiController;
|
|
|
import kd.bos.openapi.common.custom.annotation.ApiMapping;
|
|
|
import kd.bos.openapi.common.custom.annotation.ApiParam;
|
|
@@ -15,14 +11,8 @@ 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.OperationServiceHelper;
|
|
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
|
-import kd.bos.dataentity.OperateOption;
|
|
|
-import org.apache.commons.lang3.ObjectUtils;
|
|
|
import java.io.Serializable;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
|
|
|
|
|
|
* 接收e管家资产调拨单接口
|
|
@@ -43,27 +33,14 @@ public class DispatchMidController implements Serializable {
|
|
|
for (int i = 0; i < data.size(); i++) {
|
|
|
try{
|
|
|
JSONObject eobject = data.getJSONObject(i);
|
|
|
-
|
|
|
- HashMap<String , Long> map = new HashMap<>();
|
|
|
|
|
|
SaveMidDispatch(eobject);
|
|
|
-
|
|
|
- String errorChange = Control(eobject, map);
|
|
|
-
|
|
|
- String errorCode = Check(eobject, map);
|
|
|
-
|
|
|
- if (StringUtils.isEmpty(errorCode) && StringUtils.isEmpty(errorChange)) {
|
|
|
-
|
|
|
- Push(eobject, map);
|
|
|
- }
|
|
|
-
|
|
|
- appendErrorMessages(resultString, errorChange, errorCode);
|
|
|
} catch (Exception e){
|
|
|
resultString.append("保存过程中发生异常:").append(e.getMessage()).append("\n");
|
|
|
}
|
|
|
}
|
|
|
return resultString.length() == 0
|
|
|
- ? CustomApiResult.success("推送调拨单成功!")
|
|
|
+ ? CustomApiResult.success("推送中间表成功成功!")
|
|
|
: CustomApiResult.fail("404", resultString.toString());
|
|
|
}
|
|
|
|
|
@@ -72,29 +49,61 @@ public class DispatchMidController implements Serializable {
|
|
|
* @param jsonObject
|
|
|
*/
|
|
|
private void SaveMidDispatch(JSONObject jsonObject) {
|
|
|
- DynamicObject midDispatch;
|
|
|
-
|
|
|
- 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) {
|
|
|
- midDispatch = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName());
|
|
|
- }else {
|
|
|
- midDispatch = BusinessDataServiceHelper.newDynamicObject("nckd_e_dispatch_mid");
|
|
|
- }
|
|
|
+ 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("recieveUser"));
|
|
|
+ minInfo.set("nckd_org_out", jsonObject.getString("outOrgId"));
|
|
|
+ minInfo.set("nckd_org_in", jsonObject.getString("orgId"));
|
|
|
+ minInfo.set("nckd_used_user", jsonObject.getString("user"));
|
|
|
+ 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("recieveUser"));
|
|
|
+ minInfo.set("nckd_org_in", jsonObject.getString("orgId"));
|
|
|
+ minInfo.set("nckd_used_user", jsonObject.getString("user"));
|
|
|
+ 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"));
|
|
|
|
|
|
- midDispatch.set("number", jsonObject.getString("billno"));
|
|
|
- midDispatch.set("nckd_user_out", jsonObject.getString("sendUser"));
|
|
|
- midDispatch.set("nckd_user_in", jsonObject.getString("recieveUser"));
|
|
|
- midDispatch.set("nckd_date_out", jsonObject.getDate("sendDate"));
|
|
|
- midDispatch.set("nckd_org_out", jsonObject.getString("outOrgId"));
|
|
|
- midDispatch.set("nckd_org_in", jsonObject.getString("orgId"));
|
|
|
- midDispatch.set("nckd_reason", jsonObject.getString("reason"));
|
|
|
- midDispatch.set("nckd_changemode", "调出");
|
|
|
- midDispatch.set("nckd_dispatch_type", jsonObject.getString("dispatchType"));
|
|
|
- midDispatch.set("nckd_dept_in", jsonObject.getString("inDeptId"));
|
|
|
- midDispatch.set("nckd_used_user", jsonObject.getString("user"));
|
|
|
- midDispatch.set("nckd_storeplace", jsonObject.getString("storeplace"));
|
|
|
- midDispatch.set("nckd_direction", jsonObject.getString("direction"));
|
|
|
+ }
|
|
|
+ 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");
|
|
@@ -103,514 +112,12 @@ public class DispatchMidController implements Serializable {
|
|
|
JSONObject asset = assetArray.getJSONObject(j);
|
|
|
String number = asset.getString("number");
|
|
|
String orgId = asset.getString("orgId");
|
|
|
- cardNumber = number+ ":" + orgId + ",";
|
|
|
+ cardNumber = cardNumber + number+ ":" + orgId + ",";
|
|
|
if ("2".equals(jsonObject.getString("dispatchType"))) {
|
|
|
- midDispatch.set("nckd_count", asset.getString("count"));
|
|
|
- }
|
|
|
- }
|
|
|
- midDispatch.set("nckd_card_number_tag", cardNumber);
|
|
|
- SaveServiceHelper.save(new DynamicObject[]{midDispatch});
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description e管家推送数据校验
|
|
|
- * @param jsonObject,map
|
|
|
- * @return String
|
|
|
- */
|
|
|
- private String Check(JSONObject jsonObject, HashMap<String , Long> map) {
|
|
|
- String billno = jsonObject.getString("billno");
|
|
|
- String user = jsonObject.getString("user");
|
|
|
- String dispatchType = jsonObject.getString("dispatchType");
|
|
|
- List<String> numberList = new ArrayList<>();
|
|
|
-
|
|
|
- if (isAlreadyDispatched(billno)) {
|
|
|
- return "单据" + billno + "已经生成调拨单,请勿重复推送!";
|
|
|
- }
|
|
|
-
|
|
|
- JSONArray assetArray = jsonObject.getJSONArray("asset");
|
|
|
- if (assetArray.isEmpty()) {
|
|
|
- return "单据" + billno + "未绑定资产信息,生成调拨单失败";
|
|
|
- }
|
|
|
- Boolean isSame = true;
|
|
|
-
|
|
|
- for (int j = 0; j < assetArray.size(); j++) {
|
|
|
-
|
|
|
- JSONObject asset = assetArray.getJSONObject(j);
|
|
|
- if (!asset.getString("orgId").equals(assetArray.getJSONObject(0).getString("orgId"))) {
|
|
|
- isSame = false;
|
|
|
- }
|
|
|
- numberList.add(asset.getString("number"));
|
|
|
- }
|
|
|
-
|
|
|
- if (isSame) {
|
|
|
- String e_orgId = assetArray.getJSONObject(0).getString("orgId");
|
|
|
-
|
|
|
- QFilter filter = new QFilter("number", QCP.in,numberList);
|
|
|
- DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
|
|
|
- if (dynamicObjects.length == 0 || dynamicObjects.length != numberList.size()) {
|
|
|
- return "单据"+billno+"绑定的资产有未同步至星瀚的数据,生成调拨单失败";
|
|
|
- }else {
|
|
|
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(dynamicObjects[0].getPkValue(), dynamicObjects[0].getDynamicObjectType().getName());
|
|
|
-
|
|
|
- String code = cardInfo.getString("nckd_card_real_code");
|
|
|
- if (StringUtils.isEmpty(code)) {
|
|
|
-
|
|
|
- Long orgId = getOrg(e_orgId);
|
|
|
- if (ObjectUtils.isNotEmpty(orgId) && ("0".equals(dispatchType))) {
|
|
|
-
|
|
|
- for (int a = 0; a < dynamicObjects.length ; a++) {
|
|
|
- DynamicObject ecardInfoList = BusinessDataServiceHelper.loadSingle(dynamicObjects[a].getPkValue(), dynamicObjects[a].getDynamicObjectType().getName());
|
|
|
- ecardInfoList.set("nckd_orgfield",orgId);
|
|
|
- ecardInfoList.set("nckd_dept",map.get("inDeptId"));
|
|
|
- SaveServiceHelper.save(new DynamicObject[]{ecardInfoList});
|
|
|
- }
|
|
|
- }else if (ObjectUtils.isNotEmpty(orgId) && "1".equals(dispatchType)) {
|
|
|
-
|
|
|
- for (int a = 0; a < dynamicObjects.length ; a++) {
|
|
|
- DynamicObject ecardInfoList = BusinessDataServiceHelper.loadSingle(dynamicObjects[a].getPkValue(), dynamicObjects[a].getDynamicObjectType().getName());
|
|
|
- ecardInfoList.set("nckd_dept",map.get("inDeptId"));
|
|
|
- ecardInfoList.set("nckd_use_name",user);
|
|
|
- SaveServiceHelper.save(new DynamicObject[]{ecardInfoList});
|
|
|
- }
|
|
|
- }
|
|
|
- else if (ObjectUtils.isNotEmpty(orgId) && "2".equals(dispatchType)) {
|
|
|
-
|
|
|
- for (int a = 0; a < dynamicObjects.length ; a++) {
|
|
|
- DynamicObject ecardInfoList = BusinessDataServiceHelper.loadSingle(dynamicObjects[a].getPkValue(), dynamicObjects[a].getDynamicObjectType().getName());
|
|
|
- ecardInfoList.set("nckd_discard",1);
|
|
|
- SaveServiceHelper.save(new DynamicObject[]{ecardInfoList});
|
|
|
- }
|
|
|
- } else {
|
|
|
- return "资产信息的组织在组织对照表中未查询到数据,生成调拨单失败";
|
|
|
- }
|
|
|
- return "星瀚系统未生成实物卡片,已更新e管家实物卡片清单";
|
|
|
- }else {
|
|
|
-
|
|
|
- QFilter qfilter = new QFilter("nckd_card_real_code", QCP.equals,code);
|
|
|
- DynamicObject[] cardObject = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {qfilter});
|
|
|
-
|
|
|
- if (cardObject.length > 0 && assetArray.size() != cardObject.length) {
|
|
|
- return "单据"+billno+"绑定的资产信息与星瀚实物卡片数量不一致,生成调拨单失败";
|
|
|
- }
|
|
|
- jsonObject.put("nckd_card_real_code", code);
|
|
|
- }
|
|
|
- }
|
|
|
- }else {
|
|
|
-
|
|
|
- return "单据"+billno+"绑定的资产信息组织不相同,生成调拨单失败";
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description 下推生成资产调拨单
|
|
|
- * @param jsonObject,map
|
|
|
- */
|
|
|
- private void Push(JSONObject jsonObject, HashMap<String , Long> map) {
|
|
|
- String dispatchType = jsonObject.getString("dispatchType");
|
|
|
- String direction = jsonObject.getString("direction");
|
|
|
-
|
|
|
- if ("0".equals(dispatchType)) {
|
|
|
- DynamicObject dispatch = BusinessDataServiceHelper.newDynamicObject("fa_dispatch");
|
|
|
- String nckd_card_real_code = jsonObject.getString("nckd_card_real_code");
|
|
|
-
|
|
|
-
|
|
|
- dispatch.set("dispatchdate", jsonObject.getDate("sendDate"));
|
|
|
- dispatch.set("assetunit", map.get("outOrgId"));
|
|
|
- dispatch.set("inassetunit", map.get("orgId"));
|
|
|
- dispatch.set("org", map.get("outOrgId"));
|
|
|
- dispatch.set("inorg", map.get("orgId"));
|
|
|
- dispatch.set("reason", jsonObject.getString("reason"));
|
|
|
- dispatch.set("dispatchtype", "A");
|
|
|
- dispatch.set("changemode", 14);
|
|
|
- dispatch.set("currency", 1);
|
|
|
- dispatch.set("currencyrate", 1);
|
|
|
-
|
|
|
- dispatch.set("createtime", jsonObject.getDate("sendDate"));
|
|
|
- dispatch.set("modifytime", jsonObject.getDate("sendDate"));
|
|
|
- dispatch.set("auditdate", jsonObject.getDate("sendDate"));
|
|
|
- dispatch.set("billstatus", "A");
|
|
|
-
|
|
|
- if("0".equals(direction)){
|
|
|
- dispatch.set("outuser", map.get("sendUser"));
|
|
|
- dispatch.set("inuser", map.get("recieveUser"));
|
|
|
- dispatch.set("creator", map.get("sendUser"));
|
|
|
- dispatch.set("modifier", map.get("sendUser"));
|
|
|
- dispatch.set("auditor", map.get("sendUser"));
|
|
|
- dispatch.set("appliant", map.get("sendUser"));
|
|
|
- }
|
|
|
- else if ("1".equals(direction)) {
|
|
|
- dispatch.set("outuser", map.get("recieveUser"));
|
|
|
- dispatch.set("inuser", map.get("sendUser"));
|
|
|
- dispatch.set("creator", map.get("recieveUser"));
|
|
|
- dispatch.set("modifier", map.get("recieveUser"));
|
|
|
- dispatch.set("auditor", map.get("recieveUser"));
|
|
|
- dispatch.set("appliant", map.get("recieveUser"));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- QFilter cardFilter = new QFilter("number", QCP.equals,nckd_card_real_code);
|
|
|
- cardFilter.and("isbak", QCP.equals, "0");
|
|
|
- DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_real","id",new QFilter[] {cardFilter});
|
|
|
- for (int c = 0; c < card.length; c++) {
|
|
|
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
|
|
|
-
|
|
|
- DynamicObjectCollection entryEntity = dispatch.getDynamicObjectCollection("dispatchentry");
|
|
|
- DynamicObject entry1 = entryEntity.addNew();
|
|
|
- entry1.set("realcard", cardInfo);
|
|
|
- entry1.set("measurement", cardInfo.getDynamicObject("unit").getLong("id"));
|
|
|
- entry1.set("dispatchqty", cardInfo.getInt("assetamount"));
|
|
|
- entry1.set("inusedept", map.get("inDeptId"));
|
|
|
- }
|
|
|
-
|
|
|
- OperationResult saveResult = SaveServiceHelper.saveOperate("fa_dispatch", new DynamicObject[]{dispatch}, OperateOption.create());
|
|
|
- if (saveResult.isSuccess()){
|
|
|
-
|
|
|
- OncePush(jsonObject.getString("billno"));
|
|
|
- OperationResult submitResult = OperationServiceHelper.executeOperate("submit", "fa_dispatch",saveResult.getSuccessPkIds().toArray(),OperateOption.create());
|
|
|
- OperationResult auditResult = OperationServiceHelper.executeOperate("audit", "fa_dispatch",submitResult.getSuccessPkIds().toArray(),OperateOption.create());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- else if ("1".equals(dispatchType)) {
|
|
|
- DynamicObject changeDept = BusinessDataServiceHelper.newDynamicObject("fa_change_dept");
|
|
|
- String nckd_card_real_code = jsonObject.getString("nckd_card_real_code");
|
|
|
-
|
|
|
- DynamicObject orgInfo = queryOrg(map.get("orgId"));
|
|
|
-
|
|
|
- changeDept.set("org", orgInfo);
|
|
|
- changeDept.set("changedate", jsonObject.getDate("sendDate"));
|
|
|
- changeDept.set("remark", jsonObject.getString("reason"));
|
|
|
- changeDept.set("sourcetype", 2);
|
|
|
- changeDept.set("changetype", queryChangeType(Long.parseLong("733953285719123968")));
|
|
|
- changeDept.set("chtypedetail", "1");
|
|
|
- changeDept.set("voucherflag", "A");
|
|
|
-
|
|
|
- changeDept.set("createtime", jsonObject.getDate("sendDate"));
|
|
|
- changeDept.set("modifytime", jsonObject.getDate("sendDate"));
|
|
|
- changeDept.set("auditdate", jsonObject.getDate("sendDate"));
|
|
|
- changeDept.set("billstatus", "A");
|
|
|
-
|
|
|
- if("0".equals(direction)){
|
|
|
- changeDept.set("creator", getUser(jsonObject.getString("sendUser")));
|
|
|
- changeDept.set("modifier", getUser(jsonObject.getString("sendUser")));
|
|
|
- changeDept.set("auditor", getUser(jsonObject.getString("sendUser")));
|
|
|
- changeDept.set("appliantid", getUser(jsonObject.getString("sendUser")));
|
|
|
- }
|
|
|
- else if ("1".equals(direction)) {
|
|
|
- changeDept.set("creator", getUser(jsonObject.getString("recieveUser")));
|
|
|
- changeDept.set("modifier", getUser(jsonObject.getString("recieveUser")));
|
|
|
- changeDept.set("auditor", getUser(jsonObject.getString("recieveUser")));
|
|
|
- changeDept.set("appliantid", getUser(jsonObject.getString("recieveUser")));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- QFilter cardFilter = new QFilter("number", QCP.equals,nckd_card_real_code);
|
|
|
- cardFilter.and("isbak", QCP.equals, "0");
|
|
|
- DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_real","id",new QFilter[] {cardFilter});
|
|
|
- for (int c = 0; c < card.length; c++) {
|
|
|
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
|
|
|
-
|
|
|
- DynamicObject fin = queryFinCard(cardInfo.getLong("id"));
|
|
|
-
|
|
|
- DynamicObjectCollection fieldentry = changeDept.getDynamicObjectCollection("fieldentry");
|
|
|
- if (!map.get("inDeptId").equals(cardInfo.getDynamicObject("headusedept").getLong("id"))){
|
|
|
- DynamicObject entry1 = fieldentry.addNew();
|
|
|
- entry1.set("realcard1", cardInfo);
|
|
|
- entry1.set("depreuse1", queryDepreuse(Long.parseLong("418714318096331776")));
|
|
|
- entry1.set("currency1", 1);
|
|
|
- entry1.set("basecurrency1", 1);
|
|
|
- entry1.set("assetnumber",cardInfo.getString("number"));
|
|
|
- entry1.set("bizdate1", jsonObject.getDate("sendDate"));
|
|
|
- entry1.set("field", "fa_card_real.headusedept");
|
|
|
- entry1.set("beforevalue", String.valueOf(cardInfo.getDynamicObject("headusedept").getLong("id")));
|
|
|
- entry1.set("aftervalue", map.get("inDeptId").toString());
|
|
|
- entry1.set("realcardmasterid", cardInfo);
|
|
|
- entry1.set("fincard1", fin);
|
|
|
- }
|
|
|
- if (ObjectUtils.isEmpty(cardInfo.getDynamicObject("headuseperson")) ||
|
|
|
- ObjectUtils.isNotEmpty(cardInfo.getDynamicObject("headuseperson")) && !map.get("user").equals(cardInfo.getDynamicObject("headuseperson").getLong("id"))) {
|
|
|
- String beforevalue = cardInfo.getDynamicObject("headuseperson") == null ? "" : String.valueOf(cardInfo.getDynamicObject("headuseperson").getLong("id"));
|
|
|
- DynamicObject entry2 = fieldentry.addNew();
|
|
|
- entry2.set("realcard1", cardInfo);
|
|
|
- entry2.set("depreuse1", queryDepreuse(Long.parseLong("418714318096331776")));
|
|
|
- entry2.set("currency1", 1);
|
|
|
- entry2.set("basecurrency1", 1);
|
|
|
- entry2.set("assetnumber",cardInfo.getString("number"));
|
|
|
- entry2.set("bizdate1", jsonObject.getDate("sendDate"));
|
|
|
- entry2.set("field", "fa_card_real.headuseperson");
|
|
|
- entry2.set("beforevalue", beforevalue);
|
|
|
- entry2.set("aftervalue", map.get("user").toString());
|
|
|
- entry2.set("realcardmasterid", cardInfo);
|
|
|
- entry2.set("fincard1", fin);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- DynamicObjectCollection realentry = changeDept.getDynamicObjectCollection("realentry");
|
|
|
- DynamicObject realentry1 = realentry.addNew();
|
|
|
- realentry1.set("realcard", cardInfo.getLong("id"));
|
|
|
-
|
|
|
-
|
|
|
- DynamicObjectCollection finentry = realentry1.getDynamicObjectCollection("finentry");
|
|
|
- DynamicObject finentry1 = finentry.addNew();
|
|
|
- finentry1.set("depreuse", queryDepreuse(Long.parseLong("418714318096331776")));
|
|
|
- finentry1.set("fincard", fin);
|
|
|
- finentry1.set("bizdate", jsonObject.getDate("sendDate"));
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- OperationResult saveResult = SaveServiceHelper.saveOperate("fa_change_dept", new DynamicObject[]{changeDept}, OperateOption.create());
|
|
|
- if (saveResult.isSuccess()) {
|
|
|
-
|
|
|
- OncePush(jsonObject.getString("billno"));
|
|
|
- OperationResult submitResult = OperationServiceHelper.executeOperate("submit", "fa_change_dept",saveResult.getSuccessPkIds().toArray(),OperateOption.create());
|
|
|
- OperationResult auditResult = OperationServiceHelper.executeOperate("audit", "fa_change_dept",submitResult.getSuccessPkIds().toArray(),OperateOption.create());
|
|
|
- }
|
|
|
- }
|
|
|
- else if ("2".equals(dispatchType)) {
|
|
|
- DynamicObject busProcess = BusinessDataServiceHelper.newDynamicObject("nckd_ywcld");
|
|
|
- String nckd_card_real_code = jsonObject.getString("nckd_card_real_code");
|
|
|
-
|
|
|
- DynamicObject orgInfo = queryOrg(map.get("orgId"));
|
|
|
- busProcess.set("nckd_bizdate", jsonObject.getDate("sendDate"));
|
|
|
- busProcess.set("nckd_detailtype", "D");
|
|
|
- busProcess.set("nckd_costcompany", map.get("orgId"));
|
|
|
- busProcess.set("nckd_textfield1", jsonObject.getString("reason"));
|
|
|
- busProcess.set("nckd_applierv", getUser(jsonObject.getString("sendUser")));
|
|
|
-
|
|
|
-
|
|
|
- busProcess.set("creator", getUser(jsonObject.getString("sendUser")));
|
|
|
- busProcess.set("createtime", jsonObject.getDate("sendDate"));
|
|
|
- busProcess.set("modifier", getUser(jsonObject.getString("sendUser")));
|
|
|
- busProcess.set("modifytime", jsonObject.getDate("sendDate"));
|
|
|
- busProcess.set("auditor", getUser(jsonObject.getString("sendUser")));
|
|
|
- busProcess.set("auditdate", jsonObject.getDate("sendDate"));
|
|
|
- busProcess.set("billstatus", "A");
|
|
|
-
|
|
|
-
|
|
|
- QFilter cardFilter = new QFilter("number", QCP.equals,nckd_card_real_code);
|
|
|
- cardFilter.and("isbak", QCP.equals, "0");
|
|
|
- DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_real","id",new QFilter[] {cardFilter});
|
|
|
- for (int c = 0; c < card.length; c++) {
|
|
|
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
|
|
|
-
|
|
|
- DynamicObjectCollection entryEntity = busProcess.getDynamicObjectCollection("nckd_entryentity6");
|
|
|
- DynamicObject entry1 = entryEntity.addNew();
|
|
|
- entry1.set("nckd_basedatafield", cardInfo);
|
|
|
- Integer count = Integer.valueOf(jsonObject.getJSONArray("asset").getJSONObject(0).getString("count"));
|
|
|
- entry1.set("nckd_integerfield", count);
|
|
|
- }
|
|
|
-
|
|
|
- OperationResult saveResult = SaveServiceHelper.saveOperate("nckd_ywcld", new DynamicObject[]{busProcess}, OperateOption.create());
|
|
|
- if (saveResult.isSuccess()){
|
|
|
-
|
|
|
- OncePush(jsonObject.getString("billno"));
|
|
|
- OperationResult submitResult = OperationServiceHelper.executeOperate("submit", "nckd_ywcld",saveResult.getSuccessPkIds().toArray(),OperateOption.create());
|
|
|
- OperationResult auditResult = OperationServiceHelper.executeOperate("audit", "nckd_ywcld",submitResult.getSuccessPkIds().toArray(),OperateOption.create());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description 查询组织对照表获取组织id
|
|
|
- * @param eOrgId
|
|
|
- * @return Long
|
|
|
- */
|
|
|
- private Long getOrg(String eOrgId) {
|
|
|
- QFilter orgFilter = new QFilter("nckd_e_org", QCP.equals,eOrgId);
|
|
|
- DynamicObject[] orgControl = BusinessDataServiceHelper.load("nckd_base_org_ext","id",new QFilter[] {orgFilter});
|
|
|
- if (orgControl.length > 0) {
|
|
|
- DynamicObject orgControlInfo = BusinessDataServiceHelper.loadSingle(orgControl[0].getPkValue(), orgControl[0].getDynamicObjectType().getName());
|
|
|
- String number = orgControlInfo.getString("nckd_org_number");
|
|
|
- QFilter filter = new QFilter("number", QCP.equals,number);
|
|
|
- DynamicObject[] org = BusinessDataServiceHelper.load("bos_org","id",new QFilter[] {filter});
|
|
|
- if (org.length > 0) {
|
|
|
- DynamicObject orgInfo = BusinessDataServiceHelper.loadSingle(org[0].getPkValue(), org[0].getDynamicObjectType().getName());
|
|
|
- return orgInfo.getLong("id");
|
|
|
+ minInfo.set("nckd_count", asset.getString("count"));
|
|
|
}
|
|
|
}
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description 查询用户表获取用户
|
|
|
- * @param eUser
|
|
|
- * @return Long
|
|
|
- */
|
|
|
- private DynamicObject getUser(String eUser) {
|
|
|
- QFilter filter = new QFilter("number", QCP.in, eUser);
|
|
|
- DynamicObject[] user = BusinessDataServiceHelper.load("bos_user","id",new QFilter[] {filter});
|
|
|
- if (user.length > 0) {
|
|
|
- DynamicObject userInfo = BusinessDataServiceHelper.loadSingle(user[0].getPkValue(), user[0].getDynamicObjectType().getName());
|
|
|
- return userInfo;
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- * @description e管家数据转换为星瀚数据
|
|
|
- * @param jsonObject,map
|
|
|
- * @return String
|
|
|
- */
|
|
|
- private String Control(JSONObject jsonObject, HashMap<String , Long> map) {
|
|
|
- String dispatchType = jsonObject.getString("dispatchType");
|
|
|
- if ("0".equals(dispatchType)) {
|
|
|
-
|
|
|
- DynamicObject sendUser = getUser(jsonObject.getString("sendUser"));
|
|
|
- DynamicObject recieveUser = getUser(jsonObject.getString("recieveUser"));
|
|
|
- if (ObjectUtils.isEmpty(sendUser) || ObjectUtils.isEmpty(recieveUser)) {
|
|
|
- return "人员信息转换失败";
|
|
|
- }
|
|
|
- map.put("sendUser", sendUser.getLong("id"));
|
|
|
- map.put("recieveUser", recieveUser.getLong("id"));
|
|
|
-
|
|
|
- Long outOrgId = getOrg(jsonObject.getString("outOrgId"));
|
|
|
- Long orgId = getOrg(jsonObject.getString("orgId"));
|
|
|
- Long inDeptId = getOrg(jsonObject.getString("inDeptId"));
|
|
|
- if (ObjectUtils.isEmpty(outOrgId) || ObjectUtils.isEmpty(orgId) || ObjectUtils.isEmpty(inDeptId)) {
|
|
|
- return "组织信息转换失败";
|
|
|
- }
|
|
|
- map.put("outOrgId", outOrgId);
|
|
|
- map.put("orgId", orgId);
|
|
|
- map.put("inDeptId", inDeptId);
|
|
|
- return null;
|
|
|
- } else if ("1".equals(dispatchType)) {
|
|
|
-
|
|
|
- DynamicObject sendUser = getUser(jsonObject.getString("sendUser"));
|
|
|
- DynamicObject recieveUser = getUser(jsonObject.getString("recieveUser"));
|
|
|
- DynamicObject user = getUser(jsonObject.getString("user"));
|
|
|
- if (ObjectUtils.isEmpty(sendUser) || ObjectUtils.isEmpty(recieveUser) || ObjectUtils.isEmpty(user)) {
|
|
|
- return "人员信息转换失败";
|
|
|
- }
|
|
|
- map.put("sendUser", sendUser.getLong("id"));
|
|
|
- map.put("recieveUser", recieveUser.getLong("id"));
|
|
|
- map.put("user", user.getLong("id"));
|
|
|
-
|
|
|
- Long orgId = getOrg(jsonObject.getString("orgId"));
|
|
|
- Long inDeptId = getOrg(jsonObject.getString("inDeptId"));
|
|
|
- if (ObjectUtils.isEmpty(orgId) || ObjectUtils.isEmpty(inDeptId)) {
|
|
|
- return "组织信息转换失败";
|
|
|
- }
|
|
|
- map.put("orgId", orgId);
|
|
|
- map.put("inDeptId", inDeptId);
|
|
|
- return null;
|
|
|
- }else if ("2".equals(dispatchType)) {
|
|
|
-
|
|
|
- DynamicObject sendUser = getUser(jsonObject.getString("sendUser"));
|
|
|
- if (ObjectUtils.isEmpty(sendUser)) {
|
|
|
- return "人员信息转换失败";
|
|
|
- }
|
|
|
- map.put("sendUser", sendUser.getLong("id"));
|
|
|
-
|
|
|
- Long orgId = getOrg(jsonObject.getString("orgId"));
|
|
|
- if (ObjectUtils.isEmpty(orgId)) {
|
|
|
- return "组织信息转换失败";
|
|
|
- }
|
|
|
- map.put("orgId", orgId);
|
|
|
- return null;
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- * @description 生单后反写中间表,防止反复生单
|
|
|
- * @param billno
|
|
|
- * @return String
|
|
|
- */
|
|
|
- private void OncePush(String billno) {
|
|
|
- QFilter filter = new QFilter("number", QCP.equals, billno);
|
|
|
- DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_dispatch_mid","id",new QFilter[] {filter});
|
|
|
- DynamicObject midDispatch = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName());
|
|
|
- midDispatch.set("nckd_flag", "1");
|
|
|
- SaveServiceHelper.save(new DynamicObject[]{midDispatch});
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description 判断是否已经下推生成调拨单
|
|
|
- * @param billno
|
|
|
- * @return boolean
|
|
|
- */
|
|
|
- private boolean isAlreadyDispatched(String billno) {
|
|
|
- QFilter flagFilter = new QFilter("number", QCP.equals, billno);
|
|
|
- DynamicObject[] mid = BusinessDataServiceHelper.load("nckd_e_dispatch_mid", "id", new QFilter[]{flagFilter});
|
|
|
- if (mid.length > 0) {
|
|
|
- DynamicObject midDispatch = BusinessDataServiceHelper.loadSingle(mid[0].getPkValue(), mid[0].getDynamicObjectType().getName());
|
|
|
- String flag = midDispatch.getString("nckd_flag");
|
|
|
- return "1".equals(flag);
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description 拼接错误信息
|
|
|
- * @param resultString,errorChange,errorCode
|
|
|
- */
|
|
|
- private void appendErrorMessages(StringBuilder resultString, String errorChange, String errorCode) {
|
|
|
- if (!StringUtils.isEmpty(errorChange)) {
|
|
|
- resultString.append(errorChange).append("\n");
|
|
|
- }
|
|
|
- if (!StringUtils.isEmpty(errorCode)) {
|
|
|
- resultString.append(errorCode).append("\n");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description 查询财务卡片
|
|
|
- * @param realCardId
|
|
|
- */
|
|
|
- private DynamicObject queryFinCard(Long realCardId) {
|
|
|
- QFilter cardFilter = new QFilter("realcardmasterid", QCP.equals,realCardId);
|
|
|
- DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_fin","id",new QFilter[] {cardFilter});
|
|
|
- for (int c = 0; c < card.length; c++) {
|
|
|
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(card[c].getPkValue(), card[c].getDynamicObjectType().getName());
|
|
|
- return cardInfo;
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description 查询组织
|
|
|
- * @param orgId
|
|
|
- */
|
|
|
- private DynamicObject queryOrg(Long orgId) {
|
|
|
- QFilter orgQFilter= new QFilter("id", QCP.equals,orgId);
|
|
|
- DynamicObject[] org = BusinessDataServiceHelper.load("bos_org","id",new QFilter[] {orgQFilter});
|
|
|
- for (int c = 0; c < org.length; c++) {
|
|
|
- DynamicObject orgInfo = BusinessDataServiceHelper.loadSingle(org[c].getPkValue(), org[c].getDynamicObjectType().getName());
|
|
|
- return orgInfo;
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description 查询变更类型
|
|
|
- * @param id
|
|
|
- */
|
|
|
- private DynamicObject queryChangeType(Long id) {
|
|
|
- QFilter orgQFilter= new QFilter("id", QCP.equals,id);
|
|
|
- DynamicObject[] changeType = BusinessDataServiceHelper.load("fa_change_type","id",new QFilter[] {orgQFilter});
|
|
|
- for (int c = 0; c < changeType.length; c++) {
|
|
|
- DynamicObject changeInfo = BusinessDataServiceHelper.loadSingle(changeType[c].getPkValue(), changeType[c].getDynamicObjectType().getName());
|
|
|
- return changeInfo;
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * @description 查询折旧用途
|
|
|
- * @param id
|
|
|
- */
|
|
|
- private DynamicObject queryDepreuse(Long id) {
|
|
|
- QFilter orgQFilter= new QFilter("id", QCP.equals,id);
|
|
|
- DynamicObject[] depreuse = BusinessDataServiceHelper.load("fa_depreuse","id",new QFilter[] {orgQFilter});
|
|
|
- for (int c = 0; c < depreuse.length; c++) {
|
|
|
- DynamicObject depreuseInfo = BusinessDataServiceHelper.loadSingle(depreuse[c].getPkValue(), depreuse[c].getDynamicObjectType().getName());
|
|
|
- return depreuseInfo;
|
|
|
- }
|
|
|
- return null;
|
|
|
+ minInfo.set("nckd_card_number", cardNumber);
|
|
|
+ SaveServiceHelper.save(new DynamicObject[]{minInfo});
|
|
|
}
|
|
|
}
|