import com.dderp.common.api.BusinessExecutor import com.dderp.common.datas.ERPModule import com.dderp.common.entity.base.ScriptMapResult import com.dderp.common.entity.order.PrintOrder import com.dderp.common.entity.product.ProcessOrderQuoteItem import com.dderp.common.entity.product.ProductInfo import com.sweetfish.service.RetResult import org.rex.RMap import javax.annotation.Resource /** * Created by #{userName} on #{createDate}. * #{productName}报价脚本实现 * @author #{userName} */ class BE_#{ScriptClassName} implements BusinessExecutor { @Resource(name = "APP_HOME") String appHome String scriptName() { return "产品[#{productName}]报价脚本" } ERPModule module() { return ERPModule.PRODUCT_QUOTE } //参数,注意下面都是示例 //vbegin //[印工] double printMoney = 1.123 //[覆膜单价] double fumoMoney = 2.234 //[封皮价格.规格,联数,开数,印色,单价] String fpFile = "testTable.json" //vend def fpTable = [] void start(long supplierCode) { fpTable = QT.load(appHome, supplierCode, fpFile) } RetResult execute(ProcessOrderQuoteItem source) { BigDecimal dMoney = BigDecimal.ZERO PrintOrder printOrder = source.printOrder //产品信息,包括部件,部件参数等 ProductInfo productInfo = source.productInfo //开始报价计算 printOrder.partList.each { orderPart -> //orderPart即为部件 //获取部件参数示例 String paperSize = orderPart quoteProduct productInfo quoteParameterValue "尺寸" //获取部件工艺,只有ERP报价系统需要,如果是商城系统,那么工艺会作为参数传入, } //返回价格,请修改为对应的价格 RMap map = new RMap() //基础价,代理价,交易价 map.put("BaseMoney", BigDecimal.ZERO) map.put("ProxyMoney", BigDecimal.ZERO) map.put("TotalMoney", dMoney) return RetResult. successT().result(new ScriptMapResult(map)) } }