update: update function item price

This commit is contained in:
wayanrivan
2026-04-21 14:10:26 +07:00
parent baf181d152
commit 0ed436000c

View File

@ -5,7 +5,7 @@ import { OrmHelper } from "../../helpers/orm";
import Joi from "joi";
import { ILogObj, Logger } from "tslog";
import { Language } from "../../langs/lang";
import { ItemPrice, Paging } from "entity";
import { ItemPrice, Paging, ItemMaster } from "entity";
import CommonHelper from "../../helpers/common";
import * as fastcsv from 'fast-csv';
import dayjs from "dayjs";
@ -220,7 +220,7 @@ export class ItemPriceController {
}]
#swagger.parameters['id'] = {
in: 'path',
description: 'ItemPrice ID.',
description: 'ItemMaster ID.',
required: true,
type: 'string'
}
@ -239,7 +239,6 @@ export class ItemPriceController {
try {
const schema = Joi.object().keys({
id: Joi.string().uuid().required().label('ID'),
item_master_id: Joi.string()
.uuid()
.required()
@ -254,37 +253,39 @@ export class ItemPriceController {
.min(0)
.required()
.label('Selling Price'),
// expired_date: Joi.date()
// .required()
// .label('Expired Date'),
});
req.body.id = req.params['id'];
const param: any = await schema.validateAsync(req.body);
const itemMaster = await OrmHelper.DB.getRepository(ItemMaster).findOneBy({ id: req.params['id'] });
if (!itemMaster) return ReturnHelper.errorResponse(res, 404, 401, Language.lang.failed_not_found, "Item Master not found");
const repo = OrmHelper.DB.getRepository(ItemPrice);
const data = await repo.findOneBy({ id: param.id });
let data = await repo.findOne({ where: { item_master: { id: req.params['id'] } } });
if (data != null) {
data.item_master = param.item_master_id
data.purchase_price = param.purchase_price
data.selling_price = param.selling_price
data.expired_date = param.expired_date
if (data) {
// UPDATE
data.purchase_price = param.purchase_price;
data.selling_price = param.selling_price;
data.updated_by = req.auth?.data.name;
await repo.save(data);
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_update, data);
} else {
return ReturnHelper.errorResponse(res, 404, 401, Language.lang.failed_not_found, "");
// INSERT
data = new ItemPrice();
data.item_master = itemMaster;
data.purchase_price = param.purchase_price;
data.selling_price = param.selling_price;
data.created_by = req.auth?.data.name;
data.updated_by = req.auth?.data.name;
}
await repo.save(data);
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_update, data);
} catch (e: unknown) {
log.error(e);
const err = e as Error;
return ReturnHelper.errorResponse(res, 500, 402, Language.lang.failed_update, err.message);
}
}