update: update function item price
This commit is contained in:
@ -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;
|
||||
} else {
|
||||
// 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);
|
||||
} else {
|
||||
return ReturnHelper.errorResponse(res, 404, 401, Language.lang.failed_not_found, "");
|
||||
}
|
||||
|
||||
} catch (e: unknown) {
|
||||
log.error(e);
|
||||
const err = e as Error;
|
||||
|
||||
return ReturnHelper.errorResponse(res, 500, 402, Language.lang.failed_update, err.message);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user