|
|
@@ -191,6 +191,214 @@ class ReportingWork extends Api
|
|
|
* @params
|
|
|
*/
|
|
|
public function submitPatrolRecord(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ if (empty($params['machine']) || empty($params['type']) || empty($params['order'])) {
|
|
|
+ $this->error('参数错误');
|
|
|
+ }
|
|
|
+ if (empty($params['yjno']) || empty($params['process']) || empty($params['no'])) {
|
|
|
+ $this->error('参数错误');
|
|
|
+ }
|
|
|
+ $data = [];
|
|
|
+ $data['类别'] = $params['type'];
|
|
|
+ $data['工单编号'] = $params['order'];
|
|
|
+ $data['印件号'] = $params['yjno'];
|
|
|
+ $data['工序名称'] = '';
|
|
|
+ $data['班组编号'] = '';
|
|
|
+ $data['开工时间'] = '';
|
|
|
+ $data['流程单号'] = $params['process'];
|
|
|
+ $data['设备编号'] = $params['machine'].'#';
|
|
|
+ $data['检验项目'] = '['.$params['no'].'/'.$params['name'].']';
|
|
|
+ $data['检验备注'] = $params['remark'];
|
|
|
+ $data['提交时间'] = date('Y-m-d H:i:s');
|
|
|
+ $produce = Db::name('设备_产量采集')->where('设备编号',$params['machine'].'#')->where('工单编号',$params['order'])->order('UniqId desc')->find();
|
|
|
+ if (!empty($produce)){
|
|
|
+ $data['工序名称'] = $produce['工序名称'];
|
|
|
+ $data['班组编号'] = rtrim($produce['班组编号']);
|
|
|
+ $data['开工时间'] = $produce['开工时间'];
|
|
|
+ }
|
|
|
+ $res = Db::name('制程检验_记录')->field('UniqId')->order('UniqId desc')->find();
|
|
|
+ if ($res['UniqId'] < 100000000){
|
|
|
+ $data['UniqId'] = 100000000;
|
|
|
+ }else{
|
|
|
+ $data['UniqId'] = $res['UniqId'] + 1;
|
|
|
+ }
|
|
|
+ $sql = Db::name('制程检验_记录')->fetchSql(true)->insert($data);
|
|
|
+ $result = Db::query($sql);
|
|
|
+ if ($result === false){
|
|
|
+ $this->success('提交失败');
|
|
|
+ }else{
|
|
|
+ $this->error('提交成功');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 获取报工单其他信息
|
|
|
+ * @ApiMethod Get
|
|
|
+ * @params string machine
|
|
|
+ */
|
|
|
+ public function getMachineReportInfo(){
|
|
|
+ if (Request::instance()->isGet() == false) {
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->param();
|
|
|
+ if (!isset($params['machine']) || empty($params['machine'])) {
|
|
|
+ $this->error('参数错误');
|
|
|
+ }
|
|
|
+ $machine = $params['machine'].'#';
|
|
|
+ $data = [];
|
|
|
+ $produce = Db::name('设备_产量采集')->where('设备编号',$machine)->order('UniqId desc')->find();
|
|
|
+ $data['order_info']['order'] = $produce['工单编号'];
|
|
|
+ $data['order_info']['yjno'] = $produce['印件号'];
|
|
|
+ $data['order_info']['gxh'] = $produce['工序号'];
|
|
|
+ $data['order_info']['gxmc'] = $produce['工序名称'];
|
|
|
+ $product = Db::name('工单_基本资料')->alias('a')
|
|
|
+ ->join('工单_工艺资料 b','a.Gd_Gdbh = b.Gy0_gdbh','left')
|
|
|
+ ->join('工单_印件资料 c','a.Gd_Gdbh = c.Yj_gdbh','left')
|
|
|
+ ->field('a.成品名称,b.Gy0_gxmc,c.yj_yjmc')
|
|
|
+ ->where('a.Gd_Gdbh',$produce['工单编号'])
|
|
|
+ ->where('b.Gy0_yjno',$produce['印件号'])
|
|
|
+ ->where('b.Gy0_gxh',$produce['工序号'])
|
|
|
+ ->where('c.Yj_yjno',$produce['印件号'])
|
|
|
+ ->select();
|
|
|
+ $data['order_info']['product_name'] = '';
|
|
|
+ $data['order_info']['yj_name'] = '';
|
|
|
+ $data['order_info']['gy_name'] = '';
|
|
|
+ if (!empty($product)){
|
|
|
+ $data['order_info']['product_name'] = rtrim($product[0]['成品名称']);
|
|
|
+ $data['order_info']['yj_name'] = rtrim($product[0]['yj_yjmc']);
|
|
|
+ $data['order_info']['gy_name'] = rtrim($product[0]['Gy0_gxmc']);
|
|
|
+ }
|
|
|
+ $class = Db::name('设备_班组资料')->where('UniqId',$produce['班组ID'])->find();
|
|
|
+ for ($i=1;$i<11;$i++){
|
|
|
+ $name = '';
|
|
|
+ if (!empty($class['sczl_bh'.$i])){
|
|
|
+ $name = Db::name('人事_基本资料')->where('员工编号',$class['sczl_bh'.$i])->value('员工姓名');
|
|
|
+ }
|
|
|
+ $class['sczl_name'.$i] = rtrim($name);
|
|
|
+ }
|
|
|
+ $data['class'] = $class;
|
|
|
+ $where['st_gdbh'] = $produce['工单编号'];
|
|
|
+ $machine = substr($machine,0,2);
|
|
|
+ if ($machine == 'JY' || $machine == 'QZ'){
|
|
|
+ $where['st_dpt'] = '胶印车间';
|
|
|
+ }elseif ($machine == 'WY' || $machine == 'DW'){
|
|
|
+ $where['st_dpt'] = '凹印车间';
|
|
|
+ }elseif ($machine == 'SY' || $machine == 'PM'){
|
|
|
+ $where['st_dpt'] = '丝印车间';
|
|
|
+ }elseif ($machine == 'MQ' || $machine == 'TJ'){
|
|
|
+ $where['st_dpt'] = '烫模车间';
|
|
|
+ }elseif ($machine == 'JP'){
|
|
|
+ $where['st_dpt'] = '检验车间';
|
|
|
+ }
|
|
|
+ $sql = "SELECT RTRIM(a.供方批次) as batch, rtrim(采购单号) as 采购单号,st_wlbh, MIN(a.Uniqid) AS Uniqid,rtrim(b.`BOM_物料名称`) as `BOM_物料名称`
|
|
|
+ FROM `物料_收发记录` a
|
|
|
+ LEFT JOIN `工单_bom资料` b ON a.st_gdbh = b.`BOM_工单编号` AND a.st_wlbh = b.`BOM_物料编码`
|
|
|
+ WHERE a.st_gdbh = '{$where['st_gdbh']}' AND a.st_dpt = '{$where['st_dpt']}'
|
|
|
+ GROUP BY batch ORDER BY a.st_wlbh";
|
|
|
+ $material = Db::query($sql);
|
|
|
+ $data['bom'] = $material;
|
|
|
+ $this->success('请求成功',$data);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 日产量上报
|
|
|
+ * @ApiMethod POST
|
|
|
+ * @params array data
|
|
|
+ */
|
|
|
+ public function submitDailyProduction(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ $machine = $params['sczl_jtbh'].'#';
|
|
|
+ $batchData = []; //批次追踪数据
|
|
|
+ $batch = $params['bom'];
|
|
|
+ $data = $params;//产量数据
|
|
|
+ $data['sczl_type'] = $params['sczl_gxmc'];
|
|
|
+ $data['sczl_前工序废'] = $params['last_fp'];
|
|
|
+ $data['sczl_来料少数'] = $params['less_sl'];
|
|
|
+ $data['sczl_装版总工时'] = $params['zb_time'];
|
|
|
+ $data['sczl_打样总工时'] = $params['dy_time'];
|
|
|
+ $data['sczl_设备运行工时'] = $params['run_time'];
|
|
|
+ $data['sczl_jtbh'] = $machine;
|
|
|
+ $data['码包'] = $params['code'];
|
|
|
+ $data['主电表'] = $params['main_meter'];
|
|
|
+ $data['辅电表'] = $params['auxiliary_meter'];
|
|
|
+ unset($data['last_fp']);
|
|
|
+ unset($data['less_sl']);
|
|
|
+ unset($data['zb_time']);
|
|
|
+ unset($data['dy_time']);
|
|
|
+ unset($data['run_time']);
|
|
|
+ unset($data['code']);
|
|
|
+ unset($data['main_meter']);
|
|
|
+ unset($data['auxiliary_meter']);
|
|
|
+ unset($data['bom']);
|
|
|
+ $start_time = Db::name('设备_产量采集')->where('设备编号',$machine)->order('UniqId desc')->find();
|
|
|
+ $data['开工时间'] = $start_time['开工时间'];
|
|
|
+ $sys_id = Db::name('设备_基本资料')->where('设备编号',$machine)->value('sys_sbID');
|
|
|
+ $data['sys_id'] = '['.$sys_id.'/'.$machine.']';
|
|
|
+ $UniqId = Db::name('设备_产量计酬')->order('UniqId desc')->value('UniqId');
|
|
|
+ if ($UniqId < 10000000){
|
|
|
+ $data['UniqId'] = 10000000;
|
|
|
+ }else{
|
|
|
+ $data['UniqId'] = $UniqId + 1;
|
|
|
+ }
|
|
|
+ $data['sczl_Pgcl'] = 0;
|
|
|
+ $data['sczl_oil'] = 0;
|
|
|
+ $data['sczl_计产系数'] = 0;
|
|
|
+ $data['sczl_工价系数'] = 0;
|
|
|
+ $data['sczl_装版工时'] = 0;
|
|
|
+ $data['sczl_保养工时'] = 0;
|
|
|
+ $data['sczl_打样工时'] = 0;
|
|
|
+ $data['sczl_异常停机工时'] = 0;
|
|
|
+ $data['sczl_异常工时1'] = 0;
|
|
|
+ $data['sczl_异常类型1'] = '';
|
|
|
+ $data['sczl_废品率系数'] = '';
|
|
|
+ $data['sczl_desc'] = '';
|
|
|
+ $data['sczl_wgsj'] = '1900-01-01 00:00:00';
|
|
|
+ $data['码开始行'] = 0;
|
|
|
+ $data['码结束行'] = 0;
|
|
|
+ $data['mod_rq'] = '1900-01-01 00:00:00';
|
|
|
+ $data['sys_rq'] = date('Y-m-d H:i:s');
|
|
|
+
|
|
|
+ $batchData = explode(',',$batch);
|
|
|
+ $newData = [];
|
|
|
+ $batchUniqId = Db::name('物料_批次跟踪')->order('UniqId desc')->value('UniqId');
|
|
|
+ if ($batchUniqId < 10000000){
|
|
|
+ $batchUniqId = 10000000;
|
|
|
+ }
|
|
|
+ foreach ($batchData as $key=>$item){
|
|
|
+ $batchUniqId++;
|
|
|
+ $val = explode('-',$item);
|
|
|
+ $newData[$key]['wlbh'] = $val[0];
|
|
|
+ $newData[$key]['wlBatch'] = $val[1];
|
|
|
+ $newData[$key]['sczl_gdbh'] = $data['sczl_gdbh'];
|
|
|
+ $newData[$key]['sczl_yjno'] = $data['sczl_yjno'];
|
|
|
+ $newData[$key]['sczl_gxh'] = $data['sczl_gxh'];
|
|
|
+ $newData[$key]['sczl_gxmc'] = $data['sczl_gxmc'];
|
|
|
+ $newData[$key]['sczl_num'] = $data['sczl_num'];
|
|
|
+ $newData[$key]['sys_id'] = $data['sys_id'];
|
|
|
+ $newData[$key]['sys_rq'] = $data['sys_rq'];
|
|
|
+ $newData[$key]['UniqID'] = $batchUniqId;
|
|
|
+ }
|
|
|
+ $res = true;
|
|
|
+ $batch_res = true;
|
|
|
+ Db::startTrans();
|
|
|
+ try {
|
|
|
+ $sql = Db::name('设备_产量计酬')->fetchSql(true)->insert($data);
|
|
|
+ $res = Db::query($sql);
|
|
|
+ $batch_sql = Db::name('物料_批次跟踪')->fetchSql(true)->insertAll($newData);
|
|
|
+ $batch_res = Db::query($batch_sql);
|
|
|
+ Db::commit();
|
|
|
+ }catch (\Exception $e){
|
|
|
+ Db::rollback();
|
|
|
+ }
|
|
|
+ if ($res === false || $batch_res === false){
|
|
|
+ $this->error('报工失败');
|
|
|
+ }else{
|
|
|
+ $this->success('报工成功');
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
}
|