|
|
@@ -30,60 +30,8 @@ class WorkOrder extends Api
|
|
|
if ($this->request->isGet() === false){
|
|
|
$this->error('请求错误');
|
|
|
}
|
|
|
- $param = $this->request->param();
|
|
|
- if (isset($param['sort'])){
|
|
|
- $where['工单分类'] = 2;
|
|
|
- }else{
|
|
|
- $where['工单分类'] = 1;
|
|
|
- }
|
|
|
- $where['行号'] = ['in',['1','10']];
|
|
|
- //获取总计划中数量和总生产中数量
|
|
|
- $productingAll = \db('工单_基本资料')->where($where)->where('成品代号','<>','')->where('行号','1')->where('gd_statu','2-生产中')->cache(true)->count();
|
|
|
- $progressAll = \db('工单_基本资料')->where($where)->where('成品代号','<>','')->where('行号','1')->where('gd_statu','3-计划中')->cache(true)->count();
|
|
|
- $data = [
|
|
|
- 'productingAll' => $productingAll,
|
|
|
- 'progressAll' => $progressAll,
|
|
|
- '客户编号' => []
|
|
|
- ];
|
|
|
- $list = \db('产品_基本资料')
|
|
|
- ->where('客户编号','<>','')
|
|
|
- ->field('客户编号,客户名称')
|
|
|
- ->group('客户编号,客户名称')
|
|
|
- ->order('客户编号')
|
|
|
- ->select();
|
|
|
- if (empty($list)){
|
|
|
- $this->success('',[]);
|
|
|
- }
|
|
|
- foreach ($list as $key=>$value){
|
|
|
- $value['客户编号'] = rtrim($value['客户编号']);
|
|
|
- //这条sql查出来的数据可能不对,试一下以下sql
|
|
|
- $productIng = \db('工单_基本资料')->where($where)->where('Gd_cpdh','LIKE',rtrim($value['客户编号']).'%')->where('gd_statu','2-生产中')->count();
|
|
|
- $proGress = \db('工单_基本资料')->where($where)->where('Gd_cpdh','LIKE',rtrim($value['客户编号']).'%')->where('gd_statu','3-计划中')->count();
|
|
|
- $string = '';
|
|
|
- if ($productIng != 0){
|
|
|
- $string = $string."生产中:".$productIng;
|
|
|
- }
|
|
|
- if ($proGress != 0){
|
|
|
- $string = $string."计划中:".$proGress;
|
|
|
- }
|
|
|
- if ($string !== ''){
|
|
|
- $name = $value['客户编号'].'【'.$string.'】'.$value['客户名称'];
|
|
|
-// if (strpos($value['客户编号'],'J') !== false){
|
|
|
-// array_push($data['糊盒工单'],$name);
|
|
|
-// }else{
|
|
|
-// array_push($data['印刷工单'],$name);
|
|
|
-// }
|
|
|
- array_push($data['客户编号'],$name);
|
|
|
- }
|
|
|
-// else{
|
|
|
-// $name = $value['客户编号'].$value['客户名称'];
|
|
|
-// if (strpos($value['客户编号'],'J') !== false){
|
|
|
-// array_push($data['糊盒工单'],$name);
|
|
|
-// }else{
|
|
|
-// array_push($data['印刷工单'],$name);
|
|
|
-// }
|
|
|
-// }
|
|
|
- }
|
|
|
+ $data = \db('erp_客户供应商')
|
|
|
+ ->column('rtrim(编号) as 编号');
|
|
|
$this->success('成功',$data);
|
|
|
}
|
|
|
|
|
|
@@ -97,91 +45,34 @@ class WorkOrder extends Api
|
|
|
* @return \think\response\Json
|
|
|
* @throws \think\exception\DbException
|
|
|
*/
|
|
|
- public function WorkList()
|
|
|
+ public function WorkOrderList()
|
|
|
{
|
|
|
if ($this->request->isGet() === false){
|
|
|
$this->error('请求错误');
|
|
|
}
|
|
|
$search = input('search');
|
|
|
- $clientNumber = input('Gd_khdh');
|
|
|
- $startTime = input('start');
|
|
|
- $endTime = input('end');
|
|
|
$page = input('page');
|
|
|
$limit = input('limit');
|
|
|
$param = $this->request->param();
|
|
|
- if (isset($param['sort'])){
|
|
|
- $sort = 2;
|
|
|
- }else{
|
|
|
- $sort = 1;
|
|
|
- }
|
|
|
$where = [];
|
|
|
- if (!empty($clientNumber)){
|
|
|
- if ($clientNumber === 'Y1401'){
|
|
|
- $where['Gd_cpdh'] = ['like',$clientNumber.'%'];
|
|
|
- }else{
|
|
|
- $where['成品代号'] = ['like',$clientNumber.'%'];
|
|
|
- }
|
|
|
- }
|
|
|
- if (substr($clientNumber,0,1) === 'Y'){
|
|
|
- $where['工单分类'] = 1;
|
|
|
- }elseif (substr($clientNumber,0,1) === 'J'){
|
|
|
- $where['工单分类'] = 2;
|
|
|
- }
|
|
|
- if (!empty($workOrder)){
|
|
|
- $where['Gd_gdbh'] = $workOrder;
|
|
|
- }
|
|
|
- if (!empty($productCode)){
|
|
|
- $where['Gd_cpdh'] = $productCode;
|
|
|
- }
|
|
|
if (!empty($search)){
|
|
|
- $where['Gd_lx|Gd_gdbh|Gd_客户代号|Gd_客户名称|Gd_khdh|Gd_khmc|Gd_cpdh|Gd_cpmc|成品代号|成品名称|产品版本号'] = ['like','%'.$search.'%'];
|
|
|
- }
|
|
|
- if (!empty($startTime) && !empty($endTime)){
|
|
|
- $where['接单日期'] = ['between',[$startTime,$endTime]];
|
|
|
+ $where['订单编号|生产款号|客户编号|款式|审核|Sys_id'] = ['like','%'.$search.'%'];
|
|
|
}
|
|
|
- $where['工单分类'] = $sort;
|
|
|
-// $where['行号'] = ['in',['1','10']];
|
|
|
- $total = \db('工单_基本资料')->where($where)->distinct(true)->field('Gd_gdbh')->count();
|
|
|
+ $total = \db('工单_基本资料')->where($where)->distinct(true)->count();
|
|
|
$list = \db('工单_基本资料')
|
|
|
->where($where)
|
|
|
- ->order('Gd_statu desc')
|
|
|
+ ->order('Gd_statu desc,Sys_rq desc')
|
|
|
->limit(($page-1)*$limit,$limit)
|
|
|
- ->group('Gd_gdbh')
|
|
|
->select();
|
|
|
- //工单基本资料数据整理
|
|
|
- $data = [];
|
|
|
foreach ($list as $key=>$value){
|
|
|
- $data[$key] = [
|
|
|
- '工单编号' => rtrim($value['Gd_gdbh']),
|
|
|
- '生产分类' => rtrim($value['Gd_生产分类']),
|
|
|
- '销售订单号' => rtrim($value['销售订单号']),
|
|
|
- '产品代号' => rtrim($value['成品代号']),
|
|
|
- '产品名称' => rtrim($value['成品名称']),
|
|
|
- '订单数量' => floatval($value['订单数量']),
|
|
|
- '单位' => rtrim($value['计量单位']),
|
|
|
- '折合大箱' => rtrim((int)$value['投料大箱']),
|
|
|
- '投料率' => rtrim($value['投料率']),
|
|
|
- '平均合格率' => '',
|
|
|
- '开单日期' => date('Y-m-d',strtotime(rtrim($value['接单日期']))),
|
|
|
- '交货日期' => date('Y-m-d',strtotime(rtrim($value['交货日期']))),
|
|
|
- '工单类型' => rtrim($value['Gd_lx']),
|
|
|
- '工单状态' => rtrim($value['gd_statu']),
|
|
|
- '当前生产工序' => '',
|
|
|
- '产量提交时间' => '',
|
|
|
- '建档用户' => rtrim($value['Sys_id']),
|
|
|
- '建档时间' => rtrim($value['Sys_rq']),
|
|
|
- '更新时间' => rtrim($value['Mod_rq']),
|
|
|
- 'Uniqid' => rtrim($value['Uniqid'])
|
|
|
- ];
|
|
|
-
|
|
|
- $number = \db('工单_工艺资料')->where('Gy0_gdbh',$data[$key]['工单编号'])->count();
|
|
|
+ $number = \db('工单_工艺资料')->where('订单编号',$value['订单编号'])->count();
|
|
|
if ($number === 0){
|
|
|
- $data[$key]['status'] = '*';
|
|
|
+ $list[$key]['status'] = '*';
|
|
|
}else{
|
|
|
- $data[$key]['status'] = '';
|
|
|
+ $list[$key]['status'] = '';
|
|
|
}
|
|
|
}
|
|
|
- $this->success('成功',['data'=>$data,'total'=>$total]);
|
|
|
+ $this->success('成功',['data'=>$list,'total'=>$total]);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -198,166 +89,35 @@ class WorkOrder extends Api
|
|
|
if ($this->request->isGet() === false){
|
|
|
$this->error('请求错误');
|
|
|
}
|
|
|
- $Gd_gdbh = input('Gd_gdbh');
|
|
|
+ $Gd_gdbh = input('订单编号');
|
|
|
$param = $this->request->param();
|
|
|
if (empty($Gd_gdbh)){
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
- if (isset($param['sort'])){
|
|
|
- $where['yj_Yjno'] = ['>=','10'];
|
|
|
- }else{
|
|
|
- $where['yj_Yjno'] = ['<','10'];
|
|
|
- }
|
|
|
$data = [];
|
|
|
- //印件资料
|
|
|
+ //颜色资料
|
|
|
$printList = \db('工单_印件资料')
|
|
|
- ->where('Yj_Gdbh',$Gd_gdbh)
|
|
|
- ->where($where)
|
|
|
+ ->where('订单编号',$Gd_gdbh)
|
|
|
->select();
|
|
|
- if (!empty($printList)){
|
|
|
- foreach ($printList as $key=>$value){
|
|
|
- $data['printList'][$key] = [
|
|
|
- '印件号' => rtrim($value['yj_Yjno']),
|
|
|
- '印件代号' => rtrim($value['yj_Yjdh']),
|
|
|
- '印件名称' => rtrim($value['yj_yjmc']),
|
|
|
- '纸张代号' => rtrim($value['yj_zzdh']),
|
|
|
- '纸张名称' => rtrim($value['yj_zzmc']),
|
|
|
- '投料规格' => rtrim($value['yj_tlgg']),
|
|
|
- '平张投料' => rtrim($value['yj_平张投料']),
|
|
|
- '开料规格' => rtrim($value['yj_klgg']),
|
|
|
- '开数*联数' => rtrim($value['yj_ks']).'*'.rtrim($value['yj_ls']),
|
|
|
- '建档用户' => rtrim($value['Sys_id']),
|
|
|
- '建档时间' => rtrim($value['Sys_rq']),
|
|
|
- '更新时间' => rtrim($value['Mod_rq']),
|
|
|
- 'zzdh1' => rtrim($value['yj_zzdh1']),
|
|
|
- 'zzdh2' => rtrim($value['yj_zzdh2']),
|
|
|
- 'zzdh3' => rtrim($value['yj_zzdh3']),
|
|
|
- 'zzdh4' => rtrim($value['yj_zzdh4']),
|
|
|
- 'zzmc1' => rtrim($value['yj_zzmc1']),
|
|
|
- 'zzmc2' => rtrim($value['yj_zzmc2']),
|
|
|
- 'zzmc3' => rtrim($value['yj_zzmc3']),
|
|
|
- 'zzmc4' => rtrim($value['yj_zzmc4']),
|
|
|
- '订单数量' => rtrim($value['yj_成品数量']),
|
|
|
- '万小张' => rtrim($value['yj_实际投料']),
|
|
|
- '开数' => rtrim($value['yj_ks']),
|
|
|
- '联数' => rtrim($value['yj_ls']),
|
|
|
- '核算规格' => rtrim($value['Yj_核算规格']),
|
|
|
- '备注' => rtrim($value['yj_desc']),
|
|
|
- 'Uniqid' => rtrim($value['Uniqid'])
|
|
|
- ];
|
|
|
- }
|
|
|
- }else{
|
|
|
- $data['printList'] = [];
|
|
|
- }
|
|
|
-
|
|
|
- //工艺资料
|
|
|
- if (isset($param['sort'])){
|
|
|
- $Prowhere['Gy0_yjno'] = ['>=','10'];
|
|
|
- }else{
|
|
|
- $Prowhere['Gy0_yjno'] = ['<','10'];
|
|
|
- }
|
|
|
+ $data['printList'] = $printList;
|
|
|
+ //工序资料
|
|
|
$processList = \db('工单_工艺资料')
|
|
|
- ->where('Gy0_gdbh',$Gd_gdbh)
|
|
|
- ->where($Prowhere)
|
|
|
- ->order('Gy0_yjno,Gy0_gxh')
|
|
|
+ ->where('订单编号',$Gd_gdbh)
|
|
|
+ ->order('子订单编号,工序编号')
|
|
|
->select();
|
|
|
- if (!empty($processList)){
|
|
|
- foreach ($processList as $key=>$value){
|
|
|
- if ($value['Gy0_yjno']<10){
|
|
|
- $value['Gy0_yjno'] = '0'.$value['Gy0_yjno'];
|
|
|
- }
|
|
|
- if ($value['Gy0_gxh']<10){
|
|
|
- $value['Gy0_gxh'] = '0'.$value['Gy0_gxh'];
|
|
|
- }
|
|
|
- if (rtrim($value['Gy0_shdh']) == '' || $value['Gy0_计划接货数'] == 0){
|
|
|
- $number = 0;
|
|
|
- }else{
|
|
|
- $number = round(((int)$value['Gy0_计划损耗']/(int)($value['Gy0_计划接货数']))*100,2).'%';
|
|
|
- }
|
|
|
- if ($value['PD_WG'] !== '1900-01-01 00:00:00'){
|
|
|
- $status = '已完工';
|
|
|
- }else{
|
|
|
- $status = '未完工';
|
|
|
- }
|
|
|
- $data['processList'][$key] = [
|
|
|
- '重点工序' => rtrim($value['重点工序']),
|
|
|
- '印件-工序' => rtrim($value['Gy0_yjno']).'-'.rtrim($value['Gy0_gxh']),
|
|
|
- '备选工序' => rtrim($value['备选工序']),
|
|
|
- '工序名称' => rtrim($value['Gy0_gxmc']).'【'.rtrim($value['Add_gxmc']).'】',
|
|
|
- '印件号' => rtrim($value['Gy0_yjno']),
|
|
|
- '工序号' => rtrim($value['Gy0_gxh']),
|
|
|
- '工艺名称' => rtrim($value['Gy0_gxmc']),
|
|
|
- 'gxmc' => rtrim($value['Add_gxmc']),
|
|
|
- '计划产量' => $value['Gy0_计划接货数'],
|
|
|
- '基础损耗' => rtrim($value['Gy0_Rate0']),
|
|
|
- '损耗率' => rtrim($value['Gy0_Rate1']),
|
|
|
- '机台编号' => rtrim($value['Gy0_sbbh']),
|
|
|
- '报废定额' => rtrim($value['Gy0_计划损耗']),
|
|
|
- '计损色数' => rtrim($value['Gy0_ms']),
|
|
|
- '允损比例' => $number,
|
|
|
- '难度系数' => isset($value['工价系数'])?rtrim($value['工价系数']):'',
|
|
|
- '损耗系数' => isset($value['损耗系数'])?rtrim($value['损耗系数']):'',
|
|
|
- '人工检_次品板' => (int)$value['人工检_次品板']=0?'':$value['人工检_次品板'],
|
|
|
- '人工检_废检' => (int)$value['人工检_废检']=0?'':$value['人工检_废检'],
|
|
|
- '机检_正品板' => (int)$value['机检_正品板']=0?'':$value['机检_正品板'],
|
|
|
- '机检_次品板' => (int)$value['机检_次品板']=0?'':$value['机检_次品板'],
|
|
|
- '机检_废检' => (int)$value['机检_废检']=0?'':$value['机检_废检'],
|
|
|
- '开数*联数' => rtrim($value['Gy0_ks']).'*'.rtrim($value['Gy0_ls']),
|
|
|
- '备注' => isset($value['工序备注'])?rtrim($value['工序备注']):'',
|
|
|
- '印刷方式' => isset($value['印刷方式'])?rtrim($value['印刷方式']):'',
|
|
|
- '版距' => isset($value['版距'])?rtrim($value['版距']):'',
|
|
|
- '建档用户' => rtrim($value['Sys_id']),
|
|
|
- '建档日期' => isset($value['Sys_rq'])?rtrim($value['Sys_rq']):'',
|
|
|
- '更新时间' => isset($value['Mod_rq'])?rtrim($value['Mod_rq']):'',
|
|
|
- '车间名称' => rtrim($value['Gy0_SITE']),
|
|
|
- '质量要求' => rtrim($value['质量要求']),
|
|
|
- '质量隐患' => rtrim($value['质量隐患']),
|
|
|
- '开数' => rtrim($value['Gy0_ks']),
|
|
|
- '联数' => rtrim($value['Gy0_ls']),
|
|
|
- 'UniqId' => rtrim($value['UniqId']),
|
|
|
- 'shdh' => rtrim($value['Gy0_shdh']),
|
|
|
- '辅助工时' => rtrim($value['Gy0_辅助工时']),
|
|
|
- '小时产能' => rtrim($value['Gy0_小时产能']),
|
|
|
- 'status' => $status
|
|
|
- ];
|
|
|
- }
|
|
|
- }else{
|
|
|
- $data['processList'] = [];
|
|
|
- }
|
|
|
-
|
|
|
- //BOM资料
|
|
|
- $field = 'rtrim(BOM_方案) as 方案,rtrim(BOM_物料编码) as 物料编号,rtrim(BOM_物料名称) as 物料名称,BOM_投料单位,
|
|
|
- BOM_投入数,BOM_产出数,BOM_产出单位,rtrim(BOM_计划用量) as 计划用量,rtrim(Sys_ID) as 建档用户,rtrim(Sys_rq) as 建档时间,rtrim(Mod_rq) as 更新时间';
|
|
|
- $bomList = \db('工单_bom资料')
|
|
|
- ->where('BOM_工单编号',$Gd_gdbh)
|
|
|
- ->field($field)
|
|
|
+ $data['processList'] = $processList;
|
|
|
+ //工单相关附件
|
|
|
+ $bomList = \db('工单_相关附件')
|
|
|
+ ->where('关联编号',$Gd_gdbh)
|
|
|
+ ->where('附件备注','订单资料')
|
|
|
->select();
|
|
|
- if (!empty($bomList)){
|
|
|
- foreach ($bomList as $key=>$value){
|
|
|
- $bomList[$key]['消耗定量'] = rtrim($value['BOM_投入数']).rtrim($value['BOM_投料单位']).'/'.rtrim($value['BOM_产出数']).rtrim($value['BOM_产出单位']);
|
|
|
- unset($bomList[$key]['BOM_投料单位'],$bomList[$key]['BOM_投入数'],$bomList[$key]['BOM_产出数'],$bomList[$key]['BOM_产出单位']);
|
|
|
- $bomList[$key]['计划用量'] = rtrim((float)$value['计划用量']);
|
|
|
- }
|
|
|
- $data['BOM'] = $bomList;
|
|
|
- }else{
|
|
|
- $data['BOM'] = [];
|
|
|
- }
|
|
|
-
|
|
|
- //工单附件资料
|
|
|
+ $data['attachments'] = $bomList;
|
|
|
+ //技术附件资料
|
|
|
$jsRes = db('工单_相关附件')
|
|
|
- ->where('关联编号','like','%'.$Gd_gdbh.'%')
|
|
|
+ ->where('关联编号',$Gd_gdbh)
|
|
|
+ ->where('附件备注','技术附件')
|
|
|
->select();
|
|
|
- if (!empty($jsRes)){
|
|
|
- foreach ($jsRes as $key=>&$value){
|
|
|
- if(mb_detect_encoding($value['附件内容'])!='ASCII'){
|
|
|
- $value['附件内容'] = '';
|
|
|
- }
|
|
|
- }
|
|
|
- $data['jsData'] = $jsRes;
|
|
|
- }else{
|
|
|
- $data['jsData'] = [];
|
|
|
- }
|
|
|
-
|
|
|
+ $data['jsData'] = $jsRes;
|
|
|
$this->success('成功',$data);
|
|
|
}
|
|
|
|
|
|
@@ -1431,123 +1191,9 @@ class WorkOrder extends Api
|
|
|
if (empty($param)){
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
- if (isset($param['sort'])){
|
|
|
- $sort = 2;
|
|
|
- unset($param['sort']);
|
|
|
- }else{
|
|
|
- $sort = 1;
|
|
|
- }
|
|
|
- $num = \db('工单_基本资料')->where('Gd_gdbh',$param['gdbh'])->count();
|
|
|
- //插入产品资料
|
|
|
- $productData = \db('产品_基本资料')
|
|
|
- ->where('产品编号',$param['cpdh'])
|
|
|
- ->count();
|
|
|
- if ($productData === 0) {
|
|
|
- $clientCode = substr($param['cpdh'], 0, 5);
|
|
|
- $product = [
|
|
|
- '客户编号' => $clientCode,
|
|
|
- '客户名称' => $param['khmc'],
|
|
|
- '产品编号' => $param['cpdh'],
|
|
|
- '产品名称' => $param['cpmc'],
|
|
|
- '计量单位' => '万张',
|
|
|
- '状态' => '',
|
|
|
- 'Mod_rq' => date('Y-m-d H:i:s', time()),
|
|
|
- 'UniqID' => \db('产品_基本资料')->order('UniqID desc')->value('UniqID') + 1,
|
|
|
- ];
|
|
|
- if (strpos($product['产品名称'], '小盒') === false) {
|
|
|
- $product['产品类别'] = '条盒';
|
|
|
- } else {
|
|
|
- $product['产品类别'] = '小盒';
|
|
|
- }
|
|
|
- $productSql = \db('产品_基本资料')->fetchSql(true)->insert($product);
|
|
|
- \db()->query($productSql);
|
|
|
- }
|
|
|
- //添加工单
|
|
|
- $productDetail = \db('产品_基本资料')->where('产品编号',$param['cpdh'])->find();
|
|
|
- if (empty($productDetail)){
|
|
|
- $productDetail['客户料号'] = '';
|
|
|
- }
|
|
|
- $lastId = \db('工单_基本资料')->order('Uniqid desc')->value('Uniqid');
|
|
|
- $data = [
|
|
|
- 'Gd_lx' =>$param['zdgd'],
|
|
|
- 'Gd_生产分类' =>$param['sclx'],
|
|
|
- '成本处理类别' =>'',
|
|
|
- 'Gd_gdbh' =>$param['gdbh'],
|
|
|
- '行号' =>$num+1 ,
|
|
|
- 'Gd_客户代号' =>$param['khdh'],
|
|
|
- 'Gd_客户名称' =>$param['khmc'],
|
|
|
- 'Gd_khdh' =>$param['khdh'],
|
|
|
- 'Gd_khmc' =>$param['khmc'],
|
|
|
- '客户料号' =>rtrim($productDetail['客户料号']),
|
|
|
- '客户ERP编码' =>$param['erp'],
|
|
|
- 'Gd_cpdh' =>$param['cpdh'],
|
|
|
- 'Gd_cpmc' =>$param['cpmc'],
|
|
|
- '成品代号' =>$param['cpdh'],
|
|
|
- '成品名称' =>$param['cpmc'],
|
|
|
- '产品版本号' =>$param['bbh'],
|
|
|
- '销售订单号' =>$param['xsddh'],
|
|
|
- '警语版面' =>$param['jybm'],
|
|
|
- '码源数量' =>$param['mysl'],
|
|
|
- '排产时库存' =>$param['kcdx'],
|
|
|
- '投料大箱' =>$param['tldx'],
|
|
|
- '投料率' =>$param['tll'],
|
|
|
- '平均合格率' =>$param['hgl'],
|
|
|
- '进程备注' =>$param['jcbz'],
|
|
|
- 'Gd_desc' =>$param['remark'],
|
|
|
- '开单日期' =>date('Y-m-d H:i:s',time()),
|
|
|
- '接单日期' =>$param['start'],
|
|
|
- '交货日期' =>$param['end'],
|
|
|
- '订单数量' =>$param['number'],
|
|
|
- '计量单位' =>$param['tldw'],
|
|
|
- '计划投料' =>$param['pztl'],
|
|
|
- '实际投料' =>$param['wxz'],
|
|
|
- '产品单价' =>0,
|
|
|
- '入仓日期' =>'1900-01-01 00:00:00',
|
|
|
- '工单入仓数量' =>0,
|
|
|
- '工单制程废品' => 0,
|
|
|
- '工单质检废品' => 0,
|
|
|
- '工单无形损' => 0,
|
|
|
- '工单计划损耗' => 0,
|
|
|
- '工单完工日期' => $param['end'],
|
|
|
- '投料确认' => '',
|
|
|
- 'gd_statu' => '3-计划中',
|
|
|
- '直接人工' => 0,
|
|
|
- '分摊人工' => 0,
|
|
|
- '直接材料' => 0,
|
|
|
- '考核直接材料' => 0,
|
|
|
- '分摊材料' => 0,
|
|
|
- '考核分摊材料' => 0,
|
|
|
- '直接折旧' => 0,
|
|
|
- '水电气费' => 0,
|
|
|
- '分摊空调' => 0,
|
|
|
- '分摊锅炉' => 0,
|
|
|
- '分摊废气处理' => 0,
|
|
|
- '分摊空压机' => 0,
|
|
|
- '分摊鼓风机' => 0,
|
|
|
- '分摊其他' => 0,
|
|
|
- '待摊人工' => 0,
|
|
|
- '待摊折旧' => 0,
|
|
|
- '待摊场地租金' => 0,
|
|
|
- '待摊其他费用' => 0,
|
|
|
- '加工费' => 0,
|
|
|
- '加工费单价' => 0,
|
|
|
- '成本考核_胶印' => 1,
|
|
|
- '成本考核_凹印' => 1,
|
|
|
- '成本考核_丝印' => 1,
|
|
|
- '成本考核_模切' => 1,
|
|
|
- '成本考核_检验' => 1,
|
|
|
- '印版费' => 0,
|
|
|
- 'V23制造成本' => 0,
|
|
|
- 'Prt_rq' => date('Y-m-d H:i:s',time()),
|
|
|
- 'Sys_id' => $param['Sys_id'],
|
|
|
- 'Sys_rq' => date('Y-m-d H:i:s',time()),
|
|
|
- 'Mod_rq' => date('Y-m-d H:i:s',time()),
|
|
|
- 'U8UID' => '',
|
|
|
- 'Uniqid' => $lastId+1,
|
|
|
- '工序加工费' => 0,
|
|
|
- '工单分类' => $sort,
|
|
|
- ];
|
|
|
- $sql= \db('工单_基本资料')->fetchSql(true)->insert($data);
|
|
|
+ $param['Sys_rq'] = date('Y-m-d',time());
|
|
|
+ $param['gd_statu'] = '1-计划中';
|
|
|
+ $sql= \db('工单_基本资料')->fetchSql(true)->insert($param);
|
|
|
$res = \db()->query($sql);
|
|
|
if ($res !== false){
|
|
|
$this->success('成功');
|
|
|
@@ -1658,18 +1304,44 @@ class WorkOrder extends Api
|
|
|
if (empty($param)){
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
- $lastId = \db('工单_印件资料')->order('Uniqid desc')->value('Uniqid');
|
|
|
- if (empty($lastId)){
|
|
|
- $lastId = 0;
|
|
|
- }else{
|
|
|
- $lastId = $lastId + 1;
|
|
|
- }
|
|
|
- $param['Uniqid'] = $lastId;
|
|
|
$param['Sys_rq'] = date('Y-m-d H:i:s',time());
|
|
|
- $param['Mod_rq'] = date('Y-m-d H:i:s',time());
|
|
|
- $sql = \db('工单_印件资料')->fetchSql(true)->insert($param);
|
|
|
- $res = \db()->query($sql);
|
|
|
- if ($res !== false){
|
|
|
+ $process = [
|
|
|
+ ['1','仓库出库'],['2','裁切'],['3','车缝'],['4','后道收样'],['5','大烫'],['6','总检'],['7','包装']
|
|
|
+ ];
|
|
|
+ $processDetail = [];
|
|
|
+ foreach ($process as $key=>$value){
|
|
|
+ $total = null;
|
|
|
+ if ($key !== 0){
|
|
|
+ $total = $param['total'];
|
|
|
+ }
|
|
|
+ $processDetail[$key] = [
|
|
|
+ '订单编号' => $param['订单编号'],
|
|
|
+ '子订单编号' => $param['子订单编号'],
|
|
|
+ '款号' => $param['款号'],
|
|
|
+ '颜色' => $param['颜色'],
|
|
|
+ '工序编号' => $value[0],
|
|
|
+ '工序名称' => $value[1],
|
|
|
+ '计划产量' => $total,
|
|
|
+ 'Sys_id' => $param['Sys_id'],
|
|
|
+ 'Sys_rq' => $param['Sys_rq']
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ //开启事务
|
|
|
+ db()->startTrans();
|
|
|
+ try{
|
|
|
+ $priSql = \db('工单_印件资料')->fetchSql(true)->insert($param);
|
|
|
+ $priRes = \db()->query($priSql);
|
|
|
+ $proSql = \db('工单_工艺资料')->fetchSql(true)->insertAll($processDetail);
|
|
|
+ $proRes = \db()->query($proSql);
|
|
|
+ // 提交事务
|
|
|
+ db()->commit();
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ // 回滚事务
|
|
|
+ db()->rollback();
|
|
|
+ $this->error($e->getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($priRes !== false && $proRes !== false){
|
|
|
$this->success('成功');
|
|
|
}else{
|
|
|
$this->error('失败');
|
|
|
@@ -1918,10 +1590,6 @@ class WorkOrder extends Api
|
|
|
}
|
|
|
$data['sys_rq'] = date('Y-m-d H:i:s');
|
|
|
|
|
|
- //查询UniqId
|
|
|
- $UniqId = db('产品_技术附件')->max('UniqId');
|
|
|
- $data['UniqId'] = $UniqId < 10000000 ? 10000000 : $UniqId + 1;
|
|
|
-
|
|
|
//开启事务
|
|
|
db()->startTrans();
|
|
|
try{
|
|
|
@@ -2023,10 +1691,6 @@ class WorkOrder extends Api
|
|
|
}
|
|
|
$data['sys_rq'] = date('Y-m-d H:i:s');
|
|
|
|
|
|
- //查询UniqId
|
|
|
- $UniqId = db('工单_相关附件')->max('UniqId');
|
|
|
- $data['UniqId'] = $UniqId < 10000000 ? 10000000 : $UniqId + 1;
|
|
|
-
|
|
|
//开启事务
|
|
|
db()->startTrans();
|
|
|
try{
|