|  | @@ -6,7 +6,9 @@ import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
	
		
			
				|  |  |  import kd.bos.dataentity.resource.ResManager;
 | 
	
		
			
				|  |  |  import kd.bos.dataentity.utils.StringUtils;
 | 
	
		
			
				|  |  |  import kd.bos.entity.datamodel.IDataModel;
 | 
	
		
			
				|  |  | +import kd.bos.entity.datamodel.events.ChangeData;
 | 
	
		
			
				|  |  |  import kd.bos.entity.datamodel.events.PropertyChangedArgs;
 | 
	
		
			
				|  |  | +import kd.bos.form.IFormView;
 | 
	
		
			
				|  |  |  import kd.bos.form.ShowType;
 | 
	
		
			
				|  |  |  import kd.bos.form.cardentry.CardEntry;
 | 
	
		
			
				|  |  |  import kd.bos.form.control.Control;
 | 
	
	
		
			
				|  | @@ -40,45 +42,77 @@ public class BatchPriceAdjBaseEditPlugin extends AbstractBillPlugIn implements P
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
 | 
	
		
			
				|  |  |          String name = beforeF7SelectEvent.getProperty().getName();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        switch (name) {
 | 
	
		
			
				|  |  | +            case "nckd_xqys_d":
 | 
	
		
			
				|  |  | +                beforeSelectF7Xqysd(beforeF7SelectEvent);
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case "nckd_customer":
 | 
	
		
			
				|  |  | +                beforeSelectF7Customer(beforeF7SelectEvent);
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case "nckd_saletypes_d":
 | 
	
		
			
				|  |  | +                beforeSelectF7SaleTypes(beforeF7SelectEvent);
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private void beforeSelectF7SaleTypes(BeforeF7SelectEvent beforeF7SelectEvent) {
 | 
	
		
			
				|  |  |          EntryGrid putentry = this.getView().getControl("nckd_putentry");
 | 
	
		
			
				|  |  |          int[] selectRows = putentry.getSelectRows();
 | 
	
		
			
				|  |  | -        DynamicObject entry = this.getView().getModel().getEntryRowEntity("nckd_putentry",selectRows[0]);
 | 
	
		
			
				|  |  | +        DynamicObject entry = this.getView().getModel().getEntryRowEntity("nckd_putentry", selectRows[0]);
 | 
	
		
			
				|  |  |          ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
 | 
	
		
			
				|  |  |          List<QFilter> qFilters = new ArrayList<>();
 | 
	
		
			
				|  |  | -        switch (name){
 | 
	
		
			
				|  |  | -            case "nckd_xqys_d":
 | 
	
		
			
				|  |  | -                DynamicObject nckdQuyus = entry.getDynamicObject("nckd_quyus");
 | 
	
		
			
				|  |  | -                DynamicObjectCollection nckdXqys = entry.getDynamicObjectCollection("nckd_xqys");
 | 
	
		
			
				|  |  | -                if(null != nckdQuyus){
 | 
	
		
			
				|  |  | -                    qFilters.add(new QFilter("nckd_qy", QCP.equals, nckdQuyus.getPkValue()));
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | +        DynamicObjectCollection nckdSaletypes = entry.getDynamicObjectCollection("nckd_saletypes");
 | 
	
		
			
				|  |  | +        if (!nckdSaletypes.isEmpty()) {
 | 
	
		
			
				|  |  | +            List<Object> fbasedataids = nckdSaletypes.stream().map(x -> x.getDynamicObject("fbasedataid").getPkValue()).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            qFilters.add(new QFilter("id", QCP.in, fbasedataids));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                if (!nckdXqys.isEmpty()){
 | 
	
		
			
				|  |  | -                    List<Object> fbasedataids = nckdXqys.stream().map(x -> x.getDynamicObject("fbasedataid").getPkValue()).collect(Collectors.toList());
 | 
	
		
			
				|  |  | -                    qFilters.add(new QFilter("id",QCP.not_in,fbasedataids));
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                if (!qFilters.isEmpty())
 | 
	
		
			
				|  |  | -                    formShowParameter.getListFilterParameter().setQFilters(qFilters);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case "nckd_customer":
 | 
	
		
			
				|  |  | +        if (!qFilters.isEmpty())
 | 
	
		
			
				|  |  | +            formShowParameter.getListFilterParameter().setQFilters(qFilters);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private void beforeSelectF7Customer(BeforeF7SelectEvent beforeF7SelectEvent) {
 | 
	
		
			
				|  |  | +        EntryGrid putentry = this.getView().getControl("nckd_putentry");
 | 
	
		
			
				|  |  | +        int[] selectRows = putentry.getSelectRows();
 | 
	
		
			
				|  |  | +        DynamicObject entry = this.getView().getModel().getEntryRowEntity("nckd_putentry", selectRows[0]);
 | 
	
		
			
				|  |  | +        ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
 | 
	
		
			
				|  |  | +        List<QFilter> qFilters = new ArrayList<>();
 | 
	
		
			
				|  |  | +        DynamicObjectCollection nckd_subentryentity = entry.getDynamicObjectCollection("nckd_subentryentity");
 | 
	
		
			
				|  |  | +        DynamicObject subentry = nckd_subentryentity.get(beforeF7SelectEvent.getRow());
 | 
	
		
			
				|  |  | +        DynamicObject nckdXqysD = subentry.getDynamicObject("nckd_xqys_d");
 | 
	
		
			
				|  |  | +        DynamicObject fkNckdSaletypesD = subentry.getDynamicObject("nckd_saletypes_d");
 | 
	
		
			
				|  |  | +        if (null != nckdXqysD) {
 | 
	
		
			
				|  |  | +            qFilters.add(new QFilter("nckd_xqy", QCP.equals, nckdXqysD.getPkValue()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                DynamicObjectCollection nckdTjdetailentry = entry.getDynamicObjectCollection("nckd_tjdetailentry");
 | 
	
		
			
				|  |  | -                DynamicObject subentry = nckdTjdetailentry.get(beforeF7SelectEvent.getRow());
 | 
	
		
			
				|  |  | -                DynamicObject nckdXqysD = subentry.getDynamicObject("nckd_xqys_d");
 | 
	
		
			
				|  |  | -                DynamicObject fkNckdSaletypesD = subentry.getDynamicObject("fk_nckd_saletypes_d");
 | 
	
		
			
				|  |  | -                if(null != nckdXqysD){
 | 
	
		
			
				|  |  | -                    qFilters.add(new QFilter("nckd_xqy", QCP.equals, nckdXqysD.getPkValue()));
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | +        if (null != fkNckdSaletypesD) {
 | 
	
		
			
				|  |  | +            qFilters.add(new QFilter("nckd_xslb", QCP.equals, fkNckdSaletypesD.getPkValue()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (!qFilters.isEmpty())
 | 
	
		
			
				|  |  | +            formShowParameter.getListFilterParameter().setQFilters(qFilters);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                if(null != fkNckdSaletypesD){
 | 
	
		
			
				|  |  | -                    qFilters.add(new QFilter("nckd_xslb", QCP.equals, fkNckdSaletypesD.getPkValue()));
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                if (!qFilters.isEmpty())
 | 
	
		
			
				|  |  | -                    formShowParameter.getListFilterParameter().setQFilters(qFilters);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | +    private void beforeSelectF7Xqysd(BeforeF7SelectEvent beforeF7SelectEvent) {
 | 
	
		
			
				|  |  | +        EntryGrid putentry = this.getView().getControl("nckd_putentry");
 | 
	
		
			
				|  |  | +        int[] selectRows = putentry.getSelectRows();
 | 
	
		
			
				|  |  | +        DynamicObject entry = this.getView().getModel().getEntryRowEntity("nckd_putentry", selectRows[0]);
 | 
	
		
			
				|  |  | +        ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
 | 
	
		
			
				|  |  | +        List<QFilter> qFilters = new ArrayList<>();
 | 
	
		
			
				|  |  | +        DynamicObject nckdQuyus = entry.getDynamicObject("nckd_quyus");
 | 
	
		
			
				|  |  | +        DynamicObjectCollection nckdXqys = entry.getDynamicObjectCollection("nckd_xqys");
 | 
	
		
			
				|  |  | +        if (null != nckdQuyus) {
 | 
	
		
			
				|  |  | +            qFilters.add(new QFilter("nckd_qy", QCP.equals, nckdQuyus.getPkValue()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (!nckdXqys.isEmpty()) {
 | 
	
		
			
				|  |  | +            List<Object> fbasedataids = nckdXqys.stream().map(x -> x.getDynamicObject("fbasedataid").getPkValue()).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            qFilters.add(new QFilter("id", QCP.in, fbasedataids));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        if (!qFilters.isEmpty())
 | 
	
		
			
				|  |  | +            formShowParameter.getListFilterParameter().setQFilters(qFilters);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -87,7 +121,7 @@ public class BatchPriceAdjBaseEditPlugin extends AbstractBillPlugIn implements P
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Control tripEntry = this.getControl("nckd_putentry");
 | 
	
		
			
				|  |  |          if (tripEntry instanceof CardEntry) {
 | 
	
		
			
				|  |  | -            ((CardEntry)tripEntry).addRowClickListener(this);
 | 
	
		
			
				|  |  | +            ((CardEntry) tripEntry).addRowClickListener(this);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          Toolbar toolbar = this.getView().getControl("nckd_advcontoolbarap1");
 | 
	
		
			
				|  |  |          toolbar.addItemClickListener(this);
 | 
	
	
		
			
				|  | @@ -96,25 +130,33 @@ public class BatchPriceAdjBaseEditPlugin extends AbstractBillPlugIn implements P
 | 
	
		
			
				|  |  |          Toolbar toolbar2 = this.getView().getControl("nckd_advcontoolbarap2");
 | 
	
		
			
				|  |  |          toolbar2.addItemClickListener(this);
 | 
	
		
			
				|  |  |          toolbar2.addClickListener(this);
 | 
	
		
			
				|  |  | -        this.addClickListeners(new String[]{"nckd_alldai","nckd_allsan","nckd_updatetripentry", "nckd_cardentryflexpanel12", "nckd_addtjlabel1", "nckd_addptentry"});
 | 
	
		
			
				|  |  | -        this.addItemClickListeners("nckd_alldai","nckd_allsan");
 | 
	
		
			
				|  |  | +        this.addClickListeners(new String[]{"nckd_alldai", "nckd_allsan", "nckd_updatetripentry", "nckd_cardentryflexpanel12", "nckd_addtjlabel1", "nckd_addptentry"});
 | 
	
		
			
				|  |  | +        this.addItemClickListeners("nckd_alldai", "nckd_allsan");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        BasedataEdit nckd_xqys_d = this.getControl("nckd_xqys_d");
 | 
	
		
			
				|  |  | +        nckd_xqys_d.addBeforeF7SelectListener(this);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        BasedataEdit nckd_saletypes_d = this.getControl("nckd_saletypes_d");
 | 
	
		
			
				|  |  | +        nckd_saletypes_d.addBeforeF7SelectListener(this);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        BasedataEdit nckd_customer = this.getControl("nckd_customer");
 | 
	
		
			
				|  |  | +        nckd_customer.addBeforeF7SelectListener(this);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void beforeItemClick(BeforeItemClickEvent evt) {
 | 
	
		
			
				|  |  |          super.beforeItemClick(evt);
 | 
	
		
			
				|  |  | -        Control source = (Control)evt.getSource();
 | 
	
		
			
				|  |  | +        Control source = (Control) evt.getSource();
 | 
	
		
			
				|  |  |          if (StringUtils.equals("nckd_alldai", evt.getItemKey())
 | 
	
		
			
				|  |  | -                || StringUtils.equals("nckd_allsan",  evt.getItemKey())
 | 
	
		
			
				|  |  | -                || StringUtils.equals("nckd_advconbaritemap2",  evt.getItemKey())
 | 
	
		
			
				|  |  | -                || StringUtils.equals("nckd_advconbaritemap3",  evt.getItemKey())
 | 
	
		
			
				|  |  | -                || StringUtils.equals("nckd_advconbaritemap",  evt.getItemKey())
 | 
	
		
			
				|  |  | -                || StringUtils.equals("nckd_advconbaritemap1",  evt.getItemKey())){
 | 
	
		
			
				|  |  | +                || StringUtils.equals("nckd_allsan", evt.getItemKey())
 | 
	
		
			
				|  |  | +                || StringUtils.equals("nckd_advconbaritemap2", evt.getItemKey())
 | 
	
		
			
				|  |  | +                || StringUtils.equals("nckd_advconbaritemap3", evt.getItemKey())
 | 
	
		
			
				|  |  | +                || StringUtils.equals("nckd_advconbaritemap", evt.getItemKey())
 | 
	
		
			
				|  |  | +                || StringUtils.equals("nckd_advconbaritemap1", evt.getItemKey())) {
 | 
	
		
			
				|  |  |              EntryGrid nckdPutentry = this.getView().getControl("nckd_putentry");
 | 
	
		
			
				|  |  |              int[] selectRows = nckdPutentry.getSelectRows();
 | 
	
		
			
				|  |  | -            if (selectRows==null || selectRows.length<1){
 | 
	
		
			
				|  |  | +            if (selectRows == null || selectRows.length < 1) {
 | 
	
		
			
				|  |  |                  this.getView().showErrorNotification("请先选择一个普调分录");
 | 
	
		
			
				|  |  |                  evt.setCancel(true);
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -143,7 +185,7 @@ public class BatchPriceAdjBaseEditPlugin extends AbstractBillPlugIn implements P
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void click(EventObject evt) {
 | 
	
		
			
				|  |  |          super.click(evt);
 | 
	
		
			
				|  |  | -        String key = ((Control)evt.getSource()).getKey();
 | 
	
		
			
				|  |  | +        String key = ((Control) evt.getSource()).getKey();
 | 
	
		
			
				|  |  |          //String entityId = this.getView().getEntityId();
 | 
	
		
			
				|  |  |          IDataModel model = this.getModel();
 | 
	
		
			
				|  |  |          //DynamicObject dataEntity = model.getDataEntity();
 | 
	
	
		
			
				|  | @@ -168,34 +210,34 @@ public class BatchPriceAdjBaseEditPlugin extends AbstractBillPlugIn implements P
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private void allAddentry(String materialType) {
 | 
	
		
			
				|  |  | -        DynamicObject[] materialArr = BusinessDataServiceHelper.load("bd_material", "id,masterid,name,nckd_decimalfield,nckd_decimalfield1", new QFilter[]{new QFilter("name", QCP.like, "%"+materialType+"%")});
 | 
	
		
			
				|  |  | -        if (materialArr.length>0){
 | 
	
		
			
				|  |  | +        DynamicObject[] materialArr = BusinessDataServiceHelper.load("bd_material", "id,masterid,name,nckd_decimalfield,nckd_decimalfield1", new QFilter[]{new QFilter("name", QCP.like, "%" + materialType + "%")});
 | 
	
		
			
				|  |  | +        if (materialArr.length > 0) {
 | 
	
		
			
				|  |  |              EntryGrid nckdPutentry = this.getView().getControl("nckd_putentry");
 | 
	
		
			
				|  |  |              int[] selectRows = nckdPutentry.getSelectRows();
 | 
	
		
			
				|  |  | -            DynamicObjectCollection entity=this.getModel().getEntryEntity("nckd_putentry");
 | 
	
		
			
				|  |  | -            if(selectRows!=null && selectRows.length>0){
 | 
	
		
			
				|  |  | +            DynamicObjectCollection entity = this.getModel().getEntryEntity("nckd_putentry");
 | 
	
		
			
				|  |  | +            if (selectRows != null && selectRows.length > 0) {
 | 
	
		
			
				|  |  |                  DynamicObject entry = entity.get(selectRows[0]);
 | 
	
		
			
				|  |  |                  DynamicObjectCollection nckdTjdetailentry = entry.getDynamicObjectCollection("nckd_tjdetailentry");
 | 
	
		
			
				|  |  |                  for (DynamicObject material : materialArr) {
 | 
	
		
			
				|  |  |                      DynamicObject subentry = nckdTjdetailentry.addNew();
 | 
	
		
			
				|  |  |                      this.getView().getModel().beginInit();
 | 
	
		
			
				|  |  | -                    subentry.set("nckd_materialhang",material);
 | 
	
		
			
				|  |  | +                    subentry.set("nckd_materialhang", material);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    subentry.set("nckd_cbj",material.getBigDecimal("nckd_decimalfield1"));
 | 
	
		
			
				|  |  | -                    BigDecimal nckdDecimalfield = null==material.getBigDecimal("nckd_decimalfield") ? BigDecimal.ZERO : material.getBigDecimal("nckd_decimalfield") ;
 | 
	
		
			
				|  |  | +                    subentry.set("nckd_cbj", material.getBigDecimal("nckd_decimalfield1"));
 | 
	
		
			
				|  |  | +                    BigDecimal nckdDecimalfield = null == material.getBigDecimal("nckd_decimalfield") ? BigDecimal.ZERO : material.getBigDecimal("nckd_decimalfield");
 | 
	
		
			
				|  |  |                      BigDecimal tiaozjiage = null == entry.getBigDecimal("nckd_tiaozjiage") ? BigDecimal.ZERO : entry.getBigDecimal("nckd_tiaozjiage");
 | 
	
		
			
				|  |  |                      String nckdTiaojiatype = entry.getString("nckd_tiaojiatype");
 | 
	
		
			
				|  |  | -                    BigDecimal newprice=null;
 | 
	
		
			
				|  |  | -                    if(StringUtils.equals("S",nckdTiaojiatype)){
 | 
	
		
			
				|  |  | -                        newprice=nckdDecimalfield.add(tiaozjiage);
 | 
	
		
			
				|  |  | -                    }else if (StringUtils.equals("X",nckdTiaojiatype)){
 | 
	
		
			
				|  |  | -                        newprice=nckdDecimalfield.subtract(tiaozjiage);
 | 
	
		
			
				|  |  | +                    BigDecimal newprice = null;
 | 
	
		
			
				|  |  | +                    if (StringUtils.equals("S", nckdTiaojiatype)) {
 | 
	
		
			
				|  |  | +                        newprice = nckdDecimalfield.add(tiaozjiage);
 | 
	
		
			
				|  |  | +                    } else if (StringUtils.equals("X", nckdTiaojiatype)) {
 | 
	
		
			
				|  |  | +                        newprice = nckdDecimalfield.subtract(tiaozjiage);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    subentry.set("nckd_tiaojiafudu",tiaozjiage);
 | 
	
		
			
				|  |  | -                    subentry.set("nckd_tiaojiatyped",nckdTiaojiatype);
 | 
	
		
			
				|  |  | -                    subentry.set("nckd_yuanprice",nckdDecimalfield);
 | 
	
		
			
				|  |  | -                    this.getView().getModel().endInit();;
 | 
	
		
			
				|  |  | -                    subentry.set("nckd_newprice",newprice);
 | 
	
		
			
				|  |  | +                    subentry.set("nckd_tiaojiafudu", tiaozjiage);
 | 
	
		
			
				|  |  | +                    subentry.set("nckd_tiaojiatyped", nckdTiaojiatype);
 | 
	
		
			
				|  |  | +                    subentry.set("nckd_yuanprice", nckdDecimalfield);
 | 
	
		
			
				|  |  | +                    this.getView().getModel().endInit();
 | 
	
		
			
				|  |  | +                    subentry.set("nckd_newprice", newprice);
 | 
	
		
			
				|  |  |                      this.getView().updateView("nckd_tjdetailentry");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -206,7 +248,70 @@ public class BatchPriceAdjBaseEditPlugin extends AbstractBillPlugIn implements P
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void propertyChanged(PropertyChangedArgs e) {
 | 
	
		
			
				|  |  |          super.propertyChanged(e);
 | 
	
		
			
				|  |  | +        String name = e.getProperty().getName();
 | 
	
		
			
				|  |  | +        ChangeData[] changeSet = e.getChangeSet();
 | 
	
		
			
				|  |  | +        ChangeData changeData = changeSet[0];
 | 
	
		
			
				|  |  | +        Object newValue = changeData.getNewValue();
 | 
	
		
			
				|  |  | +        int rowIndex = changeData.getRowIndex();
 | 
	
		
			
				|  |  | +        int parentRowIndex = changeData.getParentRowIndex();
 | 
	
		
			
				|  |  | +        IFormView view = this.getView();
 | 
	
		
			
				|  |  | +        IDataModel model = view.getModel();
 | 
	
		
			
				|  |  | +        if (StringUtils.equals("nckd_materiel_t", name) || StringUtils.equals("nckd_tiaojiatyped_t", name) || StringUtils.equals("nckd_tiaojiafudu_t", name)) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            Object nckdTiaojiatypedT = model.getValue("nckd_tiaojiatyped_t", rowIndex);
 | 
	
		
			
				|  |  | +            Object nckdTiaojiafuduT = model.getValue("nckd_tiaojiafudu_t", rowIndex);
 | 
	
		
			
				|  |  | +            Object nckdMaterielT = model.getValue("nckd_materiel_t", rowIndex);
 | 
	
		
			
				|  |  | +            if (nckdTiaojiatypedT != null && nckdTiaojiafuduT != null && nckdMaterielT != null) {
 | 
	
		
			
				|  |  | +                DynamicObject material = BusinessDataServiceHelper.loadSingleFromCache(((DynamicObject) nckdMaterielT).getPkValue(), ((DynamicObject) nckdMaterielT).getDynamicObjectType().getName());
 | 
	
		
			
				|  |  | +                model.setValue("nckd_cbj_t", material.getBigDecimal("nckd_decimalfield1"), rowIndex);
 | 
	
		
			
				|  |  | +                BigDecimal nckdDecimalfield = null == material.getBigDecimal("nckd_decimalfield") ? BigDecimal.ZERO : material.getBigDecimal("nckd_decimalfield");
 | 
	
		
			
				|  |  | +                BigDecimal tiaozjiage = (BigDecimal) nckdTiaojiafuduT;
 | 
	
		
			
				|  |  | +                String nckdTiaojiatype = (String) nckdTiaojiatypedT;
 | 
	
		
			
				|  |  | +                BigDecimal newprice = null;
 | 
	
		
			
				|  |  | +                if (StringUtils.equals("S", nckdTiaojiatype)) {
 | 
	
		
			
				|  |  | +                    newprice = nckdDecimalfield.add(tiaozjiage);
 | 
	
		
			
				|  |  | +                } else if (StringUtils.equals("X", nckdTiaojiatype)) {
 | 
	
		
			
				|  |  | +                    newprice = nckdDecimalfield.subtract(tiaozjiage);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                view.getModel().beginInit();
 | 
	
		
			
				|  |  | +                model.setValue("nckd_tiaojiafudu_t", tiaozjiage, rowIndex);
 | 
	
		
			
				|  |  | +                model.setValue("nckd_tiaojiatyped_t", nckdTiaojiatype, rowIndex);
 | 
	
		
			
				|  |  | +                model.setValue("nckd_yuanprice_t", nckdDecimalfield, rowIndex);
 | 
	
		
			
				|  |  | +                view.getModel().endInit();
 | 
	
		
			
				|  |  | +                model.setValue("nckd_newprice_t", newprice, rowIndex);
 | 
	
		
			
				|  |  | +                view.updateView("entryentity");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.equals("nckd_materialhang", name) && null != newValue) {
 | 
	
		
			
				|  |  | +            DynamicObjectCollection entity = this.getModel().getEntryEntity("nckd_putentry");
 | 
	
		
			
				|  |  | +            DynamicObject entry = entity.get(parentRowIndex);
 | 
	
		
			
				|  |  | +            DynamicObjectCollection nckdTjdetailentry = entry.getDynamicObjectCollection("nckd_tjdetailentry");
 | 
	
		
			
				|  |  | +            DynamicObject material = BusinessDataServiceHelper.loadSingleFromCache(((DynamicObject) newValue).getPkValue(), ((DynamicObject) newValue).getDynamicObjectType().getName());
 | 
	
		
			
				|  |  | +            DynamicObject subentry = nckdTjdetailentry.get(rowIndex);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            this.getView().getModel().beginInit();
 | 
	
		
			
				|  |  | +            subentry.set("nckd_cbj", material.getBigDecimal("nckd_decimalfield1"));
 | 
	
		
			
				|  |  | +            BigDecimal nckdDecimalfield = null == material.getBigDecimal("nckd_decimalfield") ? BigDecimal.ZERO : material.getBigDecimal("nckd_decimalfield");
 | 
	
		
			
				|  |  | +            BigDecimal tiaozjiage = null == entry.getBigDecimal("nckd_tiaozjiage") ? BigDecimal.ZERO : entry.getBigDecimal("nckd_tiaozjiage");
 | 
	
		
			
				|  |  | +            String nckdTiaojiatype = entry.getString("nckd_tiaojiatype");
 | 
	
		
			
				|  |  | +            BigDecimal newprice = null;
 | 
	
		
			
				|  |  | +            if (StringUtils.equals("S", nckdTiaojiatype)) {
 | 
	
		
			
				|  |  | +                newprice = nckdDecimalfield.add(tiaozjiage);
 | 
	
		
			
				|  |  | +            } else if (StringUtils.equals("X", nckdTiaojiatype)) {
 | 
	
		
			
				|  |  | +                newprice = nckdDecimalfield.subtract(tiaozjiage);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            subentry.set("nckd_tiaojiafudu", tiaozjiage);
 | 
	
		
			
				|  |  | +            subentry.set("nckd_tiaojiatyped", nckdTiaojiatype);
 | 
	
		
			
				|  |  | +            subentry.set("nckd_yuanprice", nckdDecimalfield);
 | 
	
		
			
				|  |  | +            this.getView().getModel().endInit();
 | 
	
		
			
				|  |  | +            subentry.set("nckd_newprice", newprice);
 | 
	
		
			
				|  |  | +            this.getView().updateView("nckd_tjdetailentry");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) {
 |