Compare commits
2 Commits
8ea0f2ec1f
...
4ca9d1426c
Author | SHA1 | Date | |
---|---|---|---|
![]() |
4ca9d1426c | ||
![]() |
08e2229c29 |
@ -12,6 +12,8 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.yem.em.task.GenerateReplaceRelationshipTaskEdit.updateIsCompAndIsUp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author zhouc
|
* @author zhouc
|
||||||
* @date 2023/11/2 18:14
|
* @date 2023/11/2 18:14
|
||||||
@ -38,49 +40,7 @@ public class AssAtlasdetAuditOpEdit extends AbstractOperationServicePlugIn {
|
|||||||
if (e.getDataEntities() != null && e.getDataEntities().length != 0) {
|
if (e.getDataEntities() != null && e.getDataEntities().length != 0) {
|
||||||
DynamicObject[] bills = e.getDataEntities();
|
DynamicObject[] bills = e.getDataEntities();
|
||||||
for (DynamicObject bill : bills) {
|
for (DynamicObject bill : bills) {
|
||||||
String number = bill.getString("number");
|
updateIsCompAndIsUp(bill);
|
||||||
QFilter qFilter = new QFilter("enable", QCP.equals, "1");//
|
|
||||||
qFilter.and(new QFilter("yem_entryentity.yem_partnumber", QCP.equals, number));//
|
|
||||||
DynamicObject[] yem_em_assatlasdet = BusinessDataServiceHelper.load("yem_em_assatlasdet", "id"
|
|
||||||
, new QFilter[]{qFilter}, null);
|
|
||||||
if (yem_em_assatlasdet.length > 0) {
|
|
||||||
bill.set("yem_issup", true);
|
|
||||||
for (int i = 0; i < yem_em_assatlasdet.length; i++) {
|
|
||||||
DynamicObject assatlasdet = yem_em_assatlasdet[i];
|
|
||||||
//根据id加载所有数据
|
|
||||||
DynamicObject component = BusinessDataServiceHelper.loadSingle(assatlasdet.getLong("id"), "yem_em_assatlasdet");
|
|
||||||
DynamicObjectCollection yemEntryentity = component.getDynamicObjectCollection("yem_entryentity");
|
|
||||||
for (int j = 0; j < yemEntryentity.size(); j++) {
|
|
||||||
DynamicObject dynamicObject = yemEntryentity.get(j);
|
|
||||||
String yemPartnumber = dynamicObject.getString("yem_partnumber");
|
|
||||||
if (yemPartnumber.equals(number)) {
|
|
||||||
dynamicObject.set("yem_iscomp", true);
|
|
||||||
dynamicObject.set("yem_compid", bill.getString("id"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//保存
|
|
||||||
SaveServiceHelper.save(new DynamicObject[]{component});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DynamicObjectCollection yem_entryentity = bill.getDynamicObjectCollection("yem_entryentity");
|
|
||||||
for (int i = 0; i < yem_entryentity.size(); i++) {
|
|
||||||
DynamicObject object = yem_entryentity.get(i);
|
|
||||||
boolean yem_iscomp = object.getBoolean("yem_iscomp");
|
|
||||||
if (!yem_iscomp) {
|
|
||||||
String yem_partnumber = object.getString("yem_partnumber");
|
|
||||||
QFilter qFilter1 = new QFilter("enable", QCP.equals, "1");//
|
|
||||||
qFilter1.and(new QFilter("number", QCP.equals, yem_partnumber));//
|
|
||||||
DynamicObject assatlasdet = BusinessDataServiceHelper.loadSingle("yem_em_assatlasdet", "id,yem_issup,number,name"
|
|
||||||
, new QFilter[]{qFilter1});
|
|
||||||
if (assatlasdet != null) {
|
|
||||||
assatlasdet.set("yem_issup", true);
|
|
||||||
object.set("yem_iscomp", true);
|
|
||||||
object.set("yem_compid", assatlasdet.getString("id"));
|
|
||||||
SaveServiceHelper.save(new DynamicObject[]{assatlasdet});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SaveServiceHelper.save(new DynamicObject[]{bill});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -765,6 +765,10 @@ public class AssepcNewDynamicEdut extends AbstractFormPlugin implements BeforeBi
|
|||||||
getQueryResult().setDataCount(data.size());
|
getQueryResult().setDataCount(data.size());
|
||||||
// 把列数据返回
|
// 把列数据返回
|
||||||
DynamicObjectCollection datas = DealData(data);
|
DynamicObjectCollection datas = DealData(data);
|
||||||
|
|
||||||
|
// 按照图册编号进行排序
|
||||||
|
sortDynamicObjectCollection(datas);
|
||||||
|
|
||||||
Setistcardviewap(datas);
|
Setistcardviewap(datas);
|
||||||
return datas;
|
return datas;
|
||||||
}
|
}
|
||||||
@ -772,6 +776,45 @@ public class AssepcNewDynamicEdut extends AbstractFormPlugin implements BeforeBi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void sortDynamicObjectCollection(DynamicObjectCollection data) {
|
||||||
|
List<DynamicObject> list = new ArrayList<>(data);
|
||||||
|
|
||||||
|
Collections.sort(list, new Comparator<DynamicObject>() {
|
||||||
|
@Override
|
||||||
|
public int compare(DynamicObject o1, DynamicObject o2) {
|
||||||
|
BigDecimal num1 = parseBigDecimal(o1.getString("yem_atlasno"));
|
||||||
|
BigDecimal num2 = parseBigDecimal(o2.getString("yem_atlasno"));
|
||||||
|
|
||||||
|
// 如果两个都转换成功,按数值比较
|
||||||
|
if (num1 != null && num2 != null) {
|
||||||
|
return num1.compareTo(num2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (num1 != null) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (num2 != null) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果两个都失败,按字符串比较
|
||||||
|
return o1.getString("yem_atlasno").compareTo(o2.getString("yem_atlasno"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 将排序后的结果重新赋值给原集合
|
||||||
|
data.clear();
|
||||||
|
data.addAll(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static BigDecimal parseBigDecimal(String value) {
|
||||||
|
try {
|
||||||
|
return new BigDecimal(value);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
return null; // 转换失败返回 null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 给图号单据体赋值
|
* 给图号单据体赋值
|
||||||
*
|
*
|
||||||
|
@ -9,6 +9,7 @@ import kd.bos.dataentity.entity.DynamicObject;
|
|||||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
import kd.bos.exception.KDException;
|
import kd.bos.exception.KDException;
|
||||||
import kd.bos.fileservice.FileServiceFactory;
|
import kd.bos.fileservice.FileServiceFactory;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
import kd.bos.orm.query.QFilter;
|
import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.schedule.executor.AbstractTask;
|
import kd.bos.schedule.executor.AbstractTask;
|
||||||
import kd.bos.servicehelper.AttachmentServiceHelper;
|
import kd.bos.servicehelper.AttachmentServiceHelper;
|
||||||
@ -377,4 +378,54 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新总成图册明细中的 是否部件 、 是否有上级
|
||||||
|
* @param bill 总成图册明细
|
||||||
|
*/
|
||||||
|
public static void updateIsCompAndIsUp(DynamicObject bill) {
|
||||||
|
String number = bill.getString("number");
|
||||||
|
QFilter qFilter = new QFilter("enable", QCP.equals, "1");//
|
||||||
|
qFilter.and(new QFilter("yem_entryentity.yem_partnumber", QCP.equals, number));//
|
||||||
|
DynamicObject[] yem_em_assatlasdet = BusinessDataServiceHelper.load("yem_em_assatlasdet", "id"
|
||||||
|
, new QFilter[]{qFilter}, null);
|
||||||
|
if (yem_em_assatlasdet.length > 0) {
|
||||||
|
bill.set("yem_issup", true);
|
||||||
|
for (int i = 0; i < yem_em_assatlasdet.length; i++) {
|
||||||
|
DynamicObject assatlasdet = yem_em_assatlasdet[i];
|
||||||
|
//根据id加载所有数据
|
||||||
|
DynamicObject component = BusinessDataServiceHelper.loadSingle(assatlasdet.getLong("id"), "yem_em_assatlasdet");
|
||||||
|
DynamicObjectCollection yemEntryentity = component.getDynamicObjectCollection("yem_entryentity");
|
||||||
|
for (int j = 0; j < yemEntryentity.size(); j++) {
|
||||||
|
DynamicObject dynamicObject = yemEntryentity.get(j);
|
||||||
|
String yemPartnumber = dynamicObject.getString("yem_partnumber");
|
||||||
|
if (yemPartnumber.equals(number)) {
|
||||||
|
dynamicObject.set("yem_iscomp", true);
|
||||||
|
dynamicObject.set("yem_compid", bill.getString("id"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//保存
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{component});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DynamicObjectCollection yem_entryentity = bill.getDynamicObjectCollection("yem_entryentity");
|
||||||
|
for (int i = 0; i < yem_entryentity.size(); i++) {
|
||||||
|
DynamicObject object = yem_entryentity.get(i);
|
||||||
|
boolean yem_iscomp = object.getBoolean("yem_iscomp");
|
||||||
|
if (!yem_iscomp) {
|
||||||
|
String yem_partnumber = object.getString("yem_partnumber");
|
||||||
|
QFilter qFilter1 = new QFilter("enable", QCP.equals, "1");//
|
||||||
|
qFilter1.and(new QFilter("number", QCP.equals, yem_partnumber));//
|
||||||
|
DynamicObject assatlasdet = BusinessDataServiceHelper.loadSingle("yem_em_assatlasdet", "id,yem_issup,number,name"
|
||||||
|
, new QFilter[]{qFilter1});
|
||||||
|
if (assatlasdet != null) {
|
||||||
|
assatlasdet.set("yem_issup", true);
|
||||||
|
object.set("yem_iscomp", true);
|
||||||
|
object.set("yem_compid", assatlasdet.getString("id"));
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{assatlasdet});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{bill});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,8 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import static com.yem.em.task.GenerateReplaceRelationshipTaskEdit.updateIsCompAndIsUp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author zhouc
|
* @author zhouc
|
||||||
* @date 2023/10/24 11:33
|
* @date 2023/10/24 11:33
|
||||||
@ -424,7 +426,7 @@ public class AtlasUtils {
|
|||||||
OperationResult Operate = OperationServiceHelper.executeOperate("save", yem_em_assatlasdet.getDynamicObjectType().getName(),
|
OperationResult Operate = OperationServiceHelper.executeOperate("save", yem_em_assatlasdet.getDynamicObjectType().getName(),
|
||||||
new DynamicObject[]{yem_em_assatlasdet}, OperateOption.create());
|
new DynamicObject[]{yem_em_assatlasdet}, OperateOption.create());
|
||||||
if (Operate.isSuccess()) {
|
if (Operate.isSuccess()) {
|
||||||
|
updateIsCompAndIsUp(yem_em_assatlasdet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -571,7 +573,7 @@ public class AtlasUtils {
|
|||||||
OperationResult Operate = OperationServiceHelper.executeOperate("save", yem_em_assatlasdet.getDynamicObjectType().getName(),
|
OperationResult Operate = OperationServiceHelper.executeOperate("save", yem_em_assatlasdet.getDynamicObjectType().getName(),
|
||||||
new DynamicObject[]{yem_em_assatlasdet}, OperateOption.create());
|
new DynamicObject[]{yem_em_assatlasdet}, OperateOption.create());
|
||||||
if (Operate.isSuccess()) {
|
if (Operate.isSuccess()) {
|
||||||
|
updateIsCompAndIsUp(yem_em_assatlasdet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user