MachineTypeTemplate.gtm 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import com.dderp.common.api.BusinessExecutor
  2. import com.dderp.common.datas.ERPModule
  3. import com.dderp.common.entity.base.ProcessMapItem
  4. import com.dderp.common.entity.base.ScriptMapResult
  5. import com.dderp.common.entity.site.ERPTokenUser
  6. import com.dderp.common.tool.ERPUtils
  7. import com.sweetfish.service.RetResult
  8. import org.rex.RMap
  9. /**
  10. * Created by #{userName} on #{createDate}.
  11. * #{machineTypeName}机型印工计算
  12. * @author #{userName}
  13. */
  14. class BE_#{ActionClassName} implements BusinessExecutor<ProcessMapItem, ScriptMapResult> {
  15. @Override
  16. String scriptName() {
  17. return "机型[#{machineTypeName}]印工计算脚本";
  18. }
  19. ERPModule module() {
  20. return ERPModule.MACHINE_TYPE;
  21. }
  22. RetResult<ScriptMapResult> execute(ProcessMapItem source) {
  23. RMap params = source.itemData;
  24. String dataSourceId = source.dataSourceId;
  25. long supplierCode = source.supplierCode;
  26. ERPTokenUser currentUser = source.currentUser;
  27. //需要的字段为 版套数/千印数
  28. if (!ERPUtils.mapContainKey(params, "breedFlipType")
  29. || !ERPUtils.mapContainKey(params, "printCount") || !ERPUtils.mapContainKey(params, "breedSets")) {
  30. return RetResult.<ScriptMapResult> errorT().retinfo("传入参数不正确");
  31. }
  32. //int psGroupCount = params.getInt("psGroupCount");
  33. // int printCount1000 = params.getInt("printCount1000");
  34. double printCount = params.getInt("printCount");
  35. int breedFlipType = params.getInt("breedFlipType");
  36. int breedSets = params.getInt("breedSets");
  37. double qbjia = 380;
  38. double jtjia = 80;
  39. printCount = Math.ceil(printCount * 0.001);
  40. //五色三菱机380元/套含版含千印,之后千印80元
  41. double printFee = qbjia;
  42. if (breedFlipType == 1) {
  43. if (printCount > 1) {
  44. double divCount = printCount - 1;
  45. printFee += divCount * jtjia;
  46. }
  47. printFee = printFee * 2 * breedSets;
  48. } else if (breedFlipType > 1 && breedFlipType < 4) {
  49. if (printCount > 1) {
  50. double divCount = printCount - 1;
  51. printFee += divCount * jtjia * 2;
  52. }
  53. printFee = printFee * breedSets;
  54. } else if (breedFlipType == 4) {
  55. if (printCount > 1) {
  56. double divCount = printCount - 1;
  57. printFee += divCount * jtjia;
  58. }
  59. printFee = printFee * breedSets;
  60. }
  61. RMap resultMap = new RMap();
  62. resultMap.set("printFee", printFee);
  63. return RetResult.<ScriptMapResult> successT().result(new ScriptMapResult(resultMap));
  64. }
  65. }