WorkItemController.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace hd\controllers;
  3. use bizGhs\product\classes\ProductClass;
  4. use bizHd\work\classes\WorkClass;
  5. use bizHd\work\classes\WorkItemClass;
  6. use common\components\dict;
  7. use common\components\util;
  8. use Yii;
  9. class WorkItemController extends BaseController
  10. {
  11. public $guestAccess = [];
  12. //修改报损数量 ssh 20220425
  13. public function actionModifyWastage()
  14. {
  15. $post = Yii::$app->request->post();
  16. $id = $post['id'] ?? 0;
  17. $item = WorkItemClass::getById($id, true);
  18. WorkItemClass::valid($item, $this->mainId);
  19. $workSn = $item->workSn ?? '';
  20. $work = WorkClass::getByCondition(['workSn' => $workSn], true);
  21. if (empty($work)) {
  22. util::fail('没有找到');
  23. }
  24. if ($work->stockLock == 1) {
  25. util::fail('已锁定,不能再报损');
  26. }
  27. if ($work->status == WorkClass::STATUS_COMPLETE) {
  28. util::fail('已完成,不能再报损');
  29. }
  30. if ($work->status == WorkClass::STATUS_CANCEL) {
  31. util::fail('已取消,不能再报损');
  32. }
  33. $wastNum = $post['num'] ?? 0;
  34. $wastUnitType = $post['unitType'] ?? 0;
  35. $wastUnitName = $post['unitName'] ?? '';
  36. $item->wastNum = $wastNum;
  37. $item->wastUnitType = $wastUnitType;
  38. $item->wastUnitName = $wastUnitName;
  39. $item->save();
  40. util::complete();
  41. }
  42. //修改用材信息
  43. public function actionModifyItem()
  44. {
  45. $post = Yii::$app->request->post();
  46. $workId = $post['id'] ?? 0;
  47. $product = $post['product'] ?? '';
  48. if (empty($product)) {
  49. util::fail('请选择花材');
  50. }
  51. $product = json_decode($product, true);
  52. if (empty($product)) {
  53. util::fail('请选择花材哈');
  54. }
  55. $work = WorkClass::getById($workId, true);
  56. WorkClass::valid($work, $this->mainId);
  57. if ($work->stockLock == 1) {
  58. util::fail('用材不可修改');
  59. }
  60. if ($work->status == 1) {
  61. util::fail('工单已完成');
  62. }
  63. if ($work->status == 2) {
  64. util::fail('工单已取消');
  65. }
  66. $connection = Yii::$app->db;//事务处理
  67. $transaction = $connection->beginTransaction();
  68. try {
  69. WorkItemClass::modifyItem($work, $product);
  70. $transaction->commit();
  71. util::complete();
  72. } catch (\Exception $e) {
  73. $transaction->rollBack();
  74. Yii::error("修改用材失败原因:" . $e->getMessage());
  75. util::fail('修改失败');
  76. }
  77. }
  78. }