| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- 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<ProcessMapItem, ScriptMapResult> {
- @Override
- String scriptName() {
- return "机型[#{machineTypeName}]印工计算脚本";
- }
- ERPModule module() {
- return ERPModule.MACHINE_TYPE;
- }
- RetResult<ScriptMapResult> 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.<ScriptMapResult> 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.<ScriptMapResult> successT().result(new ScriptMapResult(resultMap));
- }
- }
|