修改产品组件无法删除的问题

This commit is contained in:
zhulianghua 2018-08-19 14:09:11 +08:00
parent cf9e131b5c
commit 94c59e1000
2 changed files with 195 additions and 165 deletions

View File

@ -129,7 +129,9 @@
}
}
//적쪽잚謹JS叫駱
checkValueIsadjustInterest();
if("ADJUST_INTEREST" == "<%=componentID%>") {
checkValueIsadjustInterest();
}
})
//적쪽잚謹JS叫駱

View File

@ -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)){
//´ýʵÏÖ