Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
4cd06af9c2
@ -36,6 +36,8 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import static com.yem.em.utils.SubRelationUtils.Getatlasno;
|
||||
|
||||
/**
|
||||
* @author zhouc
|
||||
* @date 2023/11/25 15:26
|
||||
@ -236,6 +238,13 @@ public class AssAtlasdetFromEdit extends AbstractBillPlugIn implements UploadLis
|
||||
args.cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ("test_getatlasno".equals(key)) {
|
||||
IDataModel model = this.getModel();
|
||||
String number = (String)model.getValue("number");
|
||||
int atlasno = Getatlasno(number);
|
||||
getView().showMessage(String.valueOf(atlasno));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -51,7 +51,7 @@ public class BomChangeTaskEdit extends AbstractTask {
|
||||
QFilter qFilter = new QFilter("number", QCP.equals, "110");
|
||||
DynamicObject bos_org = BusinessDataServiceHelper.loadSingle("bos_org", "id", qFilter.toArray());
|
||||
String Queryfield = AtlasUtils.Queryfield("changebill_code", "pcode", "ccode", "qty", "break_flag", "complete_time",
|
||||
"disable_time", "state", "complete_time", "complete_user", "MATER_NAME", "CMATER_NAME", "COMPLETE_TIME");
|
||||
"disable_time", "state", "complete_time", "complete_user", "MATER_NAME", "CMATER_NAME", "COMPLETE_TIME", "enable_time");
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
|
||||
// 昨天
|
||||
@ -71,8 +71,8 @@ public class BomChangeTaskEdit extends AbstractTask {
|
||||
calendar.set(Calendar.MILLISECOND, 999);
|
||||
String end = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
|
||||
|
||||
// start = "2024-12-04 00:00:00";
|
||||
// end = "2024-12-10 23:59:59";
|
||||
// start = "2024-12-25 00:00:00";
|
||||
// end = "2024-12-25 23:59:59";
|
||||
|
||||
for (String key : productmap.keySet()) {
|
||||
String value = productmap.get(key);
|
||||
|
@ -2,6 +2,7 @@ package com.yem.em.task;
|
||||
|
||||
import com.yem.em.utils.AtlasUtils;
|
||||
import com.yem.wm.utils.AttachmentUtil;
|
||||
import com.yem.wm.utils.DynamicObjectUtil;
|
||||
import com.yem.wm.utils.YEM;
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
@ -22,6 +23,7 @@ import java.util.*;
|
||||
|
||||
import static com.yem.em.task.MatchingPLMChangeUpdateTaskEdit.*;
|
||||
import static com.yem.em.utils.AtlasUtils.seelctDyn;
|
||||
import static com.yem.rf.utils.RFUtils.getBaseQFilter;
|
||||
|
||||
/**
|
||||
* @Description: 1、如《PLM变更单》分录【替换关系】=【相互替换】【新替换旧】【互不替换】,分录【启用停用状态】=‘停用’,并且【替换件启用停用状态】=‘启用’,更新当前行【执行状态】为【完成】、【完成时间】默认当前时间,并生成替换关系,记录替换关系id以及行id
|
||||
@ -120,25 +122,41 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
||||
Map<Long, DynamicObject> successMap = new HashMap<>();
|
||||
DynamicObject bomChange = createBOMChange(plmObj, enabled);
|
||||
DynamicObjectCollection entry = bomChange.getDynamicObjectCollection("yem_entryentity");
|
||||
if (!entry.isEmpty()) {
|
||||
DynamicObject replace = null;
|
||||
String billno = plmObj.getString("billno");
|
||||
String gybg_no = plmObj.getString("yem_gybg_no");
|
||||
if (entry.size() == 1) {
|
||||
logger.info("生成替换关系:PLM单号:{}, PLM工艺变更单号:{},父项编码:{}", billno, gybg_no, enabled.get(0).getString("yem_textfield"));
|
||||
logger.info("生成_当前替换关系:{}", entry.get(0).getString("yem_replace"));
|
||||
replace = AtlasUtils.Addreplace(bomChange, entry.get(0), null, "yem_em_replace", "add", "PLM");
|
||||
successMap.put(entry.get(0).getLong("id"), bomChange);
|
||||
}
|
||||
for (DynamicObject entryObject : entry) {
|
||||
int idx = entry.indexOf(entryObject);
|
||||
if (idx == 0) continue;
|
||||
logger.info("更新替换关系:PLM单号:{}, PLM工艺变更单号:{},父项编码:{}", billno, gybg_no, entryObject.getString("yem_textfield"));
|
||||
logger.info("更新_替换关系:{}", entryObject.getString("yem_replace"));
|
||||
replace = AtlasUtils.Addreplace(bomChange, entry.get(0), replace, "yem_em_replace", "update", "PLM");
|
||||
successMap.put(entryObject.getLong("id"), bomChange);
|
||||
}
|
||||
|
||||
for (DynamicObject entryObject : entry) {
|
||||
useExistReplace(bomChange, entryObject, successMap);
|
||||
}
|
||||
// if (!entry.isEmpty()) {
|
||||
// DynamicObject replace = null;
|
||||
// String billno = plmObj.getString("billno");
|
||||
// String gybg_no = plmObj.getString("yem_gybg_no");
|
||||
// if (entry.size() == 1) {
|
||||
// logger.info("生成替换关系:PLM单号:{}, PLM工艺变更单号:{},父项编码:{}", billno, gybg_no, entry.get(0).getString("yem_parentno"));
|
||||
// logger.info("生成_当前替换关系:{}", entry.get(0).getString("yem_replace"));
|
||||
// replace = AtlasUtils.Addreplace(bomChange, entry.get(0), null, "yem_em_replace", "add", "PLM");
|
||||
// successMap.put(entry.get(0).getLong("id"), bomChange);
|
||||
// } else {
|
||||
// for (DynamicObject entryObject : entry) {
|
||||
// int idx = entry.indexOf(entryObject);
|
||||
// if (idx == 0) {
|
||||
// QFilter qFilter = new QFilter("status", "=", "C");
|
||||
// qFilter.and("number", "=", entryObject.getString("yem_parentno"));
|
||||
// DynamicObject[] load = BusinessDataServiceHelper.load("yem_em_replace", selectfields, qFilter.toArray());
|
||||
// if (load.length == 1) {
|
||||
// replace = load[0];
|
||||
// replace = AtlasUtils.Addreplace(bomChange, entry.get(0), replace, "yem_em_replace", "update", "PLM");
|
||||
// } else {
|
||||
// replace = AtlasUtils.Addreplace(bomChange, entry.get(0), null, "yem_em_replace", "add", "PLM");
|
||||
// }
|
||||
// continue;
|
||||
// };
|
||||
// logger.info("更新替换关系:PLM单号:{}, PLM工艺变更单号:{},父项编码:{}", billno, gybg_no, entryObject.getString("yem_parentno"));
|
||||
// logger.info("更新_替换关系:{}", entryObject.getString("yem_replace"));
|
||||
// replace = AtlasUtils.Addreplace(bomChange, entry.get(0), replace, "yem_em_replace", "update", "PLM");
|
||||
// successMap.put(entryObject.getLong("id"), bomChange);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
List<Long> list = new ArrayList<>();
|
||||
for (Map.Entry<Long, DynamicObject> mapEntry : successMap.entrySet()) {
|
||||
Long bomChangeEntryId = mapEntry.getKey();
|
||||
@ -172,6 +190,31 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
||||
syncImage(plmObj, list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询已存在的替换关系
|
||||
*
|
||||
* @param bomChange
|
||||
* @param bomChangeEntry
|
||||
* @param successMap
|
||||
* @return
|
||||
*/
|
||||
private void useExistReplace(DynamicObject bomChange, DynamicObject bomChangeEntry, Map<Long, DynamicObject> successMap) {
|
||||
QFilter qFilter = new QFilter("status", "=", "C");
|
||||
qFilter.and("number", "=", bomChangeEntry.getString("yem_parentno"));
|
||||
DynamicObject[] load = BusinessDataServiceHelper.load("yem_em_replace", "id, billno", qFilter.toArray());
|
||||
if (load.length > 0) {
|
||||
DynamicObject replace = load[0];
|
||||
replace = BusinessDataServiceHelper.loadSingle(replace.getPkValue(), replace.getDataEntityType().getName());
|
||||
logger.info("使用已有替换关系:{}", replace.getString("number"));
|
||||
AtlasUtils.Addreplace(bomChange, bomChangeEntry, replace, "yem_em_replace", "update", "PLM");
|
||||
successMap.put(bomChangeEntry.getLong("id"), bomChange);
|
||||
} else {
|
||||
logger.info("创建新的替换关系:{}", bomChangeEntry.getString("yem_parentno"));
|
||||
AtlasUtils.Addreplace(bomChange, bomChangeEntry, null, "yem_em_replace", "add", "PLM");
|
||||
successMap.put(bomChangeEntry.getLong("id"), bomChange);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据PLM创建BOM,用于生成替换关系
|
||||
*
|
||||
@ -318,6 +361,7 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
||||
* 查询匹配的 总成图册明细
|
||||
* PLM:变更后父项编码 - 总成图册明细.编码
|
||||
* PLM:变更后子项编码 - 替换关系:ABC 替换编码,E(删除):不匹配,D(新增)替换前编码
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private DynamicObject queryMatchAssemblyAtlasDetails(DynamicObject plmObj, DynamicObject d) {
|
||||
@ -360,6 +404,10 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
||||
detailPartNo = d.getString("yem_textfield");
|
||||
}
|
||||
|
||||
if (!"B".equals(d.get("yem_invokstatus"))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (partno.lastIndexOf("-") != -1) {
|
||||
partno = partno.substring(0, partno.lastIndexOf("-")).trim();
|
||||
}
|
||||
|
@ -15,7 +15,9 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@ -53,87 +55,47 @@ public class MatchingPLMChangeUpdateTaskEdit extends AbstractTask {
|
||||
Date bom_completetime = bom.getDate("yem_completetime");
|
||||
String exestate = bom.getString("yem_exestate");
|
||||
Date invoktime = plm.getDate("yem_invoktime");//执行时间
|
||||
String invokstatus = plm.getString("yem_invokstatus");//执行状态
|
||||
if (YEM.isNotEmpty(invoktime) && "B".equals(invokstatus)) {
|
||||
//已完成跳过
|
||||
continue;
|
||||
}
|
||||
Boolean plmMatchBom = isPlmMatchBom(plmObj, bom, plm);
|
||||
exestate = "30".equals(exestate) ? "B" : "A";
|
||||
if (plmMatchBom != null && !plmMatchBom) {
|
||||
// Date stoptime = plm.getDate("yem_stoptime");
|
||||
Date downdate = bom.getDate("yem_downdate");
|
||||
if (YEM.isNotEmpty(downdate)) {
|
||||
plm.set("yem_enablestatus_before", bom_enablesta);
|
||||
plm.set("yem_stoptime", downdate);
|
||||
// plm.set("yem_invoktime", bom_completetime);
|
||||
// plm.set("yem_invokstatus", exestate);
|
||||
} else {
|
||||
logger.info("停用_无时间,不更新,{},{}", plm_billno, plm_parent);
|
||||
}
|
||||
}
|
||||
|
||||
if (plmMatchBom != null && plmMatchBom) {
|
||||
// Date starttime = plm.getDate("yem_starttime");
|
||||
Date enableddate = bom.getDate("yem_enableddate");
|
||||
if (YEM.isNotEmpty(enableddate)) {
|
||||
plm.set("yem_enablesta", bom_enablesta);
|
||||
plm.set("yem_starttime", enableddate);
|
||||
// plm.set("yem_invoktime", bom_completetime);
|
||||
// plm.set("yem_invokstatus", exestate);
|
||||
|
||||
if (YEM.isNotEmpty(bom_completetime)) {
|
||||
plm.set("yem_invoktime", bom_completetime);
|
||||
plm.set("yem_invokstatus", exestate);
|
||||
}
|
||||
} else {
|
||||
logger.info("启用_无时间,不更新,{},{}", plm_billno, plm_parent);
|
||||
}
|
||||
}
|
||||
|
||||
if (plmMatchBom != null && YEM.isNotEmpty(bom_completetime)) {
|
||||
plm.set("yem_invoktime", bom_completetime);
|
||||
plm.set("yem_invokstatus", exestate);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
// for (DynamicObject plmObj : plms) {
|
||||
// DynamicObjectCollection plm_entry = plmObj.getDynamicObjectCollection("yem_change_detail");
|
||||
// String plm_billno = plmObj.getString("yem_gybg_no");//PLM工艺变更单号
|
||||
// for (DynamicObject plm : plm_entry) {
|
||||
// String plm_parent = plm.getString("yem_textfield");//总成编码
|
||||
// for (DynamicObject bomObj : boms) {
|
||||
// DynamicObjectCollection bom_entry = bomObj.getDynamicObjectCollection("yem_entryentity");
|
||||
// for (DynamicObject bom : bom_entry) {
|
||||
// String bom_enablesta = bom.getString("yem_enablesta");//启用停用状态
|
||||
// Date bom_completetime = bom.getDate("yem_completetime");
|
||||
// Boolean plmMatchBom = isPlmMatchBom(plmObj, bom, plm);
|
||||
// if (plmMatchBom != null && !plmMatchBom) {
|
||||
// Date stoptime = plm.getDate("yem_stoptime");
|
||||
// if (YEM.isEmpty(stoptime)) {
|
||||
// plm.set("yem_enablestatus_before", bom_enablesta);
|
||||
// Date downdate = bom.getDate("yem_downdate");
|
||||
// plm.set("yem_stoptime", downdate);
|
||||
// plm.set("yem_completetime", bom_completetime);
|
||||
// } else {
|
||||
// logger.info("停用_已有时间,不更新,{},{}", plm_billno, plm_parent);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (plmMatchBom != null && plmMatchBom) {
|
||||
// Date starttime = plm.getDate("yem_starttime");
|
||||
// if (YEM.isEmpty(starttime)) {
|
||||
// Date enableddate = bom.getDate("yem_enableddate");
|
||||
// plm.set("yem_enablesta", bom_enablesta);
|
||||
// plm.set("yem_starttime", enableddate);
|
||||
// plm.set("yem_completetime", bom_completetime);
|
||||
// } else {
|
||||
// logger.info("启用_已有时间,不更新,{},{}", plm_billno, plm_parent);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
SaveServiceHelper.save(plms);
|
||||
}
|
||||
|
||||
/**
|
||||
* PLM匹配BOM,
|
||||
*
|
||||
* @param plmObj
|
||||
* @param bom
|
||||
* @param plm
|
||||
@ -151,20 +113,20 @@ public class MatchingPLMChangeUpdateTaskEdit extends AbstractTask {
|
||||
// BigDecimal plm_qty = plm.getBigDecimal("yem_qty_before");//子件数量
|
||||
String plm_after_parent_now = plm.getString("yem_parent_now");//父项编码
|
||||
String plm_after_child_now = plm.getString("yem_child_now");//子项编码
|
||||
BigDecimal plm_after_qty = plm.getBigDecimal("yem_qty_new");
|
||||
// BigDecimal plm_after_qty = plm.getBigDecimal("yem_qty_new");
|
||||
|
||||
String bom_before_parent_no = bom.getString("yem_parentno");//总成编码
|
||||
String bom_before_child_no = bom.getString("yem_subno");//数量
|
||||
BigDecimal bom_before_qty = bom.getBigDecimal("yem_qty");
|
||||
logger.info("停用_compare: {} {}, {} {}, {} {}, {} {}", plm_billno, bom_billno, plm_parent, bom_parent, plm_child, bom_child, bom_child, bom_enablesta);
|
||||
String bom_before_child_no = bom.getString("yem_subno");//子件编码
|
||||
// BigDecimal bom_before_qty = bom.getBigDecimal("yem_qty");
|
||||
// logger.info("停用_compare: {} {}, {} {}, {} {}, {} {}", plm_billno, bom_billno, plm_parent, bom_parent, plm_child, bom_child, bom_child, bom_enablesta);
|
||||
if (eq(plm_billno, bom_billno) && eq(plm_parent, bom_parent) && eq(plm_child, bom_child) && "B".equals(bom_enablesta)) {
|
||||
logger.info("停用_PLM匹配到BOM,{} {}, {} {}, {} {}", plm_billno, bom_billno, plm_parent, bom_parent, plm_child, bom_child);
|
||||
return false;
|
||||
}
|
||||
|
||||
logger.info("启用_compare:{} {}, {} {}, {} {}, {} {}, {}", plm_billno, bom_billno,plm_after_parent_now, bom_before_parent_no, plm_after_child_now, bom_before_child_no, plm_after_qty, bom_before_qty, bom_enablesta);
|
||||
if (eq(plm_billno, bom_billno) && eq(plm_after_parent_now, bom_before_parent_no) && eq(plm_after_child_now, bom_before_child_no) && eq(plm_after_qty, bom_before_qty) && "A".equals(bom_enablesta)) {
|
||||
logger.info("启用_PLM匹配到BOM,{} {}, {} {}, {} {}, {} {}", plm_billno, bom_billno,plm_after_parent_now, bom_before_parent_no, plm_after_child_now, bom_before_child_no, plm_after_qty, bom_before_qty);
|
||||
// logger.info("启用_compare:{} {}, {} {}, {} {}, {} {}, {}", plm_billno, bom_billno,plm_after_parent_now, bom_before_parent_no, plm_after_child_now, bom_before_child_no, plm_after_qty, bom_before_qty, bom_enablesta);
|
||||
if (eq(plm_billno, bom_billno) && eq(plm_after_parent_now, bom_before_parent_no) && eq(plm_after_child_now, bom_before_child_no) && "A".equals(bom_enablesta)) {
|
||||
logger.info("启用_PLM匹配到BOM,{} {}, {} {}, {} {}", plm_billno, bom_billno, plm_after_parent_now, bom_before_parent_no, plm_after_child_now, bom_before_child_no);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -923,10 +923,20 @@ public class AtlasUtils {
|
||||
DynamicObject yem_em_bomchange = BusinessDataServiceHelper.loadSingle("yem_em_bomchange", "id", qFilter1.toArray());
|
||||
if (yem_em_bomchange != null) {
|
||||
DynamicObject bomchange = BusinessDataServiceHelper.loadSingle(yem_em_bomchange.getLong("id"), "yem_em_bomchange");
|
||||
if (bomchange != null) {
|
||||
DynamicObjectCollection yem_entryentity = bomchange.getDynamicObjectCollection("yem_entryentity");
|
||||
if (yem_entryentity.size() == 0) {
|
||||
DynamicObject dynamicObject = yem_entryentity.addNew();
|
||||
DynamicObjectCollection yem_entryentity = bomchange.getDynamicObjectCollection("yem_entryentity");
|
||||
String code = map.get("pcode").toString() + "_" + map.get("ccode").toString() + "_" + map.get("break_flag").toString();
|
||||
boolean exist = false;
|
||||
for (DynamicObject dynamicObject : yem_entryentity) {
|
||||
String break_flag = "";
|
||||
if ("A".equals(dynamicObject.getString("yem_enablesta"))) {
|
||||
break_flag = "启用";
|
||||
}
|
||||
if ("B".equals(dynamicObject.getString("yem_enablesta"))) {
|
||||
break_flag = "停用";
|
||||
}
|
||||
String key = dynamicObject.getString("yem_parentno") + "_" + dynamicObject.getString("yem_subno") + "_" + break_flag;
|
||||
if (code.equals(key)) {
|
||||
exist = true;
|
||||
dynamicObject.set("yem_changeno", changebill_code);//更改单号
|
||||
dynamicObject.set("yem_parentno", map.get("pcode"));//父件编码
|
||||
dynamicObject.set("yem_parentname", map.get("mater_name"));//父件名称
|
||||
@ -956,54 +966,45 @@ public class AtlasUtils {
|
||||
}
|
||||
|
||||
dynamicObject.set("yem_completetime", map.get("complete_time"));
|
||||
} else {
|
||||
Boolean fag = true;
|
||||
String code = map.get("pcode").toString() + "_" + map.get("ccode").toString();
|
||||
for (int j = 0; j < yem_entryentity.size(); j++) {
|
||||
DynamicObject dynamicObject = yem_entryentity.get(j);
|
||||
String key = dynamicObject.getString("yem_parentno") + "_" + dynamicObject.getString("yem_subno");
|
||||
if (key.equals(code)) {
|
||||
fag = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (fag) {
|
||||
DynamicObject dynamicObject = yem_entryentity.addNew();
|
||||
dynamicObject.set("yem_changeno", changebill_code);//更改单号
|
||||
dynamicObject.set("yem_parentno", map.get("pcode"));//父件编码
|
||||
dynamicObject.set("yem_parentname", map.get("mater_name"));//父件名称
|
||||
dynamicObject.set("yem_subno", map.get("ccode"));//父件编码
|
||||
dynamicObject.set("yem_subname", map.get("cmater_name"));//子件名称
|
||||
dynamicObject.set("yem_qty", map.get("qty"));//数量
|
||||
if (map.get("break_flag").toString().equals("启用")) {
|
||||
dynamicObject.set("yem_enablesta", "A");//启用停用状态
|
||||
}
|
||||
if (map.get("break_flag").toString().equals("停用")) {
|
||||
dynamicObject.set("yem_enablesta", "B");//启用停用状态
|
||||
}
|
||||
dynamicObject.set("yem_enableparno", map.get("pcode"));//替换父件名称
|
||||
dynamicObject.set("yem_enableparname", map.get("mater_name"));//替换父件名称
|
||||
dynamicObject.set("yem_enableddate", map.get("enable_time"));//启用时间
|
||||
dynamicObject.set("yem_downdate", map.get("disable_time"));//停用时间
|
||||
dynamicObject.set("yem_exestate", map.get("state"));//执行状态
|
||||
DynamicObject assatlasdet = seelctDyn("yem_em_assatlasdet", "number", map.get("pcode").toString());
|
||||
if (assatlasdet != null) {
|
||||
//是否总成 yem_isass
|
||||
dynamicObject.set("yem_isass", true);
|
||||
}
|
||||
DynamicObject basemodelib = seelctDyn("yem_bd_basemodelib", "number", map.get("pcode").toString());
|
||||
if (basemodelib != null) {
|
||||
//是否资源 yem_isass
|
||||
dynamicObject.set("yem_isresource", true);
|
||||
}
|
||||
dynamicObject.set("yem_completetime", map.get("complete_time"));
|
||||
}
|
||||
}
|
||||
}
|
||||
OperationResult Operate = OperationServiceHelper.executeOperate("save",
|
||||
bomchange.getDynamicObjectType().getName(), new DynamicObject[]{bomchange}, OperateOption.create());
|
||||
if (Operate.isSuccess()) {
|
||||
|
||||
if (!exist) {
|
||||
DynamicObject dynamicObject = yem_entryentity.addNew();
|
||||
dynamicObject.set("yem_changeno", changebill_code);//更改单号
|
||||
dynamicObject.set("yem_parentno", map.get("pcode"));//父件编码
|
||||
dynamicObject.set("yem_parentname", map.get("mater_name"));//父件名称
|
||||
dynamicObject.set("yem_subno", map.get("ccode"));//父件编码
|
||||
dynamicObject.set("yem_subname", map.get("cmater_name"));//子件名称
|
||||
dynamicObject.set("yem_qty", map.get("qty"));//数量
|
||||
if (map.get("break_flag").toString().equals("启用")) {
|
||||
dynamicObject.set("yem_enablesta", "A");//启用停用状态
|
||||
}
|
||||
if (map.get("break_flag").toString().equals("停用")) {
|
||||
dynamicObject.set("yem_enablesta", "B");//启用停用状态
|
||||
}
|
||||
dynamicObject.set("yem_enableparno", map.get("pcode"));//替换父件名称
|
||||
dynamicObject.set("yem_enableparname", map.get("mater_name"));//替换父件名称
|
||||
dynamicObject.set("yem_enableddate", map.get("enable_time"));//启用时间
|
||||
dynamicObject.set("yem_downdate", map.get("disable_time"));//停用时间
|
||||
dynamicObject.set("yem_exestate", map.get("state"));//执行状态
|
||||
DynamicObject assatlasdet = seelctDyn("yem_em_assatlasdet", "number", map.get("pcode").toString());
|
||||
if (assatlasdet != null) {
|
||||
//是否总成 yem_isass
|
||||
dynamicObject.set("yem_isass", true);
|
||||
}
|
||||
DynamicObject basemodelib = seelctDyn("yem_bd_basemodelib", "number", map.get("pcode").toString());
|
||||
if (basemodelib != null) {
|
||||
//是否资源 yem_isass
|
||||
dynamicObject.set("yem_isresource", true);
|
||||
}
|
||||
|
||||
dynamicObject.set("yem_completetime", map.get("complete_time"));
|
||||
}
|
||||
OperationResult save = OperationServiceHelper.executeOperate("save",
|
||||
bomchange.getDynamicObjectType().getName(), new DynamicObject[]{bomchange}, OperateOption.create());
|
||||
if (!save.isSuccess()) {
|
||||
throw new KDBizException("保存失败!" + save.getMessage());
|
||||
}
|
||||
} else {
|
||||
DynamicObject cmmptable = BusinessDataServiceHelper.newDynamicObject("yem_em_bomchange");
|
||||
|
@ -13,10 +13,7 @@ import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
@ -109,7 +106,7 @@ public class SubRelationUtils {
|
||||
qFilter.and(new QFilter("yem_entryentity.yem_completetime", QCP.less_equals, new Date()));
|
||||
String selectfield = DynamicObjectUtil.getSelectfields("yem_em_replace", false);
|
||||
String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_em_replace", "yem_entryentity", false);
|
||||
object = QueryServiceHelper.query("yem_em_replace", selectfields, new QFilter[]{qFilter}, "yem_entryentity.yem_completetime DESC");
|
||||
object = QueryServiceHelper.query("yem_em_replace", "yem_entryentity.id," + selectfields, new QFilter[]{qFilter}, "yem_entryentity.yem_completetime DESC");
|
||||
if (object.size() > 0) {
|
||||
object = queryAssemblyreplevel(object, replacement, isComplete, yem_completetime);
|
||||
}
|
||||
@ -147,12 +144,22 @@ public class SubRelationUtils {
|
||||
String selectfield = DynamicObjectUtil.getSelectfields("yem_em_replace", false);
|
||||
String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_em_replace", "yem_entryentity", false);
|
||||
DynamicObjectCollection yem_em_replace = QueryServiceHelper.query("yem_em_replace",
|
||||
selectfields, new QFilter[]{qFilter}, "yem_entryentity.yem_completetime DESC");
|
||||
if (yem_em_replace.size() > 0) {
|
||||
for (int j = 0; j < yem_em_replace.size(); j++) {
|
||||
object.add(yem_em_replace.get(j));
|
||||
"yem_entryentity.id," + selectfields, new QFilter[]{qFilter}, "yem_entryentity.yem_completetime DESC");
|
||||
if (!yem_em_replace.isEmpty()) {
|
||||
int count = 0;
|
||||
Set<Long> ids = new HashSet<>();
|
||||
for (DynamicObject dynamicObject : object) {
|
||||
ids.add(dynamicObject.getLong("yem_entryentity.id"));
|
||||
}
|
||||
for (DynamicObject dynamicObject : yem_em_replace) {
|
||||
if (!ids.contains(dynamicObject.getLong("yem_entryentity.id"))) {
|
||||
object.add(dynamicObject);
|
||||
count++;
|
||||
}
|
||||
}
|
||||
if (count > 0) {
|
||||
queryAssemblyreplevel(yem_em_replace, replacement, isComplete, yem_completetime);
|
||||
}
|
||||
queryAssemblyreplevel(yem_em_replace, replacement, isComplete, yem_completetime);
|
||||
}
|
||||
}
|
||||
return object;
|
||||
@ -631,7 +638,7 @@ public class SubRelationUtils {
|
||||
QFilter qFilter = new QFilter("number", QCP.in, repno);
|
||||
DynamicObjectCollection data = QueryServiceHelper.query("yem_em_assatlasdet",
|
||||
"id,number,name,yem_entryentity.yem_atlasno", new QFilter[]{qFilter},
|
||||
"length(yem_entryentity.yem_atlasno),yem_entryentity.yem_atlasno DESC");
|
||||
"length(yem_entryentity.yem_atlasno) DESC,yem_entryentity.yem_atlasno DESC");
|
||||
if (data.size() > 0) {
|
||||
result = data.get(0).getInt("yem_entryentity.yem_atlasno");
|
||||
}
|
||||
|
@ -27,6 +27,7 @@ import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
@ -117,7 +118,9 @@ public class AssepcDynamic {
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
QFilter qFilter = new QFilter("createorg.number", QCP.equals, "110");
|
||||
qFilter.and("status", QCP.equals, "C");
|
||||
qFilter.and("yem_customer.number", QCP.equals, number);
|
||||
if (!StringUtils.containsIgnoreCase(number, "admin")) {
|
||||
qFilter.and("yem_customer.number", QCP.equals, number);
|
||||
}
|
||||
// qFilter.and("yem_billtype.number", QCP.equals, "yem_es_salesorder_ZJ");
|
||||
String selectfields = DynamicObjectUtil.getSelectfields("yem_em_devicefiles", false);
|
||||
DynamicObjectCollection dynamicObjects = QueryServiceHelper.query("yem_em_devicefiles", selectfields
|
||||
@ -182,9 +185,11 @@ public class AssepcDynamic {
|
||||
//查询零件明细表 根据零件编码过滤n
|
||||
qFilters.add(new QFilter("yem_model.yem_products.number", QCP.equals, number));
|
||||
if (YEM.isNotEmpty(custom)) {
|
||||
qFilters.add(new QFilter("yem_customer.number", QCP.equals, custom));
|
||||
if ((!StringUtils.containsIgnoreCase(custom, "admin"))) {
|
||||
qFilters.add(new QFilter("yem_customer.number", QCP.equals, custom));
|
||||
}
|
||||
} else {
|
||||
return CustomApiResult.fail("501", "客户编码必传");
|
||||
return CustomApiResult.fail("501", "客户编码为空!");
|
||||
}
|
||||
extracted(algoKey, qFilters, jsonArray);
|
||||
// fillMissInfo(algoKey, number, jsonArray);
|
||||
@ -444,8 +449,10 @@ public class AssepcDynamic {
|
||||
@ApiPostMapping("/assepcdynamic/electronic_group")
|
||||
public CustomApiResult<Object> queryElectronicGroup(@NotNull @ApiParam("客户.编码(116021200012)") String number) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
QFilter qFilter = new QFilter("yem_customer.number", QCP.equals, number);
|
||||
qFilter.and("status", QCP.equals, "C");
|
||||
QFilter qFilter = new QFilter("status", QCP.equals, "C");
|
||||
if (!StringUtils.containsIgnoreCase(number, "admin")) {
|
||||
qFilter.and(new QFilter("yem_customer.number", QCP.equals, number));
|
||||
}
|
||||
String selectfields = DynamicObjectUtil.getSelectfields("yem_em_devicefiles");
|
||||
DynamicObjectCollection load = ORM.create().query("yem_em_devicefiles", selectfields + ",id", qFilter.toArray());
|
||||
for (DynamicObject dynamicObject : load) {
|
||||
@ -664,7 +671,9 @@ public class AssepcDynamic {
|
||||
public CustomApiResult<Object> queryBayedResourceNo(@NotBlank @ApiParam(value = "客户编码", example = "116021200012") String customerNo) {
|
||||
String algoKey = this.getClass().getName();
|
||||
QFilter qFilter = new QFilter("status", "=", "C");
|
||||
qFilter.and("yem_customer.number", "=", customerNo);
|
||||
if (!StringUtils.containsIgnoreCase(customerNo, "admin")) {
|
||||
qFilter.and("yem_customer.number", "=", customerNo);
|
||||
}
|
||||
qFilter.and("yem_model", "is not null", null);
|
||||
ArrayList<String> list = Lists.newArrayList();
|
||||
list.add("yem_model");
|
||||
@ -796,7 +805,9 @@ public class AssepcDynamic {
|
||||
public CustomApiResult<Object> queryProductModel(@NotBlank @ApiParam(value = "客户编码", example = "116021200012") String customerNo) {
|
||||
String algoKey = this.getClass().getName();
|
||||
QFilter qFilter = new QFilter("status", "=", "C");
|
||||
qFilter.and("yem_customer.number", "=", customerNo);
|
||||
if (!StringUtils.containsIgnoreCase(customerNo, "admin")) {
|
||||
qFilter.and("yem_customer.number", "=", customerNo);
|
||||
}
|
||||
qFilter.and("group", "is not null", null);
|
||||
ArrayList<String> list = Lists.newArrayList();
|
||||
list.add("group.number number");
|
||||
|
@ -578,15 +578,22 @@ public class OrderApiUtils {
|
||||
JSONObject objects = (JSONObject) object;
|
||||
String salesorderno = objects.getString("salesorderno");
|
||||
Long objectsId = objects.getLong("id");
|
||||
DynamicObject mechanical = BusinessDataServiceHelper.loadSingle("yem_em_devicefiles"
|
||||
, "id,number,yem_ordeid,yem_issynorde"
|
||||
, new QFilter[]{new QFilter("yem_salesorderno", QCP.equals, salesorderno)});
|
||||
if (mechanical != null) {
|
||||
mechanical.set("yem_ordeid", objectsId);
|
||||
mechanical.set("yem_issynorde", true);
|
||||
SaveServiceHelper.update(mechanical);
|
||||
SaveServiceHelper.save(new DynamicObject[]{mechanical});
|
||||
Set<String> compNo = new HashSet<>();
|
||||
for (Map<String, Object> map : list) {
|
||||
if (map.containsKey("framenumber")) {
|
||||
compNo.add((String) map.get("framenumber"));
|
||||
}
|
||||
}
|
||||
DynamicObject[] mechanical = BusinessDataServiceHelper.load("yem_em_devicefiles"
|
||||
, "id,number,yem_ordeid,yem_issynorde"
|
||||
, new QFilter[]{new QFilter("yem_salesorderno", QCP.equals, salesorderno),
|
||||
new QFilter("number", QCP.in, compNo)
|
||||
});
|
||||
for (DynamicObject d : mechanical) {
|
||||
d.set("yem_ordeid", objectsId);
|
||||
d.set("yem_issynorde", true);
|
||||
}
|
||||
SaveServiceHelper.save(mechanical);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.yem.tws.task;
|
||||
|
||||
import com.yem.ensign.common.CommonUtils;
|
||||
import com.yem.wm.task.YunZhiJaGetOpenidTask;
|
||||
import com.yem.wm.utils.DynamicObjectUtil;
|
||||
import com.yem.wm.utils.YEM;
|
||||
@ -27,11 +26,8 @@ import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.schedule.executor.AbstractTask;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.bos.servicehelper.botp.BFTrackerServiceHelper;
|
||||
import kd.bos.servicehelper.botp.ConvertServiceHelper;
|
||||
import kd.bos.servicehelper.coderule.CodeRuleServiceHelper;
|
||||
import kd.bos.servicehelper.operation.DeleteServiceHelper;
|
||||
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
|
||||
|
@ -0,0 +1,58 @@
|
||||
package com.yem.wm.bc.bill.op;
|
||||
|
||||
import com.yem.wm.utils.YunzhijiaUtils;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.entity.operate.result.OperationResult;
|
||||
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||
import kd.bos.entity.plugin.PreparePropertysEventArgs;
|
||||
import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
|
||||
import kd.bos.exception.KDBizException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 合同提交云之家特殊处理,事务结束之后在进行同步操作
|
||||
* @Date: 2024/12/25 17:34
|
||||
* @Created: by ZZSLL
|
||||
*/
|
||||
|
||||
public class YemBillSubmitToYZJEndTransactionOp extends AbstractOperationServicePlugIn {
|
||||
|
||||
@Override
|
||||
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||
super.onPreparePropertys(e);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endOperationTransaction(EndOperationTransactionArgs e) {
|
||||
super.endOperationTransaction(e);
|
||||
DynamicObject[] entities = e.getDataEntities();
|
||||
List<DynamicObject> passDataEntity = new ArrayList<>();
|
||||
OperationResult result = this.operationResult;
|
||||
if (!result.isSuccess()) {
|
||||
return;
|
||||
}
|
||||
StringBuilder errMsg = new StringBuilder();
|
||||
for (DynamicObject entity : entities) {
|
||||
String billType = entity.getDataEntityType().getName();
|
||||
if (!"yem_es_salesorder".equals(billType)) {
|
||||
return;
|
||||
}
|
||||
|
||||
YunzhijiaUtils.submit2YZJ(result, passDataEntity, entity);
|
||||
|
||||
if (result.isSuccess()) {
|
||||
passDataEntity.add(entity);
|
||||
} else {
|
||||
String message = result.getMessage();
|
||||
errMsg.append(message).append("\n ");
|
||||
}
|
||||
}
|
||||
|
||||
if (errMsg.length() > 0) {
|
||||
throw new KDBizException("提交云之家失败!错误信息:" + errMsg);
|
||||
}
|
||||
}
|
||||
}
|
@ -29,7 +29,7 @@ public class YemBillSubmitToYZJOp extends AbstractOperationServicePlugIn {
|
||||
@Override
|
||||
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||
super.onPreparePropertys(e);
|
||||
e.getFieldKeys().add("billno");
|
||||
e.getFieldKeys().addAll(this.billEntityType.getAllFields().keySet());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -39,6 +39,12 @@ public class YemBillSubmitToYZJOp extends AbstractOperationServicePlugIn {
|
||||
List<DynamicObject> passDataEntitys = new ArrayList<>();
|
||||
for (DynamicObject dynamicObject : dataEntities1) {
|
||||
String name = dynamicObject.getDynamicObjectType().getName();
|
||||
if ("yem_es_salesorder".equals(name)) {
|
||||
// 合同提交云之家特殊处理。
|
||||
// 已经移动到插件 com.yem.wm.bc.bill.op.YemBillSubmitToYZJEndTransactionOp
|
||||
passDataEntitys.add(dynamicObject);
|
||||
continue;
|
||||
}
|
||||
dynamicObject = BusinessDataServiceHelper.loadSingle(dynamicObject.getPkValue(), name);
|
||||
|
||||
if ("yem_es_specialapplica".equals(name)) {
|
||||
|
@ -94,8 +94,11 @@ public class ExportInvoiceSaveOP extends AbstractOperationServicePlugIn {
|
||||
yemDestports.append(string);//目的港
|
||||
}
|
||||
}
|
||||
dataEntitie.set("yem_remark", yemTradeway + " 成交总额:" + yemSettlement + totalAmount.stripTrailingZeros() + " 汇率:" + yemExrate.stripTrailingZeros()
|
||||
+ "\r\n 海运费:"+ yemseatransfeecurr + yemSeatransfee.stripTrailingZeros() + " 保险费:" + yeminsurefeecurr + yemInsurefee.stripTrailingZeros()
|
||||
BigDecimal stripTrailingZeros = new BigDecimal(totalAmount.toPlainString().replaceAll("0*$", "").replaceAll("\\.$", ""));
|
||||
BigDecimal stripTrailingZeros1 = new BigDecimal(yemSeatransfee.toPlainString().replaceAll("0*$", "").replaceAll("\\.$", ""));
|
||||
BigDecimal stripTrailingZeros2 = new BigDecimal(yemInsurefee.toPlainString().replaceAll("0*$", "").replaceAll("\\.$", ""));
|
||||
dataEntitie.set("yem_remark", yemTradeway + " 成交总额:" + yemSettlement + stripTrailingZeros + " 汇率:" + yemExrate.stripTrailingZeros()
|
||||
+ "\r\n 海运费:"+ yemseatransfeecurr + stripTrailingZeros1 + " 保险费:" + yeminsurefeecurr + stripTrailingZeros2
|
||||
+ "\r\n 提单号:"+ yemLadbillnum + "\r\n 合同号:"+ queryString + "\r\n 起运港:" + yemShipports + "\r\n 目的港:" + yemDestports);
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.yem.wm.es.exportpresent.validator;
|
||||
|
||||
import com.yem.wm.utils.DynamicObjectUtil;
|
||||
import com.yem.wm.utils.YEM;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.ExtendedDataEntity;
|
||||
@ -11,6 +12,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -21,28 +23,27 @@ import java.util.List;
|
||||
public class ExportPresentSubmitsValidator extends AbstractValidator {
|
||||
|
||||
@Override
|
||||
public void validate()
|
||||
{
|
||||
public void validate() {
|
||||
ExtendedDataEntity[] dataEntities = this.getDataEntities();
|
||||
for (ExtendedDataEntity data : dataEntities) {
|
||||
DynamicObject dataEntity = data.getDataEntity();
|
||||
// 款项类型
|
||||
String paymenttype = dataEntity.getString("yem_paymenttype");
|
||||
if ("A".equals(paymenttype)) {
|
||||
arrearsVerification(dataEntity,data);
|
||||
arrearsVerification(dataEntity, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void arrearsVerification(DynamicObject dataEntity,ExtendedDataEntity data) {
|
||||
private void arrearsVerification(DynamicObject dataEntity, ExtendedDataEntity data) {
|
||||
DynamicObject yemCustomer = dataEntity.getDynamicObject("yem_customer");
|
||||
if (yemCustomer!=null){
|
||||
if (yemCustomer != null) {
|
||||
long aLong = yemCustomer.getLong("id");
|
||||
String selectfield = DynamicObjectUtil.getSelectfields("yem_es_storagetrans_xbs", false);
|
||||
String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_es_storagetrans_xbs", "yem_creditdetail", false);
|
||||
DynamicObject[] load = BusinessDataServiceHelper.load("yem_es_storagetrans_xbs", selectfields
|
||||
, new QFilter[]{new QFilter("yem_customer.id", QCP.equals, aLong)});
|
||||
if (load.length>0){
|
||||
if (load.length > 0) {
|
||||
List<String> list = new ArrayList<>();
|
||||
for (DynamicObject dynamicObject : load) {
|
||||
DynamicObjectCollection yemCreditdetail = dynamicObject.getDynamicObjectCollection("yem_creditdetail");
|
||||
@ -51,17 +52,18 @@ public class ExportPresentSubmitsValidator extends AbstractValidator {
|
||||
BigDecimal yemCountpayback = object.getBigDecimal("yem_countpayback");
|
||||
BigDecimal yemActualsinkamtCd = object.getBigDecimal("yem_actualsinkamt_cd");
|
||||
BigDecimal yemPaymentamt1Cd = object.getBigDecimal("yem_paymentamt1_cd");
|
||||
if (yemCountpayback.compareTo(BigDecimal.ZERO)<0&&yemActualsinkamtCd.compareTo(yemPaymentamt1Cd)<0){
|
||||
Date paydate1 = object.getDate("yem_paydate1");//应收款日期1
|
||||
if (YEM.isNotEmpty(paydate1) && paydate1.before(new Date()) && yemActualsinkamtCd.compareTo(yemPaymentamt1Cd) < 0) {
|
||||
DynamicObject yemSalecontractno = object.getDynamicObject("yem_salecontractno");
|
||||
if (yemSalecontractno!=null){
|
||||
String billno = yemSalecontractno.getString("billno");
|
||||
list.add("当前寄单放单客户存在历史合同:["+billno+"],订舱通知单:["+dynamicObjectString+"],逾期未收款,请确认!!!\n");
|
||||
if (yemSalecontractno != null) {
|
||||
String billno = yemSalecontractno.getString("billno");
|
||||
list.add("当前寄单放单客户存在历史合同:[" + billno + "],订舱通知单:[" + dynamicObjectString + "],逾期未收款,请确认!!!\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (list.size()>0){
|
||||
if (list.size() > 0) {
|
||||
this.addMessage(data, list.toString());
|
||||
}
|
||||
}
|
||||
|
@ -136,6 +136,8 @@ public class SaleOrderCreditFromEdit extends AbstractBillPlugIn implements Befor
|
||||
products = "CC";
|
||||
} else if (number.contains("TLJ")) {
|
||||
products = "TLJ";
|
||||
}else if (number.contains("WJJ")){
|
||||
products = "WJJ";
|
||||
}
|
||||
}
|
||||
|
||||
@ -318,6 +320,8 @@ public class SaleOrderCreditFromEdit extends AbstractBillPlugIn implements Befor
|
||||
products = "CC";
|
||||
} else if (number.contains("TLJ")) {
|
||||
products = "TLJ";
|
||||
}else if (number.contains("WJJ")){
|
||||
products = "WJJ";
|
||||
}
|
||||
}
|
||||
QFilter qFilter2 = new QFilter("billstatus", QCP.equals, "C");//
|
||||
|
@ -467,6 +467,67 @@ public class SalesOrderEdit extends AbstractBillPlugIn implements Plugin, Before
|
||||
// model.setValue("yem_departure", yemShipportsename, row);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 客户需求单、外销合同的价格条款为FCA时,贸易术语=价格条款+目的港.工厂
|
||||
*
|
||||
* @param model
|
||||
* @param view
|
||||
*/
|
||||
public static void genTradeTermsDestports(IDataModel model, IFormView view) {
|
||||
DynamicObject priceitem = (DynamicObject) model.getValue("yem_priceitem");
|
||||
String priceitemString = "";
|
||||
if (priceitem != null) {
|
||||
priceitemString = priceitem.getString("name");
|
||||
}
|
||||
if ("FCA".equals(priceitemString)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("FCA ");
|
||||
DynamicObjectCollection destports = (DynamicObjectCollection) model.getValue("yem_shipports");
|
||||
for (DynamicObject destport : destports) {
|
||||
DynamicObject port = destport.getDynamicObject("fbasedataid");
|
||||
if (port == null) continue;
|
||||
port = BusinessDataServiceHelper.loadSingle(port.getPkValue(), port.getDataEntityType().getName(), "yem_namecn");
|
||||
if (!port.getString("yem_namecn").isEmpty()) {
|
||||
sb.append(port.getString("yem_namecn")).append(";");
|
||||
}
|
||||
}
|
||||
if (sb.lastIndexOf(";") == sb.length() - 1) {
|
||||
sb.deleteCharAt(sb.length() - 1);
|
||||
}
|
||||
model.setValue("yem_tradeterms", sb.toString());
|
||||
}
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 客户需求单、外销合同的价格条款为FCA时,贸易术语=价格条款+目的港.工厂
|
||||
// *
|
||||
// * @param model
|
||||
// * @param view
|
||||
// */
|
||||
// public static void genTradeTermsShipports(IDataModel model, IFormView view) {
|
||||
// DynamicObject priceitem = (DynamicObject) model.getValue("yem_priceitem");
|
||||
// String priceitemString = "";
|
||||
// if (priceitem != null) {
|
||||
// priceitemString = priceitem.getString("name");
|
||||
// }
|
||||
// if ("EXW".equals(priceitemString)) {
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// sb.append("EXW ");
|
||||
// DynamicObjectCollection shipports = (DynamicObjectCollection) model.getValue("yem_destports");
|
||||
// for (DynamicObject shipport : shipports) {
|
||||
// DynamicObject port = shipport.getDynamicObject("fbasedataid");
|
||||
// if (port == null) continue;
|
||||
// port = BusinessDataServiceHelper.loadSingle(port.getPkValue(), port.getDataEntityType().getName(), "yem_factory");
|
||||
// if (!port.getString("yem_factory").isEmpty()) {
|
||||
// sb.append(port.getString("yem_factory")).append(";");
|
||||
// }
|
||||
// }
|
||||
// if (sb.lastIndexOf(";") == sb.length() - 1) {
|
||||
// sb.deleteCharAt(sb.length() - 1);
|
||||
// }
|
||||
// model.setValue("yem_tradeterms", sb.toString());
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* 方数携带
|
||||
|
@ -21,9 +21,6 @@ import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.bos.servicehelper.basedata.BaseDataServiceHelper;
|
||||
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
import kd.fi.gl.accountref.handler.SaveBalDataHandler;
|
||||
import kd.fi.gl.balcal.carriedintoleaf.SaveBalanceHandler;
|
||||
import kd.hr.hies.common.enu.Operate;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
@ -99,6 +96,8 @@ public class SaleOrdeAddGenerateOp extends AbstractOperationServicePlugIn {
|
||||
products = "CC";
|
||||
} else if (number.contains("TLJ")) {
|
||||
products = "TLJ";
|
||||
}else if (number.contains("WJJ")){
|
||||
products = "WJJ";
|
||||
}
|
||||
}
|
||||
debcrednote.set("yem_bd_products", seelctDyn("yem_bd_productsgroup", "number", products));
|
||||
|
@ -416,11 +416,25 @@ public class SalesOrderUtils {
|
||||
materielId.add(materiel.getLong("id"));
|
||||
}
|
||||
}
|
||||
String yemBdProductsid = "";
|
||||
DynamicObject yemBdProducts = dataEntitie.getDynamicObject("yem_bd_products");
|
||||
if (yemBdProducts != null) {
|
||||
yemBdProductsid = yemBdProducts.getString("number");
|
||||
}
|
||||
if ("CC".equals(yemBdProducts.getString("number"))) {//叉车
|
||||
yemBdProductsid = "CCPJ";
|
||||
} else if ("ZZJ".equals(yemBdProducts.getString("number"))) {//装载机
|
||||
yemBdProductsid = "ZZJPJ";
|
||||
} else if ("TLJ".equals(yemBdProducts.getString("number"))) {//拖拉机
|
||||
yemBdProductsid = "TLJPJ";
|
||||
}
|
||||
String selectFields = DynamicObjectUtil.getSelectfields("yem_pricelibrary", false);
|
||||
selectFields = DynamicObjectUtil.getEntrySelectfields(selectFields, "yem_pricelibrary", "yem_accessory", false);
|
||||
DynamicObject[] accPriceLibrarys = BusinessDataServiceHelper.load("yem_pricelibrary", selectFields,
|
||||
new QFilter[]{new QFilter("yem_accessory.yem_material", QCP.in, materielId),
|
||||
new QFilter("billstatus", QCP.equals, "C")});
|
||||
new QFilter[]{new QFilter("yem_accessory.yem_material", QCP.in, materielId)
|
||||
, new QFilter("billstatus", QCP.equals, "C")
|
||||
, new QFilter("yem_productclass.number", QCP.equals, yemBdProductsid)
|
||||
,new QFilter("yem_cancelstatus", QCP.equals, "0")});
|
||||
for (DynamicObject accPriceLibrary : accPriceLibrarys) {
|
||||
Map<Long, Map<String, Object>> allMap = new HashMap<>();
|
||||
Date bizDate = accPriceLibrary.getDate("yem_bizdate");
|
||||
@ -1234,7 +1248,7 @@ public class SalesOrderUtils {
|
||||
qty = qty.add(dynamicObject.getBigDecimal("yem_qty"));
|
||||
}
|
||||
if (singlepartgiftmat.compareTo(BigDecimal.ZERO) == 0) {
|
||||
singlepartgiftmat = yemSinglepartgiftmat ;
|
||||
singlepartgiftmat = yemSinglepartgiftmat;
|
||||
}
|
||||
}
|
||||
BigDecimal amount = qty.multiply(singlepartgiftmat);
|
||||
|
@ -109,7 +109,8 @@ public class ShippingDetialToStoraConvert extends AbstractConvertPlugIn
|
||||
BigDecimal yemRaprate = dynamicObject.getBigDecimal("yem_raprate");
|
||||
addNew.set("yem_exchangereceipts", yemRaprate);
|
||||
//订舱投保金额(原币种)
|
||||
addNew.set("yem_bookinginsured",storageAmount.multiply(yemRaprate).divide(new BigDecimal(100) ,2));
|
||||
BigDecimal bigDecimal = storageAmount.multiply(yemRaprate).divide(new BigDecimal(100), 2);
|
||||
addNew.set("yem_bookinginsured", bigDecimal);
|
||||
// 预收金额
|
||||
addNew.set("yem_preamt_cd", raprate.multiply(storageAmount).divide(new BigDecimal(100), 4, RoundingMode.HALF_UP));
|
||||
// 合同认领金额
|
||||
@ -123,11 +124,12 @@ public class ShippingDetialToStoraConvert extends AbstractConvertPlugIn
|
||||
// 信保本位币金额
|
||||
addNew.set("yem_creditamtbase", storageAmount.multiply(exrate));
|
||||
//应收款金额1(本位币)
|
||||
addNew.set("yem_paymentamt1_cd", bigDecimal);
|
||||
addNew.set("yem_paymentamt1_cdbase", storageAmount.multiply(exrate));
|
||||
|
||||
if ("USD".equals(currency)) {
|
||||
// 投保金额(美元)
|
||||
addNew.set("yem_usacreditamt_cd", storageAmount);
|
||||
addNew.set("yem_usacreditamt_cd", bigDecimal);
|
||||
|
||||
} else {
|
||||
storageAmount = BigDecimal.ZERO;
|
||||
@ -144,7 +146,7 @@ public class ShippingDetialToStoraConvert extends AbstractConvertPlugIn
|
||||
BigDecimal sinosurerate = (BigDecimal) dynamicObject.get("yem_sinosurerate");
|
||||
addNew.set("yem_sinosurerate_cd", sinosurerate);
|
||||
// yem_insuranceamt_cd = yem_usacreditamt_cd * yem_sinosurerate_cd / 100
|
||||
BigDecimal insuranceamt = storageAmount.multiply(sinosurerate).divide(new BigDecimal("100"), 10, RoundingMode.HALF_UP);
|
||||
BigDecimal insuranceamt = bigDecimal.multiply(sinosurerate).divide(new BigDecimal("100"), 10, RoundingMode.HALF_UP);
|
||||
// 保险费
|
||||
addNew.set("yem_insuranceamt_cd", insuranceamt);
|
||||
// 信用期限
|
||||
@ -152,6 +154,7 @@ public class ShippingDetialToStoraConvert extends AbstractConvertPlugIn
|
||||
|
||||
// 保险费本位币金额
|
||||
addNew.set("yem_insuranceamtbas_cd", insuranceamt.multiply(exrate));
|
||||
addNew.set("yem_amountowed", bigDecimal);
|
||||
// //SWIFT CODE
|
||||
// addNew.set("yem_swiftcode", dynamicObject.get("yem_swiftcode"));
|
||||
}
|
||||
|
@ -56,6 +56,9 @@ public class XSalesOrderFromEdit extends AbstractBillPlugIn {
|
||||
if ("yem_es_materialinfo".equals(name)) {
|
||||
setMaterialType(rowIndex);
|
||||
}
|
||||
if ("yem_multiconfig".equals(name)){
|
||||
this.getModel().setValue("yem_linetypes","add",rowIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -12,8 +12,6 @@ import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
@ -48,12 +46,28 @@ public class ClientUtils {
|
||||
int rowInfo = 0;
|
||||
// boolean flag = false;
|
||||
for (DynamicObject temp : detailedinfor) {
|
||||
String yem_linetype = "";
|
||||
|
||||
if (Entityname.equals("yem_es_xsalesorder")) {
|
||||
String yem_linetype = temp.getString("yem_linetype");
|
||||
yem_linetype = temp.getString("yem_linetype");
|
||||
if (!yem_linetype.equals("add")) {
|
||||
rowInfo++;
|
||||
continue;
|
||||
boolean tor = true;
|
||||
DynamicObjectCollection yemMulticonfig = temp.getDynamicObjectCollection("yem_multiconfig");
|
||||
if (!yemMulticonfig.isEmpty()) {
|
||||
for (DynamicObject dynamicObject : yemMulticonfig) {
|
||||
String yemLinetypes = dynamicObject.getString("yem_linetypes");
|
||||
if ("add".equals(yemLinetypes)) {
|
||||
tor = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tor) {
|
||||
rowInfo++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
yem_linetype = "add";
|
||||
}
|
||||
//多功能配置分录行获取
|
||||
DynamicObjectCollection multiconfig = null;
|
||||
@ -106,7 +120,8 @@ public class ClientUtils {
|
||||
//客户需求单整机 -整机分录行
|
||||
// if (("yem_im_clientdeman_zj".equals(yem_billtype) || "yem_im_inclientdeman_zj".equals(yem_billtype) || ("yem_es_salesorder_ZJ".equals(yem_billtype)) || "yem_es_salesorder_nmzj".equals(yem_billtype)) && "Z".equals(businesssort)) {
|
||||
if (("yem_im_clientdeman_zj".equals(yem_billtype) || "yem_im_inclientdeman_zj".equals(yem_billtype) || ("yem_es_salesorder_ZJ".equals(yem_billtype))
|
||||
|| "yem_es_salesorder_nmzj".equals(yem_billtype) || "yem_es_xsalesorder_zj".equals(yem_billtype) | "yem_es_xsalesorder_nmzj".equals(yem_billtype)) && "Z".equals(businesssort)) {
|
||||
|| "yem_es_salesorder_nmzj".equals(yem_billtype) || "yem_es_xsalesorder_zj".equals(yem_billtype)
|
||||
|| "yem_es_xsalesorder_nmzj".equals(yem_billtype)) && "Z".equals(businesssort)) {
|
||||
list.add(new QFilter("yem_bd_products.id", QCP.equals, products));
|
||||
list.add(new QFilter("billstatus", QCP.equals, "C"));
|
||||
list.add(new QFilter("yem_billtype.number", QCP.equals, "yem_pricelibrary_ZJ"));
|
||||
@ -114,11 +129,7 @@ public class ClientUtils {
|
||||
// list.add(new QFilter("yem_productclass.number",QCP.equals,yemBdProductsid));
|
||||
//读取价格库数据
|
||||
DynamicObject yem_pricelibrary = null;
|
||||
if (multiconfig != null && !multiconfig.isEmpty()) {
|
||||
yem_pricelibrary = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", list.toArray(new QFilter[0]));
|
||||
} else {
|
||||
yem_pricelibrary = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", list.toArray(new QFilter[0]));
|
||||
}
|
||||
yem_pricelibrary = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", list.toArray(new QFilter[0]));
|
||||
if (yem_pricelibrary != null) {
|
||||
//多功能配置分录行无数据 则跳过查询价格库
|
||||
if (multiconfig != null && !multiconfig.isEmpty()) {
|
||||
@ -149,7 +160,23 @@ public class ClientUtils {
|
||||
}
|
||||
}
|
||||
}
|
||||
setPriceNow(multiconfig, dataMap, rowInfo, models);
|
||||
if ("yem_es_xsalesorder".equals(models.getDataEntityType().getName())) {
|
||||
int multiconfigIndex = 0;
|
||||
if (!multiconfig.isEmpty()) {
|
||||
for (DynamicObject dc : multiconfig) {
|
||||
if ("add".equals(dc.getString("yem_linetypes"))) {
|
||||
long configentryid = dc.getLong("yem_configentryid");
|
||||
BigDecimal configentry = dataMap.get(configentryid) == null ? BigDecimal.ZERO : dataMap.get(configentryid).setScale(2);
|
||||
models.setValue("yem_marketraisepribase", configentry, multiconfigIndex, rowInfo);
|
||||
multiconfigIndex++;
|
||||
} else {
|
||||
multiconfigIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
setPriceNow(multiconfig, dataMap, rowInfo, models);
|
||||
}
|
||||
}
|
||||
DynamicObjectCollection yem_basicmodel = yem_pricelibrary.getDynamicObjectCollection("yem_basicmodel");
|
||||
if (yem_basicmodel != null && !yem_basicmodel.isEmpty()) {
|
||||
@ -176,14 +203,20 @@ public class ClientUtils {
|
||||
|
||||
}
|
||||
//客户需求单整机 -配件分录行
|
||||
else if (("yem_im_clientdeman_zj".equals(yem_billtype) || "yem_im_inclientdeman_zj".equals(yem_billtype) || ("yem_es_salesorder_ZJ".equals(yem_billtype)) || "yem_es_salesorder_nmzj".equals(yem_billtype) || "yem_es_xsalesorder_zj".equals(yem_billtype) || "yem_es_xsalesorder_nmzj".equals(yem_billtype)) && "P".equals(businesssort)) {
|
||||
else if (("yem_im_clientdeman_zj".equals(yem_billtype) || "yem_im_inclientdeman_zj".equals(yem_billtype)
|
||||
|| ("yem_es_salesorder_ZJ".equals(yem_billtype)) || "yem_es_salesorder_nmzj".equals(yem_billtype)
|
||||
|| "yem_es_xsalesorder_zj".equals(yem_billtype) || "yem_es_xsalesorder_nmzj".equals(yem_billtype))
|
||||
&& "P".equals(businesssort) && yem_linetype.equals("add")) {
|
||||
// else if (("yem_im_clientdeman_zj".equals(yem_billtype) || "yem_im_inclientdeman_zj".equals(yem_billtype) || ("yem_es_salesorder_ZJ".equals(yem_billtype)) || "yem_es_salesorder_nmzj".equals(yem_billtype)) && "P".equals(businesssort)) {
|
||||
pjFindPrice(yem_exrate, info, pjDatas, rowInfo, list, materials, models, yemBdProductsid);
|
||||
}
|
||||
//客户需求单配件
|
||||
|
||||
// else if (("yem_im_clientdema_pj".equals(yem_billtype) || "yem_im_inclientdema_pj".equals(yem_billtype) || "yem_es_salesorder_PJ".equals(yem_billtype) || "yem_es_salesorder_nmpj".equals(yem_billtype)) && "P".equals(businesssort)) {
|
||||
else if (("yem_im_clientdema_pj".equals(yem_billtype) || "yem_im_inclientdema_pj".equals(yem_billtype) || "yem_es_salesorder_PJ".equals(yem_billtype) || "yem_es_salesorder_nmpj".equals(yem_billtype) || "yem_es_xsalesorder_pj".equals(yem_billtype) || "yem_es_xsalesorder_nmpj".equals(yem_billtype)) && "P".equals(businesssort)) {
|
||||
else if (("yem_im_clientdema_pj".equals(yem_billtype) || "yem_im_inclientdema_pj".equals(yem_billtype)
|
||||
|| "yem_es_salesorder_PJ".equals(yem_billtype) || "yem_es_salesorder_nmpj".equals(yem_billtype)
|
||||
|| "yem_es_xsalesorder_pj".equals(yem_billtype) || "yem_es_xsalesorder_nmpj".equals(yem_billtype))
|
||||
&& "P".equals(businesssort) && yem_linetype.equals("add")) {
|
||||
pjFindPrice(yem_exrate, info, pjDatas, rowInfo, list, materials, models, yemBdProductsid);
|
||||
}
|
||||
rowInfo++;
|
||||
@ -338,7 +371,7 @@ public class ClientUtils {
|
||||
*/
|
||||
public static void setPriceNow(DynamicObjectCollection multiconfig, Map<Long, BigDecimal> dataMap, int rowInfo, IDataModel models) {
|
||||
int multiconfigIndex = 0;
|
||||
if (multiconfig != null && multiconfig.size() > 0) {
|
||||
if (!multiconfig.isEmpty()) {
|
||||
for (DynamicObject dc : multiconfig) {
|
||||
long configentryid = dc.getLong("yem_configentryid");
|
||||
BigDecimal configentry = dataMap.get(configentryid) == null ? BigDecimal.ZERO : dataMap.get(configentryid).setScale(2);
|
||||
@ -1950,12 +1983,13 @@ public class ClientUtils {
|
||||
/**
|
||||
* 计算销售FOB单价
|
||||
* <p>
|
||||
* 销售FOB单价=商品明细对应多功能配置中 单台加价金额(结算币别)合计值 + 销售FCA标配青岛单价+FOB与FCA费用差额
|
||||
* 销售FOB单价=商品明细对应多功能配置中 单台加价金额(结算币别)合计值 + 销售FCA标配青岛单价
|
||||
*/
|
||||
public static void calculateSalesFOBUnitPrice(IDataModel model, int idx) {
|
||||
// if (!isFCAPriceItem(model, idx)) {
|
||||
// return;
|
||||
// }
|
||||
String string = model.getDataEntityType().getName();
|
||||
|
||||
DynamicObject dataEntity = model.getDataEntity(true);
|
||||
DynamicObjectCollection c = dataEntity.getDynamicObjectCollection("yem_es_materialinfo");
|
||||
@ -1977,6 +2011,15 @@ public class ClientUtils {
|
||||
int rowCount = model.getEntryRowCount("yem_es_materialinfo");
|
||||
for (int i = 0; i < rowCount; i++) {
|
||||
DynamicObject d = c.get(i);
|
||||
if (string.equals("yem_es_xsalesorder")) {
|
||||
String yemLinetype = d.getString("yem_linetype");
|
||||
if (!"add".equals(yemLinetype)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (!"Z".equals(d.getString("yem_businesssort"))) {
|
||||
continue;
|
||||
}
|
||||
DynamicObjectCollection subC = d.getDynamicObjectCollection("yem_multiconfig");
|
||||
BigDecimal sumAmt = BigDecimal.ZERO;
|
||||
for (DynamicObject sub : subC) {
|
||||
|
@ -9,7 +9,6 @@ import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||
import kd.bos.entity.plugin.PreparePropertysEventArgs;
|
||||
import kd.bos.entity.plugin.args.BeforeOperationArgs;
|
||||
import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
|
||||
import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
@ -19,7 +18,6 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -77,6 +77,9 @@ public class OptionalFormPlugIn extends AbstractFormPlugin implements Plugin {
|
||||
model.setValue("yem_parameter", mechanical.getString("yem_parameter"), createRow);
|
||||
model.setValue("yem_remarke", mechanical.getString("yem_remarke"), createRow);
|
||||
model.setValue("yem_entryid", id, createRow);
|
||||
if (mechanical.containsProperty("yem_model_config_c")) {
|
||||
model.setValue("yem_model_config_c", mechanical.getDynamicObject("yem_model_config_c"), createRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -114,6 +117,8 @@ public class OptionalFormPlugIn extends AbstractFormPlugin implements Plugin {
|
||||
model.setValue("yem_specification", optional.getString("yem_specification_o"), entryRow);
|
||||
model.setValue("yem_remarke", optional.getString("yem_remarke"), entryRow);
|
||||
model.setValue("yem_entryid", optional.getPkValue(), entryRow);
|
||||
model.setValue("yem_model_config_c", optional.getDynamicObject("yem_model_config_c"), entryRow);
|
||||
model.setValue("yem_ruconfigure_c",optional.getString("yem_ruconfigure_c"),entryRow);
|
||||
}
|
||||
}
|
||||
|
||||
@ -172,6 +177,7 @@ public class OptionalFormPlugIn extends AbstractFormPlugin implements Plugin {
|
||||
parentModel.setValue("yem_configurtype", "A", optionalRow);
|
||||
parentModel.setValue("yem_configurname", model.getValue("yem_profilenamea", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_configurtypeen", model.getValue("yem_configure", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_configurtyperu", model.getValue("yem_ruconfigure_c", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_specification_o", model.getValue("yem_specification", selectRow), optionalRow);
|
||||
// parentModel.setValue("yem_marketprice", marketPrice, optionalRow);
|
||||
// parentModel.setValue("yem_marketraiseprice", marketRaisePrice, optionalRow);
|
||||
@ -179,6 +185,13 @@ public class OptionalFormPlugIn extends AbstractFormPlugin implements Plugin {
|
||||
parentModel.setValue("yem_arguments", model.getValue("yem_parameter", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_remarkss", model.getValue("yem_remarke", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_configentryid", model.getValue("yem_entryid", selectRow), optionalRow);
|
||||
DynamicObject modelConfigR = (DynamicObject) model.getValue("yem_model_config_c", selectRow);
|
||||
if (YEM.isNotEmpty(modelConfigR)) {
|
||||
parentModel.setValue("yem_cname_config", modelConfigR.getString("yem_standard_cname"), optionalRow);
|
||||
parentModel.setValue("yem_ename_config", modelConfigR.getString("yem_standard_ename"), optionalRow);
|
||||
parentModel.setValue("yem_runame_config", modelConfigR.getString("yem_standard_runame"), optionalRow);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import com.yem.wm.utils.FunctionalCommon;
|
||||
import com.yem.wm.utils.YEM;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.MainEntityType;
|
||||
import kd.bos.entity.datamodel.IDataModel;
|
||||
import kd.bos.form.FormShowParameter;
|
||||
import kd.bos.form.IFormView;
|
||||
@ -107,6 +108,10 @@ public class ReplaceFormPlugIn extends AbstractFormPlugin implements Plugin {
|
||||
// model.setValue("yem_marketraiseprice", replaceable.getBigDecimal("yem_salesmarkup_re"), entryRow);
|
||||
model.setValue("yem_remarke", replaceable.getString("yem_remarkr"), entryRow);
|
||||
model.setValue("yem_entryid", replaceable.getPkValue(), entryRow);
|
||||
model.setValue("yem_ruconfigure_c",replaceable.getString("yem_ruconfigure_r"),entryRow);
|
||||
|
||||
model.setValue("yem_model_config_r", replaceable.getDynamicObject("yem_model_config_r"), entryRow);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -164,12 +169,20 @@ public class ReplaceFormPlugIn extends AbstractFormPlugin implements Plugin {
|
||||
parentModel.setValue("yem_configurtype", "B", optionalRow);
|
||||
parentModel.setValue("yem_configurname", model.getValue("yem_profilenamea", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_configurtypeen", model.getValue("yem_configure", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_configurtyperu",model.getValue("yem_ruconfigure_c",selectRow),optionalRow);
|
||||
parentModel.setValue("yem_specification_o", model.getValue("yem_specification", selectRow), optionalRow);
|
||||
// parentModel.setValue("yem_marketprice", marketPrice, optionalRow);
|
||||
// parentModel.setValue("yem_marketraiseprice", marketRaisePrice, optionalRow);
|
||||
parentModel.setValue("yem_unitsetnumber", model.getValue("yem_unitsetnumber", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_remarkss", model.getValue("yem_remarke", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_configentryid", model.getValue("yem_entryid", selectRow), optionalRow);
|
||||
DynamicObject modelConfigR = (DynamicObject) model.getValue("yem_model_config_r", selectRow);
|
||||
DynamicObject parentDataEntity = parentModel.getDataEntity(true);
|
||||
if (YEM.isNotEmpty(modelConfigR)) {
|
||||
parentModel.setValue("yem_cname_config", modelConfigR.getString("yem_standard_cname"), optionalRow);
|
||||
parentModel.setValue("yem_ename_config", modelConfigR.getString("yem_standard_ename"), optionalRow);
|
||||
parentModel.setValue("yem_runame_config", modelConfigR.getString("yem_standard_runame"), optionalRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -105,6 +105,8 @@ public class RetrofittingFormPlugIn extends AbstractFormPlugin implements Plugin
|
||||
model.setValue("yem_specification",optional.getString("yem_specification_a"),entryRow);
|
||||
model.setValue("yem_remarke",optional.getString("yem_remarka"),entryRow);
|
||||
model.setValue("yem_entryid",optional.getPkValue(),entryRow);
|
||||
model.setValue("yem_ruconfigure_c", optional.getString("yem_ruconfigure_a"), entryRow);
|
||||
model.setValue("yem_model_config_r", optional.getDynamicObject("yem_model_config_a"), entryRow);
|
||||
}
|
||||
}
|
||||
|
||||
@ -161,12 +163,19 @@ public class RetrofittingFormPlugIn extends AbstractFormPlugin implements Plugin
|
||||
parentModel.setValue("yem_configurtype","C",optionalRow);
|
||||
parentModel.setValue("yem_configurname",model.getValue("yem_profilenamea",selectRow),optionalRow);
|
||||
parentModel.setValue("yem_configurtypeen",model.getValue("yem_configure",selectRow),optionalRow);
|
||||
parentModel.setValue("yem_configurtyperu",model.getValue("yem_ruconfigure_c",selectRow),optionalRow);
|
||||
parentModel.setValue("yem_specification_o",model.getValue("yem_specification",selectRow),optionalRow);
|
||||
// parentModel.setValue("yem_marketprice",marketPrice,optionalRow);
|
||||
// parentModel.setValue("yem_marketraiseprice",marketRaisePrice,optionalRow);
|
||||
parentModel.setValue("yem_unitsetnumber", model.getValue("yem_unitsetnumber", selectRow), optionalRow);
|
||||
parentModel.setValue("yem_remarkss",model.getValue("yem_remarke",selectRow),optionalRow);
|
||||
parentModel.setValue("yem_configentryid",model.getValue("yem_entryid",selectRow),optionalRow);
|
||||
DynamicObject modelConfigR = (DynamicObject) model.getValue("yem_model_config_r", selectRow);
|
||||
if (YEM.isNotEmpty(modelConfigR)) {
|
||||
parentModel.setValue("yem_cname_config", modelConfigR.getString("yem_standard_cname"), optionalRow);
|
||||
parentModel.setValue("yem_ename_config", modelConfigR.getString("yem_standard_ename"), optionalRow);
|
||||
parentModel.setValue("yem_runame_config", modelConfigR.getString("yem_standard_runame"), optionalRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,6 +108,7 @@ public class PayapplyService extends AbstractOperationServicePlugIn {
|
||||
SimpleDateFormat fmtTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String yemBizdate = fmtDate.format(dataEntitie.getDate("yem_bizdate"));
|
||||
json.put("bizDate", yemBizdate);
|
||||
json.put("cosmic", dataEntitie.getString("yem_cosmic"));
|
||||
//申请人 creator
|
||||
DynamicObject creators = dataEntitie.getDynamicObject("creator");
|
||||
if (creators != null) {
|
||||
|
@ -50,7 +50,7 @@ public class YemDelivernoticeService extends AbstractOperationServicePlugIn {
|
||||
dataEntity = BusinessDataServiceHelper.loadSingle(dataEntity.getPkValue(), dataEntity.getDynamicObjectType().getName());
|
||||
DynamicObject yem_billtype = dataEntity.getDynamicObject("yem_billtype");
|
||||
String yemSynchronizeeas = dataEntity.getString("yem_synchronizeeas");
|
||||
if ("B".equals(yemSynchronizeeas)){
|
||||
if ("B".equals(yemSynchronizeeas)) {
|
||||
list.add(selectedRow);
|
||||
continue;
|
||||
}
|
||||
@ -129,12 +129,20 @@ public class YemDelivernoticeService extends AbstractOperationServicePlugIn {
|
||||
//单据编号
|
||||
json.put("number", dataEntitie.getString("billno"));
|
||||
//送货客户
|
||||
// if (dataEntitie.getString("yem_sale_type").equals("B")) {
|
||||
//
|
||||
// }
|
||||
DynamicObject yemCustomer = dataEntitie.getDynamicObject("yem_customer1");
|
||||
if (yemCustomer != null) {
|
||||
json.put("customer", setJson("number", yemCustomer.getString("number")));
|
||||
if (dataEntitie.getString("yem_sale_type").equals("B")) {
|
||||
DynamicObject yemCustomer = dataEntitie.getDynamicObject("yem_actualcustomer");
|
||||
if (yemCustomer != null) {
|
||||
json.put("customer", setJson("number", yemCustomer.getString("number")));
|
||||
json.put("receiveinfo", dataEntitie.getString("yem_customername"));
|
||||
json.put("paymentcustomer", setJson("number", yemCustomer.getString("number")));
|
||||
json.put("ordercustomer", setJson("number", yemCustomer.getString("number")));
|
||||
json.put("balancecustomer", setJson("number", yemCustomer.getString("number")));
|
||||
}
|
||||
} else {
|
||||
DynamicObject yemCustomer = dataEntitie.getDynamicObject("yem_customer1");
|
||||
if (yemCustomer != null) {
|
||||
json.put("customer", setJson("number", yemCustomer.getString("number")));
|
||||
}
|
||||
}
|
||||
//币别
|
||||
DynamicObject yemCurrency = dataEntitie.getDynamicObject("yem_currency");
|
||||
@ -276,6 +284,11 @@ public class YemDelivernoticeService extends AbstractOperationServicePlugIn {
|
||||
if (yemWarehouse != null) {
|
||||
json.put("warehouse", setJson("number", yemWarehouse.getString("number")));
|
||||
}
|
||||
//送货客户
|
||||
if (dataEntitie.getString("yem_sale_type").equals("B")) {
|
||||
json.put("terminalamount", materialentry.getString("yem_endamount"));
|
||||
json.put("terminalprice", materialentry.getString("yem_endprice"));
|
||||
}
|
||||
//库位
|
||||
DynamicObject yemLocation = materialentry.getDynamicObject("yem_location");
|
||||
if (yemLocation != null) {
|
||||
|
@ -8,6 +8,7 @@ import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.db.DB;
|
||||
import kd.bos.db.DBRoute;
|
||||
import kd.bos.entity.operate.OperateOptionConst;
|
||||
import kd.bos.entity.operate.result.IOperateInfo;
|
||||
import kd.bos.entity.operate.result.OperationResult;
|
||||
import kd.bos.metadata.dao.MetaCategory;
|
||||
@ -22,6 +23,7 @@ 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.fi.ar.consts.OperationConst;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@ -52,7 +54,9 @@ public class OperationalUniversal {
|
||||
FormMetadata formMeta = (FormMetadata) MetadataDao.readRuntimeMeta(id, MetaCategory.Form);
|
||||
String name = formMeta.getName().toString();
|
||||
if (operate.length() > 0) {
|
||||
OperationResult audit = OperationServiceHelper.executeOperate(operateKey, dynamicObject.getDynamicObjectType().getName(), new Object[]{dynamicObject.getPkValue()}, OperateOption.create());
|
||||
OperateOption operateOption = OperateOption.create();
|
||||
operateOption.setVariableValue(OperateOptionConst.MUTEX_IGNOREMODIFY, Boolean.toString(false));
|
||||
OperationResult audit = OperationServiceHelper.executeOperate(operateKey, dynamicObject.getDynamicObjectType().getName(), new Object[]{dynamicObject.getPkValue()}, operateOption);
|
||||
if (!audit.isSuccess()) {
|
||||
List<IOperateInfo> allErrorOrValidateInfo = audit.getAllErrorOrValidateInfo();
|
||||
String message = audit.getMessage();
|
||||
|
@ -5,6 +5,7 @@ import com.yem.ia.intebilllogon.Utils.BackfilljsonAssignUtils;
|
||||
import com.yem.wm.syn.eas.api.dto.IntebilllogonAuditDTO;
|
||||
import com.yem.wm.syn.eas.api.service.IYZJAuditService;
|
||||
import com.yem.wm.syn.eas.api.service.impl.YZJAuditServiceImpl;
|
||||
import com.yem.wm.utils.YEM;
|
||||
import com.yem.wm.utils.YunzhijiaUtils;
|
||||
import kd.bos.dataentity.OperateOption;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
@ -59,11 +60,12 @@ public class YZJAuditController {
|
||||
*/
|
||||
@ApiPostMapping("/rewriting")
|
||||
public CustomApiResult<Object> rewriting(@NotNull @ApiParam("参数") String data) throws IOException {
|
||||
DynamicObject billObj = null;
|
||||
try {
|
||||
JSONObject json = JSONObject.parseObject(data);
|
||||
// JSONObject data1 = json.getJSONObject("data");
|
||||
JSONObject basicInfo = json.getJSONObject("basicInfo");
|
||||
logger.info("云之家回写,入参"+data);
|
||||
logger.info("云之家回写,入参" + data);
|
||||
logger.info(json.toJSONString());
|
||||
String formCodeId = basicInfo.getString("formCodeId");
|
||||
//通过表单定义ID获取模板
|
||||
@ -71,23 +73,64 @@ public class YZJAuditController {
|
||||
ArrayList<QFilter> qFilters = new ArrayList<>();
|
||||
qFilters.add(new QFilter("yem_yzjid", QCP.equals, formCodeId));
|
||||
qFilters.add(new QFilter("yem_isdisable", QCP.equals, false));
|
||||
logger.info("QFilter{}", qFilters);
|
||||
DynamicObject yem_ia_intebilllogon = BusinessDataServiceHelper.loadSingle("yem_ia_intebilllogon", qFilters.toArray(new QFilter[0]));
|
||||
if (yem_ia_intebilllogon != null) {
|
||||
yem_ia_intebilllogon = BusinessDataServiceHelper.loadSingle(yem_ia_intebilllogon.getLong("id"), "yem_ia_intebilllogon");
|
||||
} else {
|
||||
return CustomApiResult.success("调用成功");
|
||||
}
|
||||
//单据类型
|
||||
String bos_entityobjectnum = yem_ia_intebilllogon.getString("yem_formid.number");
|
||||
//获取单据
|
||||
DynamicObject billObj = BusinessDataServiceHelper.loadSingle(bos_entityobjectnum, new QFilter[]{new QFilter("yem_forminstid", QCP.equals, formInstId)});
|
||||
if (billObj != null) {
|
||||
billObj = BusinessDataServiceHelper.loadSingle(billObj.get("id"), bos_entityobjectnum);
|
||||
}
|
||||
//通过表单实例ID获取日志对象
|
||||
DynamicObject ialog = BusinessDataServiceHelper.loadSingle("yem_ialog", new QFilter[]{new QFilter("yem_forminstid", QCP.equals, billObj.get("yem_forminstid"))});
|
||||
ialog.set("yem_writeback", data);
|
||||
|
||||
if (yem_ia_intebilllogon != null) {
|
||||
logger.info("智能审批单据注册:{},{}", yem_ia_intebilllogon.getString("billno"), yem_ia_intebilllogon.getPkValue());
|
||||
// yem_ia_intebilllogon = BusinessDataServiceHelper.loadSingle(yem_ia_intebilllogon.getLong("id"), "yem_ia_intebilllogon");
|
||||
} else {
|
||||
logger.info("未获取到智能审批单据注册");
|
||||
return CustomApiResult.success("调用成功(未获取到智能审批单据注册)");
|
||||
}
|
||||
DynamicObject formType = yem_ia_intebilllogon.getDynamicObject("yem_formid");
|
||||
String bos_entityobjectnum;
|
||||
if (formType != null) {
|
||||
bos_entityobjectnum = formType.getString("number");
|
||||
} else {
|
||||
return CustomApiResult.fail("501", "智能审批单据注册:" + yem_ia_intebilllogon.getString("billno") + ",中单据类为空!");
|
||||
}
|
||||
logger.info("获取审批单据,查询条件:{},{}", bos_entityobjectnum, formInstId);
|
||||
|
||||
//获取单据
|
||||
QFilter qFilter = new QFilter("yem_forminstid", QCP.equals, formInstId);
|
||||
DynamicObject[] load = BusinessDataServiceHelper.load(bos_entityobjectnum, "id, billno", qFilter.toArray());
|
||||
logger.info("查询到审批单据: {} 条", load.length);
|
||||
for (DynamicObject d : load) {
|
||||
logger.info("审批单据:{}", d.getString("billno"));
|
||||
}
|
||||
if (load.length > 0) {
|
||||
DynamicObject object = load[0];
|
||||
billObj = BusinessDataServiceHelper.loadSingle(object.getPkValue(), object.getDataEntityType().getName());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return CustomApiResult.fail("501", e.getMessage());
|
||||
}
|
||||
|
||||
DynamicObject ialog = null;
|
||||
|
||||
try {
|
||||
if (YEM.isNotEmpty(billObj)) {
|
||||
//通过表单实例ID获取日志对象
|
||||
ialog = BusinessDataServiceHelper.loadSingle("yem_ialog", new QFilter[]{new QFilter("yem_forminstid", QCP.equals, billObj.get("yem_forminstid"))});
|
||||
} else {
|
||||
return CustomApiResult.fail("501", "获取审批单据失败!");
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return CustomApiResult.fail("501", "获取审批日志失败!" + e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
if (YEM.isNotEmpty(ialog)) {
|
||||
ialog.set("yem_writeback", data);
|
||||
} else {
|
||||
return CustomApiResult.fail("501", "获取审批日志失败!");
|
||||
}
|
||||
|
||||
try {
|
||||
//TODO 调用云之家获取审批结果接口
|
||||
JSONObject reqjson = new JSONObject();
|
||||
reqjson.put("flowInstId", billObj.get("yem_flowinstid"));
|
||||
@ -111,31 +154,30 @@ public class YZJAuditController {
|
||||
dynamicObject.set("yem_synfalt", "同步失败,点击按钮查看失败详情!");
|
||||
dynamicObject.set("yem_synfalt_tag", "同步失败,失败原因:" + audit);
|
||||
logger.info("同步失败,失败原因:" + audit);
|
||||
ialog.set("yem_error","调用单据审核失败");
|
||||
ialog.set("yem_error_tag",audit);
|
||||
ialog.set("yem_success",false);
|
||||
ialog.set("yem_error", "调用单据审核失败");
|
||||
ialog.set("yem_error_tag", audit);
|
||||
ialog.set("yem_success", false);
|
||||
SaveServiceHelper.update(dynamicObject);
|
||||
// SaveServiceHelper.save(new DynamicObject[]{ialog});
|
||||
OperationServiceHelper.executeOperate("unsubmit", billObj.getDynamicObjectType().getName(), new Object[]{billObj.get("id")}, OperateOption.create());
|
||||
CustomApiResult<Object> fail = CustomApiResult.fail("501", audit);
|
||||
return fail;
|
||||
return CustomApiResult.fail("501", audit);
|
||||
} else {
|
||||
ialog.set("yem_success",true);
|
||||
ialog.set("yem_error"," ");
|
||||
ialog.set("yem_error_tag"," ");
|
||||
ialog.set("yem_success", true);
|
||||
ialog.set("yem_error", " ");
|
||||
ialog.set("yem_error_tag", " ");
|
||||
dynamicObject.set("yem_synfalt", "同步成功");
|
||||
SaveServiceHelper.update(dynamicObject);
|
||||
// SaveServiceHelper.save(new DynamicObject[]{ialog});
|
||||
}
|
||||
|
||||
}
|
||||
SaveServiceHelper.save(new DynamicObject[]{ialog});
|
||||
} catch (Exception e) {
|
||||
CustomApiResult<Object> fail = CustomApiResult.fail("501", e.getMessage());
|
||||
return fail;
|
||||
e.printStackTrace();
|
||||
return CustomApiResult.fail("501", e.getMessage());
|
||||
} finally {
|
||||
SaveServiceHelper.save(new DynamicObject[]{ialog});
|
||||
}
|
||||
CustomApiResult<Object> ces = CustomApiResult.success("调用成功");
|
||||
return ces;
|
||||
return CustomApiResult.success("调用成功");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -206,6 +248,7 @@ public class YZJAuditController {
|
||||
CustomApiResult<Object> ces = CustomApiResult.success("调用成功");
|
||||
return ces;
|
||||
}
|
||||
|
||||
/**
|
||||
* 云之家框架合同 合同签章回写
|
||||
*
|
||||
|
@ -217,7 +217,7 @@ public class DelivernoticeSynEAS extends AbstractOperationServicePlugIn {
|
||||
//已领料数量
|
||||
json.put("HavePickQty", 0);
|
||||
//备注
|
||||
json.put("Remark", entryentity.getString("yem_remark"));
|
||||
json.put("Remark", entryentity.getString("yem_conbillnumber"));
|
||||
jsonArray.add(json);
|
||||
}
|
||||
return jsonArray;
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.yem.wm.sys.formplugin.list;
|
||||
|
||||
import java.util.EventObject;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@ -122,14 +125,27 @@ public class AbstractVersionListPlugin extends AbstractListPlugin {
|
||||
if (BillFormId.equals("yem_es_storagetrans")) {
|
||||
entityNumber = BillFormId;
|
||||
}
|
||||
if (entityNumber.length() > 0) {
|
||||
for (ListSelectedRow SelectedData : listSelectedData) {
|
||||
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(SelectedData.getPrimaryKeyValue(), entityNumber);
|
||||
String billNo = SelectedData.getBillNo();
|
||||
boolean yem_changing = dynamicObject.getBoolean("yem_changing");
|
||||
if (yem_changing) {
|
||||
this.getView().showErrorNotification("单据【" + billNo + "】正在变更中,禁止下推!");
|
||||
e.setCancel(true);
|
||||
if (!entityNumber.isEmpty()) {
|
||||
|
||||
Set<Long> ids = new HashSet<>();
|
||||
|
||||
for (ListSelectedRow datum : listSelectedData) {
|
||||
Long keyValue = (Long) datum.getPrimaryKeyValue();
|
||||
ids.add(keyValue);
|
||||
}
|
||||
|
||||
Map<Object, DynamicObject> loads = BusinessDataServiceHelper.loadFromCache(entityNumber, "id, billno, yem_changing", new QFilter[]{new QFilter("id", "in", ids)});
|
||||
|
||||
for (ListSelectedRow selectedRow : listSelectedData) {
|
||||
Object primaryKeyValue = selectedRow.getPrimaryKeyValue();
|
||||
if (loads.containsKey(primaryKeyValue)) {
|
||||
DynamicObject dynamicObject = loads.get(primaryKeyValue);
|
||||
String billno = dynamicObject.getString("billno");
|
||||
boolean yem_changing = dynamicObject.getBoolean("yem_changing");
|
||||
if (yem_changing) {
|
||||
this.getView().showErrorNotification("单据【" + billno + "】正在变更中,禁止下推!");
|
||||
e.setCancel(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -35,8 +35,7 @@ public class StoraGetransToDeviceFilesTask extends AbstractTask {
|
||||
long yemResourcescodeLong = yemResourcescode.getLong("id");
|
||||
String yemEmDevicefiles = DynamicObjectUtil.getSelectfields("yem_em_devicefiles", false);
|
||||
QFilter qFilter = new QFilter("yem_framenumber", QCP.equals, yemVehicleno);
|
||||
qFilter.and("yem_model.id", QCP.equals, yemResourcescodeLong)
|
||||
.and("billstatus", QCP.equals, "C");
|
||||
qFilter.and("yem_model.id", QCP.equals, yemResourcescodeLong);
|
||||
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("yem_em_devicefiles", yemEmDevicefiles
|
||||
, new QFilter[]{qFilter});
|
||||
if (dynamicObjects.length > 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user