|
@@ -53,7 +53,7 @@ public class DispatchMidController implements Serializable {
|
|
|
String errorCode = Check(eobject, map);
|
|
|
//第三步:下推生成调拨单
|
|
|
if (StringUtils.isEmpty(errorCode) && StringUtils.isEmpty(errorChange)) {
|
|
|
- //下推生成资产调拨单
|
|
|
+ //下推生成单
|
|
|
Push(eobject, map);
|
|
|
}
|
|
|
// 错误拼接
|
|
@@ -103,6 +103,9 @@ public class DispatchMidController implements Serializable {
|
|
|
String number = asset.getString("number");
|
|
|
String orgId = asset.getString("orgId");
|
|
|
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});
|
|
@@ -116,11 +119,12 @@ public class DispatchMidController implements Serializable {
|
|
|
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 + "已经生成调拨单,请勿重复推送!";
|
|
|
-// }
|
|
|
+ if (isAlreadyDispatched(billno)) {
|
|
|
+ return "单据" + billno + "已经生成调拨单,请勿重复推送!";
|
|
|
+ }
|
|
|
// 获取资产编号数组
|
|
|
JSONArray assetArray = jsonObject.getJSONArray("asset");
|
|
|
if (assetArray.isEmpty()) {
|
|
@@ -151,16 +155,31 @@ public class DispatchMidController implements Serializable {
|
|
|
if (StringUtils.isEmpty(code)) {
|
|
|
//星瀚未生成实物卡片,更新实物卡片清单数据-查询组织对照表
|
|
|
Long orgId = getOrg(e_orgId);
|
|
|
- if (ObjectUtils.isNotEmpty(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 {
|
|
|
+ }
|
|
|
+ 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 "资产信息的组织在组织对照表中未查询到数据,生成调拨单失败";
|
|
|
}
|
|
|
}else {
|
|
@@ -191,7 +210,7 @@ public class DispatchMidController implements Serializable {
|
|
|
if ("0".equals(dispatchType)) {
|
|
|
DynamicObject dispatch = BusinessDataServiceHelper.newDynamicObject("fa_dispatch");
|
|
|
String nckd_card_real_code = jsonObject.getString("nckd_card_real_code");
|
|
|
- nckd_card_real_code = "A00100101900240600005";
|
|
|
+// nckd_card_real_code = "A00100101900240600005";
|
|
|
|
|
|
//单据头
|
|
|
dispatch.set("outuser", map.get("sendUser"));//调出申请人
|
|
@@ -244,7 +263,7 @@ public class DispatchMidController implements Serializable {
|
|
|
else if ("1".equals(dispatchType)) {
|
|
|
DynamicObject changeDept = BusinessDataServiceHelper.newDynamicObject("fa_change_dept");
|
|
|
String nckd_card_real_code = jsonObject.getString("nckd_card_real_code");
|
|
|
- nckd_card_real_code = "A00100101900240600007";
|
|
|
+// nckd_card_real_code = "A00100101900240600007";
|
|
|
DynamicObject orgInfo = queryOrg(map.get("orgId"));
|
|
|
//单据头
|
|
|
changeDept.set("org", orgInfo);//核算组织
|
|
@@ -289,7 +308,7 @@ public class DispatchMidController implements Serializable {
|
|
|
entry1.set("fincard1", fin);//财务卡片
|
|
|
}
|
|
|
if (ObjectUtils.isEmpty(cardInfo.getDynamicObject("headuseperson")) ||
|
|
|
- ObjectUtils.isNotEmpty(cardInfo.getDynamicObject("headuseperson")) && map.get("user").equals(cardInfo.getDynamicObject("headuseperson").getLong("id"))) {
|
|
|
+ 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);//资产编码
|
|
@@ -326,6 +345,48 @@ public class DispatchMidController implements Serializable {
|
|
|
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");
|
|
|
+// nckd_card_real_code = "A00100101900240700007";
|
|
|
+ DynamicObject orgInfo = queryOrg(map.get("orgId"));
|
|
|
+ busProcess.set("nckd_bizdate", jsonObject.getDate("sendDate"));//业务日期
|
|
|
+ busProcess.set("nckd_detailtype", "D");//业务类型 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());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -344,6 +405,9 @@ public class DispatchMidController implements Serializable {
|
|
|
return orgId;
|
|
|
}//组织对照表查询不到,查询组织表
|
|
|
else {
|
|
|
+ if (StringUtils.isEmpty(eOrgId)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
QFilter filter = new QFilter("id", QCP.equals,Long.parseLong(eOrgId));
|
|
|
DynamicObject[] org = BusinessDataServiceHelper.load("bos_org","id",new QFilter[] {filter});
|
|
|
if (org.length > 0) {
|
|
@@ -375,28 +439,63 @@ public class DispatchMidController implements Serializable {
|
|
|
* @param jsonObject,map
|
|
|
* @return String
|
|
|
*/
|
|
|
- private String Control (JSONObject jsonObject, HashMap<String , Long> map) {
|
|
|
- //查询人员
|
|
|
- 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 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 "组织信息转换失败";
|
|
|
+ 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;
|
|
|
}
|
|
|
- map.put("outOrgId", outOrgId);
|
|
|
- map.put("orgId", orgId);
|
|
|
- map.put("inDeptId", inDeptId);
|
|
|
return null;
|
|
|
}
|
|
|
|