glj.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { CoeType, GljType, IRationCoe } from '@sc/types';
  2. import { v1 } from 'uuid';
  3. // 根据人材机类型,获取可含有的组成物类型,空数组即为该人材机不可含有组成物
  4. export const getComponentTypes = (type: GljType): GljType[] => {
  5. if ([GljType.CONCRETE, GljType.MORTAR, GljType.MIX_RATIO].includes(type)) {
  6. return [GljType.GENERAL_MATERIAL];
  7. }
  8. if ([GljType.GENERAL_MACHINE, GljType.INSTRUMENT].includes(type)) {
  9. return [
  10. GljType.MACHINE_COMPOSITION,
  11. GljType.MACHINE_LABOUR,
  12. GljType.FUEL_POWER_FEE,
  13. GljType.DEPRECIATION_FEE,
  14. GljType.INSPECTION_FEE,
  15. GljType.MAINTENANCE,
  16. GljType.DISMANTLING_FREIGHT_FEE,
  17. GljType.VERIFICATION_FEE,
  18. GljType.OTHER_FEE,
  19. ];
  20. }
  21. if (GljType.MAIN_MATERIAL === type) {
  22. return [GljType.MAIN_MATERIAL];
  23. }
  24. return [];
  25. };
  26. // 获取自定义系数
  27. export const getCustomerCoe = (): IRationCoe => {
  28. return {
  29. ID: v1(),
  30. stdID: -1,
  31. name: '自定义系数',
  32. content: '人工×1,材料×1,机械×1,主材×1,设备×1',
  33. isAdjust: true,
  34. coes: [
  35. { amount: '1', operator: '*', gljCode: '', coeType: CoeType.RATION },
  36. { amount: '1', operator: '*', gljCode: '', coeType: CoeType.LABOUR },
  37. { amount: '1', operator: '*', gljCode: '', coeType: CoeType.MATERIAL },
  38. { amount: '1', operator: '*', gljCode: '', coeType: CoeType.MACHINE },
  39. { amount: '1', operator: '*', gljCode: '', coeType: CoeType.MAIN },
  40. { amount: '1', operator: '*', gljCode: '', coeType: CoeType.EQUIPMENT },
  41. ],
  42. };
  43. };