import com.dderp.common.api.BusinessExecutor import com.dderp.common.datas.ERPModule import com.dderp.common.entity.base.ProcessMapItem import com.dderp.common.entity.base.ScriptMapResult import com.dderp.common.entity.site.ERPTokenUser import com.dderp.common.tool.ERPUtils import com.sweetfish.service.RetResult import org.rex.RMap /** * Created by #{userName} on #{createDate}. * #{machineTypeName}机型印工计算 * @author #{userName} */ class BE_#{ActionClassName} implements BusinessExecutor { @Override String scriptName() { return "机型[#{machineTypeName}]印工计算脚本"; } ERPModule module() { return ERPModule.MACHINE_TYPE; } RetResult execute(ProcessMapItem source) { RMap params = source.itemData; String dataSourceId = source.dataSourceId; long supplierCode = source.supplierCode; ERPTokenUser currentUser = source.currentUser; //需要的字段为 版套数/千印数 if (!ERPUtils.mapContainKey(params, "breedFlipType") || !ERPUtils.mapContainKey(params, "printCount") || !ERPUtils.mapContainKey(params, "breedSets")) { return RetResult. errorT().retinfo("传入参数不正确"); } //int psGroupCount = params.getInt("psGroupCount"); // int printCount1000 = params.getInt("printCount1000"); double printCount = params.getInt("printCount"); int breedFlipType = params.getInt("breedFlipType"); int breedSets = params.getInt("breedSets"); double qbjia = 380; double jtjia = 80; printCount = Math.ceil(printCount * 0.001); //五色三菱机380元/套含版含千印,之后千印80元 double printFee = qbjia; if (breedFlipType == 1) { if (printCount > 1) { double divCount = printCount - 1; printFee += divCount * jtjia; } printFee = printFee * 2 * breedSets; } else if (breedFlipType > 1 && breedFlipType < 4) { if (printCount > 1) { double divCount = printCount - 1; printFee += divCount * jtjia * 2; } printFee = printFee * breedSets; } else if (breedFlipType == 4) { if (printCount > 1) { double divCount = printCount - 1; printFee += divCount * jtjia; } printFee = printFee * breedSets; } RMap resultMap = new RMap(); resultMap.set("printFee", printFee); return RetResult. successT().result(new ScriptMapResult(resultMap)); } }