|
|
@@ -52,11 +52,20 @@ class Product extends Api
|
|
|
`客户编号`ASC,`状态` ASC,`产品编号` DESC LIMIT {$limit} OFFSET {$pages}";
|
|
|
$total = Db::name('产品_基本资料')->where('客户编号',$customCode)->count();
|
|
|
}else{
|
|
|
- $sql = "SELECT rtrim(客户编号) as 客户编号,rtrim(客户名称) as 客户名称,客户料号,rtrim(产品编号) as 产品编号,rtrim(产品名称) as 产品名称,版本号,成品规格,
|
|
|
+ if (isset($params['search'])){
|
|
|
+ $search = $params['search'];
|
|
|
+ $sql = "SELECT rtrim(客户编号) as 客户编号,rtrim(客户名称) as 客户名称,客户料号,rtrim(产品编号) as 产品编号,rtrim(产品名称) as 产品名称,版本号,成品规格,
|
|
|
+ rtrim(计量单位) as 计量单位,rtrim(产品类别) as 产品类别,生产类别,产品备注,投产日期,状态,U8UID,rtrim(Sys_id) as Sys_id,Sys_rq,Mod_rq,UniqID
|
|
|
+ FROM `产品_基本资料` WHERE `产品名称` LIKE '%{$search}%' OR `产品编号` LIKE '%{$search}%' ORDER BY CASE WHEN `状态` IS NULL THEN 0 ELSE 1 END,
|
|
|
+ `客户编号`ASC,`状态` ASC,`产品编号` DESC LIMIT {$limit} OFFSET {$pages}";
|
|
|
+ $total = Db::name('产品_基本资料')->where('产品名称','like','%'.$search.'%')->count();
|
|
|
+ }else{
|
|
|
+ $sql = "SELECT rtrim(客户编号) as 客户编号,rtrim(客户名称) as 客户名称,客户料号,rtrim(产品编号) as 产品编号,rtrim(产品名称) as 产品名称,版本号,成品规格,
|
|
|
rtrim(计量单位) as 计量单位,rtrim(产品类别) as 产品类别,生产类别,产品备注,投产日期,状态,U8UID,rtrim(Sys_id) as Sys_id,Sys_rq,Mod_rq,UniqID
|
|
|
FROM `产品_基本资料` ORDER BY CASE WHEN `状态` IS NULL THEN 0 ELSE 1 END,
|
|
|
`客户编号`ASC,`状态` ASC,`产品编号` DESC LIMIT {$limit} OFFSET {$pages}";
|
|
|
- $total = Db::name('产品_基本资料')->count();
|
|
|
+ $total = Db::name('产品_基本资料')->count();
|
|
|
+ }
|
|
|
}
|
|
|
$list = Db::query($sql);
|
|
|
foreach ($list as $key=>$value){
|
|
|
@@ -125,8 +134,367 @@ class Product extends Api
|
|
|
$list['jsData'] = [];
|
|
|
$this->success('请求成功',$list);
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 获取单个产品工艺数据
|
|
|
+ *
|
|
|
+ * @ApiMethod GET
|
|
|
+ *@param string product_code
|
|
|
+ */
|
|
|
+ public function getProductGy(){
|
|
|
+ if (Request::instance()->isGet() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->param();
|
|
|
+ $code = $params['product_code'];
|
|
|
+ if (!isset($code)){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ $option['a.Gy0_cpdh'] = $code;
|
|
|
+ if (!empty($params['plan'])){
|
|
|
+ $option['a.Gy0_方案'] = $params['plan'];
|
|
|
+ }
|
|
|
+ $gy_field = 'rtrim(a.Gy0_方案) as programme,a.Gy0_yjno,a.Gy0_gxh,rtrim(a.gy0_gxmc) as gy0_gxmc,a.A类产能 as A_power,rtrim(a.Gy0_shdh) as Gy0_shdh,rtrim(a.Gy0_sbbh) as Gy0_sbbh,
|
|
|
+ a.工价系数 as difficulty_coe,a.损耗系数 as loss_coe,a.Gy0_Ms as ms_coe,a.Gy0_Ks,a.Gy0_ls,rtrim(a.Gy0_site) as Gy0_site,rtrim(a.Add_gxmc) as Add_gxmc,a.UniqID,
|
|
|
+ rtrim(a.工序备注) as remark,a.人工检_正品板 as artificial_zp,a.人工检_次品板 as artificial_cp,a.人工检_废检 as artificial_fj,a.机检_正品板 as machine_zp,a.机检_次品板 as machine_cp,
|
|
|
+ a.机检_废检 as machine_fj,rtrim(b.客户名称) as custom_name,rtrim(b.产品名称) as product_name';
|
|
|
+ $gyRes = Db::name('产品_工艺资料')->alias('a')
|
|
|
+ ->join('产品_基本资料 b','a.Gy0_cpdh = b.产品编号','left')
|
|
|
+ ->where($option)->field($gy_field)->order('a.Gy0_yjno asc,a.Gy0_gxh asc')->select();
|
|
|
+ $this->success('请求成功',$gyRes);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 修改工艺参数
|
|
|
+ *
|
|
|
+ * @ApiMethod
|
|
|
+ * @params array data
|
|
|
+ */
|
|
|
+ public function editGy(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ if (!isset($params) || !isset($params[0]['UniqID'])){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ $i = 0;
|
|
|
+ foreach ($params as $key=>$value){
|
|
|
+ $data = [];
|
|
|
+ if (!empty($value['A_power'])){
|
|
|
+ $data['A类产能'] = $value['A_power'];
|
|
|
+ }
|
|
|
+ if (!empty($value['shdh'])){
|
|
|
+ $data['Gy0_shdh'] = $value['shdh'];
|
|
|
+ }
|
|
|
+ if (!empty($value['machine'])){
|
|
|
+ $data['Gy0_sbbh'] = $value['machine'];
|
|
|
+ }
|
|
|
+ if (!empty($value['time'])){
|
|
|
+ $data['Gy0_辅助工时'] = $value['time'];
|
|
|
+ }
|
|
|
+ if (!empty($value['difficulty_coe'])){
|
|
|
+ $data['工价系数'] = $value['difficulty_coe'];
|
|
|
+ }
|
|
|
+ if (!empty($value['loss_coe'])){
|
|
|
+ $data['损耗系数'] = $value['loss_coe'];
|
|
|
+ }
|
|
|
+ if (!empty($value['ms_coe'])){
|
|
|
+ $data['Gy0_Ms'] = $value['ms_coe'];
|
|
|
+ }
|
|
|
+ $sql = Db::name('产品_工艺资料')->where('UniqID',$value['UniqID'])->fetchSql(true)->update($data);
|
|
|
+ $res = Db::query($sql);
|
|
|
+ if ($res !== false){
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($i !== 0){
|
|
|
+ $this->success('更新成功');
|
|
|
+ }else{
|
|
|
+ $this->error('更新失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 修改产品信息
|
|
|
+ *
|
|
|
+ * @ApiMethod POST
|
|
|
+ *
|
|
|
+ * @params object data
|
|
|
+ */
|
|
|
+ public function editProduct(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ if (empty($params)){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ if (!isset($params['印品代号'])){
|
|
|
+ $this->error('印品代号不能为空');
|
|
|
+ }
|
|
|
+ $code = $params['印品代号'];
|
|
|
+ unset($params['印品代号']);
|
|
|
+ $sql = Db::name('产品_基本资料')->where('产品编号',$code)->fetchSql(true)->update($params);
|
|
|
+ $res = Db::query($sql);
|
|
|
+ if ($res !== false){
|
|
|
+ $this->success('更新成功');
|
|
|
+ }else{
|
|
|
+ $this->error('更新失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 设置产品状态
|
|
|
+ *
|
|
|
+ * @ApiMethod POST
|
|
|
+ * @params string status
|
|
|
+ * @params string code
|
|
|
+ */
|
|
|
+ public function setProductStatus(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ if (empty($params['code']) || empty($params['status'])){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ $code = $params['code'];
|
|
|
+ $status = '';
|
|
|
+ if ($params['status'] == 2){
|
|
|
+ $status = '停产';
|
|
|
+ }
|
|
|
+ $sql = Db::name('产品_基本资料')->where('产品编号',$code)->fetchSql(true)->setField('状态',$status);
|
|
|
+ $res = Db::query($sql);
|
|
|
+ if ($res !== false){
|
|
|
+ $this->success('更新成功');
|
|
|
+ }else{
|
|
|
+ $this->error('更新失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 获取产品工艺数量
|
|
|
+ *
|
|
|
+ * @ApiMethod GET
|
|
|
+ * @params string code
|
|
|
+ */
|
|
|
+ public function getGyTotal(){
|
|
|
+ if (Request::instance()->isGet() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->param();
|
|
|
+ $code = $params['code'];
|
|
|
+ if (!isset($code)){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ $res = Db::name('产品_工艺资料')->where('Gy0_cpdh',$code)->distinct(true)->column('rtrim(Gy0_方案) as gy_plan');
|
|
|
+ $data['gy'] = $res;
|
|
|
+ $product = Db::name('产品_基本资料')->where('产品编号',$code)->find();
|
|
|
+ $data['name'] = rtrim($product['产品名称']);
|
|
|
+ $this->success('请求成功',$data);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 复制产品工艺信息
|
|
|
+ *
|
|
|
+ * @ApiMethod POST
|
|
|
+ * @params string from_code
|
|
|
+ * @params string from_pro
|
|
|
+ * @params string to_code
|
|
|
+ * @params string to_pro
|
|
|
+ * @params int is_copy_gy
|
|
|
+ */
|
|
|
+ public function copyProductGy(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ if (empty($params['from_code']) || empty($params['from_pro']) || empty($params['to_code']) ){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ if ($params['is_copy_gy'] == 1){
|
|
|
+ if (empty($params['to_pro'])){
|
|
|
+ $this->error('工艺方案不能为空');
|
|
|
+ }
|
|
|
+ //查出参考的工艺数据
|
|
|
+ $where['Gy0_cpdh'] = $params['from_code'];
|
|
|
+ $where['Gy0_方案'] = $params['from_pro'];
|
|
|
+ $gyList = Db::name('产品_工艺资料')->where($where)->select();
|
|
|
+ if (empty($gyList)){
|
|
|
+ $this->error('参考产品无工艺资料数据');
|
|
|
+ }
|
|
|
+ foreach ($gyList as $key=>$value){
|
|
|
+ unset($gyList[$key]['UniqID']);
|
|
|
+ $gyList[$key]['Gy0_方案'] = $params['to_pro'];
|
|
|
+ $gyList[$key]['Gy0_cpdh'] = $params['to_code'];
|
|
|
+ }
|
|
|
+ $gyResult = Db::name('产品_工艺资料')->insertAll($gyList);
|
|
|
+ if (!$gyResult){
|
|
|
+ $this->error('复制产品工艺资料数据失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $option['YB_Cpdh'] = $params['from_code'];
|
|
|
+ $ybList = Db::name('产品_印版资料')->where($option)->select();
|
|
|
+ if (empty($ybList)){
|
|
|
+ $this->error('参考产品无印版资料数据');
|
|
|
+ }
|
|
|
+ foreach ($ybList as $key=>$value){
|
|
|
+ unset($ybList[$key]['UniqID']);
|
|
|
+ $ybList[$key]['YB_Cpdh'] = $params['to_code'];
|
|
|
+ }
|
|
|
+ $ybResult = Db::name('产品_印版资料')->insertAll($ybList);
|
|
|
+ if (!$ybResult){
|
|
|
+ $this->error('复制产品工艺资料数据失败');
|
|
|
+ }
|
|
|
+ $this->success('工艺复制成功');
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 工艺方案更名
|
|
|
+ *
|
|
|
+ * @ApiMethod POST
|
|
|
+ * @params string code
|
|
|
+ * @params string name
|
|
|
+ */
|
|
|
+ public function editGyName(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ if (empty($params['code']) || empty($params['old_name']) || empty($params['new_name'])){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ $where['Gy0_cpdh'] = $params['code'];
|
|
|
+ $where['Gy0_方案'] = $params['old_name'];
|
|
|
+ $sql = Db::name('产品_工艺资料')->where($where)->fetchSql(true)->setField('Gy0_方案',$params['new_name']);
|
|
|
+ $res = Db::query($sql);
|
|
|
+ if ($res !== false){
|
|
|
+ $this->success('更新成功');
|
|
|
+ }else{
|
|
|
+ $this->error('更新失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 工艺方案附加
|
|
|
+ *
|
|
|
+ * @ApiMethod POST
|
|
|
+ * @params object data
|
|
|
+ */
|
|
|
+ public function editGyNo(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ if (empty($params) || !isset($params[0]['UniqID'])){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ $i = 0;
|
|
|
+ foreach ($params as $key=>$value){
|
|
|
+ $data = [];
|
|
|
+ if (!empty($value['Gy0_yjno'])){
|
|
|
+ $data['Gy0_yjno'] = $value['Gy0_yjno'];
|
|
|
+ }
|
|
|
+ if (!empty($value['Gy0_gxh'])){
|
|
|
+ $data['Gy0_gxh'] = $value['Gy0_gxh'];
|
|
|
+ }
|
|
|
+ if (!empty($value['Gy0_Ks'])){
|
|
|
+ $data['Gy0_Ks'] = $value['Gy0_Ks'];
|
|
|
+ }
|
|
|
+ if (!empty($value['Gy0_ls'])){
|
|
|
+ $data['Gy0_ls'] = $value['Gy0_ls'];
|
|
|
+ }
|
|
|
+ $sql = Db::name('产品_工艺资料')->where('UniqID',$value['UniqID'])->fetchSql(true)->update($data);
|
|
|
+ $res = Db::query($sql);
|
|
|
+ if ($res !== false){
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($i !== 0){
|
|
|
+ $this->success('更新成功');
|
|
|
+ }else{
|
|
|
+ $this->error('更新失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 计损色数修正
|
|
|
+ *
|
|
|
+ * @ApiMethod POST
|
|
|
+ * @params object data
|
|
|
+ */
|
|
|
+ public function editGyMs(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ if (empty($params) || !isset($params[0]['UniqID'])){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ $i = 0;
|
|
|
+ foreach ($params as $key=>$value){
|
|
|
+ $data = [];
|
|
|
+ if (!empty($value['Gy0_Ms'])){
|
|
|
+ $data['Gy0_Ms'] = $value['Gy0_Ms'];
|
|
|
+ }
|
|
|
+ if (!empty($value['Gy0_Ks'])){
|
|
|
+ $data['Gy0_Ks'] = $value['Gy0_Ks'];
|
|
|
+ }
|
|
|
+ if (!empty($value['Gy0_ls'])){
|
|
|
+ $data['Gy0_ls'] = $value['Gy0_ls'];
|
|
|
+ }
|
|
|
+ $data['Add_gxmc'] = $value['Add_gxmc'];
|
|
|
+ $data['工序备注'] = $value['remark'];
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ $sql = Db::name('产品_工艺资料')->where('UniqID',$value['UniqID'])->fetchSql(true)->update($data);
|
|
|
+ $res = Db::query($sql);
|
|
|
+ if ($res !== false){
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($i !== 0){
|
|
|
+ $this->success('更新成功');
|
|
|
+ }else{
|
|
|
+ $this->error('更新失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 产品质检废品系数调整
|
|
|
+ *
|
|
|
+ * @ApiMethod POST
|
|
|
+ * @params object data
|
|
|
+ */
|
|
|
+ public function editGyWaste(){
|
|
|
+ if (Request::instance()->isPost() == false){
|
|
|
+ $this->error('非法请求');
|
|
|
+ }
|
|
|
+ $params = Request::instance()->post();
|
|
|
+ if (empty($params) || !isset($params[0]['UniqID'])){
|
|
|
+ $this->error('参数不能为空');
|
|
|
+ }
|
|
|
+ $i = 0;
|
|
|
+ foreach ($params as $key=>$value){
|
|
|
+ $data = [];
|
|
|
+ if (!empty($value['artificial_zp'])){
|
|
|
+ $data['人工检_正品板'] = $value['artificial_zp'];
|
|
|
+ }
|
|
|
+ if (!empty($value['artificial_cp'])){
|
|
|
+ $data['人工检_次品板'] = $value['artificial_cp'];
|
|
|
+ }
|
|
|
+ if (!empty($value['artificial_fj'])){
|
|
|
+ $data['人工检_废检'] = $value['artificial_fj'];
|
|
|
+ }
|
|
|
+ if (!empty($value['machine_zp'])){
|
|
|
+ $data['机检_正品板'] = $value['machine_zp'];
|
|
|
+ }
|
|
|
+ if (!empty($value['machine_cp'])){
|
|
|
+ $data['机检_次品板'] = $value['machine_cp'];
|
|
|
+ }
|
|
|
+ if (!empty($value['machine_fj'])){
|
|
|
+ $data['机检_废检'] = $value['machine_fj'];
|
|
|
+ }
|
|
|
+ $sql = Db::name('产品_工艺资料')->where('UniqID',$value['UniqID'])->fetchSql(true)->update($data);
|
|
|
+ $res = Db::query($sql);
|
|
|
+ if ($res !== false){
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($i !== 0){
|
|
|
+ $this->success('更新成功');
|
|
|
+ }else{
|
|
|
+ $this->error('更新失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|