1003 lines
49 KiB
Java
1003 lines
49 KiB
Java
package com.yem.em.ass.dynamic;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.yem.em.utils.AtlasUtils;
|
|
import com.yem.em.utils.SubRelationUtils;
|
|
import com.yem.wm.utils.DynamicObjectUtil;
|
|
import com.yem.wm.utils.StringUtils;
|
|
import com.yem.wm.utils.YEM;
|
|
import kd.bos.bill.BillShowParameter;
|
|
import kd.bos.bill.OperationStatus;
|
|
import kd.bos.context.RequestContext;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
import kd.bos.entity.datamodel.IDataModel;
|
|
import kd.bos.entity.datamodel.ListSelectedRow;
|
|
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
|
import kd.bos.entity.report.CellStyle;
|
|
import kd.bos.entity.tree.TreeNode;
|
|
import kd.bos.form.FormShowParameter;
|
|
import kd.bos.form.IPageCache;
|
|
import kd.bos.form.ShowType;
|
|
import kd.bos.form.cardentry.CardEntry;
|
|
import kd.bos.form.control.Label;
|
|
import kd.bos.form.control.TreeView;
|
|
import kd.bos.form.control.events.CellClickEvent;
|
|
import kd.bos.form.control.events.CellClickListener;
|
|
import kd.bos.form.control.events.TreeNodeClickListener;
|
|
import kd.bos.form.control.events.TreeNodeEvent;
|
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
|
import kd.bos.form.events.BeforeBindDataEvent;
|
|
import kd.bos.form.events.BeforeBindDataListener;
|
|
import kd.bos.form.events.BeforeCreateListDataProviderArgs;
|
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
|
import kd.bos.list.BillList;
|
|
import kd.bos.list.IListColumn;
|
|
import kd.bos.list.events.CreateListDataProviderListener;
|
|
import kd.bos.mvc.form.FormDataModel;
|
|
import kd.bos.mvc.list.ListDataProvider;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import kd.bos.servicehelper.QueryServiceHelper;
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
|
|
/**
|
|
* @author zhouc
|
|
* @date 2023/10/31 18:19
|
|
* @className AssepcDynamicEdut
|
|
* @description 总成设备电子目录新_动态表单
|
|
*/
|
|
public class AssepcNewDynamicEdut extends AbstractFormPlugin implements BeforeBindDataListener, TreeNodeClickListener, CellClickListener {
|
|
private String selectid = "1";
|
|
private String ParentNodeId = "1";
|
|
private String atlasid = "";
|
|
private String complete = "";
|
|
private String type = StringUtils.getEmpty();
|
|
private boolean isComplete = false;
|
|
private String yem_replacement = StringUtils.getEmpty();
|
|
private Date yem_completetime = null;
|
|
|
|
/**
|
|
* 监听事件
|
|
*
|
|
* @param e 上下文
|
|
*/
|
|
@Override
|
|
public void registerListener(EventObject e) {
|
|
super.registerListener(e);
|
|
TreeView treeView = this.getView().getControl("yem_treeviewap");
|
|
treeView.addTreeNodeClickListener(this);
|
|
CardEntry yem_entryentity1 = this.getView().getControl("yem_entryentity1");
|
|
yem_entryentity1.addCellClickListener(this);
|
|
CardEntry yem_entryentity = this.getView().getControl("yem_entryentity");
|
|
yem_entryentity.addCellClickListener(this);
|
|
BillList billList = this.getControl("yem_billlistap");
|
|
// 注册监听
|
|
billList.addBeforeBindDataListener(this);
|
|
}
|
|
|
|
@Override
|
|
public void beforeBindData(EventObject e) {
|
|
super.beforeBindData(e);
|
|
IPageCache cache = this.getPageCache();
|
|
EmptData();
|
|
FormShowParameter showParameter = this.getView().getFormShowParameter();
|
|
Map<String, Object> customParas = showParameter.getCustomParams();
|
|
TreeNode Cliknode = null;
|
|
if (customParas.containsKey("parentpageid")) {
|
|
if (customParas.get("parentpageid") != null) {
|
|
cache.put("parentpageid", customParas.get("parentpageid").toString());
|
|
} else {
|
|
BillList list = this.getControl("yem_billlistap");
|
|
list.getView().setVisible(false, "yem_listoperationcolumnap");
|
|
}
|
|
}
|
|
if (customParas.containsKey("treeMap")) {
|
|
if (customParas.get("treeMap") != null) {
|
|
JSONObject treeMap = (JSONObject) customParas.get("treeMap");
|
|
Cliknode = new TreeNode(treeMap.get("parentid").toString(), treeMap.get("id").toString(), treeMap.get("text").toString(), treeMap.get("isParent"));
|
|
}
|
|
}
|
|
if (customParas.containsKey("complete")) {
|
|
if (customParas.get("complete") != null) {
|
|
cache.put("complete", customParas.get("complete").toString());
|
|
cache.put("isComplete", String.valueOf(true));
|
|
isComplete = true;
|
|
}
|
|
}
|
|
if (customParas.containsKey("yem_analysistdate")) {
|
|
if (customParas.get("yem_analysistdate") != null) {
|
|
cache.put("yem_analysistdate", customParas.get("yem_analysistdate").toString());
|
|
}
|
|
}
|
|
|
|
GetTreeView(customParas);
|
|
BillList billList = this.getControl("yem_billlistap");
|
|
billList.addCreateListDataProviderListener(new CreateListDataProviderListener() {
|
|
@Override
|
|
public void createListDataProvider(BeforeCreateListDataProviderArgs args) {
|
|
args.setListDataProvider(new BillListDataProvider());
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
/**
|
|
* 构建树结构
|
|
*
|
|
* @param customParas 入参
|
|
*/
|
|
public void GetTreeView(Map<String, Object> customParas) {
|
|
TreeNode Cliknode = null;
|
|
IPageCache cache = this.getPageCache();
|
|
String number = StringUtils.getEmpty(), name = StringUtils.getEmpty(), orgId = StringUtils.getEmpty(), etcId = StringUtils.getEmpty();
|
|
if (customParas.containsKey("number")) {
|
|
number = customParas.get("number").toString();
|
|
ParentNodeId = number;
|
|
}
|
|
if (customParas.containsKey("name")) {
|
|
name = customParas.get("name").toString();
|
|
}
|
|
if (customParas.containsKey("orgId")) {
|
|
orgId = customParas.get("orgId").toString();
|
|
}
|
|
if (customParas.containsKey("etcId")) {
|
|
etcId = customParas.get("etcId").toString();
|
|
}
|
|
if (cache.get("complete") != null) {
|
|
complete = cache.get("complete").toString();
|
|
}
|
|
if (cache.get("isComplete") != null) {
|
|
isComplete = Boolean.valueOf(cache.get("isComplete"));
|
|
}
|
|
Date yem_completetime = null;
|
|
if (cache.get("yem_analysistdate") != null) {
|
|
try {
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 定义日期格式
|
|
yem_completetime = sdf.parse(cache.get("yem_analysistdate").toString());
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
if (customParas.get("type") != null) {
|
|
type = customParas.get("type").toString();
|
|
if (customParas.get("type") != null) {
|
|
if (type.equals("assets")) {
|
|
cache.put("yem_replacement", "Par");
|
|
}
|
|
if (type.equals("atlas")) {
|
|
cache.put("yem_replacement", "Sub");
|
|
}
|
|
}
|
|
}
|
|
if (StringUtils.isNotEmpty(etcId)) {
|
|
List<Map> fromCmmp = null;
|
|
List<TreeNode> list = new ArrayList<TreeNode>();
|
|
String accountId = RequestContext.get().getAccountId();
|
|
if (StringUtils.isEmpty(type)) {
|
|
return;
|
|
} else {
|
|
if (type.equals("assets")) {
|
|
yem_replacement = "Par";
|
|
list.add(new TreeNode(null, number, number + " " + name, true));
|
|
//根据CMMP明细表构建
|
|
QFilter Filter = new QFilter("number", QFilter.equals, number);
|
|
Filter.and(new QFilter("status", QFilter.equals, "C"));
|
|
Filter.and(new QFilter("yem_entryentity.yem_partisreplace", QFilter.equals, false));
|
|
Filter.and(new QFilter("yem_entryentity.yem_assatlasdet.number", QFilter.not_equals, null));
|
|
// Filter.and(new QFilter("yem_entryentity.yem_completetime", QCP.less_equals, yem_completetime));
|
|
DynamicObjectCollection yem_em_cmmptable = QueryServiceHelper.query("yem_em_cmmptable",
|
|
"yem_entryentity.yem_assatlasdet.number,yem_entryentity.yem_assatlasdet.name,yem_entryentity.yem_assatlasdet.yem_enname",
|
|
new QFilter[]{Filter}, "yem_entryentity.yem_assatlasdet.number");
|
|
if (yem_em_cmmptable.size() > 0) {
|
|
for (int i = 0; i < yem_em_cmmptable.size(); i++) {
|
|
DynamicObject dynamicObject = yem_em_cmmptable.get(i);
|
|
String ccode = dynamicObject.getString("yem_entryentity.yem_assatlasdet.number");
|
|
String ccodename = dynamicObject.getString("yem_entryentity.yem_assatlasdet.name");
|
|
String yem_nameen = dynamicObject.getString("yem_entryentity.yem_assatlasdet.yem_enname");
|
|
//查询部件替换关系
|
|
DynamicObject yem_em_substitution = SubRelationUtils.queryAssemblyrep(number, ccode, "Par", isComplete, yem_completetime);
|
|
if (yem_em_substitution != null) {
|
|
String yemTnumber = yem_em_substitution.getString("yem_entryentity.yem_repnumber");
|
|
String yemTname = yem_em_substitution.getString("yem_entryentity.yem_repname");
|
|
if (isassat(yemTnumber)) {
|
|
list.add(new TreeNode(number, yemTnumber, yemTnumber + " " + yemTname, true));
|
|
} else {
|
|
list.add(new TreeNode(number, yemTnumber, yemTnumber + " " + yemTname));
|
|
}
|
|
} else {
|
|
//是否替换《总成间零件替换关系》
|
|
DynamicObject pra = SubRelationUtils.queryassemtopart(number, ccode, "", "pra", yem_replacement, isComplete, yem_completetime);
|
|
if (pra != null) {
|
|
String yem_repno = pra.getString("yem_entryentity.yem_repno");
|
|
String yem_repnoname = pra.getString("yem_entryentity.yem_repnoname");
|
|
if (isassat(yem_repno)) {
|
|
list.add(new TreeNode(number, yem_repno, yem_repno + " " + yem_repnoname, true));
|
|
} else {
|
|
list.add(new TreeNode(number, yem_repno, yem_repno + " " + yem_repnoname));
|
|
}
|
|
} else {
|
|
if (isassat(ccode)) {
|
|
list.add(new TreeNode(number, ccode, ccode + " " + ccodename, true));
|
|
} else {
|
|
list.add(new TreeNode(number, ccode, ccode + " " + ccodename));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
list.add(new TreeNode(number, "0", "无数据"));
|
|
}
|
|
if (StringUtils.isNotEmpty(complete)) {
|
|
QFilter qFilterdev = new QFilter("yem_framenumber", QCP.equals, complete);
|
|
DynamicObject billType = BusinessDataServiceHelper.loadSingle("yem_em_devicefiles",
|
|
"id,yem_retrofitting,yem_albumassemblyno", qFilterdev.toArray());
|
|
if (billType != null) {
|
|
Map<String, DynamicObject> jzlist = new HashMap<>();
|
|
DynamicObjectCollection yem_retrofitting = billType.getDynamicObjectCollection("yem_retrofitting");
|
|
if (yem_retrofitting.size() > 0) {
|
|
for (int i = 0; i < yem_retrofitting.size(); i++) {
|
|
DynamicObject dynamicObject = yem_retrofitting.get(i);
|
|
DynamicObject yem_albumassemblyno = dynamicObject.getDynamicObject("yem_albumassemblyno");
|
|
if (yem_albumassemblyno != null) {
|
|
String number1 = yem_albumassemblyno.getString("number");
|
|
if (!jzlist.containsKey(number1)) {
|
|
jzlist.put(number1, yem_albumassemblyno);
|
|
}
|
|
}
|
|
}
|
|
if (jzlist.size() > 0) {
|
|
for (String key : jzlist.keySet()) {
|
|
DynamicObject dynamicObject = jzlist.get(key);
|
|
list.add(new TreeNode(number, key + "_123245678910", key + " " + dynamicObject.getString("name")));
|
|
}
|
|
}
|
|
if (yem_retrofitting.size() > 0 && jzlist.size() != yem_retrofitting.size()) {
|
|
list.add(new TreeNode(number, "_123245678910", "加装明细"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//总成
|
|
if (type.equals("atlas")) {
|
|
yem_replacement = "Sub";
|
|
if (isassat(number)) {
|
|
list.add(new TreeNode(null, number, number + " " + name, true));
|
|
} else {
|
|
list.add(new TreeNode(null, number, number + " " + name));
|
|
}
|
|
DynamicObject yem_em_assatlasdet = BusinessDataServiceHelper.loadSingle(etcId, "yem_em_assatlasdet");
|
|
if (yem_em_assatlasdet != null) {
|
|
DynamicObjectCollection dynamicObjectCollection = yem_em_assatlasdet.getDynamicObjectCollection("yem_entryentity");
|
|
for (int i = 0; i < dynamicObjectCollection.size(); i++) {
|
|
DynamicObject dynamicObject = dynamicObjectCollection.get(i);
|
|
//是否部件
|
|
boolean yemIscomp = dynamicObject.getBoolean("yem_iscomp");
|
|
if (yemIscomp) {
|
|
String yemPartnumber = dynamicObject.getString("yem_partnumber");
|
|
String yemPartname = dynamicObject.getString("yem_partname");
|
|
//是否替换 查询《替换关系》
|
|
boolean yemPartisreplace = dynamicObject.getBoolean("yem_partisreplace");
|
|
if (yemPartisreplace) {
|
|
//查询部件替换关系
|
|
DynamicObject yem_em_substitution = SubRelationUtils.queryAssemblyrep(yem_em_assatlasdet.getString("number"), yemPartnumber, "Par", isComplete, yem_completetime);
|
|
if (yem_em_substitution != null) {
|
|
String yemTnumber = yem_em_substitution.getString("yem_entryentity.yem_repnumber");
|
|
String yemTname = yem_em_substitution.getString("yem_entryentity.yem_repname");
|
|
if (isassat(yemTnumber)) {
|
|
list.add(new TreeNode(number, yemTnumber, yemTnumber + " " + yemTname, true));
|
|
} else {
|
|
list.add(new TreeNode(number, yemTnumber, yemTnumber + " " + yemTname));
|
|
}
|
|
}
|
|
} else {
|
|
//是否替换《总成间零件替换关系》
|
|
DynamicObject pra = SubRelationUtils.queryassemtopart(number, yemPartnumber, "", "pra", yem_replacement, isComplete, yem_completetime);
|
|
if (pra != null) {
|
|
String yem_repno = pra.getString("yem_entryentity.yem_repno");
|
|
String yem_repnoname = pra.getString("yem_entryentity.yem_repnoname");
|
|
if (isassat(yem_repno)) {
|
|
list.add(new TreeNode(number, yem_repno, yem_repno + " " + yem_repnoname, true));
|
|
} else {
|
|
list.add(new TreeNode(number, yem_repno, yem_repno + " " + yem_repnoname));
|
|
}
|
|
} else {
|
|
if (isassat(yemPartnumber)) {
|
|
list.add(new TreeNode(number, yemPartnumber, yemPartnumber + " " + yemPartname, true));
|
|
} else {
|
|
list.add(new TreeNode(number, yemPartnumber, yemPartnumber + " " + yemPartname));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
TreeView treeView = getControl("yem_treeviewap");
|
|
treeView.addNodes(list);
|
|
if (Cliknode == null) {
|
|
Cliknode = GetLastNode(list, etcId);
|
|
}
|
|
if (Cliknode != null) {
|
|
treeView.focusNode(Cliknode);
|
|
treeView.checkNode(Cliknode);
|
|
String nodeid = Cliknode.getId();
|
|
treeView.expand(nodeid);
|
|
treeView.showNode(nodeid);
|
|
treeView.treeNodeClick(Cliknode.getParentid(), Cliknode.getId());
|
|
selectid = nodeid;
|
|
Getgroupdata(nodeid, "1", etcId, name);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 获取树一级节点
|
|
*
|
|
* @param list
|
|
* @param etcId
|
|
* @return
|
|
*/
|
|
private TreeNode GetLastNode(List<TreeNode> list, String etcId) {
|
|
TreeNode node = null;
|
|
if (type.equals("atlas")) {
|
|
if (list.size() > 0) {
|
|
node = list.get(0);
|
|
}
|
|
}
|
|
if (type.equals("assets")) {
|
|
if (list.size() > 1) {
|
|
node = list.get(1);
|
|
}
|
|
}
|
|
return node;
|
|
}
|
|
|
|
@Override
|
|
public void afterDoOperation(AfterDoOperationEventArgs e) {
|
|
super.afterDoOperation(e);
|
|
IPageCache cache = this.getPageCache();
|
|
if (cache.get("yem_replacement") != null) {
|
|
yem_replacement = cache.get("yem_replacement").toString();
|
|
}
|
|
if (cache.get("complete") != null) {
|
|
complete = cache.get("complete").toString();
|
|
}
|
|
if (cache.get("isComplete") != null) {
|
|
isComplete = Boolean.valueOf(cache.get("isComplete"));
|
|
}
|
|
Date yem_completetime = null;
|
|
if (cache.get("yem_analysistdate") != null) {
|
|
try {
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 定义日期格式
|
|
yem_completetime = sdf.parse(cache.get("yem_analysistdate").toString());
|
|
} catch (ParseException em) {
|
|
em.printStackTrace();
|
|
}
|
|
}
|
|
IDataModel model = this.getModel();
|
|
String key = e.getOperateKey();
|
|
FormDataModel billModel = (FormDataModel) this.getModel();
|
|
IPageCache pageCache = this.getPageCache();
|
|
if ("repgroup".equals(key)) {
|
|
TreeView treeView = this.getControl("yem_treeviewap");
|
|
Map<String, Object> focusNode = treeView.getTreeState().getFocusNode();
|
|
String id = focusNode.get("id").toString();
|
|
BillList billList = this.getControl("yem_billlistap");
|
|
if (billList != null) {
|
|
ListSelectedRowCollection coll = billList.getSelectedRows();
|
|
if (coll.size() > 0) {
|
|
ListSelectedRow rowlist = coll.get(0);
|
|
if (rowlist != null) {
|
|
String KeyValue = rowlist.getPrimaryKeyValue().toString();
|
|
DynamicObject yem_em_assatlaspartdet = BusinessDataServiceHelper.loadSingle(KeyValue, "yem_em_assatlaspartdet");
|
|
if (yem_em_assatlaspartdet != null) {
|
|
String number = yem_em_assatlaspartdet.getString("number");
|
|
long ReplaceGroupid = SubRelationUtils.queryReplaceGroup(id, number, isComplete, yem_completetime);
|
|
if (ReplaceGroupid > 0) {
|
|
BillShowParameter parameter = new BillShowParameter();
|
|
parameter.setPkId(ReplaceGroupid);
|
|
parameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
|
|
parameter.setFormId("yem_em_replacementgroup");
|
|
parameter.setStatus(OperationStatus.VIEW);
|
|
// Map<String, Object> entryInfo = new HashMap<String, Object>();
|
|
//// entryInfo.put("key", "value");
|
|
// parameter.setCustomParams(entryInfo);
|
|
this.getView().showForm(parameter);
|
|
} else {
|
|
this.getView().showErrorNotification("未获取到对应的替换组信息!");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 根据设备部件ID
|
|
* 1.获取设备部件图片
|
|
*
|
|
* @param nodeid 设备部件编码
|
|
*/
|
|
private void Getgroupdata(String nodeid, String type, String etcId, String name) {
|
|
if (!nodeid.equals("123245678910")) {
|
|
QFilter qFilter = new QFilter("number", QCP.equals, nodeid);
|
|
String selectfields = DynamicObjectUtil.getSelectfields("yem_em_assatlasdet");
|
|
selectfields = DynamicObjectUtil.getEntrySelectfields(selectfields, "yem_em_assatlasdet", "yem_attdetail");
|
|
DynamicObject component = BusinessDataServiceHelper.loadSingle("yem_em_assatlasdet", selectfields, qFilter.toArray());
|
|
if (component != null) {
|
|
this.getView().getModel().setValue("yem_ecataloggroup", component);
|
|
// String imageUrls = component.getString("yem_imageurl");
|
|
String imageUrls = initLatestImage(component);
|
|
Setpicturefield(imageUrls);//构建图片
|
|
if (StringUtils.isNotEmpty(imageUrls)) {
|
|
String[] urls = imageUrls.split(";");
|
|
if (urls.length > 0) {
|
|
this.getView().getModel().setValue("yem_picture1", urls[0]);
|
|
}
|
|
} else {
|
|
this.getView().getModel().setValue("yem_picture1", null);
|
|
}
|
|
this.getView().updateView("yem_flexpanelap6");
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 4.图册查询显示最新断点时间的图片
|
|
* @param component
|
|
* @return
|
|
*/
|
|
private String initLatestImage(DynamicObject component) {
|
|
DynamicObjectCollection collection = component.getDynamicObjectCollection("yem_attdetail");
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
Map<String, List<DynamicObject>> map = new HashMap<>();
|
|
if (isComplete) {
|
|
DynamicObject devicefiles = BusinessDataServiceHelper.loadSingle("yem_em_devicefiles", new QFilter[]{new QFilter("number", "=", complete)});
|
|
if (devicefiles == null) return "";
|
|
Date analysistdate = devicefiles.getDate("yem_analysistdate");
|
|
for (DynamicObject dynamicObject : collection) {
|
|
Date breakpointime = dynamicObject.getDate("yem_breakpointime");
|
|
if (breakpointime.after(analysistdate)) {
|
|
String key = sdf.format(breakpointime);
|
|
List<DynamicObject> list;
|
|
if (map.containsKey(key)) {
|
|
list = map.get(key);
|
|
} else {
|
|
list = new ArrayList<>();
|
|
}
|
|
list.add(dynamicObject);
|
|
map.put(key, list);
|
|
}
|
|
}
|
|
} else {
|
|
for (DynamicObject dynamicObject : collection) {
|
|
Date breakpointime = dynamicObject.getDate("yem_breakpointime");
|
|
if (YEM.isEmpty(breakpointime)) continue;
|
|
String key = sdf.format(breakpointime);
|
|
List<DynamicObject> list;
|
|
if (map.containsKey(key)) {
|
|
list = map.get(key);
|
|
} else {
|
|
list = new ArrayList<>();
|
|
}
|
|
list.add(dynamicObject);
|
|
map.put(key, list);
|
|
}
|
|
}
|
|
|
|
List<String> keys = new ArrayList<>(map.keySet());
|
|
keys.sort(Comparator.comparing(key -> {
|
|
try {
|
|
return sdf.parse(key);
|
|
} catch (ParseException e) {
|
|
return null;
|
|
}
|
|
}, Comparator.reverseOrder()));
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
if (!keys.isEmpty()) {
|
|
List<DynamicObject> list = map.get(keys.get(0));
|
|
for (DynamicObject dynamicObject : list) {
|
|
String attaddress = dynamicObject.getString("yem_attaddress");
|
|
sb.append(attaddress).append(";");
|
|
}
|
|
}
|
|
return sb.toString();
|
|
}
|
|
|
|
@Override
|
|
public void cellClick(CellClickEvent e) {
|
|
CardEntry cardEntry = (CardEntry) e.getSource();
|
|
int row = e.getRow();
|
|
String key = cardEntry.getKey();
|
|
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
|
if (cardEntry.getEntryKey().equals("yem_entryentity1")) {
|
|
String yem_picturefield = "";
|
|
DynamicObjectCollection yem_entryentity1 = dataEntity.getDynamicObjectCollection("yem_entryentity1");
|
|
if (yem_entryentity1.size() > 0) {
|
|
DynamicObject entryentity = yem_entryentity1.get(row);
|
|
if (entryentity != null) {
|
|
yem_picturefield = entryentity.getString("yem_picturefield");
|
|
}
|
|
}
|
|
this.getView().getModel().setValue("yem_picture1", yem_picturefield);
|
|
}
|
|
if (cardEntry.getEntryKey().equals("yem_entryentity")) {
|
|
billlistap(dataEntity, row);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 分局点击图册号给单据体行赋值背景色
|
|
*
|
|
* @param dataEntity 整单动态对象
|
|
* @param row 行号
|
|
*/
|
|
public void billlistap(DynamicObject dataEntity, int row) {
|
|
DynamicObjectCollection yem_entryentity = dataEntity.getDynamicObjectCollection("yem_entryentity");
|
|
if (yem_entryentity.size() > 0) {
|
|
DynamicObject entryentity = yem_entryentity.get(row);
|
|
if (entryentity != null) {
|
|
atlasid = entryentity.getString("yem_atlasid");
|
|
}
|
|
}
|
|
BillList billList = this.getControl("yem_billlistap");
|
|
List<IListColumn> columns = billList.getShowListColumns();//获取页面显示的字段列表
|
|
List<CellStyle> cslist = new ArrayList();
|
|
ListSelectedRowCollection rowList = billList.getCurrentListAllRowCollection();
|
|
ListSelectedRow ss = billList.getCurrentSelectedRowInfo();
|
|
for (int x = 0; x < rowList.size(); x++) {
|
|
String rowListKey = rowList.get(x).getPrimaryKeyValue().toString();
|
|
if (rowListKey.equals(atlasid)) {
|
|
//给行添加背景色
|
|
for (IListColumn lc : columns) {
|
|
CellStyle cs = new CellStyle();
|
|
cs.setFieldKey(lc.getListFieldKey());
|
|
cs.setBackColor("#45cdff");
|
|
cs.setRow(x);
|
|
cslist.add(cs);
|
|
}
|
|
} else {
|
|
//给行添加背景色
|
|
for (IListColumn lc : columns) {
|
|
CellStyle cs = new CellStyle();
|
|
cs.setFieldKey(lc.getListFieldKey());
|
|
cs.setBackColor("white");
|
|
cs.setRow(x);
|
|
cslist.add(cs);
|
|
}
|
|
}
|
|
}
|
|
billList.setCellStyle(cslist);
|
|
}
|
|
|
|
@Override
|
|
public void cellDoubleClick(CellClickEvent cellClickEvent) {
|
|
|
|
}
|
|
|
|
/**
|
|
* 构建图片单据体
|
|
*
|
|
* @param imageUrls 图片URL字符串
|
|
*/
|
|
public void Setpicturefield(String imageUrls) {
|
|
//获取卡片控件
|
|
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
|
DynamicObjectCollection yem_entryentity = dataEntity.getDynamicObjectCollection("yem_entryentity1");
|
|
yem_entryentity.clear();
|
|
String[] data = imageUrls.split(";");
|
|
if (data.length > 0) {
|
|
for (int i = 0; i < data.length; i++) {
|
|
DynamicObject entryentity = yem_entryentity.addNew();
|
|
entryentity.set("yem_picturefield", data[i]);
|
|
}
|
|
}
|
|
this.getView().updateView("yem_entryentity1");
|
|
}
|
|
|
|
|
|
/**
|
|
* 树点击事件
|
|
*
|
|
* @param evt 上下文
|
|
*/
|
|
@Override
|
|
public void treeNodeClick(TreeNodeEvent evt) {
|
|
TreeNodeClickListener.super.treeNodeClick(evt);
|
|
TreeView treeView = (TreeView) evt.getSource();
|
|
IPageCache cache = this.getPageCache();
|
|
if (treeView.getKey().equals("yem_treeviewap")) {
|
|
String selectNodeId = evt.getNodeId().toString();
|
|
ParentNodeId = evt.getParentNodeId().toString();
|
|
if (StringUtils.isNotEmpty(selectNodeId)) {
|
|
if (cache.get("complete") != null) {
|
|
complete = cache.get("complete").toString();
|
|
}
|
|
if (cache.get("isComplete") != null) {
|
|
isComplete = Boolean.valueOf(cache.get("isComplete"));
|
|
}
|
|
if (cache.get("yem_analysistdate") != null) {
|
|
try {
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 定义日期格式
|
|
yem_completetime = sdf.parse(cache.get("yem_analysistdate").toString());
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
selectid = selectNodeId;
|
|
Getgroupdata(selectNodeId, "0", "", "");
|
|
this.getView().updateView("yem_billlistap");
|
|
Getsub(treeView, selectNodeId);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 根据编码查询是否有下级
|
|
*
|
|
* @param treeView 树模型00
|
|
* @param selectNodeId 点击节点编码
|
|
*/
|
|
public void Getsub(TreeView treeView, String selectNodeId) {
|
|
IPageCache cache = this.getPageCache();
|
|
if (cache.get("yem_replacement") != null) {
|
|
yem_replacement = cache.get("yem_replacement").toString();
|
|
}
|
|
if (cache.get("complete") != null) {
|
|
complete = cache.get("complete").toString();
|
|
}
|
|
if (cache.get("isComplete") != null) {
|
|
isComplete = Boolean.valueOf(cache.get("isComplete"));
|
|
}
|
|
|
|
if (cache.get("yem_analysistdate") != null) {
|
|
try {
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 定义日期格式
|
|
yem_completetime = sdf.parse(cache.get("yem_analysistdate").toString());
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
// if (type.equals("assets")) {
|
|
QFilter qFilter = new QFilter("number", QCP.equals, selectNodeId);
|
|
qFilter.and(new QFilter("enable", QCP.equals, "1"));
|
|
qFilter.and(new QFilter("yem_entryentity.yem_iscomp", QCP.equals, true));
|
|
qFilter.and(new QFilter("yem_entryentity.yem_partisreplace", QCP.equals, false));
|
|
DynamicObjectCollection yem_em_assatlasdet = QueryServiceHelper.query("yem_em_assatlasdet",
|
|
"id,yem_entryentity.yem_partnumber,yem_entryentity.yem_partname", new QFilter[]{qFilter});
|
|
if (yem_em_assatlasdet.size() > 0) {
|
|
for (int i = 0; i < yem_em_assatlasdet.size(); i++) {
|
|
DynamicObject dynamicObject = yem_em_assatlasdet.get(i);
|
|
String yem_partnumber = dynamicObject.getString("yem_entryentity.yem_partnumber");
|
|
String yem_partname = dynamicObject.getString("yem_entryentity.yem_partname");
|
|
TreeNode node = null;
|
|
//查询部件替换关系
|
|
DynamicObject yem_em_substitution = SubRelationUtils.queryAssemblyrep(selectNodeId, yem_partnumber, "Par", isComplete, yem_completetime);
|
|
if (yem_em_substitution != null) {
|
|
String yemTnumber = yem_em_substitution.getString("yem_entryentity.yem_repnumber");
|
|
String yemTname = yem_em_substitution.getString("yem_entryentity.yem_repname");
|
|
if (isassat(yemTnumber)) {
|
|
node = new TreeNode(selectNodeId, yemTnumber, yemTnumber + " " + yemTname, true);
|
|
} else {
|
|
node = new TreeNode(selectNodeId, yemTnumber, yemTnumber + " " + yemTname);
|
|
}
|
|
} else {
|
|
//是否替换《总成间零件替换关系》
|
|
DynamicObject pra = SubRelationUtils.queryassemtopart(selectNodeId, yem_partnumber, "", "pra", yem_replacement, isComplete, yem_completetime);
|
|
if (pra != null) {
|
|
String yem_repno = pra.getString("yem_entryentity.yem_repno");
|
|
String yem_repnoname = pra.getString("yem_entryentity.yem_repnoname");
|
|
if (isassat(yem_repno)) {
|
|
node = new TreeNode(selectNodeId, yem_repno, yem_repno + " " + yem_repnoname, true);
|
|
} else {
|
|
node = new TreeNode(selectNodeId, yem_repno, yem_repno + " " + yem_repnoname);
|
|
}
|
|
} else {
|
|
if (isassat(yem_partnumber)) {
|
|
node = new TreeNode(selectNodeId, yem_partnumber, yem_partnumber + " " + yem_partname, true);
|
|
} else {
|
|
node = new TreeNode(selectNodeId, yem_partnumber, yem_partnumber + " " + yem_partname);
|
|
}
|
|
}
|
|
}
|
|
treeView.addNode(node);
|
|
}
|
|
treeView.showNode(selectNodeId);
|
|
this.getView().updateView("yem_treeviewap");
|
|
}
|
|
// }
|
|
}
|
|
|
|
@Override
|
|
public void beforeBindData(BeforeBindDataEvent beforeBindDataEvent) {
|
|
BillList billList = this.getControl("yem_billlistap");
|
|
billList.addCreateListDataProviderListener(new CreateListDataProviderListener() {
|
|
@Override
|
|
public void createListDataProvider(BeforeCreateListDataProviderArgs args) {
|
|
args.setListDataProvider(new BillListDataProvider());
|
|
}
|
|
});
|
|
}
|
|
|
|
// 内部类,为单据列表控件添加值
|
|
public class BillListDataProvider extends ListDataProvider {
|
|
@Override
|
|
public DynamicObjectCollection getData(int start, int limit) {
|
|
if (selectid.contains("_123245678910")) {
|
|
String[] selec = selectid.split("_");
|
|
String selectfield = DynamicObjectUtil.getSelectfields("yem_em_devicefiles", false);
|
|
String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_em_devicefiles", "yem_retrofitting", false);
|
|
QFilter qFilterdev = new QFilter("yem_framenumber", QCP.equals, complete);
|
|
if (selec[0].length() > 0) {
|
|
qFilterdev.and(new QFilter("yem_retrofitting.yem_albumassemblyno.number", QCP.equals, selec[0]));
|
|
} else {
|
|
qFilterdev.and(new QFilter("yem_retrofitting.yem_albumassemblyno.number", QCP.equals, null));
|
|
}
|
|
DynamicObjectCollection yem_retrofitting = QueryServiceHelper.query("yem_em_devicefiles", selectfields, new QFilter[]{qFilterdev}, null);
|
|
if (yem_retrofitting.size() > 0) {
|
|
//重新构建Data
|
|
DynamicObjectCollection data = reconData(yem_retrofitting);
|
|
getQueryResult().setCollection(data);
|
|
getQueryResult().setDataCount(data.size());
|
|
Setistcardviewap(data);
|
|
return data;
|
|
}
|
|
|
|
} else {
|
|
String selectFieids = "id,number,name,yem_atlasno,yem_partenname,yem_partqty,yem_partisreplace,yem_partremark,yem_partweight," +
|
|
"yem_price,yem_qtytext,yem_pricetext,yem_weighttext,yem_isrepgroup";
|
|
List getassatlaspartdetlist = getassatlaspartdet();
|
|
QFilter qFilter = new QFilter("id", QCP.in, getassatlaspartdetlist);
|
|
DynamicObjectCollection data = QueryServiceHelper.query("yem_em_assatlaspartdet", selectFieids, new QFilter[]{qFilter}, "length(yem_atlasno),yem_atlasno");
|
|
getQueryResult().setCollection(data);
|
|
getQueryResult().setDataCount(data.size());
|
|
// 把列数据返回
|
|
DynamicObjectCollection datas = DealData(data);
|
|
Setistcardviewap(datas);
|
|
return datas;
|
|
}
|
|
return EmptData();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 给图号单据体赋值
|
|
*
|
|
* @param data
|
|
*/
|
|
public void Setistcardviewap(DynamicObjectCollection data) {
|
|
//获取卡片控件
|
|
((Label) this.getControl("yem_labelap2")).setText("共" + data.size() + "条");
|
|
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
|
DynamicObjectCollection yem_entryentity = dataEntity.getDynamicObjectCollection("yem_entryentity");
|
|
yem_entryentity.clear();
|
|
if (data.size() > 0) {
|
|
for (int i = 0; i < data.size(); i++) {
|
|
DynamicObject dataObject = data.get(i);
|
|
DynamicObject entryentity = yem_entryentity.addNew();
|
|
String yem_atlasno = dataObject.getString("yem_atlasno");
|
|
if (yem_atlasno.length() > 0) {
|
|
entryentity.set("yem_atlasnumber", dataObject.get("yem_atlasno"));
|
|
entryentity.set("yem_atlasid", dataObject.get("id"));
|
|
}
|
|
}
|
|
}
|
|
this.getView().updateView("yem_entryentity");
|
|
}
|
|
|
|
public DynamicObjectCollection EmptData() {
|
|
DynamicObjectCollection NewdataCollection = new DynamicObjectCollection();
|
|
DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("yem_em_asspart");
|
|
DynamicObject newDynObject = new DynamicObject(dynamicObject.getDynamicObjectType());
|
|
NewdataCollection.add(newDynObject);
|
|
return NewdataCollection;
|
|
}
|
|
|
|
/**
|
|
* 重新构建Data
|
|
*
|
|
* @param data 待处理数据包
|
|
* @return 返回数据包
|
|
*/
|
|
public DynamicObjectCollection reconData(DynamicObjectCollection data) {
|
|
DynamicObjectCollection NewdataCollection = new DynamicObjectCollection();
|
|
DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("yem_em_assatlaspartdet");
|
|
for (int i = 0; i < data.size(); i++) {
|
|
DynamicObject dynamicObject1 = data.get(i);
|
|
long aLong = dynamicObject1.getLong("yem_retrofitting.yem_materiel");
|
|
DynamicObject dynamicObject2 = BusinessDataServiceHelper.loadSingle(aLong, "bd_material");
|
|
DynamicObject newDynObject = new DynamicObject(dynamicObject.getDynamicObjectType());
|
|
newDynObject.set("yem_atlasno", i + 1);//图册编号
|
|
newDynObject.set("number", dynamicObject2.getString("number"));//零件编号
|
|
newDynObject.set("name", dynamicObject2.getString("name"));//零件名称
|
|
newDynObject.set("yem_partenname", dynamicObject1.getString("yem_retrofitting.yem_enname"));//英文名称
|
|
BigDecimal yem_qty1 = dynamicObject1.getBigDecimal("yem_retrofitting.yem_qty1");
|
|
newDynObject.set("yem_qtytext", yem_qty1.setScale(4, BigDecimal.ROUND_HALF_UP).toString());//数量
|
|
newDynObject.set("yem_partremark", dynamicObject1.getString("yem_retrofitting.yem_desc"));//备注
|
|
NewdataCollection.add(newDynObject);
|
|
}
|
|
return NewdataCollection;
|
|
}
|
|
|
|
/**
|
|
* 处理特殊逻辑
|
|
* 1. 数量
|
|
* 2. 替换件
|
|
*
|
|
* @param data 查询的数据集合
|
|
* @return 返回数据包
|
|
*/
|
|
public DynamicObjectCollection DealData(DynamicObjectCollection data) {
|
|
IPageCache cache = this.getPageCache();
|
|
if (cache.get("yem_replacement") != null) {
|
|
yem_replacement = cache.get("yem_replacement").toString();
|
|
}
|
|
if (cache.get("complete") != null) {
|
|
complete = cache.get("complete").toString();
|
|
}
|
|
if (cache.get("isComplete") != null) {
|
|
isComplete = Boolean.valueOf(cache.get("isComplete"));
|
|
}
|
|
Date yem_completetime = null;
|
|
if (cache.get("yem_analysistdate") != null) {
|
|
try {
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 定义日期格式
|
|
yem_completetime = sdf.parse(cache.get("yem_analysistdate").toString());
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
for (int i = 0; i < data.size(); i++) {
|
|
DynamicObject newDynObject = data.get(i);
|
|
//通过零件编码过滤出替换零件编码
|
|
String yem_pnumber = newDynObject.getString("number");
|
|
//是否替换
|
|
// DynamicObject yem_em_substitution = SubRelationUtils.queryAssemblyrep(selectid, yem_pnumber, yem_replacement, isComplete, yem_completetime);
|
|
DynamicObject yem_em_substitution = SubRelationUtils.queryAssemblyrep(selectid, yem_pnumber, "Sub", isComplete, yem_completetime);
|
|
if (yem_em_substitution != null) {
|
|
String yem_replace = yem_em_substitution.getString("yem_entryentity.yem_replace");
|
|
if (yem_replace.equals("E")) {
|
|
newDynObject.set("number", yem_em_substitution.getString("yem_entryentity.yem_onumber"));
|
|
newDynObject.set("name", yem_em_substitution.getString("yem_entryentity.yem_oname"));
|
|
newDynObject.set("yem_partenname", yem_em_substitution.getString("yem_entryentity.yem_oenname"));
|
|
newDynObject.set("yem_qtytext", yem_em_substitution.getString("yem_entryentity.yem_oqty"));
|
|
} else {
|
|
newDynObject.set("number", yem_em_substitution.getString("yem_entryentity.yem_repnumber"));
|
|
newDynObject.set("name", yem_em_substitution.getString("yem_entryentity.yem_repname"));
|
|
newDynObject.set("yem_partenname", yem_em_substitution.getString("yem_entryentity.yem_repenname"));
|
|
newDynObject.set("yem_qtytext", yem_em_substitution.getString("yem_entryentity.yem_repenqty"));
|
|
}
|
|
|
|
newDynObject.set("yem_partisreplace", true);
|
|
} else {
|
|
//总成间零件替换关系
|
|
// DynamicObject pra = SubRelationUtils.queryassemtopart(ParentNodeId, selectid, yem_pnumber, "rep", "Sub", isComplete, yem_completetime);
|
|
DynamicObjectCollection pra = SubRelationUtils.queryassemtopartAll(ParentNodeId, selectid, yem_pnumber, "rep", yem_replacement, isComplete, yem_completetime);
|
|
if (pra.size() > 0) {
|
|
newDynObject.set("yem_partisreplace", true);
|
|
} else {
|
|
newDynObject.set("yem_partisreplace", false);
|
|
}
|
|
}
|
|
|
|
if (isComplete) {
|
|
// DynamicObject object = SubRelationUtils.querynoAssemblyrep(selectid, yem_pnumber, "Sub", isComplete, yem_completetime);
|
|
// if (object != null) {
|
|
// newDynObject.set("number", object.getString("yem_entryentity.yem_onumber"));
|
|
// newDynObject.set("name", object.getString("yem_entryentity.yem_oname"));
|
|
// newDynObject.set("yem_partenname", object.getString("yem_entryentity.yem_oenname"));
|
|
// newDynObject.set("yem_qtytext", object.getString("yem_entryentity.yem_oqty"));
|
|
// newDynObject.set("yem_partisreplace", false);
|
|
// }
|
|
}
|
|
//替换组
|
|
long ReplaceGroupid = SubRelationUtils.queryReplaceGroup(selectid, yem_pnumber, isComplete, yem_completetime);
|
|
if (ReplaceGroupid > 0) {
|
|
newDynObject.set("yem_isrepgroup", true);
|
|
} else {
|
|
newDynObject.set("yem_isrepgroup", false);
|
|
}
|
|
BigDecimal yem_qty = newDynObject.getBigDecimal("yem_partqty");
|
|
newDynObject.set("yem_qtytext", yem_qty.setScale(4, RoundingMode.HALF_UP));
|
|
newDynObject.set("yem_weighttext", newDynObject.getBigDecimal("yem_partweight").setScale(4, RoundingMode.HALF_UP));
|
|
newDynObject.set("yem_pricetext", newDynObject.getBigDecimal("yem_price").setScale(4, RoundingMode.HALF_UP));
|
|
}
|
|
return data;
|
|
}
|
|
|
|
public boolean isassat(String etcId) {
|
|
QFilter qFilter = new QFilter("number", QCP.equals, etcId);
|
|
qFilter.and(new QFilter("yem_entryentity.yem_iscomp", QCP.equals, true));
|
|
DynamicObjectCollection query = QueryServiceHelper.query("yem_em_assatlasdet", "id", qFilter.toArray(), null);
|
|
if (query.size() > 0) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* 总成查询图册部件明细分录
|
|
*
|
|
* @return
|
|
*/
|
|
public List getassatlaspartdet() {
|
|
List list = new ArrayList<>();
|
|
List listreplace = new ArrayList<>();
|
|
listreplace.add("A");
|
|
listreplace.add("B");
|
|
IPageCache cache = this.getPageCache();
|
|
if (cache.get("yem_replacement") != null) {
|
|
yem_replacement = cache.get("yem_replacement").toString();
|
|
}
|
|
if (cache.get("complete") != null) {
|
|
complete = cache.get("complete").toString();
|
|
}
|
|
if (cache.get("isComplete") != null) {
|
|
isComplete = Boolean.valueOf(cache.get("isComplete"));
|
|
}
|
|
if (cache.get("yem_analysistdate") != null) {
|
|
try {
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 定义日期格式
|
|
yem_completetime = sdf.parse(cache.get("yem_analysistdate").toString());
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
QFilter qFilters = new QFilter("number", QCP.equals, selectid);
|
|
if (isComplete) {
|
|
// qFilters.and(new QFilter("yem_entryentity.yem_replace", QCP.not_in, listreplace));
|
|
List getassatlasdet = AtlasUtils.getassatlasdet(selectid, yem_completetime);
|
|
if (getassatlasdet.size() > 0) {
|
|
qFilters.and(new QFilter("yem_entryentity.yem_partnumber", QCP.not_in, getassatlasdet));
|
|
}
|
|
} else {
|
|
qFilters.and(new QFilter("yem_entryentity.yem_partisreplace", QCP.equals, false));
|
|
}
|
|
DynamicObjectCollection yem_em_assatlasdet = QueryServiceHelper.query("yem_em_assatlasdet",
|
|
"yem_entryentity.id,yem_entryentity.yem_replace,yem_entryentity.yem_completetime,yem_entryentity.yem_partnumber"
|
|
, new QFilter[]{qFilters});
|
|
for (int i = 0; i < yem_em_assatlasdet.size(); i++) {
|
|
DynamicObject object = yem_em_assatlasdet.get(i);
|
|
long yem_entryentityid = object.getLong("yem_entryentity.id");
|
|
if (isComplete) {
|
|
String yem_replace = object.getString("yem_entryentity.yem_replace");
|
|
Date completetime = object.getDate("yem_entryentity.yem_completetime");
|
|
if (yem_replace.length() > 0) {
|
|
//新增
|
|
if (yem_replace.equals("D")) {
|
|
// if(yem_completetime.after(completetime)){
|
|
list.add(yem_entryentityid);
|
|
// }
|
|
}
|
|
if (yem_replace.equals("C") || yem_replace.equals("E")) {
|
|
if (completetime == null) {
|
|
list.add(yem_entryentityid);
|
|
} else {
|
|
if (yem_completetime.before(completetime) && completetime.before(new Date())) {
|
|
list.add(yem_entryentityid);
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
list.add(yem_entryentityid);
|
|
}
|
|
} else {
|
|
list.add(yem_entryentityid);
|
|
}
|
|
}
|
|
return list;
|
|
}
|
|
}
|