|
|
@@ -9,10 +9,9 @@ use think\Request;
|
|
|
class Facility extends Api{
|
|
|
protected $noNeedLogin = ['*'];
|
|
|
protected $noNeedRight = ['*'];
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 1.0查询子订单编号
|
|
|
+ * 通过订单编号查询对应子订单编号
|
|
|
*/
|
|
|
public function Apiorderids() {
|
|
|
if ($this->request->isGet() === false) {
|
|
|
@@ -31,6 +30,7 @@ class Facility extends Api{
|
|
|
|
|
|
/**
|
|
|
* 1.1查询订单号或生产款号
|
|
|
+ * 查询对应订单编号或生产款号
|
|
|
*/
|
|
|
public function Apiorder() {
|
|
|
if ($this->request->isGet() === false) {
|
|
|
@@ -49,6 +49,7 @@ class Facility extends Api{
|
|
|
|
|
|
/**
|
|
|
* 1.2查询新增基本信息
|
|
|
+ * 新增查询信息
|
|
|
*/
|
|
|
public function queryOrderSize() {
|
|
|
// 检查请求类型是否为GET
|
|
|
@@ -58,7 +59,7 @@ class Facility extends Api{
|
|
|
$param = $this->request->param();
|
|
|
|
|
|
//问题分类
|
|
|
- $fetchCategory = \db('db_问题分类')->field('问题类型, classification as 分类名称')->select();
|
|
|
+ $fetchCategory = \db('db_问题分类')->field('问题类型, classification as 分类名称,num')->order('num desc')->select();
|
|
|
$groupedCategories = [];
|
|
|
// 遍历数据,将相同分类名称的问题类型归类
|
|
|
foreach ($fetchCategory as $item) {
|
|
|
@@ -225,6 +226,7 @@ class Facility extends Api{
|
|
|
|
|
|
/**
|
|
|
* 1.3新增次品或返工
|
|
|
+ * 新增到设备_质量汇总表
|
|
|
*/
|
|
|
public function ApiAddDefective(){
|
|
|
if (!$this->request->isPost()) {
|
|
|
@@ -235,25 +237,25 @@ class Facility extends Api{
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
$res = \db('设备_质量汇总')->where('mod_rq', null)->order('status_num desc')->find();
|
|
|
- //记录每次新增次数排序
|
|
|
- $status_num = $res['status_num'];
|
|
|
+ //记录每次新增次数排序,判断是否有返回值,没有则从1开始
|
|
|
+ $status_num = isset($res['status_num']) ? $res['status_num'] : 1;
|
|
|
|
|
|
// 构建单条记录的函数,传递 $list_gd 作为参数
|
|
|
function buildRecords($item,$status_num) {
|
|
|
// 拆分物料名称(假设格式为 面料分类-面料名称)
|
|
|
$materialParts = explode('-', $item['物料名称']);
|
|
|
- $materialCategory = isset($materialParts[0]) ? $materialParts[0] : ''; // 面料分类
|
|
|
- $materialName = isset($materialParts[1]) ? $materialParts[1] : ''; // 面料名称
|
|
|
-
|
|
|
+ // 面料分类
|
|
|
+ $materialCategory = isset($materialParts[0]) ? $materialParts[0] : '';
|
|
|
+ // 面料名称
|
|
|
+ $materialName = isset($materialParts[1]) ? $materialParts[1] : '';
|
|
|
// 获取最新的单据编号
|
|
|
$resd = \db('设备_质量汇总')
|
|
|
->field('单据编号')
|
|
|
->where('mod_rq', null)
|
|
|
->order('单据编号 desc')
|
|
|
->find();
|
|
|
-
|
|
|
// 获取当前日期
|
|
|
- $currentDate = date('Ymd'); // 获取当前日期,格式为:20250327
|
|
|
+ $currentDate = date('Ymd');
|
|
|
// 如果查询到最新的单据编号
|
|
|
if ($resd) {
|
|
|
// 提取最新单据编号的日期和流水号部分
|
|
|
@@ -306,6 +308,24 @@ class Facility extends Api{
|
|
|
// 处理单条记录
|
|
|
$list[] = buildRecords($params,$status_num);
|
|
|
}
|
|
|
+ // 插入前统计问题分类的使用次数
|
|
|
+ foreach ($list as $item) {
|
|
|
+ $category = $item['问题分类'];
|
|
|
+ // 查询满足 问题类型 + classification 的记录
|
|
|
+ $record = \db('db_问题分类')
|
|
|
+ ->where('问题类型', $category)
|
|
|
+ // 可选,防止 null 报错
|
|
|
+ ->whereNotNull('classification')
|
|
|
+ ->find();
|
|
|
+ if ($record) {
|
|
|
+ $newNum = intval($record['num']) + 1;
|
|
|
+ // 使用 update 替代 setInc,手动加1
|
|
|
+ $updateSql = \db('db_问题分类')->fetchSql(true)
|
|
|
+ ->where('id', $record['id']) // 建议用主键精确定位
|
|
|
+ ->update(['num' => $newNum]);
|
|
|
+ \db()->query($updateSql);
|
|
|
+ }
|
|
|
+ }
|
|
|
$result = \db('设备_质量汇总')->insertAll($list);
|
|
|
if ($result) {
|
|
|
$this->success('数据插入成功 : ' . date('H:i:s'));
|
|
|
@@ -331,7 +351,9 @@ class Facility extends Api{
|
|
|
->group('Sys_rq')
|
|
|
->select();
|
|
|
if (empty($list)) {
|
|
|
- $this->error('未查询到数据');
|
|
|
+ $this->success('成功', '');
|
|
|
+ return;
|
|
|
+ //$this->error('未查询到数据');
|
|
|
}
|
|
|
// 用于存储按年和月分类的数据
|
|
|
$data = [];
|
|
|
@@ -373,7 +395,7 @@ class Facility extends Api{
|
|
|
$where['状态'] = $params['code'];
|
|
|
}
|
|
|
if (!empty($params['search'])) {
|
|
|
- $where['单据编号|订单编号|生产款号|面料名称|面料分类|颜色|问题分类|款式'] = ['like', '%' . $params['search'] . '%'];
|
|
|
+ $where['单据编号|订单编号|生产款号|面料名称|面料分类|颜色|问题分类|款式|组别'] = ['like', '%' . $params['search'] . '%'];
|
|
|
}
|
|
|
// 处理日期查询(支持按天和按月)
|
|
|
if (!empty($params['Sys_rq'])) {
|
|
|
@@ -466,13 +488,9 @@ class Facility extends Api{
|
|
|
->limit(($params['page'] - 1) * $params['limit'], $params['limit'])
|
|
|
->select();
|
|
|
$this->success('获取成功', ['data' => $res, 'total' => count($res)]);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 查询获取问题分类
|
|
|
*/
|
|
|
@@ -480,21 +498,17 @@ class Facility extends Api{
|
|
|
if (!$this->request->isGet()) {
|
|
|
$this->error('请求错误');
|
|
|
}
|
|
|
-
|
|
|
$params = $this->request->param();
|
|
|
- $where = ['mod_rq' => null]; // 仅查询未被删除的数据
|
|
|
-
|
|
|
+ // 仅查询未被删除的数据
|
|
|
+ $where = ['mod_rq' => null];
|
|
|
// 允许通过问题类型进行搜索
|
|
|
if (!empty($params['search'])) {
|
|
|
$where['问题类型'] = ['like', '%' . $params['search'] . '%'];
|
|
|
}
|
|
|
-
|
|
|
$data = \db('db_问题分类')->where($where)->order('update_time desc')->select();
|
|
|
-
|
|
|
if (!$data) {
|
|
|
$this->error('未查询到数据');
|
|
|
}
|
|
|
-
|
|
|
$this->success('获取成功', ['data' => $data, 'total' => count($data)]);
|
|
|
}
|
|
|
|
|
|
@@ -505,25 +519,20 @@ class Facility extends Api{
|
|
|
if (!$this->request->isPost()) {
|
|
|
$this->error('非法请求');
|
|
|
}
|
|
|
-
|
|
|
$params = $this->request->param();
|
|
|
-
|
|
|
if (empty($params['问题类型'])) {
|
|
|
$this->error('问题类型不能为空');
|
|
|
}
|
|
|
-
|
|
|
$insertData = [
|
|
|
'问题类型' => $params['问题类型'],
|
|
|
'sys_id' => $params['sys_id'],
|
|
|
'classification' => $params['classification'],
|
|
|
'Sys_rq' => date('Y-m-d H:i:s')
|
|
|
];
|
|
|
-
|
|
|
$sql = \db('db_问题分类')
|
|
|
->fetchSql(true)
|
|
|
->insert($insertData);
|
|
|
$res = \db()->query($sql);
|
|
|
-
|
|
|
$this->success('添加成功');
|
|
|
}
|
|
|
|
|
|
@@ -534,7 +543,6 @@ class Facility extends Api{
|
|
|
if (!$this->request->isPost()) {
|
|
|
$this->error('非法请求');
|
|
|
}
|
|
|
-
|
|
|
$params = $this->request->param();
|
|
|
if (empty($params['id'])) {
|
|
|
$this->error('ID 不能为空');
|
|
|
@@ -563,6 +571,7 @@ class Facility extends Api{
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 设备_基本资料
|
|
|
* 更新机台设备
|
|
|
*/
|
|
|
public function updateMachineDeviceTypes() {
|
|
|
@@ -594,6 +603,7 @@ class Facility extends Api{
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 新增设备_基本资料
|
|
|
* 新增机台设备
|
|
|
*/
|
|
|
public function addMachineDeviceTypes() {
|
|
|
@@ -601,7 +611,6 @@ class Facility extends Api{
|
|
|
$this->error('非法请求');
|
|
|
}
|
|
|
$params = $this->request->param();
|
|
|
-
|
|
|
// 生产工序与工序号的映射
|
|
|
$processMapping = [
|
|
|
'裁剪' => 2,
|
|
|
@@ -612,7 +621,6 @@ class Facility extends Api{
|
|
|
'包装' => 7,
|
|
|
];
|
|
|
$productionProcess = $params['生产工序'] ?? '';
|
|
|
-
|
|
|
$UniqId = \db('设备_基本资料')
|
|
|
->field('UniqId')
|
|
|
->order('UniqId desc')
|
|
|
@@ -643,7 +651,6 @@ class Facility extends Api{
|
|
|
/**
|
|
|
* 订单状态更新
|
|
|
*/
|
|
|
-
|
|
|
public function Apigdstatus() {
|
|
|
if (!$this->request->isPost()) {
|
|
|
$this->error('非法请求');
|
|
|
@@ -669,6 +676,7 @@ class Facility extends Api{
|
|
|
}
|
|
|
$this->success('订单状态更新成功');
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 产品BOM资料
|
|
|
*/
|
|
|
@@ -712,7 +720,6 @@ class Facility extends Api{
|
|
|
->where('a.Mod_rq',null)
|
|
|
->limit(($page - 1) * $limit, $limit)
|
|
|
->select();
|
|
|
-
|
|
|
// 处理数据,去掉计划用料字段的小数点后多余的0
|
|
|
foreach ($bomlist as &$item) {
|
|
|
// 转换为浮点数,去掉无意义的 0
|
|
|
@@ -720,8 +727,6 @@ class Facility extends Api{
|
|
|
}
|
|
|
// 解除引用,防止意外修改
|
|
|
unset($item);
|
|
|
-
|
|
|
- //统计总数量
|
|
|
$count = Db::name('工单_bom资料')
|
|
|
->where('Mod_rq',null)
|
|
|
->count();
|