This commit is contained in:
parent
375b4f5245
commit
1d06e025da
|
@ -36,6 +36,12 @@ public class MaterialStockAsstsChangedListener implements IBusinessListener {
|
|||
return;
|
||||
}
|
||||
//如果库存信息生产厂商和项目被选中则 更新计划信息,生产信息和成本信息
|
||||
// if(newVO.getFixasst2() == null ){
|
||||
// newVO.setFixasst2(UFBoolean.valueOf("N"));
|
||||
// }
|
||||
// if(newVO.getFixasst4() == null ){
|
||||
// newVO.setFixasst4(UFBoolean.valueOf("N"));
|
||||
// }
|
||||
UFBoolean fixasst2 = newVO.getFixasst2();
|
||||
UFBoolean fixasst4 = newVO.getFixasst4();
|
||||
|
||||
|
@ -88,27 +94,51 @@ public class MaterialStockAsstsChangedListener implements IBusinessListener {
|
|||
"FROM " +
|
||||
" bd_materialcost " +
|
||||
"WHERE " +
|
||||
" pk_org = (SELECT PK_COSTREGION FROM org_cr_stockorg WHERE pk_stockorg= ?) or pk_org in (SELECT PK_COSTREGION FROM org_cr_stockstore WHERE pk_stockorg= ?) " +
|
||||
" (pk_org = (SELECT PK_COSTREGION FROM org_cr_stockorg WHERE pk_stockorg= ?) or pk_org in (SELECT PK_COSTREGION FROM org_cr_stockstore WHERE pk_stockorg= ? ) ) " +
|
||||
" AND " +
|
||||
" pk_material = ? ";
|
||||
SQLParameter param = new SQLParameter();
|
||||
param.addParam(pk_org);
|
||||
param.addParam(pk_org);
|
||||
param.addParam(pk_material);
|
||||
List list =( (List) this.getBaseDAO().executeQuery(sql, param, new ColumnListProcessor()));
|
||||
List list = ((List) this.getBaseDAO().executeQuery(sql, param, new ColumnListProcessor()));
|
||||
if(list.isEmpty()){
|
||||
return;
|
||||
}
|
||||
String pk_materialcost = list.get(0).toString();
|
||||
if(pk_materialcost == null){
|
||||
return;
|
||||
|
||||
// 构建用于 IN 子句的参数列表
|
||||
StringBuilder inClause = new StringBuilder();
|
||||
List<String> paramValues = new ArrayList<>();
|
||||
|
||||
for (Object obj : list) {
|
||||
String pk_materialcost = obj.toString();
|
||||
if (pk_materialcost == null) {
|
||||
continue; // 如果 pk_materialcost 为空,则跳过当前循环
|
||||
}
|
||||
inClause.append("?, ");
|
||||
paramValues.add(pk_materialcost);
|
||||
}
|
||||
//更新计价方式
|
||||
String update24 = "update bd_materialcostmod set marasst2 = ?,marasst4 = ? where pk_materialcost = ? ";
|
||||
|
||||
if (paramValues.isEmpty()) {
|
||||
return; // 如果没有有效的 pk_materialcost,则直接返回
|
||||
}
|
||||
|
||||
// 去掉最后一个多余的逗号
|
||||
inClause = new StringBuilder(inClause.substring(0, inClause.length() - 2));
|
||||
|
||||
// 更新计价方式
|
||||
String update24 = "UPDATE bd_materialcostmod SET marasst2 = ?, marasst4 = ? WHERE pk_materialcost IN (" + inClause + ")";
|
||||
SQLParameter param1 = new SQLParameter();
|
||||
param1.addParam(fixlist.get(0));
|
||||
|
||||
// 添加更新参数
|
||||
param1.addParam(fixlist.get(0)); // 假设 fixlist 已经正确初始化且包含至少两个元素
|
||||
param1.addParam(fixlist.get(1));
|
||||
param1.addParam(pk_materialcost);
|
||||
|
||||
// 添加 IN 子句的参数
|
||||
for (String value : paramValues) {
|
||||
param1.addParam(value);
|
||||
}
|
||||
|
||||
this.getBaseDAO().executeUpdate(update24, param1);
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue