修改产品组件无法删除的问题
This commit is contained in:
parent
cf9e131b5c
commit
94c59e1000
@ -129,7 +129,9 @@
|
||||
}
|
||||
}
|
||||
//적쪽잚謹JS叫駱
|
||||
checkValueIsadjustInterest();
|
||||
if("ADJUST_INTEREST" == "<%=componentID%>") {
|
||||
checkValueIsadjustInterest();
|
||||
}
|
||||
})
|
||||
|
||||
//적쪽잚謹JS叫駱
|
||||
|
||||
@ -40,37 +40,24 @@ public class BusinessComponentProcess extends ALSBusinessProcess implements Busi
|
||||
String xmlFile = this.asPage.getAttribute("XMLFile");
|
||||
String xmlTags = this.asPage.getAttribute("XMLTags");
|
||||
String keys = this.asPage.getAttribute("Keys");
|
||||
|
||||
//List<BusinessObject> components = XMLHelper.getBusinessObjectList(xmlFile, xmlTags, keys);
|
||||
List<BusinessObject> components = new ArrayList<BusinessObject>();
|
||||
BizObjectManager bomLPI = JBOFactory.getBizObjectManager(LB_PRODUCT_INFO.CLASS_NAME);
|
||||
BizObject boLPI = bomLPI.createQuery("ID=:ID").setParameter("ID", xmlFile).getSingleResult(true);
|
||||
String pData = boLPI.getAttribute("PRODUCT_DATA").getString();
|
||||
String id = xmlTags.substring(xmlTags.indexOf("'")+1,xmlTags.lastIndexOf("'"));
|
||||
boolean flagXml = false;
|
||||
String pData = "";
|
||||
String id = "";
|
||||
BizObjectManager bomLPI = null;
|
||||
BizObject boLPI = null;
|
||||
int n = 0;
|
||||
if("".equals(pData)){
|
||||
}else{
|
||||
JSONArray jsonArray = JSONArray.fromObject(pData);
|
||||
Iterator<JSONObject> it = jsonArray.iterator();
|
||||
while(it.hasNext()){
|
||||
JSONObject jo = (JSONObject)it.next().get("jbo.sample.Component");
|
||||
if(id.equals(jo.get("ID"))){
|
||||
Object obj = jo.get("jbo.sample.Component");
|
||||
JSONArray ja = JSONArray.fromObject(obj);
|
||||
BusinessObject b = BusinessObject.createBusinessObject("Component");
|
||||
b.setAttributes(jo);
|
||||
components.add(b);
|
||||
break;
|
||||
}
|
||||
n++;
|
||||
}
|
||||
if(xmlFile.endsWith(".xml")){
|
||||
flagXml = true;
|
||||
}
|
||||
BusinessObject component = components.get(0);
|
||||
String componentFormat = component.getString("Format");
|
||||
if(componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_PARAMETER_SET) || componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_COMPLEX)){
|
||||
/* List<BusinessObject> componentParameters = XMLHelper.getBusinessObjectList(xmlFile, xmlTags+"//Parameters//Parameter", "PARAMETERID");*/
|
||||
|
||||
List<BusinessObject> componentParameters = new ArrayList<BusinessObject>();
|
||||
List<BusinessObject> components = null;
|
||||
if(flagXml){
|
||||
components = XMLHelper.getBusinessObjectList(xmlFile, xmlTags, keys);
|
||||
}else{
|
||||
components = new ArrayList<BusinessObject>();
|
||||
bomLPI = JBOFactory.getBizObjectManager(LB_PRODUCT_INFO.CLASS_NAME);
|
||||
boLPI = bomLPI.createQuery("ID=:ID").setParameter("ID", xmlFile).getSingleResult(true);
|
||||
pData = boLPI.getAttribute("PRODUCT_DATA").getString();
|
||||
id = xmlTags.substring(xmlTags.indexOf("'")+1,xmlTags.lastIndexOf("'"));
|
||||
if("".equals(pData)){
|
||||
}else{
|
||||
JSONArray jsonArray = JSONArray.fromObject(pData);
|
||||
@ -78,13 +65,40 @@ public class BusinessComponentProcess extends ALSBusinessProcess implements Busi
|
||||
while(it.hasNext()){
|
||||
JSONObject jo = (JSONObject)it.next().get("jbo.sample.Component");
|
||||
if(id.equals(jo.get("ID"))){
|
||||
JSONArray pJson = jo.getJSONArray("Parameter");
|
||||
Object[] oJson = pJson.toArray();
|
||||
for(Object o:oJson){
|
||||
JSONObject oValue = (JSONObject)o;
|
||||
BusinessObject b = BusinessObject.createBusinessObject("Parameter");
|
||||
b.setAttributes(oValue.getJSONObject("jbo.sample.Parameter"));
|
||||
componentParameters.add(b);
|
||||
Object obj = jo.get("jbo.sample.Component");
|
||||
JSONArray ja = JSONArray.fromObject(obj);
|
||||
BusinessObject b = BusinessObject.createBusinessObject("Component");
|
||||
b.setAttributes(jo);
|
||||
components.add(b);
|
||||
break;
|
||||
}
|
||||
n++;
|
||||
}
|
||||
}
|
||||
}
|
||||
BusinessObject component = components.get(0);
|
||||
String componentFormat = component.getString("Format");
|
||||
if(componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_PARAMETER_SET) || componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_COMPLEX)){
|
||||
List<BusinessObject> componentParameters = null;
|
||||
if(flagXml){
|
||||
componentParameters = XMLHelper.getBusinessObjectList(xmlFile, xmlTags+"//Parameters//Parameter", "PARAMETERID");
|
||||
}else{
|
||||
componentParameters = new ArrayList<BusinessObject>();
|
||||
if("".equals(pData)){
|
||||
}else{
|
||||
JSONArray jsonArray = JSONArray.fromObject(pData);
|
||||
Iterator<JSONObject> it = jsonArray.iterator();
|
||||
while(it.hasNext()){
|
||||
JSONObject jo = (JSONObject)it.next().get("jbo.sample.Component");
|
||||
if(id.equals(jo.get("ID"))){
|
||||
JSONArray pJson = jo.getJSONArray("Parameter");
|
||||
Object[] oJson = pJson.toArray();
|
||||
for(Object o:oJson){
|
||||
JSONObject oValue = (JSONObject)o;
|
||||
BusinessObject b = BusinessObject.createBusinessObject("Parameter");
|
||||
b.setAttributes(oValue.getJSONObject("jbo.sample.Parameter"));
|
||||
componentParameters.add(b);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -99,52 +113,54 @@ public class BusinessComponentProcess extends ALSBusinessProcess implements Busi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//XMLHelper.saveBusinessObjectList(xmlFile, xmlTags+"//Parameters//Parameter", "PARAMETERID", componentParameters);
|
||||
JSONArray ja = JSONArray.fromObject(pData);
|
||||
JSONObject jo = (JSONObject)ja.get(n);
|
||||
ja.remove(jo);
|
||||
JSONObject j = (JSONObject)jo.get("jbo.sample.Component");
|
||||
jo.remove("jbo.sample.Component");
|
||||
JSONArray newJA = new JSONArray();
|
||||
for(BusinessObject b:componentParameters){
|
||||
JSONObject newJO = new JSONObject();
|
||||
if(j.containsKey("Parameter")){
|
||||
JSONArray djson = j.getJSONArray("Parameter");
|
||||
boolean flag = false;
|
||||
newJA = djson;
|
||||
if(newJA.size() == 0){
|
||||
flag = true;
|
||||
}
|
||||
Map<String,Object> bMap = b.convertToMap();
|
||||
Object[] obj = djson.toArray();
|
||||
for(Object o:obj){
|
||||
JSONObject ov = (JSONObject)o;
|
||||
JSONObject dValue = ov.getJSONObject("jbo.sample.Parameter");
|
||||
if(dValue.opt("PARAMETERID").equals(bMap.get("PARAMETERID"))){
|
||||
newJA.remove(o);
|
||||
newJO.element("jbo.sample.Parameter", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
flag = false;
|
||||
break;
|
||||
}else{
|
||||
if(flagXml){
|
||||
XMLHelper.saveBusinessObjectList(xmlFile, xmlTags+"//Parameters//Parameter", "PARAMETERID", componentParameters);
|
||||
}else{
|
||||
JSONArray ja = JSONArray.fromObject(pData);
|
||||
JSONObject jo = (JSONObject)ja.get(n);
|
||||
ja.remove(jo);
|
||||
JSONObject j = (JSONObject)jo.get("jbo.sample.Component");
|
||||
jo.remove("jbo.sample.Component");
|
||||
JSONArray newJA = new JSONArray();
|
||||
for(BusinessObject b:componentParameters){
|
||||
JSONObject newJO = new JSONObject();
|
||||
if(j.containsKey("Parameter")){
|
||||
JSONArray djson = j.getJSONArray("Parameter");
|
||||
boolean flag = false;
|
||||
newJA = djson;
|
||||
if(newJA.size() == 0){
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
if(flag){
|
||||
Map<String,Object> bMap = b.convertToMap();
|
||||
Object[] obj = djson.toArray();
|
||||
for(Object o:obj){
|
||||
JSONObject ov = (JSONObject)o;
|
||||
JSONObject dValue = ov.getJSONObject("jbo.sample.Parameter");
|
||||
if(dValue.opt("PARAMETERID").equals(bMap.get("PARAMETERID"))){
|
||||
newJA.remove(o);
|
||||
newJO.element("jbo.sample.Parameter", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
flag = false;
|
||||
break;
|
||||
}else{
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
if(flag){
|
||||
newJO.element("jbo.sample.Parameter", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
}
|
||||
}else{
|
||||
newJO.element("jbo.sample.Parameter", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
}
|
||||
}else{
|
||||
newJO.element("jbo.sample.Parameter", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
}
|
||||
j.put("Parameter",newJA);
|
||||
jo.accumulate("jbo.sample.Component", j);
|
||||
ja.add(jo);
|
||||
boLPI.setAttributeValue("PRODUCT_DATA", ja.toString());
|
||||
bomLPI.saveObject(boLPI);
|
||||
}
|
||||
j.put("Parameter",newJA);
|
||||
jo.accumulate("jbo.sample.Component", j);
|
||||
ja.add(jo);
|
||||
boLPI.setAttributeValue("PRODUCT_DATA", ja.toString());
|
||||
bomLPI.saveObject(boLPI);
|
||||
}
|
||||
else if(componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_DECISION_TABLE)){
|
||||
List<BusinessObject> ls = new ArrayList<BusinessObject>();
|
||||
@ -175,51 +191,54 @@ public class BusinessComponentProcess extends ALSBusinessProcess implements Busi
|
||||
|
||||
ls.add(bo1);
|
||||
|
||||
//XMLHelper.saveBusinessObjectList(xmlFile, xmlTags+"//DecisionTables//DecisionTable", "ID", ls);
|
||||
JSONArray ja = JSONArray.fromObject(pData);
|
||||
JSONObject jo = (JSONObject)ja.get(n);
|
||||
ja.remove(jo);
|
||||
JSONObject j = (JSONObject)jo.get("jbo.sample.Component");
|
||||
jo.remove("jbo.sample.Component");
|
||||
JSONArray newJA = new JSONArray();
|
||||
for(BusinessObject b:ls){
|
||||
JSONObject newJO = new JSONObject();
|
||||
if(j.containsKey("DecisionTable")){
|
||||
JSONArray djson = j.getJSONArray("DecisionTable");
|
||||
boolean flag = false;
|
||||
newJA = djson;
|
||||
if(newJA.size() == 0){
|
||||
flag = true;
|
||||
}
|
||||
Map<String,Object> bMap = b.convertToMap();
|
||||
Object[] obj = djson.toArray();
|
||||
for(Object o:obj){
|
||||
JSONObject ov = (JSONObject)o;
|
||||
JSONObject dValue = ov.getJSONObject("jbo.sample.DecisionTable");
|
||||
if(dValue.opt("ID").equals(bMap.get("ID"))){
|
||||
newJA.remove(o);
|
||||
newJO.element("jbo.sample.DecisionTable", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
flag = false;
|
||||
break;
|
||||
}else{
|
||||
if(flagXml){
|
||||
XMLHelper.saveBusinessObjectList(xmlFile, xmlTags+"//DecisionTables//DecisionTable", "ID", ls);
|
||||
}else{
|
||||
JSONArray ja = JSONArray.fromObject(pData);
|
||||
JSONObject jo = (JSONObject)ja.get(n);
|
||||
ja.remove(jo);
|
||||
JSONObject j = (JSONObject)jo.get("jbo.sample.Component");
|
||||
jo.remove("jbo.sample.Component");
|
||||
JSONArray newJA = new JSONArray();
|
||||
for(BusinessObject b:ls){
|
||||
JSONObject newJO = new JSONObject();
|
||||
if(j.containsKey("DecisionTable")){
|
||||
JSONArray djson = j.getJSONArray("DecisionTable");
|
||||
boolean flag = false;
|
||||
newJA = djson;
|
||||
if(newJA.size() == 0){
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
if(flag){
|
||||
Map<String,Object> bMap = b.convertToMap();
|
||||
Object[] obj = djson.toArray();
|
||||
for(Object o:obj){
|
||||
JSONObject ov = (JSONObject)o;
|
||||
JSONObject dValue = ov.getJSONObject("jbo.sample.DecisionTable");
|
||||
if(dValue.opt("ID").equals(bMap.get("ID"))){
|
||||
newJA.remove(o);
|
||||
newJO.element("jbo.sample.DecisionTable", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
flag = false;
|
||||
break;
|
||||
}else{
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
if(flag){
|
||||
newJO.element("jbo.sample.DecisionTable", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
}
|
||||
}else{
|
||||
newJO.element("jbo.sample.DecisionTable", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
}
|
||||
}else{
|
||||
newJO.element("jbo.sample.DecisionTable", b.convertToMap());
|
||||
newJA.add(newJO);
|
||||
}
|
||||
j.put("DecisionTable",newJA);
|
||||
jo.accumulate("jbo.sample.Component", j);
|
||||
ja.add(jo);
|
||||
boLPI.setAttributeValue("PRODUCT_DATA", ja.toString());
|
||||
bomLPI.saveObject(boLPI);
|
||||
}
|
||||
j.put("DecisionTable",newJA);
|
||||
jo.accumulate("jbo.sample.Component", j);
|
||||
ja.add(jo);
|
||||
boLPI.setAttributeValue("PRODUCT_DATA", ja.toString());
|
||||
bomLPI.saveObject(boLPI);
|
||||
}
|
||||
else if(componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_DECISION_TREE)){
|
||||
//´ýʵÏÖ
|
||||
@ -414,34 +433,40 @@ public class BusinessComponentProcess extends ALSBusinessProcess implements Busi
|
||||
String xmlFile = this.asPage.getAttribute("XMLFile");
|
||||
String xmlTags = this.asPage.getAttribute("XMLTags");
|
||||
String keys = this.asPage.getAttribute("Keys");
|
||||
|
||||
//List<BusinessObject> components = XMLHelper.getBusinessObjectList(xmlFile, xmlTags, keys);
|
||||
//¶ÔÊý¾Ý¿â½øÐÐɾ³ý
|
||||
List<BusinessObject> components = new ArrayList<BusinessObject>();
|
||||
BizObjectManager bomLPI = JBOFactory.getBizObjectManager(LB_PRODUCT_INFO.CLASS_NAME);
|
||||
BizObject boLPI = bomLPI.createQuery("ID=:ID").setParameter("ID", xmlFile).getSingleResult(true);
|
||||
String pData = boLPI.getAttribute("PRODUCT_DATA").getString();
|
||||
String id = xmlTags.substring(xmlTags.indexOf("'")+1,xmlTags.lastIndexOf("'"));
|
||||
List<BusinessObject> components = null;
|
||||
BizObjectManager bomLPI = null;
|
||||
BizObject boLPI = null;
|
||||
String pData = "";
|
||||
String id = "";
|
||||
int n = 0;
|
||||
if("".equals(pData)){
|
||||
if(xmlFile.endsWith(".xml")){
|
||||
components = XMLHelper.getBusinessObjectList(xmlFile, xmlTags, keys);
|
||||
}else{
|
||||
JSONArray jsonArray = JSONArray.fromObject(pData);
|
||||
Iterator<JSONObject> it = jsonArray.iterator();
|
||||
while(it.hasNext()){
|
||||
JSONObject jo = (JSONObject)it.next().get("jbo.sample.Component");
|
||||
if(id.equals(jo.get("ID"))){
|
||||
Object obj = jo.get("jbo.sample.Component");
|
||||
JSONArray ja = JSONArray.fromObject(obj);
|
||||
BusinessObject b = BusinessObject.createBusinessObject("Component");
|
||||
b.setAttributes(jo);
|
||||
components.add(b);
|
||||
break;
|
||||
//¶ÔÊý¾Ý¿â½øÐÐɾ³ý
|
||||
components = new ArrayList<BusinessObject>();
|
||||
bomLPI = JBOFactory.getBizObjectManager(LB_PRODUCT_INFO.CLASS_NAME);
|
||||
boLPI = bomLPI.createQuery("ID=:ID").setParameter("ID", xmlFile).getSingleResult(true);
|
||||
pData = boLPI.getAttribute("PRODUCT_DATA").getString();
|
||||
id = xmlTags.substring(xmlTags.indexOf("'")+1,xmlTags.lastIndexOf("'"));
|
||||
if("".equals(pData)){
|
||||
}else{
|
||||
JSONArray jsonArray = JSONArray.fromObject(pData);
|
||||
Iterator<JSONObject> it = jsonArray.iterator();
|
||||
while(it.hasNext()){
|
||||
JSONObject jo = (JSONObject)it.next().get("jbo.sample.Component");
|
||||
if(id.equals(jo.get("ID"))){
|
||||
Object obj = jo.get("jbo.sample.Component");
|
||||
JSONArray ja = JSONArray.fromObject(obj);
|
||||
BusinessObject b = BusinessObject.createBusinessObject("Component");
|
||||
b.setAttributes(jo);
|
||||
components.add(b);
|
||||
break;
|
||||
}
|
||||
n++;
|
||||
}
|
||||
n++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BusinessObject component = components.get(0);
|
||||
String componentFormat = component.getString("Format");
|
||||
if(componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_PARAMETER_SET) || componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_COMPLEX)){
|
||||
@ -450,39 +475,42 @@ public class BusinessComponentProcess extends ALSBusinessProcess implements Busi
|
||||
else if(componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_DECISION_TABLE)){
|
||||
List<BusinessObject> ls = new ArrayList<BusinessObject>();
|
||||
ls.add(businessObject);
|
||||
//XMLHelper.deleteBusinessObjectList(xmlFile, xmlTags+"//DecisionTables//DecisionTable", "ID",ls);
|
||||
JSONArray ja = JSONArray.fromObject(pData);
|
||||
JSONObject jo = (JSONObject)ja.get(n);
|
||||
ja.remove(jo);
|
||||
JSONObject j = (JSONObject)jo.get("jbo.sample.Component");
|
||||
jo.remove("jbo.sample.Component");
|
||||
JSONArray newJA = new JSONArray();
|
||||
for(BusinessObject b:ls){
|
||||
JSONObject newJO = new JSONObject();
|
||||
if(j.containsKey("DecisionTable")){
|
||||
JSONArray djson = j.getJSONArray("DecisionTable");
|
||||
boolean flag = false;
|
||||
newJA = djson;
|
||||
if(newJA.size() == 0){
|
||||
flag = true;
|
||||
}
|
||||
Map<String,Object> bMap = b.convertToMap();
|
||||
Object[] obj = djson.toArray();
|
||||
for(Object o:obj){
|
||||
JSONObject ov = (JSONObject)o;
|
||||
JSONObject dValue = ov.getJSONObject("jbo.sample.DecisionTable");
|
||||
if(dValue.opt("ID").equals(bMap.get("ID"))){
|
||||
newJA.remove(o);
|
||||
break;
|
||||
if(xmlFile.endsWith(".xml")){
|
||||
XMLHelper.deleteBusinessObjectList(xmlFile, xmlTags+"//DecisionTables//DecisionTable", "ID",ls);
|
||||
}else{
|
||||
JSONArray ja = JSONArray.fromObject(pData);
|
||||
JSONObject jo = (JSONObject)ja.get(n);
|
||||
ja.remove(jo);
|
||||
JSONObject j = (JSONObject)jo.get("jbo.sample.Component");
|
||||
jo.remove("jbo.sample.Component");
|
||||
JSONArray newJA = new JSONArray();
|
||||
for(BusinessObject b:ls){
|
||||
JSONObject newJO = new JSONObject();
|
||||
if(j.containsKey("DecisionTable")){
|
||||
JSONArray djson = j.getJSONArray("DecisionTable");
|
||||
boolean flag = false;
|
||||
newJA = djson;
|
||||
if(newJA.size() == 0){
|
||||
flag = true;
|
||||
}
|
||||
Map<String,Object> bMap = b.convertToMap();
|
||||
Object[] obj = djson.toArray();
|
||||
for(Object o:obj){
|
||||
JSONObject ov = (JSONObject)o;
|
||||
JSONObject dValue = ov.getJSONObject("jbo.sample.DecisionTable");
|
||||
if(dValue.opt("ID").equals(bMap.get("ID"))){
|
||||
newJA.remove(o);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
j.put("DecisionTable",newJA);
|
||||
jo.accumulate("jbo.sample.Component", j);
|
||||
ja.add(jo);
|
||||
boLPI.setAttributeValue("PRODUCT_DATA", ja.toString());
|
||||
bomLPI.saveObject(boLPI);
|
||||
}
|
||||
j.put("DecisionTable",newJA);
|
||||
jo.accumulate("jbo.sample.Component", j);
|
||||
ja.add(jo);
|
||||
boLPI.setAttributeValue("PRODUCT_DATA", ja.toString());
|
||||
bomLPI.saveObject(boLPI);
|
||||
}
|
||||
else if(componentFormat.equals(BusinessComponentConfig.BUSINESS_COMPONENT_FORMAT_DECISION_TREE)){
|
||||
//´ýʵÏÖ
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user