forked from admin/deShanXiao
初始版本,目前线上可用
This commit is contained in:
212
backEnd/src/router/noDeceasedRetail/noDeceasedRetail.ts
Normal file
212
backEnd/src/router/noDeceasedRetail/noDeceasedRetail.ts
Normal file
@@ -0,0 +1,212 @@
|
||||
import * as express from "express";
|
||||
import { getConnection, getRepository } from "typeorm";
|
||||
import DeceasedRetail from "../../entity/DeceasedRetail";
|
||||
import curd from "@/lib/curd/curd";
|
||||
import SeletedServiceList from "@/entity/SeletedServiceList";
|
||||
import Deceased from "@/entity/Deceased";
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
async function GetData(result) {
|
||||
const ids = Array.from(
|
||||
new Set(result.list.map((item) => Number(item.deceasedId)))
|
||||
);
|
||||
|
||||
if (ids.length) {
|
||||
const manyResult = await getConnection()
|
||||
.getRepository(Deceased)
|
||||
.createQueryBuilder("deceased")
|
||||
.where("deceased.id IN (:...ids)", {
|
||||
ids,
|
||||
})
|
||||
.getMany();
|
||||
|
||||
result.list = result.list.map((item: any) => {
|
||||
let findData = manyResult.find(
|
||||
(fitem: any) => fitem.id === item.deceasedId
|
||||
);
|
||||
return {
|
||||
...findData,
|
||||
...item,
|
||||
deceased: findData,
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
router.post("/query", async (req, res) => {
|
||||
try {
|
||||
const result = await curd({
|
||||
entity: DeceasedRetail,
|
||||
req,
|
||||
params: {
|
||||
retailType: 2,
|
||||
},
|
||||
}).queryList();
|
||||
await GetData(result);
|
||||
res.send({ code: 200, data: result });
|
||||
} catch (err) {
|
||||
res.status(500).send({ code: 500, msg: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
router.get("/list", async (req, res) => {
|
||||
try {
|
||||
const result: any = await curd({
|
||||
entity: DeceasedRetail,
|
||||
req,
|
||||
params: {
|
||||
retailType: 2,
|
||||
},
|
||||
}).queryList();
|
||||
await GetData(result);
|
||||
res.send({ code: 200, data: result });
|
||||
} catch (err) {
|
||||
res.status(500).send({ code: 500, msg: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
router.get("/checkout", async (req, res) => {
|
||||
let { id } = req.query;
|
||||
if (!id) {
|
||||
return res.status(500).send({ code: 500, msg: "未传入结账id" });
|
||||
}
|
||||
|
||||
let deceasedRetailRep = getConnection().getRepository(DeceasedRetail);
|
||||
let deceasedRetail = await deceasedRetailRep.findOne(Number(id));
|
||||
|
||||
if (!deceasedRetail)
|
||||
return res.status(500).send({ code: 500, msg: "该记录不存在" });
|
||||
|
||||
deceasedRetail.retailState = 1;
|
||||
|
||||
await deceasedRetailRep.save(deceasedRetail);
|
||||
|
||||
res.status(200).send({ code: 200, data: deceasedRetail, msg: "结账成功!" });
|
||||
});
|
||||
|
||||
router.post("/add", async (req, res) => {
|
||||
delete req.body.id;
|
||||
const connection = getConnection();
|
||||
try {
|
||||
const tempServiceItems = req.body.services.map((item) => {
|
||||
delete item.id;
|
||||
|
||||
return item;
|
||||
});
|
||||
req.body.serviceItems = "";
|
||||
|
||||
const deceasedRetailRep = connection.getRepository(DeceasedRetail);
|
||||
let newDeceasedRetail = new DeceasedRetail();
|
||||
|
||||
newDeceasedRetail = Object.assign(newDeceasedRetail, req.body);
|
||||
newDeceasedRetail.retailType = 2;
|
||||
|
||||
if (tempServiceItems.length) {
|
||||
tempServiceItems.forEach((item) => {
|
||||
item.retailId = newDeceasedRetail.id;
|
||||
item.hasDeceased = 0;
|
||||
});
|
||||
let executeData = await connection
|
||||
.getRepository(SeletedServiceList)
|
||||
.save(tempServiceItems);
|
||||
|
||||
newDeceasedRetail.serviceItems = executeData
|
||||
.map((item) => item.id)
|
||||
.join(",");
|
||||
|
||||
await deceasedRetailRep.save(newDeceasedRetail);
|
||||
}
|
||||
|
||||
res.send({ code: 200, msg: "添加成功", data: newDeceasedRetail });
|
||||
} catch (err) {
|
||||
res.status(500).send({ code: 500, msg: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
router.post("/update", async (req, res) => {
|
||||
const id = Number(req.body.id);
|
||||
|
||||
if (!id) {
|
||||
return res.send({ code: 400, msg: "逝者ID不能为空!" });
|
||||
}
|
||||
|
||||
try {
|
||||
const connection = getConnection();
|
||||
const deceasedRepository = connection.getRepository(DeceasedRetail);
|
||||
|
||||
const tempServiceItems = req.body.services.map((item) => {
|
||||
delete item.id;
|
||||
|
||||
return item;
|
||||
});
|
||||
|
||||
let findData = await deceasedRepository.findOne(id);
|
||||
|
||||
const ids = findData.serviceItems.split(",").map((id) => Number(id));
|
||||
if (ids.length) {
|
||||
await connection
|
||||
.getRepository(SeletedServiceList)
|
||||
.createQueryBuilder("seleted_service_list")
|
||||
.where("seleted_service_list.id IN (:...ids)", {
|
||||
ids,
|
||||
})
|
||||
.delete()
|
||||
.execute();
|
||||
}
|
||||
findData = { ...findData, ...req.body };
|
||||
if (tempServiceItems.length) {
|
||||
tempServiceItems.forEach((item) => {
|
||||
item.retailId = id;
|
||||
item.hasDeceased = 0;
|
||||
item.updateDate = new Date();
|
||||
item.createDate = new Date();
|
||||
});
|
||||
let executeData = await connection
|
||||
.getRepository(SeletedServiceList)
|
||||
.save(tempServiceItems);
|
||||
|
||||
findData.serviceItems = executeData.map((item) => item.id).join(",");
|
||||
|
||||
await deceasedRepository.save(findData);
|
||||
}
|
||||
|
||||
res.send({ code: 200, msg: "更新成功", data: findData });
|
||||
} catch (err) {
|
||||
res.status(500).send({ code: 500, msg: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
router.get("/delete", async (req, res) => {
|
||||
const id = Number(req.query.id);
|
||||
|
||||
if (!id) {
|
||||
return res.send({ code: 400, msg: "数据ID不能为空!" });
|
||||
}
|
||||
|
||||
try {
|
||||
const connection = getConnection();
|
||||
const deceasedRepository = connection.getRepository(DeceasedRetail);
|
||||
|
||||
const findData = await deceasedRepository.findOne(id);
|
||||
|
||||
const ids = findData.serviceItems.split(",").map((id) => Number(id));
|
||||
if (ids.length) {
|
||||
await connection
|
||||
.getRepository(SeletedServiceList)
|
||||
.createQueryBuilder("seleted_service_list")
|
||||
.where("seleted_service_list.id IN (:...ids)", {
|
||||
ids,
|
||||
})
|
||||
.delete()
|
||||
.execute();
|
||||
}
|
||||
await deceasedRepository.remove(findData);
|
||||
|
||||
res.send({ code: 200, msg: "删除成功!" });
|
||||
} catch (err) {
|
||||
res.status(500).send({ code: 500, msg: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
export default router;
|
||||
Reference in New Issue
Block a user