function act_addDefectiveProducts($set) { $list = DefectiveProductsModel::updateDefectiveProducts($set); if ($list) { return $list; } else { self::$errCode = DefectiveProductsModel::$errCode; self::$errMsg = DefectiveProductsModel::$errMsg; return false; } }
function act_afterAuditDefectiveProducts() { //QC对不良品列表中进行对报废和内部处理 //$scrappedStatus表示处理方向,1为报废,2为内部处理,3为待退回 try { $defectiveId = isset($_GET['defectiveId']) ? post_check($_GET['defectiveId']) : ''; $infoId = isset($_GET['infoId']) ? post_check($_GET['infoId']) : ''; $num = isset($_GET['num']) ? post_check($_GET['num']) : ''; $note = isset($_GET['note']) ? post_check($_GET['note']) : ''; $scrappedStatus = isset($_GET['scrappedStatus']) ? post_check($_GET['scrappedStatus']) : ''; if (empty($defectiveId) || empty($infoId) || empty($num) || empty($scrappedStatus)) { throw new Exception("empty fields"); } TransactionBaseModel::begin(); $now = time(); $select = 'startTime'; $where = "WHERE id='{$defectiveId}'"; $defectiveProductsList = DefectiveProductsModel::getDefectiveProductsList($select, $where); //修改记录前看是否是第一次插入 $set = "SET processedNum=processedNum+'{$num}' "; if (empty($defectiveProductsList[0]['startTime'])) { //如果是第一次插入则加入首次处理时间 $set .= ",startTime='{$now}' "; } DefectiveProductsModel::updateDefectiveProducts($set, $where); //先将该不良品记录的相关字段修改 $select = 'sku,defectiveNum,processedNum'; $defectiveProductsList = DefectiveProductsModel::getDefectiveProductsList($select, $where); // $spu = $defectiveProductsList[0]['spu']; $sku = $defectiveProductsList[0]['sku']; $defectiveNum = $defectiveProductsList[0]['defectiveNum']; //不良品记录的总数量 $processedNum = $defectiveProductsList[0]['processedNum']; //已处理数量 if ($scrappedStatus == 1 || $scrappedStatus == 2) { $set = "SET infoId='{$infoId}',sku='{$sku}',scrappedNum='{$num}',processTypeId='{$scrappedStatus}',note='{$note}' "; ScrappedProductsModel::addScrappedProducts($set); //在报废,内部处理表中添加记录; } elseif ($scrappedStatus == 3) { $set = "SET infoId='{$infoId}',sku='{$sku}',returnNum='{$num}',note='{$note}' "; ReturnProductsModel::addReturnProducts($set); //在退回表中表中添加记录; } else { throw new Exception("error status"); } if ($defectiveNum == $processedNum) { //检测该不良品记录是否处理完成 $set = "SET defectiveStatus='2',lastModified='{$now}' "; $where = "WHERE id='{$defectiveId}'"; DefectiveProductsModel::updateDefectiveProducts($set, $where); //先将该不良品记录的相关字段修改 } TransactionBaseModel::commit(); TransactionBaseModel::autoCommit(); self::$errCode = 200; self::$errMsg = 'Success'; return 1; } catch (Exception $e) { TransactionBaseModel::rollback(); self::$errCode = 301; self::$errMsg = $e->getMessage(); return 0; } }