1.配件价格库禁用按钮调用
This commit is contained in:
ljw 2024-11-16 12:51:40 +08:00
parent 31386ef6dc
commit a7738dbc3a

View File

@ -5,6 +5,7 @@ import kd.bos.algo.DataSet;
import kd.bos.algo.Row;
import kd.bos.dataentity.OperateOption;
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.result.IOperateInfo;
@ -26,6 +27,7 @@ import org.jetbrains.annotations.NotNull;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
* @author zhouc
@ -96,26 +98,38 @@ public class OperationalUniversal {
/**
* 配件价格库禁用按钮调用
*
* @param billno
* @param list
* @return
* @throws IOException
*/
@ApiPostMapping("/PriceLibraryDisable")
public CustomApiResult<Object> PriceLibraryDisable(@NotNull @ApiParam("单据编号(配件)") @Valid String billno) throws IOException {
public CustomApiResult<Object> PriceLibraryDisable(@NotNull @ApiParam("List<Map<'单据编号',List<物料编码>>>") @Valid List<Map<String, List<String>>> list) throws IOException {
try {
QFilter qFilter = new QFilter("billno", QCP.equals, billno);
qFilter.and(new QFilter("yem_billtype.number", QCP.equals, "yem_pricelibrary_PJ"));
DynamicObject bill = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", "id", qFilter.toArray());
if (bill != null) {
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(bill.getPkValue(), bill.getDynamicObjectType().getName());
if (dynamicObject != null) {
dynamicObject.set("yem_totaldisabledstatus", "1");
SaveServiceHelper.update(dynamicObject);
} else {
String errorMessage = "【配件价格库】不存在编码为【" + billno + "】的操作编码,请核对后重试!";
CustomApiResult<Object> fail = CustomApiResult.fail("501", errorMessage);
return fail;
for (Map<String, List<String>> string : list) {
for (String map : string.keySet()) {
QFilter qFilter = new QFilter("billno", QCP.equals, map);
qFilter.and(new QFilter("yem_billtype.number", QCP.equals, "yem_pricelibrary_PJ"));
DynamicObject bill = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", "id", qFilter.toArray());
if (bill != null) {
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(bill.getPkValue(), bill.getDynamicObjectType().getName());
if (dynamicObject != null) {
DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("yem_accessory");
for (DynamicObject object : dynamicObjectCollection) {
DynamicObject yem_material = object.getDynamicObject("yem_material");
if (yem_material != null) {
String yemMaterialString = yem_material.getString("number");
if (string.get(map).contains(yemMaterialString)) {
object.set("yem_billstatusfield", "A");
}
}
}
SaveServiceHelper.update(dynamicObject);
} else {
String errorMessage = "【配件价格库】不存在编码为【" + string.get(map) + "】的操作编码,请核对后重试!";
CustomApiResult<Object> fail = CustomApiResult.fail("501", errorMessage);
return fail;
}
}
}
}
} catch (