storemw-core-api 1.0.154 → 1.0.156
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/model_factory/default.d.ts +5 -5
- package/dist/lib/model_factory/default.js +8 -5
- package/dist/lib/model_factory/default.js.map +1 -1
- package/dist/services/access_control/AccessControlRoleService.js +1 -1
- package/dist/services/access_control/AccessControlRoleService.js.map +1 -1
- package/dist/services/access_key/AccessKeyService.js +1 -1
- package/dist/services/access_key/AccessKeyService.js.map +1 -1
- package/dist/services/account/AccountService.js +1 -1
- package/dist/services/account/AccountService.js.map +1 -1
- package/dist/services/business/BusinessService.js +1 -1
- package/dist/services/business/BusinessService.js.map +1 -1
- package/dist/services/injection_field/InjectionFieldService.js +1 -1
- package/dist/services/injection_field/InjectionFieldService.js.map +1 -1
- package/dist/services/item/ItemBrandService.js +1 -1
- package/dist/services/item/ItemBrandService.js.map +1 -1
- package/dist/services/item/ItemCategoryService.js +1 -1
- package/dist/services/item/ItemCategoryService.js.map +1 -1
- package/dist/services/item/ItemItemService.js +1 -1
- package/dist/services/item/ItemItemService.js.map +1 -1
- package/dist/services/item/ItemProductService.js +1 -1
- package/dist/services/item/ItemProductService.js.map +1 -1
- package/dist/services/item/ItemUomService.js +1 -1
- package/dist/services/item/ItemUomService.js.map +1 -1
- package/dist/services/location/LocationLocationService.js +1 -1
- package/dist/services/location/LocationLocationService.js.map +1 -1
- package/dist/services/location/LocationRackService.js +1 -1
- package/dist/services/location/LocationRackService.js.map +1 -1
- package/dist/services/location/LocationSlotService.js +1 -1
- package/dist/services/location/LocationSlotService.js.map +1 -1
- package/dist/services/one_time_code/OneTimeCodeService.js +1 -1
- package/dist/services/one_time_code/OneTimeCodeService.js.map +1 -1
- package/dist/services/region/AreaService.js +1 -1
- package/dist/services/region/AreaService.js.map +1 -1
- package/dist/services/region/CountryService.js +1 -1
- package/dist/services/region/CountryService.js.map +1 -1
- package/dist/services/region/StateService.js +1 -1
- package/dist/services/region/StateService.js.map +1 -1
- package/dist/services/scheduler/SchedulerLogService.js +1 -1
- package/dist/services/scheduler/SchedulerLogService.js.map +1 -1
- package/dist/services/subscription/account/AccountSubscribeService.js +1 -1
- package/dist/services/subscription/account/AccountSubscribeService.js.map +1 -1
- package/dist/services/subscription/plan/SubscribePlanService.js +1 -1
- package/dist/services/subscription/plan/SubscribePlanService.js.map +1 -1
- package/dist/services/user/AdministratorService.js +1 -1
- package/dist/services/user/AdministratorService.js.map +1 -1
- package/dist/services/user/AgentService.js +1 -1
- package/dist/services/user/AgentService.js.map +1 -1
- package/dist/services/user/CustomerService.js +1 -1
- package/dist/services/user/CustomerService.js.map +1 -1
- package/dist/services/user/DriverService.js +1 -1
- package/dist/services/user/DriverService.js.map +1 -1
- package/dist/services/user/MemberService.js +1 -1
- package/dist/services/user/MemberService.js.map +1 -1
- package/dist/services/user/OperatorService.js +1 -1
- package/dist/services/user/OperatorService.js.map +1 -1
- package/dist/services/user/RetailerService.js +1 -1
- package/dist/services/user/RetailerService.js.map +1 -1
- package/dist/services/user/UserService.js +1 -1
- package/dist/services/user/UserService.js.map +1 -1
- package/dist/services/user/WorkerService.js +1 -1
- package/dist/services/user/WorkerService.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemItemService.js","sourceRoot":"","sources":["../../../src/services/item/ItemItemService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ItemModel,\n ModelItemFields,\n ModelProductFields,\n ModelCategoryFields,\n ModelBrandFields,\n ModelUomFields\n} from \"@/models\";\n\nimport { InjectionFieldService } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type ItemType = \"item\"\n\nexport const itemDataTypes = {\n itemInjectionFields: \"item_injection_fields\",\n // slotItem: \"slot_item\",\n // allSupplier: \"all_supplier\",\n // latestGrAmount: \"lastest_gr_amount\",\n // file: \"file\",\n // product: \"product\"\n}\n\nexport type ItemDataType = keyof typeof itemDataTypes;\n\nexport type ItemItemServiceProps = DefaultServiceProps & {};\n\nexport type ItemItemGetProps = {\n id: number,\n datatypes: ItemDataType[]\n};\n\nexport type ItemItemListProps = QueryList & {\n datatypes: ItemDataType[]\n};\n\nexport type ItemItemRemoveProps = {\n itemIds: BigInt[]\n};\n\nexport type ItemItemCreateProps = {\n data:\n // item\n {\n item: {\n productId: number\n uomId: number\n itemCode: string // code\n status: boolean\n\n isPackage: boolean\n itemDescription: string\n remark: string\n cost: number\n uomPrice: number\n\n floorPrice: number\n grossWeight: number\n volumeWeight: number\n netWeight: number\n dimensionWidth: number\n\n dimensionHeight: number\n dimensionLength: number\n cbm: number\n // transformRatio?: number\n // repackRemark?: string\n\n // supplierIds?: number[]\n // scanningCodePrefix?: number\n // scanningCodeSuffix?: number\n // relocateThresholdQty?: number\n // relocateTopupQty?: number\n\n // reorderThresholdQty?: number\n // reorderTopupQty?: number\n\n }\n }\n}\n\nexport type ItemItemUpdateProps = {\n itemId: number,\n data:\n // item\n {\n item: {\n // productId: number\n // uomId: number\n itemCode: string // code\n status: boolean\n\n isPackage: boolean\n itemDescription: string\n remark: string\n cost: number\n uomPrice: number\n\n floorPrice: number\n grossWeight: number\n volumeWeight: number\n netWeight: number\n dimensionWidth: number\n\n dimensionHeight: number\n dimensionLength: number\n cbm: number\n // transformRatio?: number\n // repackRemark?: string\n\n // supplierIds?: number[]\n // scanningCodePrefix?: number\n // scanningCodeSuffix?: number\n // relocateThresholdQty?: number\n // relocateTopupQty?: number\n\n // reorderThresholdQty?: number\n // reorderTopupQty?: number\n }\n }\n}\n\nconst getCreatePayload = (data: ItemItemCreateProps[\"data\"]) => {\n\n if (\"item\" in data) {\n\n // please ignore the item_name, model, summary\n\n return {\n [`${ModelItemFields.product_id}`]: data.item.productId,\n [`${ModelItemFields.uom_id}`]: data.item.uomId,\n [`${ModelItemFields.cbm}`]: data.item.cbm,\n [`${ModelItemFields.item_code}`]: data.item.itemCode,\n\n [`${ModelItemFields.cost}`]: data.item.cost,\n [`${ModelItemFields.uom_price}`]: data.item.uomPrice,\n [`${ModelItemFields.dimension_height}`]: data.item.dimensionHeight,\n [`${ModelItemFields.dimension_length}`]: data.item.dimensionLength,\n [`${ModelItemFields.dimension_width}`]: data.item.dimensionWidth,\n\n [`${ModelItemFields.floor_price}`]: data.item.floorPrice,\n [`${ModelItemFields.gross_weight}`]: data.item.grossWeight,\n [`${ModelItemFields.net_weight}`]: data.item.netWeight,\n [`${ModelItemFields.volume_weight}`]: data.item.volumeWeight,\n [`${ModelItemFields.is_package}`]: data.item.isPackage ? 1 : 0,\n\n [`${ModelItemFields.item_description}`]: data.item.itemDescription,\n [`${ModelItemFields.remark}`]: data.item.remark,\n [`${ModelItemFields.status}`]: data.item.status ? 1 : 0,\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemItemUpdateProps[\"data\"]) => {\n\n if (\"item\" in data) {\n\n return {\n // [`${ModelItemFields.product_id}`]: data.item.productId, // cannot changed\n // [`${ModelItemFields.uom_id}`]: data.item.uomId, // cannot changed\n [`${ModelItemFields.cbm}`]: data.item.cbm,\n [`${ModelItemFields.item_code}`]: data.item.itemCode,\n\n [`${ModelItemFields.cost}`]: data.item.cost,\n [`${ModelItemFields.uom_price}`]: data.item.uomPrice,\n [`${ModelItemFields.dimension_height}`]: data.item.dimensionHeight,\n [`${ModelItemFields.dimension_length}`]: data.item.dimensionLength,\n [`${ModelItemFields.dimension_width}`]: data.item.dimensionWidth,\n\n [`${ModelItemFields.floor_price}`]: data.item.floorPrice,\n [`${ModelItemFields.gross_weight}`]: data.item.grossWeight,\n [`${ModelItemFields.net_weight}`]: data.item.netWeight,\n [`${ModelItemFields.volume_weight}`]: data.item.volumeWeight,\n [`${ModelItemFields.is_package}`]: data.item.isPackage ? 1 : 0,\n\n [`${ModelItemFields.item_description}`]: data.item.itemDescription,\n [`${ModelItemFields.remark}`]: data.item.remark,\n [`${ModelItemFields.status}`]: data.item.status ? 1 : 0,\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`itm.${ModelItemFields.item_id}`]: \"item_id\",\n // [`itm.${ModelItemFields.brand_id}`]: \"brand_id\", // no use\n // [`itm.${ModelItemFields.category_id}`]: \"category_id\", // no use\n [`itm.${ModelItemFields.uom_id}`]: \"uom_id\",\n [`itm.${ModelItemFields.cbm}::float`]: \"cbm\",\n [`itm.${ModelItemFields.item_code}`]: \"item_code\",\n [`itm.${ModelItemFields.cost}::float`]: \"cost\",\n [`itm.${ModelItemFields.dimension_height}::float`]: \"dimension_height\",\n [`itm.${ModelItemFields.dimension_length}::float`]: \"dimension_length\",\n [`itm.${ModelItemFields.dimension_width}::float`]: \"dimension_width\",\n [`itm.${ModelItemFields.floor_price}::float`]: \"floor_price\",\n [`itm.${ModelItemFields.gross_weight}::float`]: \"gross_weight\",\n [`itm.${ModelItemFields.is_package}`]: \"is_package\",\n [`itm.${ModelItemFields.item_description}`]: \"item_description\",\n // [`itm.${ModelItemFields.item_name}`]: \"item_name\", // no use\n // [`itm.${ModelItemFields.model}`]: \"model\", // no use \n [`itm.${ModelItemFields.net_weight}::float`]: \"net_weight\",\n [`itm.${ModelItemFields.remark}`]: \"remark\",\n [`itm.${ModelItemFields.status}`]: \"status\",\n [`itm.${ModelItemFields.summary}`]: \"summary\",\n [`itm.${ModelItemFields.uom_bal}::float`]: \"uom_bal\",\n [`itm.${ModelItemFields.uom_price}::float`]: \"uom_price\",\n [`itm.${ModelItemFields.volume_weight}::float`]: \"volume_weight\",\n}\n\nlet itemSqlSelect = {\n [`prd.${ModelProductFields.product_id}`]: \"product_id\",\n [`prd.${ModelProductFields.brand_id}`]: \"brand_id\",\n [`prd.${ModelProductFields.category_id}`]: \"category_id\",\n [`prd.${ModelProductFields.product_code}`]: \"product_code\",\n [`prd.${ModelProductFields.product_name}`]: \"product_name\",\n [`prd.${ModelProductFields.description}`]: \"description\",\n [`prd.${ModelProductFields.model}`]: \"model\",\n [`prd.${ModelProductFields.status}`]: \"status\",\n [`prd.${ModelProductFields.summary}`]: \"summary\",\n [`catg.${ModelCategoryFields.name}`]: \"category_name\",\n [`catg.${ModelCategoryFields.status}`]: \"category_status\",\n [`catg.${ModelCategoryFields.description}`]: \"category_description\",\n [`catg.${ModelCategoryFields.parent_category_id}`]: \"parent_category_id\",\n [`brd.${ModelBrandFields.name}`]: \"brand_status\",\n [`brd.${ModelBrandFields.status}`]: \"brand_status\",\n [`brd.${ModelBrandFields.description}`]: \"brand_description\",\n [`uom.${ModelUomFields.decimal_digit}`]: \"uom_decimal_digit\",\n [`uom.${ModelUomFields.description}`]: \"uom_description\",\n [`uom.${ModelUomFields.name}`]: \"uom_name\",\n [`uom.${ModelUomFields.status}`]: \"uom_status\",\n [`uom.${ModelUomFields.metric_type}`]: \"uom_metric_type\",\n [`uom.${ModelUomFields.metric_type_display_name}`]: \"uom_metric_type_display_name\",\n}\n\nlet defaultSqlSelect = {\n [`itm.${ModelItemFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`itm.${ModelItemFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`itm.${ModelItemFields.isdelete}`]: \"isdelete\",\n [`itm.${ModelItemFields.istrash}`]: \"istrash\",\n [`itm.${ModelItemFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemItemService = (props: ItemItemServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const itemModel = ItemModel({ ...rest })\n\n const createItem = async ({ data }: ItemItemCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create item payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await itemModel.create({ data: _data })\n\n return response\n }\n\n const updateItem = async ({ itemId, data }: ItemItemUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update item payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await itemModel.update({ where: { [`${ModelItemFields.item_id}`]: itemId }, data: _data })\n\n return response\n }\n\n const getItem = async ({ id, datatypes = [] }: ItemItemGetProps) => {\n\n let { data } = await listItems({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelItemFields.item_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelItemFields.item_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listItems = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemItemListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(itm.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, itemSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"itm\", \"products\", \"prd\", [\"itm.product_id = prd.product_id\", \"prd.isdelete = false\", \"prd.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"uoms\", \"uom\", [\"itm.uom_id = uom.uom_id\", \"uom.isdelete = false\", \"uom.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"categories\", \"catg\", [\"prd.category_id = catg.category_id\", \"catg.isdelete = false\", \"catg.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"brands\", \"brd\", [\"prd.brand_id = brd.brand_id\", \"brd.isdelete = false\", \"brd.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"users\", \"creator\", [\"itm.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"users\", \"updater\", [\"itm.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"user_status\", \"usrsta_isowner\", [\"itm.user_id = usrsta_isowner.user_id\", \"usrsta_isowner.type = 'IS_OWNER'\", \"usrsta_isowner.isdelete = false\", \"usrsta_isowner.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"user_props\", \"usrprop_location\", [\"itm.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"group_owners\", \"grpown\", [\"itm.user_id = grpown.user_id\", \"grpown.isdelete = false\", \"grpown.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"groups\", \"grp\", [\"grpown.group_id = grp.group_id\", \"grp.isdelete = false\", \"grp.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(itemSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...itemSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(itemDataTypes.itemInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n const injectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n // const injectionFieldSqlSelect = a.reduce((acc, col) => {\n // acc[`iif.${col}`] = `${col}`;\n // return acc;\n // }, {} as Record<string, string>);\n\n // let injectionFieldSqlSelect = {\n // [`iif.itm_itm_inttest`]: \"itm_itm_inttest\",\n // // [`iif.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`iif.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`iif.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`iif.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`iif.${ModelUserFields.contact}`]: \"contact\",\n // // [`iif.${ModelUserFields.email}`]: \"email\",\n // }\n\n filterColumns = { ...filterColumns, ...injectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, injectionFieldSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"itm\", \"item_injection_fields\", \"iif\", [\"itm.item_id = iif.item_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'item'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(injectionFieldSqlSelect)]\n }\n\n // if (datatypes.includes(itemDataTypes.location)) {\n\n // let locationSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelLocationFields.location_id}', location.location_id,\n // '${ModelLocationFields.location_code}', location.location_code,\n // '${ModelLocationFields.location_name}', location.location_name,\n // '${ModelLocationFields.location_type}', location.location_type,\n // '${ModelLocationFields.address_1}', location.address_1,\n // '${ModelLocationFields.address_2}', location.address_2,\n // '${ModelLocationFields.area}', location.area,\n // '${ModelLocationFields.area_id}', location.area_id,\n // '${ModelLocationFields.country_id}', location.country_id,\n // '${ModelLocationFields.state_id}', location.state_id,\n // '${ModelLocationFields.postcode}', location.postcode,\n // '${ModelLocationFields.is_default}', location.is_default,\n // '${ModelLocationFields.person_contact}', location.person_contact,\n // '${ModelLocationFields.person_name}', location.person_contact,\n // '${ModelLocationFields.person_email}', location.person_email,\n // '${ModelLocationFields.isdelete}', location.isdelete,\n // '${ModelLocationFields.istrash}', location.istrash\n // )\n // ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false), \n // '[]'\n // )`]: \"locations\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"itm.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n // if (datatypes.includes(itemDataTypes.locationCount)) {\n\n // let locationCountSqlSelect = {\n // [`COUNT(DISTINCT location.${ModelLocationFields.location_id})::INT`]: \"location_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"itm.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n // }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ModelBranchUserFields.branch_user_id})::INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"itm.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `itm.isdelete = false`,\n `itm.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"items\",\n mainAlias: \"itm\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await itemModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeItems = async ({ itemIds }: ItemItemRemoveProps) => {\n\n if (!itemIds.length) throwError('itemIds is required');\n\n const response = await itemModel.remove({ where: { [`${ModelItemFields.item_id}`]: { in: itemIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(itemDataTypes);\n }\n\n return {\n createItem,\n updateItem,\n getItem,\n listItems,\n removeItems,\n getDataTypes\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"ItemItemService.js","sourceRoot":"","sources":["../../../src/services/item/ItemItemService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ItemModel,\n ModelItemFields,\n ModelProductFields,\n ModelCategoryFields,\n ModelBrandFields,\n ModelUomFields\n} from \"@/models\";\n\nimport { InjectionFieldService } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type ItemType = \"item\"\n\nexport const itemDataTypes = {\n itemInjectionFields: \"item_injection_fields\",\n // slotItem: \"slot_item\",\n // allSupplier: \"all_supplier\",\n // latestGrAmount: \"lastest_gr_amount\",\n // file: \"file\",\n // product: \"product\"\n}\n\nexport type ItemDataType = keyof typeof itemDataTypes;\n\nexport type ItemItemServiceProps = DefaultServiceProps & {};\n\nexport type ItemItemGetProps = {\n id: number,\n datatypes: ItemDataType[]\n};\n\nexport type ItemItemListProps = QueryList & {\n datatypes: ItemDataType[]\n};\n\nexport type ItemItemRemoveProps = {\n itemIds: BigInt[]\n};\n\nexport type ItemItemCreateProps = {\n data:\n // item\n {\n item: {\n productId: number\n uomId: number\n itemCode: string // code\n status: boolean\n\n isPackage: boolean\n itemDescription: string\n remark: string\n cost: number\n uomPrice: number\n\n floorPrice: number\n grossWeight: number\n volumeWeight: number\n netWeight: number\n dimensionWidth: number\n\n dimensionHeight: number\n dimensionLength: number\n cbm: number\n // transformRatio?: number\n // repackRemark?: string\n\n // supplierIds?: number[]\n // scanningCodePrefix?: number\n // scanningCodeSuffix?: number\n // relocateThresholdQty?: number\n // relocateTopupQty?: number\n\n // reorderThresholdQty?: number\n // reorderTopupQty?: number\n\n }\n }\n}\n\nexport type ItemItemUpdateProps = {\n itemId: number,\n data:\n // item\n {\n item: {\n // productId: number\n // uomId: number\n itemCode: string // code\n status: boolean\n\n isPackage: boolean\n itemDescription: string\n remark: string\n cost: number\n uomPrice: number\n\n floorPrice: number\n grossWeight: number\n volumeWeight: number\n netWeight: number\n dimensionWidth: number\n\n dimensionHeight: number\n dimensionLength: number\n cbm: number\n // transformRatio?: number\n // repackRemark?: string\n\n // supplierIds?: number[]\n // scanningCodePrefix?: number\n // scanningCodeSuffix?: number\n // relocateThresholdQty?: number\n // relocateTopupQty?: number\n\n // reorderThresholdQty?: number\n // reorderTopupQty?: number\n }\n }\n}\n\nconst getCreatePayload = (data: ItemItemCreateProps[\"data\"]) => {\n\n if (\"item\" in data) {\n\n // please ignore the item_name, model, summary\n\n return {\n [`${ModelItemFields.product_id}`]: data.item.productId,\n [`${ModelItemFields.uom_id}`]: data.item.uomId,\n [`${ModelItemFields.cbm}`]: data.item.cbm,\n [`${ModelItemFields.item_code}`]: data.item.itemCode,\n\n [`${ModelItemFields.cost}`]: data.item.cost,\n [`${ModelItemFields.uom_price}`]: data.item.uomPrice,\n [`${ModelItemFields.dimension_height}`]: data.item.dimensionHeight,\n [`${ModelItemFields.dimension_length}`]: data.item.dimensionLength,\n [`${ModelItemFields.dimension_width}`]: data.item.dimensionWidth,\n\n [`${ModelItemFields.floor_price}`]: data.item.floorPrice,\n [`${ModelItemFields.gross_weight}`]: data.item.grossWeight,\n [`${ModelItemFields.net_weight}`]: data.item.netWeight,\n [`${ModelItemFields.volume_weight}`]: data.item.volumeWeight,\n [`${ModelItemFields.is_package}`]: data.item.isPackage ? 1 : 0,\n\n [`${ModelItemFields.item_description}`]: data.item.itemDescription,\n [`${ModelItemFields.remark}`]: data.item.remark,\n [`${ModelItemFields.status}`]: data.item.status ? 1 : 0,\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemItemUpdateProps[\"data\"]) => {\n\n if (\"item\" in data) {\n\n return {\n // [`${ModelItemFields.product_id}`]: data.item.productId, // cannot changed\n // [`${ModelItemFields.uom_id}`]: data.item.uomId, // cannot changed\n [`${ModelItemFields.cbm}`]: data.item.cbm,\n [`${ModelItemFields.item_code}`]: data.item.itemCode,\n\n [`${ModelItemFields.cost}`]: data.item.cost,\n [`${ModelItemFields.uom_price}`]: data.item.uomPrice,\n [`${ModelItemFields.dimension_height}`]: data.item.dimensionHeight,\n [`${ModelItemFields.dimension_length}`]: data.item.dimensionLength,\n [`${ModelItemFields.dimension_width}`]: data.item.dimensionWidth,\n\n [`${ModelItemFields.floor_price}`]: data.item.floorPrice,\n [`${ModelItemFields.gross_weight}`]: data.item.grossWeight,\n [`${ModelItemFields.net_weight}`]: data.item.netWeight,\n [`${ModelItemFields.volume_weight}`]: data.item.volumeWeight,\n [`${ModelItemFields.is_package}`]: data.item.isPackage ? 1 : 0,\n\n [`${ModelItemFields.item_description}`]: data.item.itemDescription,\n [`${ModelItemFields.remark}`]: data.item.remark,\n [`${ModelItemFields.status}`]: data.item.status ? 1 : 0,\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`itm.${ModelItemFields.item_id}`]: \"item_id\",\n // [`itm.${ModelItemFields.brand_id}`]: \"brand_id\", // no use\n // [`itm.${ModelItemFields.category_id}`]: \"category_id\", // no use\n [`itm.${ModelItemFields.uom_id}`]: \"uom_id\",\n [`itm.${ModelItemFields.cbm}::float`]: \"cbm\",\n [`itm.${ModelItemFields.item_code}`]: \"item_code\",\n [`itm.${ModelItemFields.cost}::float`]: \"cost\",\n [`itm.${ModelItemFields.dimension_height}::float`]: \"dimension_height\",\n [`itm.${ModelItemFields.dimension_length}::float`]: \"dimension_length\",\n [`itm.${ModelItemFields.dimension_width}::float`]: \"dimension_width\",\n [`itm.${ModelItemFields.floor_price}::float`]: \"floor_price\",\n [`itm.${ModelItemFields.gross_weight}::float`]: \"gross_weight\",\n [`itm.${ModelItemFields.is_package}`]: \"is_package\",\n [`itm.${ModelItemFields.item_description}`]: \"item_description\",\n // [`itm.${ModelItemFields.item_name}`]: \"item_name\", // no use\n // [`itm.${ModelItemFields.model}`]: \"model\", // no use \n [`itm.${ModelItemFields.net_weight}::float`]: \"net_weight\",\n [`itm.${ModelItemFields.remark}`]: \"remark\",\n [`itm.${ModelItemFields.status}`]: \"status\",\n [`itm.${ModelItemFields.summary}`]: \"summary\",\n [`itm.${ModelItemFields.uom_bal}::float`]: \"uom_bal\",\n [`itm.${ModelItemFields.uom_price}::float`]: \"uom_price\",\n [`itm.${ModelItemFields.volume_weight}::float`]: \"volume_weight\",\n}\n\nlet itemSqlSelect = {\n [`prd.${ModelProductFields.product_id}`]: \"product_id\",\n [`prd.${ModelProductFields.brand_id}`]: \"brand_id\",\n [`prd.${ModelProductFields.category_id}`]: \"category_id\",\n [`prd.${ModelProductFields.product_code}`]: \"product_code\",\n [`prd.${ModelProductFields.product_name}`]: \"product_name\",\n [`prd.${ModelProductFields.description}`]: \"description\",\n [`prd.${ModelProductFields.model}`]: \"model\",\n [`prd.${ModelProductFields.status}`]: \"status\",\n [`prd.${ModelProductFields.summary}`]: \"summary\",\n [`catg.${ModelCategoryFields.name}`]: \"category_name\",\n [`catg.${ModelCategoryFields.status}`]: \"category_status\",\n [`catg.${ModelCategoryFields.description}`]: \"category_description\",\n [`catg.${ModelCategoryFields.parent_category_id}`]: \"parent_category_id\",\n [`brd.${ModelBrandFields.name}`]: \"brand_status\",\n [`brd.${ModelBrandFields.status}`]: \"brand_status\",\n [`brd.${ModelBrandFields.description}`]: \"brand_description\",\n [`uom.${ModelUomFields.decimal_digit}`]: \"uom_decimal_digit\",\n [`uom.${ModelUomFields.description}`]: \"uom_description\",\n [`uom.${ModelUomFields.name}`]: \"uom_name\",\n [`uom.${ModelUomFields.status}`]: \"uom_status\",\n [`uom.${ModelUomFields.metric_type}`]: \"uom_metric_type\",\n [`uom.${ModelUomFields.metric_type_display_name}`]: \"uom_metric_type_display_name\",\n}\n\nlet defaultSqlSelect = {\n [`itm.${ModelItemFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`itm.${ModelItemFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`itm.${ModelItemFields.isdelete}`]: \"isdelete\",\n [`itm.${ModelItemFields.istrash}`]: \"istrash\",\n [`itm.${ModelItemFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemItemService = (props: ItemItemServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const itemModel = ItemModel({ ...rest })\n\n const createItem = async ({ data }: ItemItemCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create item payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await itemModel.create({ data: _data })\n\n return response\n }\n\n const updateItem = async ({ itemId, data }: ItemItemUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update item payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await itemModel.update({ where: { [`${ModelItemFields.item_id}`]: itemId }, data: _data })\n\n return response\n }\n\n const getItem = async ({ id, datatypes = [] }: ItemItemGetProps) => {\n\n let { data } = await listItems({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelItemFields.item_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelItemFields.item_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listItems = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemItemListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, itemSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"itm\", \"products\", \"prd\", [\"itm.product_id = prd.product_id\", \"prd.isdelete = false\", \"prd.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"uoms\", \"uom\", [\"itm.uom_id = uom.uom_id\", \"uom.isdelete = false\", \"uom.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"categories\", \"catg\", [\"prd.category_id = catg.category_id\", \"catg.isdelete = false\", \"catg.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"brands\", \"brd\", [\"prd.brand_id = brd.brand_id\", \"brd.isdelete = false\", \"brd.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"users\", \"creator\", [\"itm.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"users\", \"updater\", [\"itm.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"user_status\", \"usrsta_isowner\", [\"itm.user_id = usrsta_isowner.user_id\", \"usrsta_isowner.type = 'IS_OWNER'\", \"usrsta_isowner.isdelete = false\", \"usrsta_isowner.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"user_props\", \"usrprop_location\", [\"itm.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"group_owners\", \"grpown\", [\"itm.user_id = grpown.user_id\", \"grpown.isdelete = false\", \"grpown.istrash = false\"]),\n // buildSqlRelation(\"left\", \"itm\", \"groups\", \"grp\", [\"grpown.group_id = grp.group_id\", \"grp.isdelete = false\", \"grp.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(itemSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...itemSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(itemDataTypes.itemInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n const injectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n // const injectionFieldSqlSelect = a.reduce((acc, col) => {\n // acc[`iif.${col}`] = `${col}`;\n // return acc;\n // }, {} as Record<string, string>);\n\n // let injectionFieldSqlSelect = {\n // [`iif.itm_itm_inttest`]: \"itm_itm_inttest\",\n // // [`iif.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`iif.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`iif.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`iif.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`iif.${ModelUserFields.contact}`]: \"contact\",\n // // [`iif.${ModelUserFields.email}`]: \"email\",\n // }\n\n filterColumns = { ...filterColumns, ...injectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, injectionFieldSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"itm\", \"item_injection_fields\", \"iif\", [\"itm.item_id = iif.item_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'item'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(injectionFieldSqlSelect)]\n }\n\n // if (datatypes.includes(itemDataTypes.location)) {\n\n // let locationSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelLocationFields.location_id}', location.location_id,\n // '${ModelLocationFields.location_code}', location.location_code,\n // '${ModelLocationFields.location_name}', location.location_name,\n // '${ModelLocationFields.location_type}', location.location_type,\n // '${ModelLocationFields.address_1}', location.address_1,\n // '${ModelLocationFields.address_2}', location.address_2,\n // '${ModelLocationFields.area}', location.area,\n // '${ModelLocationFields.area_id}', location.area_id,\n // '${ModelLocationFields.country_id}', location.country_id,\n // '${ModelLocationFields.state_id}', location.state_id,\n // '${ModelLocationFields.postcode}', location.postcode,\n // '${ModelLocationFields.is_default}', location.is_default,\n // '${ModelLocationFields.person_contact}', location.person_contact,\n // '${ModelLocationFields.person_name}', location.person_contact,\n // '${ModelLocationFields.person_email}', location.person_email,\n // '${ModelLocationFields.isdelete}', location.isdelete,\n // '${ModelLocationFields.istrash}', location.istrash\n // )\n // ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false), \n // '[]'\n // )`]: \"locations\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"itm.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n // if (datatypes.includes(itemDataTypes.locationCount)) {\n\n // let locationCountSqlSelect = {\n // [`COUNT(DISTINCT location.${ModelLocationFields.location_id})::INT`]: \"location_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"itm.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n // }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ModelBranchUserFields.branch_user_id})::INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"itm.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `itm.isdelete = false`,\n `itm.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"items\",\n mainAlias: \"itm\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await itemModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeItems = async ({ itemIds }: ItemItemRemoveProps) => {\n\n if (!itemIds.length) throwError('itemIds is required');\n\n const response = await itemModel.remove({ where: { [`${ModelItemFields.item_id}`]: { in: itemIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(itemDataTypes);\n }\n\n return {\n createItem,\n updateItem,\n getItem,\n listItems,\n removeItems,\n getDataTypes\n }\n\n}\n\n"]}
|
|
@@ -151,7 +151,7 @@ const ItemProductService = (props) => {
|
|
|
151
151
|
let itemsSqlSelect = await getItemsSqlSelect(datatypes, injectionFieldService);
|
|
152
152
|
let data = [];
|
|
153
153
|
let sqlSelect = [
|
|
154
|
-
`COUNT(
|
|
154
|
+
`COUNT(*) OVER() as filtered_count`,
|
|
155
155
|
(0, lib_1.buildSqlSelect)(``, mainSqlSelect),
|
|
156
156
|
(0, lib_1.buildSqlSelect)(``, itemSqlSelect),
|
|
157
157
|
(0, lib_1.buildSqlSelect)(``, itemsSqlSelect),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemProductService.js","sourceRoot":"","sources":["../../../src/services/item/ItemProductService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ProductModel,\n ModelProductFields,\n ModelCategoryFields,\n ModelBrandFields,\n ModelUomFields,\n ModelItemFields,\n ModelFileFields,\n} from \"@/models\";\n\nimport { InjectionFieldService } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type ItemType = \"product\"\n\nexport const productDataTypes = {\n productInjectionFields: \"product_injection_fields\",\n itemInjectionFields: \"item_injection_fields\",\n allCategory: \"all_category\",\n allSupplier: \"all_supplier\",\n file: \"file\",\n product: \"product\"\n}\n\nexport type ItemProductDataType = keyof typeof productDataTypes;\n\nexport type ItemProductServiceProps = DefaultServiceProps & {};\n\nexport type ItemProductGetProps = QueryGet & {\n id: number,\n datatypes: ItemProductDataType[]\n};\n\nexport type ItemProductListProps = QueryList & {\n datatypes: ItemProductDataType[]\n};\n\nexport type ItemProductRemoveProps = {\n productIds: BigInt[]\n};\n\nexport type ItemProductCreateProps = {\n data:\n // product\n {\n product: {\n brandId: number\n categoryId: number\n productName: string\n model: string\n productCode: string\n description: string\n summary: string\n status: Boolean\n }\n }\n}\n\nexport type ItemProductUpdateProps = {\n productId: number,\n data:\n // product\n {\n product: {\n brandId: number\n categoryId: number\n productName: string\n model: string\n productCode: string\n description: string\n summary: string\n status: Boolean\n }\n }\n}\n\nconst getCreatePayload = (data: ItemProductCreateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n\n return {\n [`${ModelProductFields.brand_id}`]: data.product.brandId,\n [`${ModelProductFields.category_id}`]: data.product.categoryId,\n [`${ModelProductFields.description}`]: data.product.description,\n [`${ModelProductFields.product_name}`]: data.product.productName,\n [`${ModelProductFields.model}`]: data.product.model,\n [`${ModelProductFields.product_code}`]: data.product.productCode,\n [`${ModelProductFields.summary}`]: data.product.summary,\n [`${ModelProductFields.status}`]: data.product.status ? 1 : 0\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemProductUpdateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n\n return {\n [`${ModelProductFields.brand_id}`]: data.product.brandId,\n [`${ModelProductFields.category_id}`]: data.product.categoryId,\n [`${ModelProductFields.description}`]: data.product.description,\n [`${ModelProductFields.product_name}`]: data.product.productName,\n [`${ModelProductFields.model}`]: data.product.model,\n [`${ModelProductFields.product_code}`]: data.product.productCode,\n [`${ModelProductFields.summary}`]: data.product.summary,\n [`${ModelProductFields.status}`]: data.product.status ? 1 : 0\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`prd.${ModelProductFields.product_id}`]: \"product_id\",\n [`prd.${ModelProductFields.brand_id}`]: \"brand_id\",\n [`prd.${ModelProductFields.category_id}`]: \"category_id\",\n [`prd.${ModelProductFields.description}`]: \"description\",\n [`prd.${ModelProductFields.product_name}`]: \"product_name\",\n [`prd.${ModelProductFields.model}`]: \"model\",\n [`prd.${ModelProductFields.product_code}`]: \"product_code\",\n [`prd.${ModelProductFields.status}`]: \"status\",\n [`prd.${ModelProductFields.summary}`]: \"summary\",\n}\n\nlet itemSqlSelect = {\n [`catg.${ModelCategoryFields.name}`]: \"category_name\",\n [`catg.${ModelCategoryFields.status}`]: \"category_status\",\n [`catg.${ModelCategoryFields.description}`]: \"category_description\",\n [`catg.${ModelCategoryFields.parent_category_id}`]: \"parent_category_id\",\n [`brd.${ModelBrandFields.name}`]: \"brand_name\",\n [`brd.${ModelBrandFields.status}`]: \"brand_status\",\n [`brd.${ModelBrandFields.description}`]: \"brand_description\"\n}\n\nconst getItemsSqlSelect = async (datatypes: any, injectionFieldService: any) => {\n\n let iif2Select = ``\n\n if (datatypes.includes(productDataTypes.itemInjectionFields)) {\n\n const currentActiveFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n let bbb = currentActiveFields.map((col: any) => `'inf_${col}', iif2.${col}`).join(\", \")\n\n iif2Select = bbb.length > 0 ? `, ${bbb}` : ``\n\n }\n\n let itemsSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelItemFields.item_id}', itm.item_id,\n '${ModelItemFields.cbm}', itm.cbm,\n '${ModelItemFields.item_code}', itm.item_code,\n '${ModelItemFields.cost}', itm.cost,\n '${ModelItemFields.dimension_height}', itm.dimension_height::float,\n '${ModelItemFields.dimension_length}', itm.dimension_length::float,\n '${ModelItemFields.dimension_width}', itm.dimension_width::float,\n '${ModelItemFields.floor_price}', itm.floor_price::float,\n '${ModelItemFields.gross_weight}', itm.gross_weight::float,\n '${ModelItemFields.is_package}', itm.is_package,\n '${ModelItemFields.item_description}', itm.item_description,\n '${ModelItemFields.net_weight}', itm.net_weight::float,\n '${ModelItemFields.remark}', itm.remark,\n '${ModelItemFields.status}', itm.status,\n '${ModelItemFields.summary}', itm.summary,\n '${ModelItemFields.uom_id}', itm.uom_id,\n '${ModelItemFields.uom_price}', itm.uom_price::float,\n '${ModelItemFields.uom_bal}', itm.uom_bal::float,\n 'uom_description', uom.${ModelUomFields.description},\n 'uom_decimal_digit', uom.${ModelUomFields.decimal_digit}::float,\n 'uom_name', uom.${ModelUomFields.name},\n 'uom_status', uom.${ModelUomFields.status},\n 'uom_metric_type', uom.${ModelUomFields.metric_type},\n 'uom_metric_type_display_name', uom.${ModelUomFields.metric_type_display_name},\n '${ModelItemFields.volume_weight}', itm.volume_weight\n ${iif2Select}\n )\n ) FILTER (WHERE itm.item_id IS NOT NULL AND itm.isdelete = false AND itm.istrash = false),\n '[]'\n )`]: \"items\"\n }\n\n return itemsSqlSelect\n}\n\nlet defaultSqlSelect = {\n [`prd.${ModelProductFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`prd.${ModelProductFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`prd.${ModelProductFields.isdelete}`]: \"isdelete\",\n [`prd.${ModelProductFields.istrash}`]: \"istrash\",\n [`prd.${ModelProductFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemProductService = (props: ItemProductServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const productModel = ProductModel({ ...rest })\n\n const createItemProduct = async ({ data }: ItemProductCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create product payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await productModel.create({ data: _data })\n\n return response\n }\n\n const updateItemProduct = async ({ productId, data }: ItemProductUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update product payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await productModel.update({ where: { [`${ModelProductFields.product_id}`]: productId }, data: _data })\n\n return response\n }\n\n const getItemProduct = async ({ id, datatypes = [] }: ItemProductGetProps) => {\n\n let { data } = await listItemProducts({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelProductFields.product_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelProductFields.product_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listItemProducts = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemProductListProps) => {\n\n let itemsSqlSelect = await getItemsSqlSelect(datatypes, injectionFieldService)\n\n let data = []\n\n let sqlSelect = [\n `COUNT(prd.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, itemSqlSelect),\n buildSqlSelect(``, itemsSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"prd\", \"categories\", \"catg\", [\"prd.category_id = catg.category_id\", \"catg.isdelete = false\", \"catg.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"brands\", \"brd\", [\"prd.brand_id = brd.brand_id\", \"brd.isdelete = false\", \"brd.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"items\", \"itm\", [\"prd.product_id = itm.product_id\", \"itm.isdelete = false\", \"itm.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"uoms\", \"uom\", [\"itm.uom_id = uom.uom_id\", \"uom.isdelete = false\", \"uom.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"users\", \"creator\", [\"prd.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"users\", \"updater\", [\"prd.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(itemSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...itemSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(productDataTypes.productInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"product\")\n\n const productInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...productInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, productInjectionFieldSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"prd\", \"item_injection_fields\", \"iif\", [\"prd.product_id = iif.product_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'product'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(productInjectionFieldSqlSelect)]\n }\n\n // if (datatypes.includes(productDataTypes.itemInjectionFields)) {\n\n // let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n // const productItemInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif2\", activeInjectionFields)\n\n // filterColumns = { ...filterColumns, ...productItemInjectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, productItemInjectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"itm\", \"item_injection_fields\", \"iif2\", [\"itm.item_id = iif2.item_id\", \"iif2.field_ref = 'item'\", \"iif2.field_module = 'item'\", \"iif2.isdelete = false\", \"iif2.istrash = false\"])]\n // // sqlGroupBy = [...sqlGroupBy, ...Object.keys(itemInjectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(productDataTypes.location)) {\n\n // let locationSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelLocationFields.location_id}', location.location_id,\n // '${ModelLocationFields.location_code}', location.location_code,\n // '${ModelLocationFields.location_name}', location.location_name,\n // '${ModelLocationFields.location_type}', location.location_type,\n // '${ModelLocationFields.address_1}', location.address_1,\n // '${ModelLocationFields.address_2}', location.address_2,\n // '${ModelLocationFields.area}', location.area,\n // '${ModelLocationFields.area_id}', location.area_id,\n // '${ModelLocationFields.country_id}', location.country_id,\n // '${ModelLocationFields.state_id}', location.state_id,\n // '${ModelLocationFields.postcode}', location.postcode,\n // '${ModelLocationFields.is_default}', location.is_default,\n // '${ModelLocationFields.person_contact}', location.person_contact,\n // '${ModelLocationFields.person_name}', location.person_contact,\n // '${ModelLocationFields.person_email}', location.person_email,\n // '${ModelLocationFields.isdelete}', location.isdelete,\n // '${ModelLocationFields.istrash}', location.istrash\n // )\n // ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false), \n // '[]'\n // )`]: \"locations\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"prd.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(productDataTypes.file)) {\n\n let fileSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelFileFields.file_id}', files.file_id,\n '${ModelFileFields.asset_url}', files.asset_url,\n '${ModelFileFields.asset_path}', files.asset_path,\n '${ModelFileFields.batch_code}', files.batch_code,\n '${ModelFileFields.content_type}', files.content_type,\n '${ModelFileFields.description}', files.description,\n '${ModelFileFields.field_module}', files.field_module,\n '${ModelFileFields.field_ref}', files.field_ref,\n '${ModelFileFields.file_compress_format}', files.file_compress_format,\n '${ModelFileFields.file_label}', files.file_label,\n '${ModelFileFields.file_name}', files.file_name,\n '${ModelFileFields.file_size_bytes}', files.file_size_bytes,\n '${ModelFileFields.foldername_day}', files.foldername_day,\n '${ModelFileFields.foldername_month}', files.foldername_month,\n '${ModelFileFields.foldername_year}', files.foldername_year,\n '${ModelFileFields.input_file_name}', files.input_file_name,\n '${ModelFileFields.input_file_size_bytes}', files.input_file_size_bytes,\n '${ModelFileFields.input_type}', files.input_type,\n '${ModelFileFields.refer_id_1}', files.refer_id_1,\n '${ModelFileFields.refer_id_2}', files.refer_id_2,\n '${ModelFileFields.remark}', files.remark,\n '${ModelFileFields.storage_provider_name}', files.storage_provider_name,\n '${ModelFileFields.tag_name}', files.tag_name\n )\n ) FILTER (WHERE files.file_id IS NOT NULL AND files.isdelete = false AND files.istrash = false), \n '[]'\n )`]: \"files\"\n }\n\n // filterColumns = { ...filterColumns, ...fileSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, fileSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"prd\", \"files\", \"files\", [\"prd.product_id = files.refer_id_1\", \"files.field_ref = 'item'\", \"files.field_module = 'product'\", \"files.isdelete = false\", \"files.istrash = false\"])]\n\n }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ModelBranchUserFields.branch_user_id})::INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"prd.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `prd.isdelete = false`,\n `prd.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"products\",\n mainAlias: \"prd\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await productModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeProducts = async ({ productIds }: ItemProductRemoveProps) => {\n\n if (!productIds.length) throwError('productIds is required');\n\n const response = await productModel.remove({ where: { [`${ModelProductFields.product_id}`]: { in: productIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(productDataTypes);\n }\n\n return {\n createItemProduct,\n updateItemProduct,\n getItemProduct,\n listItemProducts,\n removeProducts,\n getDataTypes\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"ItemProductService.js","sourceRoot":"","sources":["../../../src/services/item/ItemProductService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ProductModel,\n ModelProductFields,\n ModelCategoryFields,\n ModelBrandFields,\n ModelUomFields,\n ModelItemFields,\n ModelFileFields,\n} from \"@/models\";\n\nimport { InjectionFieldService } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type ItemType = \"product\"\n\nexport const productDataTypes = {\n productInjectionFields: \"product_injection_fields\",\n itemInjectionFields: \"item_injection_fields\",\n allCategory: \"all_category\",\n allSupplier: \"all_supplier\",\n file: \"file\",\n product: \"product\"\n}\n\nexport type ItemProductDataType = keyof typeof productDataTypes;\n\nexport type ItemProductServiceProps = DefaultServiceProps & {};\n\nexport type ItemProductGetProps = QueryGet & {\n id: number,\n datatypes: ItemProductDataType[]\n};\n\nexport type ItemProductListProps = QueryList & {\n datatypes: ItemProductDataType[]\n};\n\nexport type ItemProductRemoveProps = {\n productIds: BigInt[]\n};\n\nexport type ItemProductCreateProps = {\n data:\n // product\n {\n product: {\n brandId: number\n categoryId: number\n productName: string\n model: string\n productCode: string\n description: string\n summary: string\n status: Boolean\n }\n }\n}\n\nexport type ItemProductUpdateProps = {\n productId: number,\n data:\n // product\n {\n product: {\n brandId: number\n categoryId: number\n productName: string\n model: string\n productCode: string\n description: string\n summary: string\n status: Boolean\n }\n }\n}\n\nconst getCreatePayload = (data: ItemProductCreateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n\n return {\n [`${ModelProductFields.brand_id}`]: data.product.brandId,\n [`${ModelProductFields.category_id}`]: data.product.categoryId,\n [`${ModelProductFields.description}`]: data.product.description,\n [`${ModelProductFields.product_name}`]: data.product.productName,\n [`${ModelProductFields.model}`]: data.product.model,\n [`${ModelProductFields.product_code}`]: data.product.productCode,\n [`${ModelProductFields.summary}`]: data.product.summary,\n [`${ModelProductFields.status}`]: data.product.status ? 1 : 0\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemProductUpdateProps[\"data\"]) => {\n\n if (\"product\" in data) {\n\n return {\n [`${ModelProductFields.brand_id}`]: data.product.brandId,\n [`${ModelProductFields.category_id}`]: data.product.categoryId,\n [`${ModelProductFields.description}`]: data.product.description,\n [`${ModelProductFields.product_name}`]: data.product.productName,\n [`${ModelProductFields.model}`]: data.product.model,\n [`${ModelProductFields.product_code}`]: data.product.productCode,\n [`${ModelProductFields.summary}`]: data.product.summary,\n [`${ModelProductFields.status}`]: data.product.status ? 1 : 0\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`prd.${ModelProductFields.product_id}`]: \"product_id\",\n [`prd.${ModelProductFields.brand_id}`]: \"brand_id\",\n [`prd.${ModelProductFields.category_id}`]: \"category_id\",\n [`prd.${ModelProductFields.description}`]: \"description\",\n [`prd.${ModelProductFields.product_name}`]: \"product_name\",\n [`prd.${ModelProductFields.model}`]: \"model\",\n [`prd.${ModelProductFields.product_code}`]: \"product_code\",\n [`prd.${ModelProductFields.status}`]: \"status\",\n [`prd.${ModelProductFields.summary}`]: \"summary\",\n}\n\nlet itemSqlSelect = {\n [`catg.${ModelCategoryFields.name}`]: \"category_name\",\n [`catg.${ModelCategoryFields.status}`]: \"category_status\",\n [`catg.${ModelCategoryFields.description}`]: \"category_description\",\n [`catg.${ModelCategoryFields.parent_category_id}`]: \"parent_category_id\",\n [`brd.${ModelBrandFields.name}`]: \"brand_name\",\n [`brd.${ModelBrandFields.status}`]: \"brand_status\",\n [`brd.${ModelBrandFields.description}`]: \"brand_description\"\n}\n\nconst getItemsSqlSelect = async (datatypes: any, injectionFieldService: any) => {\n\n let iif2Select = ``\n\n if (datatypes.includes(productDataTypes.itemInjectionFields)) {\n\n const currentActiveFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n let bbb = currentActiveFields.map((col: any) => `'inf_${col}', iif2.${col}`).join(\", \")\n\n iif2Select = bbb.length > 0 ? `, ${bbb}` : ``\n\n }\n\n let itemsSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelItemFields.item_id}', itm.item_id,\n '${ModelItemFields.cbm}', itm.cbm,\n '${ModelItemFields.item_code}', itm.item_code,\n '${ModelItemFields.cost}', itm.cost,\n '${ModelItemFields.dimension_height}', itm.dimension_height::float,\n '${ModelItemFields.dimension_length}', itm.dimension_length::float,\n '${ModelItemFields.dimension_width}', itm.dimension_width::float,\n '${ModelItemFields.floor_price}', itm.floor_price::float,\n '${ModelItemFields.gross_weight}', itm.gross_weight::float,\n '${ModelItemFields.is_package}', itm.is_package,\n '${ModelItemFields.item_description}', itm.item_description,\n '${ModelItemFields.net_weight}', itm.net_weight::float,\n '${ModelItemFields.remark}', itm.remark,\n '${ModelItemFields.status}', itm.status,\n '${ModelItemFields.summary}', itm.summary,\n '${ModelItemFields.uom_id}', itm.uom_id,\n '${ModelItemFields.uom_price}', itm.uom_price::float,\n '${ModelItemFields.uom_bal}', itm.uom_bal::float,\n 'uom_description', uom.${ModelUomFields.description},\n 'uom_decimal_digit', uom.${ModelUomFields.decimal_digit}::float,\n 'uom_name', uom.${ModelUomFields.name},\n 'uom_status', uom.${ModelUomFields.status},\n 'uom_metric_type', uom.${ModelUomFields.metric_type},\n 'uom_metric_type_display_name', uom.${ModelUomFields.metric_type_display_name},\n '${ModelItemFields.volume_weight}', itm.volume_weight\n ${iif2Select}\n )\n ) FILTER (WHERE itm.item_id IS NOT NULL AND itm.isdelete = false AND itm.istrash = false),\n '[]'\n )`]: \"items\"\n }\n\n return itemsSqlSelect\n}\n\nlet defaultSqlSelect = {\n [`prd.${ModelProductFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`prd.${ModelProductFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`prd.${ModelProductFields.isdelete}`]: \"isdelete\",\n [`prd.${ModelProductFields.istrash}`]: \"istrash\",\n [`prd.${ModelProductFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemProductService = (props: ItemProductServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const productModel = ProductModel({ ...rest })\n\n const createItemProduct = async ({ data }: ItemProductCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create product payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await productModel.create({ data: _data })\n\n return response\n }\n\n const updateItemProduct = async ({ productId, data }: ItemProductUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update product payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await productModel.update({ where: { [`${ModelProductFields.product_id}`]: productId }, data: _data })\n\n return response\n }\n\n const getItemProduct = async ({ id, datatypes = [] }: ItemProductGetProps) => {\n\n let { data } = await listItemProducts({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelProductFields.product_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelProductFields.product_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listItemProducts = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemProductListProps) => {\n\n let itemsSqlSelect = await getItemsSqlSelect(datatypes, injectionFieldService)\n\n let data = []\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, itemSqlSelect),\n buildSqlSelect(``, itemsSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"prd\", \"categories\", \"catg\", [\"prd.category_id = catg.category_id\", \"catg.isdelete = false\", \"catg.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"brands\", \"brd\", [\"prd.brand_id = brd.brand_id\", \"brd.isdelete = false\", \"brd.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"items\", \"itm\", [\"prd.product_id = itm.product_id\", \"itm.isdelete = false\", \"itm.istrash = false\"]),\n buildSqlRelation(\"left\", \"itm\", \"uoms\", \"uom\", [\"itm.uom_id = uom.uom_id\", \"uom.isdelete = false\", \"uom.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"users\", \"creator\", [\"prd.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"prd\", \"users\", \"updater\", [\"prd.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(itemSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...itemSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(productDataTypes.productInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"product\")\n\n const productInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...productInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, productInjectionFieldSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"prd\", \"item_injection_fields\", \"iif\", [\"prd.product_id = iif.product_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'product'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(productInjectionFieldSqlSelect)]\n }\n\n // if (datatypes.includes(productDataTypes.itemInjectionFields)) {\n\n // let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"item\")\n\n // const productItemInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif2\", activeInjectionFields)\n\n // filterColumns = { ...filterColumns, ...productItemInjectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, productItemInjectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"itm\", \"item_injection_fields\", \"iif2\", [\"itm.item_id = iif2.item_id\", \"iif2.field_ref = 'item'\", \"iif2.field_module = 'item'\", \"iif2.isdelete = false\", \"iif2.istrash = false\"])]\n // // sqlGroupBy = [...sqlGroupBy, ...Object.keys(itemInjectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(productDataTypes.location)) {\n\n // let locationSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelLocationFields.location_id}', location.location_id,\n // '${ModelLocationFields.location_code}', location.location_code,\n // '${ModelLocationFields.location_name}', location.location_name,\n // '${ModelLocationFields.location_type}', location.location_type,\n // '${ModelLocationFields.address_1}', location.address_1,\n // '${ModelLocationFields.address_2}', location.address_2,\n // '${ModelLocationFields.area}', location.area,\n // '${ModelLocationFields.area_id}', location.area_id,\n // '${ModelLocationFields.country_id}', location.country_id,\n // '${ModelLocationFields.state_id}', location.state_id,\n // '${ModelLocationFields.postcode}', location.postcode,\n // '${ModelLocationFields.is_default}', location.is_default,\n // '${ModelLocationFields.person_contact}', location.person_contact,\n // '${ModelLocationFields.person_name}', location.person_contact,\n // '${ModelLocationFields.person_email}', location.person_email,\n // '${ModelLocationFields.isdelete}', location.isdelete,\n // '${ModelLocationFields.istrash}', location.istrash\n // )\n // ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false), \n // '[]'\n // )`]: \"locations\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"prd.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(productDataTypes.file)) {\n\n let fileSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelFileFields.file_id}', files.file_id,\n '${ModelFileFields.asset_url}', files.asset_url,\n '${ModelFileFields.asset_path}', files.asset_path,\n '${ModelFileFields.batch_code}', files.batch_code,\n '${ModelFileFields.content_type}', files.content_type,\n '${ModelFileFields.description}', files.description,\n '${ModelFileFields.field_module}', files.field_module,\n '${ModelFileFields.field_ref}', files.field_ref,\n '${ModelFileFields.file_compress_format}', files.file_compress_format,\n '${ModelFileFields.file_label}', files.file_label,\n '${ModelFileFields.file_name}', files.file_name,\n '${ModelFileFields.file_size_bytes}', files.file_size_bytes,\n '${ModelFileFields.foldername_day}', files.foldername_day,\n '${ModelFileFields.foldername_month}', files.foldername_month,\n '${ModelFileFields.foldername_year}', files.foldername_year,\n '${ModelFileFields.input_file_name}', files.input_file_name,\n '${ModelFileFields.input_file_size_bytes}', files.input_file_size_bytes,\n '${ModelFileFields.input_type}', files.input_type,\n '${ModelFileFields.refer_id_1}', files.refer_id_1,\n '${ModelFileFields.refer_id_2}', files.refer_id_2,\n '${ModelFileFields.remark}', files.remark,\n '${ModelFileFields.storage_provider_name}', files.storage_provider_name,\n '${ModelFileFields.tag_name}', files.tag_name\n )\n ) FILTER (WHERE files.file_id IS NOT NULL AND files.isdelete = false AND files.istrash = false), \n '[]'\n )`]: \"files\"\n }\n\n // filterColumns = { ...filterColumns, ...fileSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, fileSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"prd\", \"files\", \"files\", [\"prd.product_id = files.refer_id_1\", \"files.field_ref = 'item'\", \"files.field_module = 'product'\", \"files.isdelete = false\", \"files.istrash = false\"])]\n\n }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ModelBranchUserFields.branch_user_id})::INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"prd.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `prd.isdelete = false`,\n `prd.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"products\",\n mainAlias: \"prd\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await productModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeProducts = async ({ productIds }: ItemProductRemoveProps) => {\n\n if (!productIds.length) throwError('productIds is required');\n\n const response = await productModel.remove({ where: { [`${ModelProductFields.product_id}`]: { in: productIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(productDataTypes);\n }\n\n return {\n createItemProduct,\n updateItemProduct,\n getItemProduct,\n listItemProducts,\n removeProducts,\n getDataTypes\n }\n\n}\n\n"]}
|
|
@@ -86,7 +86,7 @@ const ItemUomService = (props) => {
|
|
|
86
86
|
const listUoms = async ({ limit, offset, filters, sortfield, sortorder, datatypes = [] }) => {
|
|
87
87
|
let data = [];
|
|
88
88
|
let sqlSelect = [
|
|
89
|
-
`COUNT(
|
|
89
|
+
`COUNT(*) OVER() as filtered_count`,
|
|
90
90
|
(0, lib_1.buildSqlSelect)(``, mainSqlSelect),
|
|
91
91
|
(0, lib_1.buildSqlSelect)(``, defaultSqlSelect),
|
|
92
92
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemUomService.js","sourceRoot":"","sources":["../../../src/services/item/ItemUomService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ModelUomFields,\n UomModel\n} from \"@/models\";\n\nimport { InjectionFieldService } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type ItemType = \"uom\"\n\nexport const uomDataTypes = {\n uomInjectionFields: \"uom_injection_fields\"\n}\n\nexport type ItemUomDataType = keyof typeof uomDataTypes;\n\nexport type ItemUomServiceProps = DefaultServiceProps & {};\n\nexport type ItemUomGetProps = {\n id: number,\n datatypes: ItemUomDataType[]\n};\n\nexport type ItemUomListProps = QueryList & {\n datatypes: ItemUomDataType[]\n};\n\nexport type ItemUomRemoveProps = {\n uomIds: BigInt[]\n};\n\ntype ItemUomMetricType = \"weight\" | \"unit\" | \"volumn\"\n\nexport type ItemUomCreateProps = {\n data:\n // uom\n {\n uom: {\n name: string,\n description: string,\n metricType: ItemUomMetricType\n metricTypeDisplayName: string\n decimalDigit: number\n status: boolean\n }\n }\n}\n\nexport type ItemUomUpdateProps = {\n uomId: number,\n data:\n // uom\n {\n uom: {\n name: string,\n description: string,\n metricType: ItemUomMetricType\n metricTypeDisplayName: string\n decimalDigit: number\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: ItemUomCreateProps[\"data\"]) => {\n\n if (\"uom\" in data) {\n\n return {\n [`${ModelUomFields.name}`]: data.uom.description,\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: data.uom.status ? 1 : 0,\n [`${ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,\n [`${ModelUomFields.metric_type}`]: data.uom.metricType,\n [`${ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemUomUpdateProps[\"data\"]) => {\n\n if (\"uom\" in data) {\n\n return {\n [`${ModelUomFields.name}`]: data.uom.description,\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: data.uom.status ? 1 : 0,\n [`${ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,\n [`${ModelUomFields.metric_type}`]: data.uom.metricType,\n [`${ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`uom.${ModelUomFields.uom_id}`]: \"uom_id\",\n [`uom.${ModelUomFields.description}`]: \"description\",\n [`uom.${ModelUomFields.name}`]: \"name\",\n [`uom.${ModelUomFields.status}`]: \"status\",\n [`uom.${ModelUomFields.metric_type}`]: \"metric_type\",\n [`uom.${ModelUomFields.metric_type_display_name}`]: \"metric_type_display_name\",\n [`uom.${ModelUomFields.decimal_digit}`]: \"decimal_digit\",\n}\n\nlet defaultSqlSelect = {\n [`uom.${ModelUomFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`uom.${ModelUomFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`uom.${ModelUomFields.isdelete}`]: \"isdelete\",\n [`uom.${ModelUomFields.istrash}`]: \"istrash\",\n [`uom.${ModelUomFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemUomService = (props: ItemUomServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const uomModel = UomModel({ ...rest })\n\n const createUom = async ({ data }: ItemUomCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create uom payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await uomModel.create({ data: _data })\n\n return response\n }\n\n const updateUom = async ({ uomId, data }: ItemUomUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update uom payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await uomModel.update({ where: { [`${ModelUomFields.uom_id}`]: uomId }, data: _data })\n\n return response\n }\n\n const getUom = async ({ id, datatypes = [] }: ItemUomGetProps) => {\n\n let { data } = await listUoms({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelUomFields.uom_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelUomFields.uom_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listUoms = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemUomListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(uom.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"uom\", \"users\", \"creator\", [\"uom.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"uom\", \"users\", \"updater\", [\"uom.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(uomDataTypes.uomInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"uom\")\n\n const uomInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n // const uomInjectionFieldSqlSelect = activeInjectionFields.reduce((acc, col) => {\n // acc[`iif.${col}`] = `${col}`;\n // return acc;\n // }, {} as Record<string, string>);\n\n filterColumns = { ...filterColumns, ...uomInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, uomInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"uom\", \"item_injection_fields\", \"iif\", [\"uom.uom_id = iif.uom_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'uom'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(uomInjectionFieldSqlSelect)]\n }\n\n let sqlWhere = [\n `uom.isdelete = false`,\n `uom.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"uoms\",\n mainAlias: \"uom\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await uomModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeUoms = async ({ uomIds }: ItemUomRemoveProps) => {\n\n if (!uomIds.length) throwError('uomIds is required');\n\n const response = await uomModel.remove({ where: { [`${ModelUomFields.uom_id}`]: { in: uomIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(uomDataTypes);\n }\n\n return {\n createUom,\n updateUom,\n getUom,\n listUoms,\n removeUoms,\n getDataTypes\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"ItemUomService.js","sourceRoot":"","sources":["../../../src/services/item/ItemUomService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ModelUomFields,\n UomModel\n} from \"@/models\";\n\nimport { InjectionFieldService } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type ItemType = \"uom\"\n\nexport const uomDataTypes = {\n uomInjectionFields: \"uom_injection_fields\"\n}\n\nexport type ItemUomDataType = keyof typeof uomDataTypes;\n\nexport type ItemUomServiceProps = DefaultServiceProps & {};\n\nexport type ItemUomGetProps = {\n id: number,\n datatypes: ItemUomDataType[]\n};\n\nexport type ItemUomListProps = QueryList & {\n datatypes: ItemUomDataType[]\n};\n\nexport type ItemUomRemoveProps = {\n uomIds: BigInt[]\n};\n\ntype ItemUomMetricType = \"weight\" | \"unit\" | \"volumn\"\n\nexport type ItemUomCreateProps = {\n data:\n // uom\n {\n uom: {\n name: string,\n description: string,\n metricType: ItemUomMetricType\n metricTypeDisplayName: string\n decimalDigit: number\n status: boolean\n }\n }\n}\n\nexport type ItemUomUpdateProps = {\n uomId: number,\n data:\n // uom\n {\n uom: {\n name: string,\n description: string,\n metricType: ItemUomMetricType\n metricTypeDisplayName: string\n decimalDigit: number\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: ItemUomCreateProps[\"data\"]) => {\n\n if (\"uom\" in data) {\n\n return {\n [`${ModelUomFields.name}`]: data.uom.description,\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: data.uom.status ? 1 : 0,\n [`${ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,\n [`${ModelUomFields.metric_type}`]: data.uom.metricType,\n [`${ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: ItemUomUpdateProps[\"data\"]) => {\n\n if (\"uom\" in data) {\n\n return {\n [`${ModelUomFields.name}`]: data.uom.description,\n [`${ModelUomFields.description}`]: data.uom.description,\n [`${ModelUomFields.status}`]: data.uom.status ? 1 : 0,\n [`${ModelUomFields.decimal_digit}`]: data.uom.decimalDigit,\n [`${ModelUomFields.metric_type}`]: data.uom.metricType,\n [`${ModelUomFields.metric_type_display_name}`]: data.uom.metricTypeDisplayName\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`uom.${ModelUomFields.uom_id}`]: \"uom_id\",\n [`uom.${ModelUomFields.description}`]: \"description\",\n [`uom.${ModelUomFields.name}`]: \"name\",\n [`uom.${ModelUomFields.status}`]: \"status\",\n [`uom.${ModelUomFields.metric_type}`]: \"metric_type\",\n [`uom.${ModelUomFields.metric_type_display_name}`]: \"metric_type_display_name\",\n [`uom.${ModelUomFields.decimal_digit}`]: \"decimal_digit\",\n}\n\nlet defaultSqlSelect = {\n [`uom.${ModelUomFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`uom.${ModelUomFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`uom.${ModelUomFields.isdelete}`]: \"isdelete\",\n [`uom.${ModelUomFields.istrash}`]: \"istrash\",\n [`uom.${ModelUomFields.accountid}`]: \"accountid\",\n}\n\nexport const ItemUomService = (props: ItemUomServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"item\" })\n\n const uomModel = UomModel({ ...rest })\n\n const createUom = async ({ data }: ItemUomCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create uom payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await uomModel.create({ data: _data })\n\n return response\n }\n\n const updateUom = async ({ uomId, data }: ItemUomUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update uom payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await uomModel.update({ where: { [`${ModelUomFields.uom_id}`]: uomId }, data: _data })\n\n return response\n }\n\n const getUom = async ({ id, datatypes = [] }: ItemUomGetProps) => {\n\n let { data } = await listUoms({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelUomFields.uom_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelUomFields.uom_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listUoms = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: ItemUomListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"uom\", \"users\", \"creator\", [\"uom.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"uom\", \"users\", \"updater\", [\"uom.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(uomDataTypes.uomInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"item\", \"uom\")\n\n const uomInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"iif\", activeInjectionFields)\n\n // const uomInjectionFieldSqlSelect = activeInjectionFields.reduce((acc, col) => {\n // acc[`iif.${col}`] = `${col}`;\n // return acc;\n // }, {} as Record<string, string>);\n\n filterColumns = { ...filterColumns, ...uomInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, uomInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"uom\", \"item_injection_fields\", \"iif\", [\"uom.uom_id = iif.uom_id\", \"iif.field_ref = 'item'\", \"iif.field_module = 'uom'\", \"iif.isdelete = false\", \"iif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(uomInjectionFieldSqlSelect)]\n }\n\n let sqlWhere = [\n `uom.isdelete = false`,\n `uom.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"uoms\",\n mainAlias: \"uom\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await uomModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeUoms = async ({ uomIds }: ItemUomRemoveProps) => {\n\n if (!uomIds.length) throwError('uomIds is required');\n\n const response = await uomModel.remove({ where: { [`${ModelUomFields.uom_id}`]: { in: uomIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(uomDataTypes);\n }\n\n return {\n createUom,\n updateUom,\n getUom,\n listUoms,\n removeUoms,\n getDataTypes\n }\n\n}\n\n"]}
|
|
@@ -118,7 +118,7 @@ const LocationLocationService = (props) => {
|
|
|
118
118
|
const listLocations = async ({ limit, offset, filters, sortfield, sortorder, datatypes = [] }) => {
|
|
119
119
|
let data = [];
|
|
120
120
|
let sqlSelect = [
|
|
121
|
-
`COUNT(
|
|
121
|
+
`COUNT(*) OVER() as filtered_count`,
|
|
122
122
|
(0, lib_1.buildSqlSelect)(``, mainSqlSelect),
|
|
123
123
|
(0, lib_1.buildSqlSelect)(``, regionSqlSelect),
|
|
124
124
|
(0, lib_1.buildSqlSelect)(``, defaultSqlSelect)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationLocationService.js","sourceRoot":"","sources":["../../../src/services/location/LocationLocationService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationModel,\n ModelLocationFields,\n ModelCountryFields,\n ModelStateFields,\n ModelAreaFields,\n ModelLocationRackFields,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"location\"\n\nexport const locationLocationDataTypes = {\n rackSlot: \"rack_slot\",\n // branch: \"branch\",\n // locationArea: \"location_area\",\n zoneCount: \"zone_count\",\n rackCount: \"rack_count\"\n}\n\nexport type LocationLocationDataType = keyof typeof locationLocationDataTypes;\n\nexport type LocationLocationServiceProps = DefaultServiceProps & {};\n\nexport type LocationLocationGetProps = QueryGet & {\n id: number,\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationListProps = QueryList & {\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationRemoveProps = {\n locationIds: BigInt[]\n};\n\nexport type LocationLocationCreateProps = {\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nexport type LocationLocationUpdateProps = {\n locationId: number,\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n // area: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationLocationCreateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: LocationLocationUpdateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locc.${ModelLocationFields.location_id}`]: \"location_id\",\n [`locc.${ModelLocationFields.location_code}`]: \"location_code\",\n [`locc.${ModelLocationFields.location_name}`]: \"location_name\",\n [`locc.${ModelLocationFields.location_type}`]: \"location_type\",\n [`locc.${ModelLocationFields.address_1}`]: \"address_1\",\n [`locc.${ModelLocationFields.address_2}`]: \"address_2\",\n [`locc.${ModelLocationFields.postcode}`]: \"postcode\",\n [`locc.${ModelLocationFields.area_id}`]: \"area_id\",\n [`locc.${ModelLocationFields.state_id}`]: \"state_id\",\n [`locc.${ModelLocationFields.country_id}`]: \"country_id\",\n [`locc.${ModelLocationFields.status}`]: \"status\",\n [`locc.${ModelLocationFields.is_default}`]: \"is_default\",\n [`locc.${ModelLocationFields.person_contact}`]: \"person_contact\",\n [`locc.${ModelLocationFields.person_email}`]: \"person_email\",\n [`locc.${ModelLocationFields.person_name}`]: \"person_name\",\n}\n\nlet regionSqlSelect = {\n [`ctry.${ModelCountryFields.country_name}`]: \"country_name\",\n [`state.${ModelStateFields.state_name}`]: \"state_name\",\n [`area.${ModelAreaFields.area_name}`]: \"area_name\",\n}\n\nlet defaultSqlSelect = {\n [`locc.${ModelLocationFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locc.${ModelLocationFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locc.${ModelLocationFields.isdelete}`]: \"isdelete\",\n [`locc.${ModelLocationFields.istrash}`]: \"istrash\",\n [`locc.${ModelLocationFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationLocationService = (props: LocationLocationServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const locationModel = LocationModel({ ...rest })\n\n const createLocation = async ({ data }: LocationLocationCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create customer payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.create({ data: _data })\n\n return response\n }\n\n const updateLocation = async ({ locationId, data }: LocationLocationUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.update({ where: { [`${ModelLocationFields.location_id}`]: locationId }, data: _data })\n\n return response\n }\n\n const getLocation = async ({ id, datatypes = [] }: LocationLocationGetProps) => {\n\n let { data } = await listLocations({\n limit: 1,\n offset: 0,\n filters: [{ field: \"location_id\", operator: \"=\", value: id }],\n sortfield: \"location_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocations = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: LocationLocationListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(locc.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, regionSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locc\", \"countries\", \"ctry\", [\"locc.country_id = ctry.country_id\", \"ctry.isdelete = false\", \"ctry.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"states\", \"state\", [\"locc.state_id = state.state_id\", \"state.isdelete = false\", \"state.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"areas\", \"area\", [\"locc.area_id = area.area_id\", \"area.isdelete = false\", \"area.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"creator\", [\"locc.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"updater\", [\"locc.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(regionSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...regionSqlSelect, ...defaultSqlSelect }\n\n // if (datatypes.includes(locationLocationDataTypes.customerInjectionFields)) {\n\n // let injectionFieldSqlSelect = {\n // [`uip.usr_cust_cust_qty`]: \"inf_usr_cust_cust_qty\",\n // // [`uip.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`uip.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`uip.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`uip.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`uip.${ModelUserFields.contact}`]: \"contact\",\n // // [`uip.${ModelUserFields.email}`]: \"email\",\n // }\n\n // filterColumns = { ...filterColumns, ...injectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, injectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"user_injection_fields\", \"uip\", [\"locc.user_id = uip.user_id\", \"uip.field_ref = 'user'\", \"uip.isdelete = false\", \"uip.istrash = false\"])]\n // sqlGroupBy = [...sqlGroupBy, ...Object.keys(injectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(locationLocationDataTypes.branch)) {\n\n // let branchSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelUserBranchFields.type}', brn.type,\n // '${ModelUserBranchFields.branch_id}', brn.branch_id,\n // '${ModelUserBranchFields.branch_code}', brn.branch_code,\n // '${ModelUserBranchFields.branch_name}', brn.branch_name,\n // '${ModelUserBranchFields.address_1}', brn.address_1,\n // '${ModelUserBranchFields.address_2}', brn.address_2,\n // '${ModelUserBranchFields.area}', brn.area,\n // '${ModelUserBranchFields.area_id}', brn.area_id,\n // '${ModelUserBranchFields.branch_contact}', brn.branch_contact,\n // '${ModelUserBranchFields.branch_email}', brn.branch_email,\n // '${ModelUserBranchFields.country_id}', brn.country_id,\n // '${ModelUserBranchFields.is_hq}', brn.is_hq,\n // '${ModelUserBranchFields.remark}', brn.remark,\n // '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n // '${ModelUserBranchFields.pic_email}', brn.pic_email,\n // '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n // '${ModelUserBranchFields.postcode}', brn.postcode,\n // '${ModelUserBranchFields.state_id}', brn.state_id,\n // '${ModelUserBranchFields.status}', brn.status,\n // '${ModelUserBranchFields.user_id}', brn.user_id\n // )\n // ) FILTER (WHERE brn.branch_id IS NOT NULL AND brn.isdelete = false AND brn.istrash = false), \n // '[]'\n // )`]: \"branches\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"branches\", \"brn\", [\"locc.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(locationLocationDataTypes.rackSlot)) {\n\n let rackSlotSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationRackFields.is_default}', loccrack1.is_default,\n '${ModelLocationRackFields.status}', loccrack1.status,\n '${ModelLocationRackFields.location_rack_id}', loccrack1.location_rack_id,\n '${ModelLocationRackFields.rack_name}', loccrack1.rack_name,\n '${ModelLocationRackFields.rack_sequence}', loccrack1.rack_sequence,\n '${ModelLocationRackFields.rack_type}', loccrack1.rack_type,\n 'slots', COALESCE(\n (\n SELECT JSON_AGG(\n JSONB_BUILD_OBJECT(\n '${ModelLocationSlotFields.location_slot_id}', loccslot1.location_slot_id,\n '${ModelLocationSlotFields.rack_id}', loccslot1.rack_id,\n '${ModelLocationSlotFields.slot_name}', loccslot1.slot_name,\n '${ModelLocationSlotFields.slot_sequence}', loccslot1.slot_sequence,\n '${ModelLocationSlotFields.status}', loccslot1.status,\n '${ModelLocationSlotFields.is_default}', loccslot1.is_default\n )\n )\n FROM location_slots loccslot1\n WHERE loccslot1.rack_id = loccrack1.location_rack_id\n AND loccslot1.isdelete = false\n AND loccslot1.istrash = false\n ), '[]'::json\n )\n )\n ) FILTER (WHERE loccrack1.location_rack_id IS NOT NULL AND loccrack1.isdelete = false AND loccrack1.istrash = false), \n '[]'\n )`]: \"racks\"\n }\n\n filterColumns = { ...filterColumns, ...rackSlotSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, rackSlotSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack1\", [\"locc.location_id = loccrack1.location_id\", \"loccrack1.isdelete = false\", \"loccrack1.istrash = false\"])]\n\n }\n\n if (datatypes.includes(locationLocationDataTypes.rackCount)) {\n\n let zoneCountSqlSelect = {\n [`COUNT(DISTINCT loccrack.${ModelLocationRackFields.location_rack_id})::INT`]: \"rack_count\"\n }\n\n filterColumns = { ...filterColumns, ...zoneCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, zoneCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack\", [\"locc.location_id = loccrack.location_id\", \"loccrack.isdelete = false\", \"loccrack.istrash = false\"])]\n\n }\n\n let sqlWhere = [\n `locc.isdelete = false`,\n `locc.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"locations\",\n mainAlias: \"locc\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeLocations = async ({ locationIds }: LocationLocationRemoveProps) => {\n\n if (!locationIds.length) throwError('locationIds is required');\n\n const response = await locationModel.remove({ where: { [`${ModelLocationFields.location_id}`]: { in: locationIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationLocationDataTypes);\n }\n\n return {\n createLocation,\n updateLocation,\n getLocation,\n listLocations,\n removeLocations,\n getDataTypes\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"LocationLocationService.js","sourceRoot":"","sources":["../../../src/services/location/LocationLocationService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationModel,\n ModelLocationFields,\n ModelCountryFields,\n ModelStateFields,\n ModelAreaFields,\n ModelLocationRackFields,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"location\"\n\nexport const locationLocationDataTypes = {\n rackSlot: \"rack_slot\",\n // branch: \"branch\",\n // locationArea: \"location_area\",\n zoneCount: \"zone_count\",\n rackCount: \"rack_count\"\n}\n\nexport type LocationLocationDataType = keyof typeof locationLocationDataTypes;\n\nexport type LocationLocationServiceProps = DefaultServiceProps & {};\n\nexport type LocationLocationGetProps = QueryGet & {\n id: number,\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationListProps = QueryList & {\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationRemoveProps = {\n locationIds: BigInt[]\n};\n\nexport type LocationLocationCreateProps = {\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nexport type LocationLocationUpdateProps = {\n locationId: number,\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n // area: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationLocationCreateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: LocationLocationUpdateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locc.${ModelLocationFields.location_id}`]: \"location_id\",\n [`locc.${ModelLocationFields.location_code}`]: \"location_code\",\n [`locc.${ModelLocationFields.location_name}`]: \"location_name\",\n [`locc.${ModelLocationFields.location_type}`]: \"location_type\",\n [`locc.${ModelLocationFields.address_1}`]: \"address_1\",\n [`locc.${ModelLocationFields.address_2}`]: \"address_2\",\n [`locc.${ModelLocationFields.postcode}`]: \"postcode\",\n [`locc.${ModelLocationFields.area_id}`]: \"area_id\",\n [`locc.${ModelLocationFields.state_id}`]: \"state_id\",\n [`locc.${ModelLocationFields.country_id}`]: \"country_id\",\n [`locc.${ModelLocationFields.status}`]: \"status\",\n [`locc.${ModelLocationFields.is_default}`]: \"is_default\",\n [`locc.${ModelLocationFields.person_contact}`]: \"person_contact\",\n [`locc.${ModelLocationFields.person_email}`]: \"person_email\",\n [`locc.${ModelLocationFields.person_name}`]: \"person_name\",\n}\n\nlet regionSqlSelect = {\n [`ctry.${ModelCountryFields.country_name}`]: \"country_name\",\n [`state.${ModelStateFields.state_name}`]: \"state_name\",\n [`area.${ModelAreaFields.area_name}`]: \"area_name\",\n}\n\nlet defaultSqlSelect = {\n [`locc.${ModelLocationFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locc.${ModelLocationFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locc.${ModelLocationFields.isdelete}`]: \"isdelete\",\n [`locc.${ModelLocationFields.istrash}`]: \"istrash\",\n [`locc.${ModelLocationFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationLocationService = (props: LocationLocationServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const locationModel = LocationModel({ ...rest })\n\n const createLocation = async ({ data }: LocationLocationCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create customer payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.create({ data: _data })\n\n return response\n }\n\n const updateLocation = async ({ locationId, data }: LocationLocationUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.update({ where: { [`${ModelLocationFields.location_id}`]: locationId }, data: _data })\n\n return response\n }\n\n const getLocation = async ({ id, datatypes = [] }: LocationLocationGetProps) => {\n\n let { data } = await listLocations({\n limit: 1,\n offset: 0,\n filters: [{ field: \"location_id\", operator: \"=\", value: id }],\n sortfield: \"location_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocations = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: LocationLocationListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, regionSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locc\", \"countries\", \"ctry\", [\"locc.country_id = ctry.country_id\", \"ctry.isdelete = false\", \"ctry.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"states\", \"state\", [\"locc.state_id = state.state_id\", \"state.isdelete = false\", \"state.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"areas\", \"area\", [\"locc.area_id = area.area_id\", \"area.isdelete = false\", \"area.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"creator\", [\"locc.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"updater\", [\"locc.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(regionSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...regionSqlSelect, ...defaultSqlSelect }\n\n // if (datatypes.includes(locationLocationDataTypes.customerInjectionFields)) {\n\n // let injectionFieldSqlSelect = {\n // [`uip.usr_cust_cust_qty`]: \"inf_usr_cust_cust_qty\",\n // // [`uip.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`uip.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`uip.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`uip.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`uip.${ModelUserFields.contact}`]: \"contact\",\n // // [`uip.${ModelUserFields.email}`]: \"email\",\n // }\n\n // filterColumns = { ...filterColumns, ...injectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, injectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"user_injection_fields\", \"uip\", [\"locc.user_id = uip.user_id\", \"uip.field_ref = 'user'\", \"uip.isdelete = false\", \"uip.istrash = false\"])]\n // sqlGroupBy = [...sqlGroupBy, ...Object.keys(injectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(locationLocationDataTypes.branch)) {\n\n // let branchSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelUserBranchFields.type}', brn.type,\n // '${ModelUserBranchFields.branch_id}', brn.branch_id,\n // '${ModelUserBranchFields.branch_code}', brn.branch_code,\n // '${ModelUserBranchFields.branch_name}', brn.branch_name,\n // '${ModelUserBranchFields.address_1}', brn.address_1,\n // '${ModelUserBranchFields.address_2}', brn.address_2,\n // '${ModelUserBranchFields.area}', brn.area,\n // '${ModelUserBranchFields.area_id}', brn.area_id,\n // '${ModelUserBranchFields.branch_contact}', brn.branch_contact,\n // '${ModelUserBranchFields.branch_email}', brn.branch_email,\n // '${ModelUserBranchFields.country_id}', brn.country_id,\n // '${ModelUserBranchFields.is_hq}', brn.is_hq,\n // '${ModelUserBranchFields.remark}', brn.remark,\n // '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n // '${ModelUserBranchFields.pic_email}', brn.pic_email,\n // '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n // '${ModelUserBranchFields.postcode}', brn.postcode,\n // '${ModelUserBranchFields.state_id}', brn.state_id,\n // '${ModelUserBranchFields.status}', brn.status,\n // '${ModelUserBranchFields.user_id}', brn.user_id\n // )\n // ) FILTER (WHERE brn.branch_id IS NOT NULL AND brn.isdelete = false AND brn.istrash = false), \n // '[]'\n // )`]: \"branches\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"branches\", \"brn\", [\"locc.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(locationLocationDataTypes.rackSlot)) {\n\n let rackSlotSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationRackFields.is_default}', loccrack1.is_default,\n '${ModelLocationRackFields.status}', loccrack1.status,\n '${ModelLocationRackFields.location_rack_id}', loccrack1.location_rack_id,\n '${ModelLocationRackFields.rack_name}', loccrack1.rack_name,\n '${ModelLocationRackFields.rack_sequence}', loccrack1.rack_sequence,\n '${ModelLocationRackFields.rack_type}', loccrack1.rack_type,\n 'slots', COALESCE(\n (\n SELECT JSON_AGG(\n JSONB_BUILD_OBJECT(\n '${ModelLocationSlotFields.location_slot_id}', loccslot1.location_slot_id,\n '${ModelLocationSlotFields.rack_id}', loccslot1.rack_id,\n '${ModelLocationSlotFields.slot_name}', loccslot1.slot_name,\n '${ModelLocationSlotFields.slot_sequence}', loccslot1.slot_sequence,\n '${ModelLocationSlotFields.status}', loccslot1.status,\n '${ModelLocationSlotFields.is_default}', loccslot1.is_default\n )\n )\n FROM location_slots loccslot1\n WHERE loccslot1.rack_id = loccrack1.location_rack_id\n AND loccslot1.isdelete = false\n AND loccslot1.istrash = false\n ), '[]'::json\n )\n )\n ) FILTER (WHERE loccrack1.location_rack_id IS NOT NULL AND loccrack1.isdelete = false AND loccrack1.istrash = false), \n '[]'\n )`]: \"racks\"\n }\n\n filterColumns = { ...filterColumns, ...rackSlotSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, rackSlotSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack1\", [\"locc.location_id = loccrack1.location_id\", \"loccrack1.isdelete = false\", \"loccrack1.istrash = false\"])]\n\n }\n\n if (datatypes.includes(locationLocationDataTypes.rackCount)) {\n\n let zoneCountSqlSelect = {\n [`COUNT(DISTINCT loccrack.${ModelLocationRackFields.location_rack_id})::INT`]: \"rack_count\"\n }\n\n filterColumns = { ...filterColumns, ...zoneCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, zoneCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack\", [\"locc.location_id = loccrack.location_id\", \"loccrack.isdelete = false\", \"loccrack.istrash = false\"])]\n\n }\n\n let sqlWhere = [\n `locc.isdelete = false`,\n `locc.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"locations\",\n mainAlias: \"locc\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeLocations = async ({ locationIds }: LocationLocationRemoveProps) => {\n\n if (!locationIds.length) throwError('locationIds is required');\n\n const response = await locationModel.remove({ where: { [`${ModelLocationFields.location_id}`]: { in: locationIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationLocationDataTypes);\n }\n\n return {\n createLocation,\n updateLocation,\n getLocation,\n listLocations,\n removeLocations,\n getDataTypes\n }\n\n}\n\n"]}
|
|
@@ -111,7 +111,7 @@ const LocationRackService = (props) => {
|
|
|
111
111
|
}) => {
|
|
112
112
|
let data = [];
|
|
113
113
|
let sqlSelect = [
|
|
114
|
-
`COUNT(
|
|
114
|
+
`COUNT(*) OVER() as filtered_count`,
|
|
115
115
|
(0, lib_1.buildSqlSelect)(``, mainSqlSelect),
|
|
116
116
|
(0, lib_1.buildSqlSelect)(``, locationSqlSelect),
|
|
117
117
|
(0, lib_1.buildSqlSelect)(``, locationSlotSqlSelect),
|