Compare commits

..

No commits in common. "33948a0bac37b0fef52debae45b838f7fec2d397" and "9fedd3ab6f1e478f17d15ef0dc93e83813a36fd2" have entirely different histories.

3 changed files with 39 additions and 39 deletions

View File

@ -10,7 +10,7 @@ on:
jobs: jobs:
test: test:
runs-on: phpunit_test runs-on: phpunit_test
container: docker.xuanyuan.me/xeden3/ai-code-reviewer-gitea-runner:v1.2 container: docker.xuanyuan.me/xeden3/ai-code-reviewer-gitea-runner:v1
steps: steps:
- name: Checkout code - name: Checkout code

View File

@ -123,15 +123,16 @@ class SetWipOutput
} }
$subbatch = $ret['subbatch']; $subbatch = $ret['subbatch'];
// 拿到工序编码 // 拿到工序编码
foreach (json_decode($ret['process'], true) as $key => $val) { $ret_process = json_decode($ret['process'], true);
// 拿到工序编码
foreach ($ret_process as $key => $val) {
if ($val[4] == $workingsubclass) { if ($val[4] == $workingsubclass) {
if (isset($process[$key + 1])) { if (isset($ret_process[$key + 1])) {
$next_process_code = $process[$key + 1][2]; $next_process_code = $ret_process[$key + 1][2];
} }
$process_code = $val[2]; $process_code = $val[2];
} }
} }
//4.通过以上关联信息查询物料编码 //4.通过以上关联信息查询物料编码
$sql = "SELECT a.flow_id,e.code as bom_source_code,e.name as bom_source_name,d.bom_source_id,d.bom_id,f.code as bom_source_category_code FROM hf_mes_production_planning_management_batch a $sql = "SELECT a.flow_id,e.code as bom_source_code,e.name as bom_source_name,d.bom_source_id,d.bom_id,f.code as bom_source_category_code FROM hf_mes_production_planning_management_batch a
INNER JOIN hf_mes_technology_flow b ON a.flow_id = b.id INNER JOIN hf_mes_technology_flow b ON a.flow_id = b.id
@ -321,24 +322,25 @@ class SetWipOutput
$uuid = json_encode(array_unique($uuid)); $uuid = json_encode(array_unique($uuid));
} }
//保证每个正向追溯的uuid都是唯一的 //保证每个正向追溯的uuid都是唯一的
$forward_tracing_uuid_only[] = generateUniqueId(); $forward_tracing_uuid = json_encode(array_unique(array_merge($forward_tracing_uuid, [generateUniqueId()])));
$forward_tracing_uuid_only = json_encode($forward_tracing_uuid_only);
$decoded_uuid = json_decode($forward_tracing_uuid_only, true);
if (is_array($decoded_uuid)) {
$forward_tracing_uuid = array_merge($forward_tracing_uuid, $decoded_uuid);
}
$forward_tracing_uuid = json_encode(array_unique($forward_tracing_uuid));
$wip_uuid = count($wip_uuid) <= 0 ? $uuid : json_encode(array_values(array_unique($wip_uuid))); $wip_uuid = count($wip_uuid) <= 0 ? $uuid : json_encode(array_values(array_unique($wip_uuid)));
$now_date = date('Y-m-d H:i:s'); $now_date = date('Y-m-d H:i:s');
$start_time = $last_time; //isset($param_out['START_TIME'])? $param_out['START_TIME'] : date('Y-m-d H:i:s'); $start_time = $last_time; //isset($param_out['START_TIME'])? $param_out['START_TIME'] : date('Y-m-d H:i:s');
$finish_time = isset($param_out['FINISH_TIME']) ? $param_out['FINISH_TIME'] : date('Y-m-d H:i:s'); $finish_time = isset($param_out['FINISH_TIME']) ? $param_out['FINISH_TIME'] : date('Y-m-d H:i:s');
$lot = strtotime($now_date); $lot = strtotime($now_date);
$wip_msg = generate_material_item_id_wip($workingsubclass, $device_code, $batch, $cut_list, $gun_count, $roller_press_batch); $wip_msg = generate_material_item_id_wip($workingsubclass, $device_code, $batch, $cut_list);
if (!$wip_msg[0]) { if (!$wip_msg[0]) {
throw new Exception("获取物料批次条码失败!" . $wip_msg[1]); throw new Exception("获取物料批次条码失败!" . $wip_msg[1]);
} else { } else {
$battery_id = $wip_msg[1]; $battery_id = $wip_msg[1];
} }
//判断物料批次条码是否已经存在于生产批次中如果存在则提示失败
$sql = 'SELECT id FROM "hf_mes_tmp_bkv_' . $subbatch . '" WHERE battery_id = \'' . $wip_msg[1] . '\' AND active = 1';
$ret = Db::fetch($sql);
if (!empty($ret)) {
throw new Exception("产出批次【$wip_msg[1]】已经激活了,不要重复产出!");
}
// 新增数据到process_log表 // 新增数据到process_log表
//返回需要使用的数据 //返回需要使用的数据
$data_list = array_merge($data_list, [$battery_id, $bom_relationship_array['bom_source_code'], $bom_relationship_array['bom_source_name'], $batch, $device_code]); $data_list = array_merge($data_list, [$battery_id, $bom_relationship_array['bom_source_code'], $bom_relationship_array['bom_source_name'], $batch, $device_code]);
@ -401,14 +403,15 @@ class SetWipOutput
} }
// 新增数据到bkv表 // 新增数据到bkv表
$wip_bkv_sql_head = 'INSERT INTO "hf_mes_tmp_bkv_' . $subbatch . '" (battery_id, tray, lot, active, process_code, item_code, item_name, item_batch, item_quantity, item_batch_start_time, pid, uuid, bom_source_id, bom_id, ' . implode(',', $sql_key_out_result_param) . ') VALUES '; $wip_bkv_sql_head = 'INSERT INTO "hf_mes_tmp_bkv_' . $subbatch . '" (battery_id, tray, lot, active, process_code, next_process_code, item_code, item_name, item_batch, item_quantity, item_batch_start_time, pid, uuid, bom_source_id, bom_id, ' . implode(',', $sql_key_out_result_param) . ') VALUES ';
$wip_bkv_sql_val = sprintf( $wip_bkv_sql_val = sprintf(
"('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s',%s)", "('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s',%s)",
$battery_id, $battery_id,
'-1', '-1',
$lot, $lot,
1, 1,
$process_code, $process_code,
$next_process_code,
$bom_relationship_array['bom_source_code'], $bom_relationship_array['bom_source_code'],
$bom_relationship_array['bom_source_name'], $bom_relationship_array['bom_source_name'],
$battery_id, $battery_id,

View File

@ -122,15 +122,11 @@ class SetWipOutputByItemId
throw new Exception('工序单元[' . $workingsubclass . ']下设备编码[' . $device_code . ']找不到对应投入物料生产批次信息'); throw new Exception('工序单元[' . $workingsubclass . ']下设备编码[' . $device_code . ']找不到对应投入物料生产批次信息');
} }
$item_code_in_process_log = array_column($ret, "item_code"); $item_code_in_process_log = array_column($ret, "item_code");
//获取正向追溯的uuid
$forward_tracing_uuid_in_process_log = array_column($ret, "forward_tracing_uuid"); //获取原材料的正向追溯的uuid
$forward_tracing_uuid = []; $forward_tracing_uuid = array_unique(array_merge(...array_map(function ($json) {
foreach ($forward_tracing_uuid_in_process_log as $json_str) { return is_array($decoded = json_decode($json, true)) ? $decoded : [];
$decoded = json_decode($json_str, true); // 转成数组 }, array_column($ret, "forward_tracing_uuid"))));
if (is_array($decoded)) {
$forward_tracing_uuid = array_merge($forward_tracing_uuid, $decoded);
}
}
$batch = $ret[0]['batch']; $batch = $ret[0]['batch'];
@ -227,16 +223,14 @@ class SetWipOutputByItemId
} else { } else {
$sql_val_out_result_param[] = "'" . $param_out_val . "'"; $sql_val_out_result_param[] = "'" . $param_out_val . "'";
} }
$ng_code_val = 0;
// 判断NG是否存在 // 判断NG是否存在
if ($val['code'] == 'NG') { if ($val['code'] == 'NG') {
if ($param_out[$val['code']] != '') { if ($param_out[$val['code']] != '') {
$ng_code = $param_out[$val['code']]; $ng_code = $param_out[$val['code']];
} else {
$ng_code = 0;
} }
} }
$ng_code = $ng_code_val;
} }
// 8.获取设备投入物料信息为后续追加battery_map、bkv表做准备 // 8.获取设备投入物料信息为后续追加battery_map、bkv表做准备
@ -351,15 +345,17 @@ class SetWipOutputByItemId
} else { } else {
$uuid = json_encode(array_values(array_unique($uuid))); $uuid = json_encode(array_values(array_unique($uuid)));
} }
//保证每个正向追溯的uuid都是唯一的 //需要读取input_item_id的$forward_tracing_uuid进行拼接
$forward_tracing_uuid_only[] = generateUniqueId(); $sql = "SELECT forward_tracing_uuid FROM hf_mes_bkv_batch_process_log WHERE item_id = '" . $input_item_id . "' ORDER BY id DESC LIMIT 1";
$forward_tracing_uuid_only = json_encode($forward_tracing_uuid_only); $input_item_id_forward_tracing_uuid = Db::fetchAll($sql);
$decoded_uuid = json_decode($forward_tracing_uuid_only, true); if (!empty($input_item_id_forward_tracing_uuid)) {
if (is_array($decoded_uuid)) { $forward_tracing_uuid = array_unique(array_merge($forward_tracing_uuid, json_decode($input_item_id_forward_tracing_uuid[0]['forward_tracing_uuid'], true)));
$forward_tracing_uuid = array_merge($forward_tracing_uuid, $decoded_uuid);
} }
$forward_tracing_uuid = json_encode(array_unique($forward_tracing_uuid)); if ($input_item_id != $item_id) {
//保证每个正向追溯的uuid都是唯一的
$forward_tracing_uuid = array_unique(array_merge($forward_tracing_uuid, [generateUniqueId()]));
}
$forward_tracing_uuid = json_encode($forward_tracing_uuid);
$wip_uuid = json_encode(array_values(array_unique($wip_uuid))); $wip_uuid = json_encode(array_values(array_unique($wip_uuid)));
$now_date = date('Y-m-d H:i:s'); $now_date = date('Y-m-d H:i:s');
$start_time = isset($param_out['START_TIME']) ? $param_out['START_TIME'] : date('Y-m-d H:i:s'); $start_time = isset($param_out['START_TIME']) ? $param_out['START_TIME'] : date('Y-m-d H:i:s');
@ -368,9 +364,9 @@ class SetWipOutputByItemId
$battery_id = $item_id; $battery_id = $item_id;
// 新增数据到process_log表 // 新增数据到process_log表
$wip_process_log_sql_head = 'INSERT INTO "hf_mes_bkv_batch_process_log" (item_id, batch, subbatch, workingsubclass, process_code, device_code, status, start_time, finish_time, bom_source_id, item_batch, item_quantity, pid, uuid, bom_id, item_code, item_name, lot, tray, ng_code, device_category_id,last_status,forward_tracing_uuid) VALUES'; $wip_process_log_sql_head = 'INSERT INTO "hf_mes_bkv_batch_process_log" (item_id, batch, subbatch, workingsubclass, process_code, device_code, status, start_time, finish_time, bom_source_id, item_batch, item_quantity, pid, uuid, bom_id, item_code, item_name, lot, tray, ng_code, device_category_id,last_status,forward_tracing_uuid,input_finish_time) VALUES';
$wip_process_log_sql_val = sprintf( $wip_process_log_sql_val = sprintf(
"('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", "('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
$battery_id, $battery_id,
$batch, $batch,
$subbatch, $subbatch,
@ -393,7 +389,8 @@ class SetWipOutputByItemId
$ng_code, $ng_code,
$device_category_id, $device_category_id,
1, 1,
$forward_tracing_uuid $forward_tracing_uuid,
$finish_time
); );
$sql = $wip_process_log_sql_head . $wip_process_log_sql_val; $sql = $wip_process_log_sql_head . $wip_process_log_sql_val;
$row = Db::query($sql); $row = Db::query($sql);