|
|
@@ -2436,7 +2436,35 @@ class WorkOrder extends Api
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 面料库存
|
|
|
+ * 面料库存月份查询
|
|
|
+ */
|
|
|
+ public function fabricListmonth()
|
|
|
+ {
|
|
|
+ // 使用DATE_FORMAT函数提取年月部分,格式为 "YYYY-MM"
|
|
|
+ $list = \db('工单_bom资料')
|
|
|
+ ->alias('a')
|
|
|
+ ->join('工单_基本资料 b', 'b.订单编号 = a.BOM_工单编号')
|
|
|
+ ->field('DATE_FORMAT(a.Sys_rq, "%Y-%m") as date') // 提取年月,格式化为 "YYYY-MM"
|
|
|
+ ->group('date') // 对年月字段去重
|
|
|
+ ->select();
|
|
|
+
|
|
|
+ // 格式化返回的数据,生成期望的结构
|
|
|
+ $result = [];
|
|
|
+ foreach ($list as $item) {
|
|
|
+ $result[] = ['date' => $item['date']]; // 返回格式为 {"date": "YYYY-MM"}
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!empty($result)) {
|
|
|
+ $this->success('成功', $result); // 返回查询到的结果
|
|
|
+ } else {
|
|
|
+ $this->success('没有找到相关数据', []); // 如果没有数据,返回空数组
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 面料库存列表
|
|
|
* @return void
|
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
|
@@ -2444,32 +2472,56 @@ class WorkOrder extends Api
|
|
|
*/
|
|
|
public function fabricList()
|
|
|
{
|
|
|
- if ($this->request->isGet() === false){
|
|
|
+ if ($this->request->isGet() === false) {
|
|
|
$this->error('请求错误');
|
|
|
}
|
|
|
+
|
|
|
$param = $this->request->param();
|
|
|
$where = [];
|
|
|
- if (isset($param['order'])){
|
|
|
- $where = ['a.BOM_工单编号'=>$param['order']];
|
|
|
+
|
|
|
+ // 根据传入的参数构造查询条件
|
|
|
+ if (isset($param['order'])) {
|
|
|
+ $where['a.BOM_工单编号'] = $param['order'];
|
|
|
}
|
|
|
- if (isset($param['mouth'])){
|
|
|
- $where = ['a.Sys_rq'=>['like',$param['mouth'].'%']];
|
|
|
+
|
|
|
+ if (isset($param['mouth'])) {
|
|
|
+ $where['a.Sys_rq'] = ['like', $param['mouth'] . '%'];
|
|
|
}
|
|
|
- $list = \db('工单_bom资料')
|
|
|
+
|
|
|
+ // 分页参数,防止未传递时出错
|
|
|
+ $page = isset($param['page']) ? (int)$param['page'] : 1;
|
|
|
+ $limit = isset($param['limit']) ? (int)$param['limit'] : 20; // 默认每页20条数据
|
|
|
+
|
|
|
+ // 获取数据
|
|
|
+ $data = \db('工单_bom资料')
|
|
|
->alias('a')
|
|
|
- ->join('工单_基本资料 b','b.订单编号 = a.BOM_工单编号')
|
|
|
-// ->field('a.BOM_工单编号 as 订单编号,b.生产款号 as 生产款号,b.客户编号 as 客户编号,b.款式 as 款式,
|
|
|
-// a.BOM_物料名称 as 物料名称,a.BOM_投料单位 as 投料单位,a.BOM_库存总量 as 库存总量,a.BOM_面料结余 as 面料结余,
|
|
|
-// a.UNIQID')
|
|
|
- ->field('a.BOM_工单编号 as 订单编号,b.生产款号 as 生产款号,b.客户编号 as 客户编号,b.款式 as 款式,
|
|
|
- a.BOM_物料名称 as 物料名称,a.BOM_投料单位 as 投料单位,a.BOM_计划用量 as 计划用料,a.BOM_标准用量 as 定额用料,
|
|
|
- a.BOM_实际用量 as 裁床实际用料,a.BOM_领用数量 as 裁床领用面料,a.BOM_退还数量 as 裁床退回仓库面料,
|
|
|
- a.BOM_desc as 备注,a.UNIQID,a.BOM_库存总量 as 入库总量,a.BOM_门封 as 门封,a.BOM_面料结余 as 面料结余,a.Sys_ID as ID,a.Sys_rq as 日期')
|
|
|
+ ->join('工单_基本资料 b', 'b.订单编号 = a.BOM_工单编号')
|
|
|
+ ->field('a.BOM_工单编号 as 订单编号, b.生产款号 as 生产款号, b.客户编号 as 客户编号, b.款式 as 款式,
|
|
|
+ a.BOM_物料名称 as 物料名称, a.BOM_投料单位 as 投料单位, a.BOM_计划用量 as 计划用料, a.BOM_标准用量 as 定额用料,
|
|
|
+ a.BOM_实际用量 as 裁床实际用料, a.BOM_领用数量 as 裁床领用面料, a.BOM_退还数量 as 裁床退回仓库面料,
|
|
|
+ a.BOM_desc as 备注, a.UNIQID, a.BOM_库存总量 as 入库总量, a.BOM_门封 as 门封, a.BOM_面料结余 as 面料结余, a.Sys_ID as ID, a.Sys_rq as 日期')
|
|
|
->where($where)
|
|
|
+ ->limit(($page - 1) * $limit, $limit)
|
|
|
->select();
|
|
|
- if (!empty($list)){
|
|
|
- $this->success('成功',$list);
|
|
|
+
|
|
|
+ // 获取数据总数
|
|
|
+ $count = \db('工单_bom资料')
|
|
|
+ ->alias('a')
|
|
|
+ ->join('工单_基本资料 b', 'b.订单编号 = a.BOM_工单编号')
|
|
|
+ ->where($where)
|
|
|
+ ->count();
|
|
|
+
|
|
|
+ // 如果查询到数据
|
|
|
+ if (!empty($data)) {
|
|
|
+ // 构建返回数据
|
|
|
+ $list = [
|
|
|
+ 'total' => $count, // 总数
|
|
|
+ 'table' => $data // 数据内容
|
|
|
+ ];
|
|
|
+ // 返回成功响应
|
|
|
+ $this->success('成功', $list);
|
|
|
} else {
|
|
|
+ // 没有查询到数据
|
|
|
$this->success('没有找到相关数据', []);
|
|
|
}
|
|
|
}
|